Announcement Announcement Module
No announcement yet.
OpenSocial Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • OpenSocial

    Was wondering if Spring Social supported OpenSocial as part of the Social networks supported.

  • #2
    There is currently no direct support for OpenSocial. However, it's my understanding that OpenSocial providers secure their APIs with OAuth just like the providers we do directly support, so I see no reason why Spring Social couldn't support an OpenSocial provider.

    The API bindings would (I believe) be common across OpenSocial providers, but the connection framework pieces (specifically the service provider) would be more interesting, as that's where the OAuth endpoints are defined, and those endpoints would be different across providers. Off-the-cuff, I'd think that an OpenSocial connection factory would need to be injected with a provider-specific service provider that could be chosen at configuration time.

    Awhile back, I created as a place to track work on creating API bindings for OpenSocial providers. I've just changed the title of that issue to include the connectivity (connection factory, service provider, API adapter, etc) piece of a Spring Social provider module.


    • #3
      Open Social

      Thanks for your reply.

      Any idea or plan or roadmap to support OpenSocial in the near future?
      I know I could write my own provider on my own; which is what we are going to do for the short term.
      Another Social Network to support would be Google+ ( which is loosely based upon OpenSocial in terms of API calls exposed so far)


      • #4
        There are no specific plans to do OpenSocial in the near future. But as long as you're thinking of writing your own provider, why not share it on GitHub so that others can use it and collaborate on it with you?

        As for Google+, that's definitely a provider we'd like to see. Gabriel Axel has already started a Google module (, and just today he started work on adding Google+ API bindings to it. So, even thought it's just a start, it looks like there'll be a Google+ provider available soon.


        • #5

          Sounds like a plan. Any information or guidelines that would be necessary to create a spring module or spring social module?
          Thanks for the link, will definitely be watching out for that.


          • #6
            The reference documentation gives an overview of what's involved with creating a new service provider module. See And you can look at any of the existing provider modules (Twitter, Facebook, etc) for guidance. And, of course, feel free to ask if you need some help.

            For the most part, it's straightforward: Create the service provider, connection factory, and API adapter classes. Then start working on the API bindings. With OpenSocial, though, you'll want to take care to not create a connection factory that is tied to any particular OpenSocial provider. As I mentioned earlier, one way to do that is to not hard-code a specific service provider type in the connection factory, but rather let the connection factory be injected so that the developer using it can plug in a service provider implementation for whatever provider they're trying to connect to. There may also be a better way, but that's the thought that came to mind immediately.

            Let me know when/where you put the project in GitHub so I can start following it (and maybe pitch in occasionally).


            • #7

              Cool will look into it as will have to get it approved. I will keep you posted.

              On a different note, I had a question about the Spring social and Facebook.
              I was wondering what are the best practices around managing connections. We have three apps on Facebook. The underlying social logic is served via a single social service (or I would like it that way)
              So I was wondering how would you manage the connection between 3 different apps via such single service? Any thoughts?