Challenge Overview
Project Overview
This challenge should integrate Salesforce Community with Facebook posts and Twitter tweets.
Competition Tasks
This challange will import Facebook posts and Twitter tweets to the FeedItems of Salesforce Community. We will have a VisualForce page to set up the oAuth connection. After the connections are made, we would like to get the posts by their social account hourly and post them to the Salesforce Community.
User type should be Partner Community User.
Here's a UI Mockup:
Notices
- Do NOT use custom objects
- Use the prefix "PRO_" for names of Apex, Visualforce and custom settings
- Use custom settings to store SNS settings information
- You can use the default or minimum UI. We will apply the final UI on our own
Details
- Partner Community User can show the SNS integration setting page on Visualforce. When you click on the connect button, the auth confirm page of Facebook or Twitter will be appeared and the user can get access_token. You can get access tokens from Facebook and/or twitter.
- You can confirm on Visualforce if the connection is made and the last connection datetime. If connected, you can disconnect it by clicking on the disconnect button.
- You can connect it again after you discard it.
- The values like access_tokens, last fetch datetime and Salesforce Community Id should be stored in the user object
- Partner Community User can get an access_token from the user object and get the posts after the last fetch datetime from each sns, posts should be converted to ChatterFeed.
- Register each SNS posts into the FeedItems of Salesforce Community.
Notes
- You can set the maximum number of posts in a single fetch with the Custom Settings. If you do not set it, import all posts since the last fetch.
- Register the last execution datetime in a User Object after the FeedItems are registered successfully
- If any exception happens in getting and registering contents, post it as a FeedItem of the admin user for internal use (which should be set in a custom setting)
Post Details
Facebook
- Do not import posts by external apps (Foursquare checkins or posts from twitter).
- If the content is too large to post in a single feed, post the rest of the content in (multiple) comments.
- If images are included in the post, insert image URL's in a FeedItem.
- We do not need a count of "Like"s
Twitter
- Do not import posts via Facebook
- Do not import replies or direct messages
- If images are included in the tweet, insert image URL's in a FeedItem.
Performance
- We expect high performance for the implementation.
Tests
- Your Apex classes must be well tested.
Technology Overview
- Salesforce
Resources
You may want to use some code snippet like oAuth integration from https://appexchange.salesforce.com/listingDetail?listingId=a0N30000003HpEQEA0
Final Submission Guidelines
Submission Deliverables
- Zipped Source, package.xml and SFDC dev org. You need to prepare your own SFDC environment.
- Apex (Including test classes), please provide us your test site information (id/password) for test. You may want to register a new one so you don't have to share your own developer account.
- Visualforce
- Custom settings
- Facebook account info for the app test (or a setup document). Please register your own facebook/twitter app for the development and give us the credentials. If not possible, make sure the deployment guide provides enough details on this so we can follow it.
- Twitter account info for app test
- A deployment guide with instructions to setup and test your submission
Final Submission
For each member, the final submission should be uploaded to the Online Review Tool.