use ibm connections as a backend for enterprise collaboration in salesforce
TRANSCRIPT
Using IBM Connections as backend for
enterprise collaborationSocCnX March 18, 2016
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
Agenda
• Goals
• Challenges
• Concept
• Architecture
• Coding Time
• What else is possible
• Q&A
IBM Connections
Salesforce
BlueMix
Any otherplatform
Challenges
• Salesforce is customer-centred– Accounts
– Opportunities
– Chatter
• IBM Connections is person-centred– Communities
– Wikis
– Activity-Stream
All Users[IBM Connections]
Salesteam[Salesforce]
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
Concept
• Live data access
• Respect user rights
• Visualize in Salesforce
• Direct social interactions
• Custom actions
• All server to serverIBM Connections
Salesforce
Demo Time
• Communities connected to Salesforce Accounts
– Feed
– Files
– Members
– …
Communities connected to Salesforce Accounts
Architecture
• APEX classes
• OAuth 2.0
• Global classes and methods
• UI in VisualForce with SLDS
• 100% Connections API
• 100% Salesforce
VisualForce
APEX
IBM API
Demo Time
• Context-sensitive Search
– Search terms out of the Salesforce context
Search terms out of the Salesforce context
Search-Flow
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
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
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/
Thank you!