GVSocialAdapter-Configuration

From GreenVulcano Wiki
Revision as of 13:08, 21 September 2012 by Anonymous (talk)
Jump to: navigation, search

The Social adapter is an adapter which gives GreenVulcano® ESB the ability to interact with social platforms. The configuration is specified into the GVSocialAdapter-Configuration.xml, and the file has the following structure:

<GVSocialAdapterManager name="GV_SOCIAL" type="module">
   <SocialAdapters>
       <TwitterSocialAdapter class="it.greenvulcano.gvesb.....TwitterSocialAdapter"
                             social="twitter" type="social-adapter">
            <Accounts>
                <Account name="ACCOUNT_NAME" consumer_key="..." consumer_secret="..." twitteruserid="..."/>
                ...
            </Accounts>
            ...
            <Proxy proxyHost="" proxyPassword="" proxyPort="" proxyUser=""/>
       </TwitterSocialAdapter>
   </SocialAdapters>
</GVSocialAdapterManager>

The XML above shows the configuration for Twitter platform. The following table explains the configuration:

Parameter Meaning and values
TwitterSocialAdapter One of the implemented adapters
TwitterSocialAdapter class the adapter class
TwitterSocialAdapter social the social platform identifier
TwitterSocialAdapter type the adapter type
Accounts wrapper for all the account configured for a single social platform
Account single account configuration
Account name the name identifying the account
Account consumer_key OAuth parameter
Account consumer_secret OAuth parameter
Account twitteruserid user id on the social platform
Proxy proxy settings
Proxy proxyHost proxy host
Proxy proxyPort proxy port
Proxy proxyUser user for the proxy
Proxy proxyPassword password for the proxy

Social platforms use the OAuth to achieve the following goals:

  • a user can control which permissions he/she can grant to the installed application
  • a user can revoke such permissions at any time
  • the user's credentials are not spread, the application has its own tokens

All the consumer tokens are specified into the configuration file for each account; the access tokens are defined by the GV Console and are stored into a properties file.

The messages exchanged with the adapter have the following format:

  • Request:
<SocialService>
    <updateStatus account="ACCOUNT_NAME">
        <attribute type="java.lang.String">Message to publish</attribute>
    </updateStatus>
</SocialService>
  • Response:
<SocialServiceResponse>
    <updateStatus account="ACCOUNT_NAME">
        <result type="java.lang.String">OK</attribute>
		<error></error>
    </updateStatus>
    <flagGlobalErrors/>
</SocialServiceResponse>

The tag updateStatus in the XML above is referred to an operation available in Twitter, more exactly is the one called to send a tweet. Each operation available for a Social platform has its own XML tag and parameters, and it is presented in VulCon allowing to define data transformation.