what's new in chatter?

Post on 21-Jan-2015

1.981 Views

Category:

Business

5 Downloads

Preview:

Click to see full reader

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

What’s New in Chatter?Developers

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

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.

Agenda

Fundamental Concepts

Core API Entities

Groups

Patterns

Sample App: Post via Apex and Visualforce

Demo: Twitter Chatter Integration

Recommended Reading

Force.com Architecture

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

Terminology

Record that changed

All Feed Items have a ParentId

User who received post

Terminology

And a CreatedBy (User who Performed the Action)

Updated record

Changed status

Authored post

Agenda

Fundamental Concepts

Core API Entities

Groups

Chatter Data Model

Patterns

Sample App: Post via Apex and Visualforce

Demo: Twitter Chatter Integration

Recommended Reading

Basic API EntitiesEntitySubscription

SubscriberId (the user) is following

the ParentId (user or record)

** Everyone implicitly follows themselves

Viewing the Feed

ParentId is followed by the user

or

I’m a member of the group

NewsFeed (Chatter Tab)

Viewing the FeedUserProfileFeed (User Profile Page)

FeedItems where

parentId = user

or

createdById = user

Viewing the FeedEntityFeed (Record Detail Page)

FeedItems where

parent.Type = Account, contact etc.

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

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

Agenda

Fundamental Concepts

Core API Entities

Groups

Chatter Data Model

Patterns

Sample App: Post via Apex and Visualforce

Demo: Twitter Chatter Integration

Recommended Reading

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

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

Group API Access

API Entities

CollaborationGroup

CollaborationGroup Member

Create aGroup

Create aGroup Member

Insert CollaborationGroup

Specify name and type

Specify MemberId and CollaborationGroupID

Agenda

Fundamental Concepts

Core API Entities

Groups

Chatter Data Model

Patterns

Sample App: Post via Apex and Visualforce

Demo: Twitter Chatter Integration

Recommended Reading

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

Agenda

Fundamental Concepts

Core API Entities

Groups

Chatter Data Model

Patterns

Sample App: Post via Apex and Visualforce

Demo: Twitter Chatter Integration

Recommended Reading

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

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

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

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

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

Agenda

Fundamental Concepts

Core API Entities

Groups

Chatter Data Model

Patterns

Sample App: Post via Apex and Visualforce

Demo: Twitter Chatter Integration

Recommended Reading

Post to Chatter via Apex and Visualforce

Carter Thaxton, Developer

Agenda

Fundamental Concepts

Core API Entities

Groups

Chatter Data Model

Patterns

Sample App: Post via Apex and Visualforce

Demo: Twitter Chatter Integration

Recommended Reading

Twitter Chatter Integration

Anjali Joshi, Partner Timba Software

Agenda

Fundamental Concepts

Core API Entities

Groups

Chatter Data Model

Patterns

Sample App: Twitter Chatter Integration

Recommended Reading

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

Q&A

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

Get Your Whole Company on for Free!

Visit the Campgroundto learnhow

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

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!

top related