Home > Chatter Publisher Actions and Salesforce1

Chatter Publisher Actions and Salesforce1

Page 1
Chatter Publisher Actions and Salesforce1
a practical introduction to Chatter Publisher Actions
Stephen Willcock, FinancialForce.com, Director of Product Innovation @stephenwillcock Carolina Ruiz Medina, FinancialForce.com, Principal Developer in Product Innovation @CarolEnLaNube

Page 2
All about FinancialForce.com
Revolutionizing the Back Office #1 Accounting, Billing and PSA Apps on the Salesforce platform
▪  Native apps ▪  San Francisco HQ, 595 Market St ▪  R&D in San Francisco, Harrogate UK, and Granada ES ▪  We are hiring! Meet us at Rehab!

Page 3
Salesforce One and Chatter Publisher Actions
Mobile Force.com Social Mobile Force.com Social
Chatter Publisher Actions Mobile Cards Flexipages Notifications

Page 4
Take a micro-moment��
Salesforce Chatter Mobile Makes Every Moment Count New Chatter Mobile is the world��s first social and mobile application that will allow employees to take any business action instantly, from anywhere... With the new customizable publisher, companies will be able to create actions that empower employees to perform custom business activities... Now, employees will get valuable work done in every micro- moment—all from the Chatter feed. Salesforce press release - July 2013

Page 5
What are Chatter Publisher Actions?
Never mind about Publisher Actions�� what is the Chatter Publisher?

Page 6
What are Chatter Publisher Actions?

Page 7
Chatter Publisher Actions
Object Global Custom Create Update Canvas Log a Call
Mobile smart actions Default actions

Page 8
Actions in use
User Profiles Record Types Salesforce One Standard UI Mobile Desktop Page Layouts Global Publisher Layouts Objects

Page 9
When to use custom actions
•  Retrieve data from / update related records •  Multiple update / create •  Logic
•  Respond to user interaction •  Calculation / process
•  Call APIs

Page 10
Custom Action use cases
Create case on Account
•  Query other related records •  Apply logic to available values and guide the user
Time recording against Tasks
•  Query related records and make a calculation based on them •  Insert or update related records depending on outcome

Page 11
Implementation options
•  Classic Visualforce
•  Visualforce form submit •  AJAX Visualforce •  much Visualforce is valid, although some is not useful!
•  Javascript Remoting + HTML/CSS/JavaScript •  Hybrid: Visualforce + HTML/CSS

Page 12
Design considerations
•  Recommended limit to 9 actions (including standard) per layout •  Custom action Visualforce page rendered in IFRAME
•  Height must be specified and is fixed •  Take care when reaching outside of IFRAME
•  Design for mobile and browser
•  Compromise •  Adapt
•  Micro-moments

Page 13
Design considerations: action lifecycle
Model Desktop / Web UI Mobile / Salesforce1 APIs Cyclic Modal Publisher Refresh (feed) Redirect Submit action

Page 14
Plain old Visualforce
<apex:page standardcontroller="Account" extensions="AccountActivityTimeActionController" showHeader="false"> <apex:form > <apex:selectList value="{!SelectedTask}" multiselect="false" label="Task" size="10" style="width:100%;"> <apex:actionSupport event="onchange" action="{!changeTask}" rerender="logPanel"/> <apex:selectOptions value="{!SelectableTasks}"/> </apex:selectList>

Page 15
Plain old Visualforce
<apex:outputPanel id="logPanel"> <apex:repeat var="item" value="{!log}��>{!item}<br/></apex:repeat> </apex:outputPanel> </apex:form> </apex:page>

Page 16
Publisher APIs
<script type='text/javascript' src='/canvas/sdk/js/publisher.js'/>

Page 17
Refresh feed (desktop)
Sfdc.canvas.publisher.publish({ name: 'publisher.refresh', payload: {feed:true} });

Page 18
Submit hook (Salesforce1)
Sfdc.canvas.publisher.subscribe({name: "publisher.showPanel", onData:function(e) { Sfdc.canvas.publisher.publish({name: "publisher.setValidForSubmit", payload:"true"}); }}); Sfdc.canvas.publisher.subscribe({ name: "publisher.post", onData: function(e) {
alert("call some remote action here");
Sfdc.canvas.publisher.publish({ name: "publisher.close", payload:{ refresh:"true" }}); }});

Page 19
Redirect (Salesforce1)
sforce.one.navigateToSObject(recordId,view) sforce.one.navigateToURL(url) sforce.one.navigateToFeed(subjectId, type) sforce.one.navigateToFeedItemDetail(feedItemID) sforce.one.navigateToRelatedList(relatedListId, parentRecordId) sforce.one.navigateToList(listViewId, listViewName, scope) sforce.one.createRecord(entityName, recordTypeId) sforce.one.editRecord(recordId)

Page 20
if( (typeof sforce != 'undefined') && (sforce != null) ) { // Salesforce1 } else { // Desktop }

Page 21
Salesforce1 and FinancialForce Accounting
•  Use Case
•  Collaborative Collections / 360º BackOffice
•  Invoice Conversation •  Credit Limit Conversation •  Raise Account •  Etc.
•  Implementation
Lets use what Salesforce1 has for us!

Page 22
Implementation Element: Flexipage
1.  FlexiPage
What is it ?!
Setup �� Create �� Tabs

Page 23
Flexipage Metadata
•  List Views •  Recent Records •  Global Chatter Actions

Page 24
Salesforce1 and FinancialForce Accounting
•  Implementation
•  FlexiPage
•  List Views •  Recent Records •  Global Chatter Actions

Page 25
Salesforce1 and FinancialForce Accounting
•  Implementation
•  Mobile Card
What is it? It is like an inline Visualforce page for mobile devices only.

Page 26
Salesforce1 and FinancialForce Accounting
•  Implementation
•  Custom Action
•  Visualforce •  JQuery Mobile

Page 27
Invoice Conversation
Salesforce1 demonstration

Page 28
Stephen Willcock
Director of Product Innovation at FinancialForce.com @stephenwillcock
Carolina Ruiz
Principal Developer, Product Innovation at FinancialForce.com @CarolEnLaNube

Page 29
Search more related documents:Chatter Publisher Actions and Salesforce1

Set Home | Add to Favorites

All Rights Reserved Powered by Free Document Search and Download

Copyright © 2011
This site does not host pdf,doc,ppt,xls,rtf,txt files all document are the property of their respective owners. complaint#nuokui.com