use ibm connections as a backend for enterprise collaboration in salesforce

Post on 09-Jan-2017

159 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Using IBM Connections as backend for

enterprise collaborationSocCnX March 18, 2016

Andreas Rosen

Architect

ar@qkom.de

Nils Rosen

Developer

nr@qkom.de

Speakers

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

Andreas Rosen

Architect

ar@qkom.de

Nils Rosen

Developer

nr@qkom.de

Q&A

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!

top related