How can you get the whole company connected when everyone is working on a different platform?
Integrate Enterprise Collaboration in the specific applications! Use Connections to be the central place for Files and releted Informations
We want to show how you can integrate with the Search APIs and share what are the challenges by doing so.
We’ve build the functionality using the Salesforce-Platform and OAuth 2.0 to respect the user rights.
Once you have the connection in place, you can do much more than just search – get interactive!
We’ll show a full functioning Activity-Stream. Like, comment, share attachments and @mention it to your network right inside of Salesforce. https://youtu.be/hXZYNQaYgjk
See and comment how we master the IBM Communities to unlock the power for the sales process.
3. QKom – Why we integrate
Lotus
Notes
IBM
Connections
Force.com
• Since 1997
– listen to the customer’s problems
– understanding the workflow and security needs
– model the wishes in Notes’ databases
• Since 2010
– learning social software with IBM Connections
• Since 2012
– using Salesforce and exploring Force.com
– model customer wishes in force.com with social
features in the cloud
4. Agenda
• Goals
• Challenges
• Concept
• Architecture
• Coding Time
• What else is possible
• Q&A
IBM
Connections
Salesforce
BlueMix
Any other
platform
5. Challenges
• Salesforce is customer-centred
– Accounts
– Opportunities
– Chatter
• IBM Connections is person-centred
– Communities
– Wikis
– Activity-Stream
All Users
[IBM Connections]
Salesteam
[Salesforce]
6. Goal
• Integrate the CRM into IBM
Connections
• Don’t interrupt the user, with
unnecessary system jumps
• 360° customer-view
• Accounts
• Opportunities
• Service-Cases
Salesforce
• Communities
• Activities
• Files
IBM
Connections
7. Concept
• Live data access
• Respect user rights
• Visualize in Salesforce
• Direct social interactions
• Custom actions
• All server to server
IBM Connections
Salesforce
10. Architecture
• APEX classes
• OAuth 2.0
• Global classes and methods
• UI in VisualForce with SLDS
• 100% Connections API
• 100% Salesforce
VisualForce
APEX
IBM API
14. Coding Time
49 HttpRequest req = new HttpRequest();
50 HttpResponse res = new HttpResponse();
51 req.setMethod('POST');
52 req.setEndpoint(baseUrl + '/search/oauth/atom/mysearch');
53 req.setBody('query='+EncodingUtil.UrlEncode(searchString,
'UTF-8')
54 + '&sortKey='+(sortByDate?'date':'relevance')
55 + '&sortOrder='+(sortAscending?'asc':'desc')
56 + '&page='+pageNo
57 + '&pageSize='+pageSize);
58 res = (OAUTH_TEST)?this.test():oa.send(req);
Link to the IBM documentation: https://goo.gl/f3cFtW
15. Lesson learned
• IBMs OAuth 2.0 implementation is special
– Don’t expect a standard OAuth connector to work
• No Scope implemented
• Some variables have different names
• IBMs Search documentation is fine
• Community and Activity-Feed documentation is not reliable
– Reverse engeneer what IBM is doing
• Connections can be a great backend system
17. Ressources
• Development tools: Sublime Text 3 with plugin Mavensmate
– https://www.sublimetext.com/
– http://mavensmate.com/
• OAuth 2.0 with Salesforce by Pat Patterson
– https://developer.salesforce.com/page/Digging_Deeper_into_OAuth_2.0_on_Force.com
• Callouts: Salesforce World Tour Munich 2015
– http://de.slideshare.net/developerforce/2015-apexcallout
• GUI: Salesforce Lightning Design System
– https://www.lightningdesignsystem.com/