New Socializer Live Demo
Thanks to Jelastic we got a new Agorava Socializer ttps://jelastic.com/[Live demo]. Go check it out.
Thanks to Jelastic we got a new Agorava Socializer ttps://jelastic.com/[Live demo]. Go check it out.
As free CloudBees hosted Jenkins servers gave a wrong impression of broken builds by shutting down the build job without commits for some time, we recently switched all relevant build jobs to CircleCI which so far refrains from this annoying behavior.
After 3 month of development, Agorava version 0.7.0 hit Maven Central today. It is from far the biggest evolution of the framework since its creation. Let’s see what’s new in this release
Probably the most important point for Agorava future : the framework has now a clean API (API and implementation were a bit mixed and moving a lot prior to that)
This version brings new concepts and tools that ease and rationalize OAuth interaction
OAuth initialization steps (the famous OAuth Dance) are now gathered in a single service bean : OAuthLifeCycleService
.
The startDanceFor()
and endDance()
methods ease the OAuth 1.0a and 2.0 initialization life cycle.
This version introduces UserSessionRepository
which allows to handle and contain a collection of OAuthSession (connection to OAuth provider).
A main repository bean GlobalRepository
stored in CDI @ApplicationScoped
contains all UserSessionRepository
and is a convenient way to retrieve all OAuthSession on the server side for batch processing for instance.
Depending on your use case UserSessionRepository
(and their contained OAuthSession
) can be store in different way. Thanks to UserSessionRepositoryResolver
and SessionResolver
you can define different way of storing and resolving repositories and session. Agora provide the following built-in resolver than can be activated in Agorava.properties
configuration file. These built-in resolver are :
session : the UserSessionRepository
is stored in Http Session (@SessionScoped
) it was the Agorava behavior before version 0.7.x
request : the UserSessionRepository
is provided for the current Http Request (@RequestScoped
) but you have to propagate the repoid
url parameter with UserSessionRepository.getId()
value to retrieve the repo at each request
cookie : the UserSessionRepository
is provided for the current Http Request (@RequestScoped
), a cookie is used on user browser to keep the track of her UserSessionRepository
. You can specify the lifetime of the cookie int he config
application : the UserSessionRepository
is provided for all the application time (@ApplicationScoped
). Not suitable for a multi-user scenario but rather for desktop scenario or a web app providing a shared access to a unique Social Network
This Agorava release reduced it’s dependencies to the minimum. The only dependecies are now :
Jackson library for JSon mapping
Deltaspike for CDI helpers.
Agorava core is now ready to have a new implementation for another JSR 330 compliant framework like Dagger, Guice or Spring.
check our Getting Started guide and give us your feedback.
We really need contribution on core, doc, existing modules or new modules. So don’t hesitate to join us :
IRC (#Agorava),
Twitter @Agoravaproj
User Group: http://groups.google.com/group/agorava-dev
GitHub: https://github.com/agorava
[AGOVA-48] - Remove Weld Core dependency management from Weld-1.x profile
[AGOVA-60] - Test don’t pass for OWB
[AGOVA-61] - SessionProducer get activated when producerscope in not definied
[AGOVA-62] - Passivation error for GlobalRepositoryImpl on GF / Weld 2.0.4
[AGOVA-63] - When using Weld 2.X on Wildfly 8 or Glassfish 4, looking for OAuthSession fails
[AGOVA-38] - Integrate Rest and OAuth engine in core
[AGOVA-49] - Remove BOM from parent
[AGOVA-54] - Adding support of Raw JSON / XML response
[AGOVA-55] - Upgrade Jackson to 2.X
[AGOVA-56] - Get rid of Guava
[AGOVA-57] - Get rid of Commons Codec
[AGOVA-58] - Gather testing profile in parent POM
[AGOVA-59] - Use RequestTuner to specialize request instead of creating specific OAuthService
[AGOVA-7] - Create API and common IMPL for JSR 330 compliant framework
Did you ever looked for a nice solution in java to authenticate your users with their Twitter, Facebook or LinkedIn account ? Have you ever looked for a nice way to post tweets or Facebook updates from your Java application? Do you need to read your timeline or perform a search on a Social Media services from Java EE web application? If you answered yes to one of these questions Agorava is (or will be soon) the right answer to your needs.
Agorava is the missing framework to deal with Social Media based on OAuth 1.0a and OAuth 2.0. It provides a way to authenticate on Social Media, use APIs and map JSON answers to Java pojo. It’ll have multiple implementations (like CDI, Java SE, JSR 330 supporting framework and others) to support your needs. Right now the only implementation is based on CDI but we’ll provide others in the coming months.
Agorava’s short history is important because it helps to understand the goals of our team. In March 2011 the project Seam Social was launched. This project was a collection of CDI beans and extension to support Social Network consuming. It lived inside Seam 3 project which was an ambitious JBoss project aimed to provide a rich ecosystem for Java EE 6 thru CDI extensions. For all kind of reasons we won’t develop here, Seam 3 project was stopped at the end of 2011 to create a new project around CDI ecosystem : Apache Deltaspike (merging Seam 3, Apache CODI and others initiatives).
In parallel of this event, a few people launched a JCP proposal on Social Media : Java Social JSR 357. Projects like Seam Social or DaliCore were main influencers for this proposal. This proposal was voted down for all kind of reasons, but mainly because there wasn’t a real proof of concept (an implementation) behind it.
So the conjunction of these 2 stories brought us to create a new project : start from Seam Social code to provide an implementation for Java Social with the goal to go back to JCP in the future. This project is also a experiment to answer the problem and challenges in creating a standard API for Social Media API for Java platform. Thus Agorava is born
Yes it’s true, but these social APIs are almost always in Javascript only and if it