Details

    • Type: New Feature New Feature
    • Status: Open
    • Priority: Minor Minor
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      To ease the addition of Spring Social to a Spring Roo project, there should be an add-on for Spring Roo.

      For example, you might have a command like this:

      roo> social facebook --key myAppsAPIKey --secret myAppsSecret
      

      And likewise, similar commands for other providers. Of course, the selection of providers would be limited to what the plugin knows about, but it'd still be a good start.

      The first time one of these commands is run, it'd setup everything; connection factory locator, the provider-specific connection factory, the connection repositories, ConnectController (and ProviderSignInController as an option), and some basic JSP views for the connection statuses. Any followup commands for other providers would simply add another connection factory to the connection factory locator.

        Activity

        Hide
        Gregory J Soulsby added a comment -

        Below is some thoughts on the Roo Social plugin - the "read me". It describes the functions of the plugin. In the actual Read Me are also some thoughts on the implementation.

        But it doesnt work - in the Roo generated target project /signin/

        {providerid}

        is returning "Requested Resource Not Found". This is that I have back in 07/June. I get the same problem with https://github.com/habuma/spring-social-roo. It looks as exactly like the Social Showcase as can make it, which does work for me.

        The project is here https://github.com/gregsoulsby/spring-roo-social-test005.

        READ ME

        The Spring Roo Social addon adds Spring Social capabilities to a Roo project.

        BACKGROUND
        Spring Social functions can be implement to different degrees, each with different functions and user experience.

        There are 5 degrees:

        1: Straight through.

        • The interface to the Providers, such as LinkedIn, is their own (not Spring Social).
        • In the back end the Spring Framework uses the proprietary Object of the Provider.
        • The lightest weight option, with the least amount of function. No Spring Social code is used.

        2: Simple connection

        • Spring Social "Service Provider Connect Framework" is used to manage connections to Providers.
        • Spring Social provides functions like exposing users details, tweeting on twitter, xxx on facebook.
        • The back end Spring Framework of your app uses the ....?
        • Isolating the app for Provider specifics, making easy to work with and add providers.
        • Information about the user and connection is not used to persist

        3. Signin with account

        • Enables user to sign into your app using the Providers authentication
        • An attempt is first made to find a previous connection
        • Only for providers that enable login (LinkedIn,,,,)
        • The backend database is used to persist information about the user and connection

        4. Signin with implict signup
        I dont understand how this works. In the ref docs "5.3.2 Implicit sign up" is under section on failed signin - is this right?

        5: Secured

        • Authentication provided by the Providers is used by Spring Security
        • Extra function over 4 .
        • Not yet available.

        BUILDING THE PLUGIN

        RUNNING THE PLUGIN
        Some assumptions:

        • Spring Security has been implemented (implication is must use SpringSecuritySignInAdapter?)
        • Database is setup in "dataSource"

        COMMAND SUMMARY
        From the Roo command line
        1: roo> social straight-through
        2: roo> social setup --signin-flag --application-url --implicite-signup-flag
        3: roo> social linkedin --key myAppsAPIKey --secret myAppsSecret (and same for the other Providers)

        Show
        Gregory J Soulsby added a comment - Below is some thoughts on the Roo Social plugin - the "read me". It describes the functions of the plugin. In the actual Read Me are also some thoughts on the implementation. But it doesnt work - in the Roo generated target project /signin/ {providerid} is returning "Requested Resource Not Found". This is that I have back in 07/June. I get the same problem with https://github.com/habuma/spring-social-roo . It looks as exactly like the Social Showcase as can make it, which does work for me. The project is here https://github.com/gregsoulsby/spring-roo-social-test005 . READ ME The Spring Roo Social addon adds Spring Social capabilities to a Roo project. BACKGROUND Spring Social functions can be implement to different degrees, each with different functions and user experience. There are 5 degrees: 1: Straight through. The interface to the Providers, such as LinkedIn, is their own (not Spring Social). In the back end the Spring Framework uses the proprietary Object of the Provider. The lightest weight option, with the least amount of function. No Spring Social code is used. 2: Simple connection Spring Social "Service Provider Connect Framework" is used to manage connections to Providers. Spring Social provides functions like exposing users details, tweeting on twitter, xxx on facebook. The back end Spring Framework of your app uses the ....? Isolating the app for Provider specifics, making easy to work with and add providers. Information about the user and connection is not used to persist 3. Signin with account Enables user to sign into your app using the Providers authentication An attempt is first made to find a previous connection Only for providers that enable login (LinkedIn,,,,) The backend database is used to persist information about the user and connection 4. Signin with implict signup I dont understand how this works. In the ref docs "5.3.2 Implicit sign up" is under section on failed signin - is this right? 5: Secured Authentication provided by the Providers is used by Spring Security Extra function over 4 . Not yet available. BUILDING THE PLUGIN RUNNING THE PLUGIN Some assumptions: Spring Security has been implemented (implication is must use SpringSecuritySignInAdapter?) Database is setup in "dataSource" COMMAND SUMMARY From the Roo command line 1: roo> social straight-through 2: roo> social setup --signin-flag --application-url --implicite-signup-flag 3: roo> social linkedin --key myAppsAPIKey --secret myAppsSecret (and same for the other Providers)
        Hide
        Gregory J Soulsby added a comment -

        Craig,

        I know you are busy, so just looking for an update. Do you think you will be able to look at why my target roo project is not right? The LinkedInProfileController redirects to the signin controller but that gives the "Requested Resource Not Found". I have not been able to solve this in the last 6 weeks, so I am officially giving up. I get the same on your roo project, which you say is working, which is strange.

        I am now able to write Roo plugins, so would like to post a first version, but that seems a waste till the target project works.

        Show
        Gregory J Soulsby added a comment - Craig, I know you are busy, so just looking for an update. Do you think you will be able to look at why my target roo project is not right? The LinkedInProfileController redirects to the signin controller but that gives the "Requested Resource Not Found". I have not been able to solve this in the last 6 weeks, so I am officially giving up. I get the same on your roo project, which you say is working, which is strange. I am now able to write Roo plugins, so would like to post a first version, but that seems a waste till the target project works.
        Hide
        Gregory J Soulsby added a comment -

        Ignore last post for the moment, and the fact I said I was giving up. Just found a problem. Will revert.

        Show
        Gregory J Soulsby added a comment - Ignore last post for the moment, and the fact I said I was giving up. Just found a problem. Will revert.
        Hide
        Craig Walls added a comment -

        Gregory: Sorry for the frustration you're having. You're correct in stating that I'm busy...and even more so this week than in a typical week. So, I've simply not had opportunity to review your work and get back to you. I'll try to take a look and let you know what I find soon, though.

        Show
        Craig Walls added a comment - Gregory: Sorry for the frustration you're having. You're correct in stating that I'm busy...and even more so this week than in a typical week. So, I've simply not had opportunity to review your work and get back to you. I'll try to take a look and let you know what I find soon, though.
        Hide
        Gregory J Soulsby added a comment -

        Thanks Craig. I found my problem on my target app, so am getting that working and will then start on drafting a shareable version of a plugin that will generate that. Very interested in you views on the plugin commands. Already want to make big changes to what I wrote.

        Show
        Gregory J Soulsby added a comment - Thanks Craig. I found my problem on my target app, so am getting that working and will then start on drafting a shareable version of a plugin that will generate that. Very interested in you views on the plugin commands. Already want to make big changes to what I wrote.

          People

          • Assignee:
            Craig Walls
            Reporter:
            Craig Walls
          • Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated: