what's new in chatter?

37
What’s New in Chatter? Developers Will Gradin: salesforce.com Carter Thaxton: salesforce.com Anjali Joshi: Timba Software

Upload: salesforce

Post on 21-Jan-2015

1.981 views

Category:

Business


5 download

DESCRIPTION

Social networking in the enterprise is new and evolving quickly. In this session we'll provide you, as developers, with the information you need to leverage the latest advances in Chatter in the applications you're building. After all, better collaboration means happier users.

TRANSCRIPT

Page 1: What's New in Chatter?

What’s New in Chatter?Developers

Will Gradin: salesforce.comCarter Thaxton: salesforce.comAnjali Joshi: Timba Software

Page 2: What's New in Chatter?

Safe HarborSafe harbor statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services.

The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our service, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of intellectual property and other litigation, risks associated with possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for the most recent fiscal year ended January 31, 2010. This documents and others are available on the SEC Filings section of the Investor Information section of our Web site.

Any unreleased services or features referenced in this or other press releases or public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.

Page 3: What's New in Chatter?

Agenda

Fundamental Concepts

Core API Entities

Groups

Patterns

Sample App: Post via Apex and Visualforce

Demo: Twitter Chatter Integration

Recommended Reading

Page 4: What's New in Chatter?

Force.com Architecture

Page 5: What's New in Chatter?

Terminology

Feed Tracked Change (change on a record)

Post (text, content, or link)

Status update (change to UserStatus field on User)

A ‘Feed Item’ is an entry in the feed

Page 6: What's New in Chatter?

Terminology

Record that changed

All Feed Items have a ParentId

User who received post

Page 7: What's New in Chatter?

Terminology

And a CreatedBy (User who Performed the Action)

Updated record

Changed status

Authored post

Page 8: What's New in Chatter?

Agenda

Fundamental Concepts

Core API Entities

Groups

Chatter Data Model

Patterns

Sample App: Post via Apex and Visualforce

Demo: Twitter Chatter Integration

Recommended Reading

Page 9: What's New in Chatter?

Basic API EntitiesEntitySubscription

SubscriberId (the user) is following

the ParentId (user or record)

** Everyone implicitly follows themselves

Page 10: What's New in Chatter?

Viewing the Feed

ParentId is followed by the user

or

I’m a member of the group

NewsFeed (Chatter Tab)

Page 11: What's New in Chatter?

Viewing the FeedUserProfileFeed (User Profile Page)

FeedItems where

parentId = user

or

createdById = user

Page 12: What's New in Chatter?

Viewing the FeedEntityFeed (Record Detail Page)

FeedItems where

parent.Type = Account, contact etc.

Page 13: What's New in Chatter?

FeedItem Children Record creation or changing a field

Old and new values

N:1 relationship with Feed Item

Deleteable via API

Text, Content, Link Posts or Status change

1:1 relationship with Feed Item

CreatedBy is comment author

0 or more FeedComments per Feed Item

Can’t create directly

FeedTrackedChange

FeedPost

FeedComment

Page 14: What's New in Chatter?

SecurityChatter does not alter force.com’s security model

Chatter changes how users see

data– Pushed to them in a feed

Not what they can see– Viewing a FeedItem requires read-

access on the ParentId

– If a user loses access, they will no

longer see the FeedItem

User Profile Feeds are public

Page 15: What's New in Chatter?

Agenda

Fundamental Concepts

Core API Entities

Groups

Chatter Data Model

Patterns

Sample App: Post via Apex and Visualforce

Demo: Twitter Chatter Integration

Recommended Reading

Page 16: What's New in Chatter?

Groups

Any user can create groups

Share Text, Links, and files with the group

Posts appear in members’ NewsFeed

Groups = Collection of users collaborating together

Page 17: What's New in Chatter?

Group Types

Chatter is about collaborationMake groups public whenever possible

Public

Anyone can join(no approval required)

Anyone can view the feed (even non-members)

Private

Group admin controls membership

Only members can view feed

Page 18: What's New in Chatter?

Group API Access

API Entities

CollaborationGroup

CollaborationGroup Member

Create aGroup

Create aGroup Member

Insert CollaborationGroup

Specify name and type

Specify MemberId and CollaborationGroupID

Page 19: What's New in Chatter?

Agenda

Fundamental Concepts

Core API Entities

Groups

Chatter Data Model

Patterns

Sample App: Post via Apex and Visualforce

Demo: Twitter Chatter Integration

Recommended Reading

Page 20: What's New in Chatter?

Chatter Data Model

Record can be any object that is Chatter enabled

* All custom objects are Chatter “enabled”.* A user is an object.

User statusProfile Image

Page 21: What's New in Chatter?

Agenda

Fundamental Concepts

Core API Entities

Groups

Chatter Data Model

Patterns

Sample App: Post via Apex and Visualforce

Demo: Twitter Chatter Integration

Recommended Reading

Page 22: What's New in Chatter?

Writing Efficient Feed Queries

Always use a LIMIT Clause• We show 20 Feed Items per page in our web ui

Use ‘ORDER BY CreatedDate DESC, ID DESC’• Shows most recent feed items• Handled efficiently internally

For EntityFeeds, include ParentId = <record id> filter

Efficient Filters• ParentId, Id, FeedPostId• Parent.Type (eg User, Account)• CreatedDate

1

2

3

4

Page 23: What's New in Chatter?

Yes

No

Pagination – 2 Algorithms

Fixed Page List Query with LIMIT

page_size * 10(e.g., 200)

Filter to required page in client

Criteria

10 pages or less

Extra response size isn’t a performance concern

Page by Page Iteration Query with LIMIT Page Size + 1 Display the first page (eg 20 rows) Compare the 20th and 21st rows’

CreatedDate to determine next query

Page 24: What's New in Chatter?

Analytics

For example, show top 10 users who receive the most posts

SELECT Parent.Name, COUNT(id)

FROM UserFeed

WHERE Type IN ('TextPost', 'LinkPost', 'ContentPost')

GROUP BY Parent.Name

ORDER BY Count(id) DESC

LIMIT 10

But… analytic queries are expensive

SOQL + Feeds provides powerful

mechanism to

gather statistics

Page 25: What's New in Chatter?

View the Results: Just read from the custom

object directly Efficient because only

reading materialized results

Analytics – A Better Way

Typically rematerialize data hourly or even daily

Store the Results Periodically run scheduled

apex job to update statistics Materialize data into a

custom object

Reality: You’re most likely looking for trends so data changes slowly

Page 26: What's New in Chatter?

Polling

Best Practices:

…zzz

Avoid high polling rates

Poll interval should be minutes not seconds

Poll less often with user inactivity

Be cautious of consuming user’s api limits

Page 27: What's New in Chatter?

Agenda

Fundamental Concepts

Core API Entities

Groups

Chatter Data Model

Patterns

Sample App: Post via Apex and Visualforce

Demo: Twitter Chatter Integration

Recommended Reading

Page 28: What's New in Chatter?

Post to Chatter via Apex and Visualforce

Carter Thaxton, Developer

Page 29: What's New in Chatter?

Agenda

Fundamental Concepts

Core API Entities

Groups

Chatter Data Model

Patterns

Sample App: Post via Apex and Visualforce

Demo: Twitter Chatter Integration

Recommended Reading

Page 30: What's New in Chatter?

Twitter Chatter Integration

Anjali Joshi, Partner Timba Software

Page 31: What's New in Chatter?

Agenda

Fundamental Concepts

Core API Entities

Groups

Chatter Data Model

Patterns

Sample App: Twitter Chatter Integration

Recommended Reading

Page 32: What's New in Chatter?

Recommended Reading

Chatter Code Recipes– http://wiki.developerforce.com/index.php/Chatter_Code_Recipes

Chatter Entity Relationship Diagram– http://www.salesforce.com/us/developer/docs/api/Content/sforce_api_erd_chatter.htm

Chatter Development Discussion Board– http://community.salesforce.com/t5/Chatter-Development/bd-p/chatter

Page 33: What's New in Chatter?

Q&A

Page 34: What's New in Chatter?

How Could Dreamforce Be Better? Tell Us!

Log in to the Dreamforce app to submit

surveys for the sessions you attendedUse the

Dreamforce Mobile app to submit

surveysEvery session survey you submit is

a chance to win an iPod nano!

OR

Page 35: What's New in Chatter?

Get Your Whole Company on for Free!

Visit the Campgroundto learnhow

Page 36: What's New in Chatter?

D I S C O V E R

Visit the Developer Training and Support Booth in Force.com Zone

Discover

Developer

Learning Paths

Developer training, certification and support resources

S U C C E S SFind us in the Partner Demo Area of

Force.com Zone 2nd Floor Moscone West

that help you achieve

Learn about Developer

Certifications

Page 37: What's New in Chatter?

Remember. . .

Check Chatter for additional session information

Get your developer Workbooks and Cheat Sheets in

the Force.com Zone

Visit for more information related

to this topicDon’t forget the survey!