===== Purpose ===== This [[Enterprise Service Bus]] system allows a Software Developer to post to the Facebook wall of a user that logged in to WorkXpress via Facebook. ===== End User Experience ===== A User of a WorkXpress Application that utilizes the Facebook Enterprise Service Bus functionality will need to authorize this application to allow posting to their wall. This is accomplished via the [[Field Type - Facebook OAuth|Facebook OAuth]] field. Sending posts from WorkXpress to Facebook is a two step process. First the values for Message, Link, Link Caption, Link Description, and Link Name must be stored somewhere in WorkXpress for the ESB Profile to reference. This can be accomplished with a [[Table|table]], or by storing these values on any accessible record in WorkXpress. Next, [[Action Type - Enterprise Service Bus|Enterprise Service Bus Actions]] need to be added to send the Post Data to Facebook. While setting up that Action, the Software Developer will setup a [[Enterprise Service Bus Data Handler - Facebook Post Outgoing|Facebook Post]] ESB Profile to let WorkXpress know how to read post records to send to Facebook. ===== Additional Facebook Functions ===== In addition to the Wall Post ESB it is possible to utilize the Facebook Social Plugins for [[https://developers.facebook.com/docs/plugins/like-button|Like Buttons]], [[https://developers.facebook.com/docs/plugins/share-button|Share Buttons]], [[https://developers.facebook.com/docs/plugins/send-button|Send Buttons]], [[https://developers.facebook.com/docs/plugins/embedded-posts|Embedded Posts]], [[https://developers.facebook.com/docs/plugins/follow-button|Follow Buttons]], [[https://developers.facebook.com/docs/plugins/comments|Comments]], [[https://developers.facebook.com/docs/plugins/activity|Activity Feed]], [[https://developers.facebook.com/docs/plugins/recommendations|Recommendataions Feed]], [[https://developers.facebook.com/docs/plugins/like-box-for-pages|Like Box]], and [[https://developers.facebook.com/docs/plugins/facepile|Facepile]]. To utilize these functions the developer simply needs to do 3 things. - [[Setup Facebook Account|Sign Up and Create a Facebook Application]] - Create an [[Field Type - Expression|Expression Field]] to display the html - Copy the html code for the plugin you wish to use from the facebook developer site. ===== What Data is sent to Facebook? ===== The following pieces of data are sent to Facebook: * **Facebook Post ID** - The Facebook Post ID identifies this Post on Facebook's side. This value should be empty for new posts. This field will be filled in when a Post is successfully created * **Message** - The message is the main body of a post. The message is optional if a link is being posted. * **Link** - A link to a website * **Link Name** - A title for a link * **Link Caption** - A subheading for the Link Name. * **Link Description** - A text description of the link that appears below the Link Caption ===== Data Handlers ===== The data handler selection for an Outgoing ESB Profile will determine what helpers and configuration is needed and or available. * [[Enterprise Service Bus Data Handler - Facebook Post Outgoing|Facebook Post]]