What's New in Chatter?

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.
of 37
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Similar Documents
  • 1. What’s New in Chatter?<br />Developers<br />Will Gradin:<br />Carter Thaxton:<br />Anjali Joshi: Timba Software<br />
  • 2. Safe Harbor<br />Safe 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, 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.<br />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 products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of, 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. <br />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., inc. assumes no obligation and does not intend to update these forward-looking statements.<br />
  • 3. Agenda<br />Fundamental Concepts<br />Core API Entities<br />Groups<br />Patterns<br />Sample App: Post via Apex and Visualforce<br />Demo: Twitter Chatter Integration<br />Recommended Reading<br />
  • 4. Architecture<br />
  • 5. Terminology<br />A ‘Feed Item’ is an entry in the feed<br />Feed Tracked Change (change on a record)<br />Post (text, content, or link)<br />Status update (change to UserStatus field on User)<br />
  • 6. Terminology<br />All Feed Items have a ParentId<br />Record that changed<br />User who received post<br />
  • 7. Terminology<br />And a CreatedBy (User who Performed the Action)<br />Updated record<br />Changed status<br />Authored post<br />
  • 8. Agenda<br />Fundamental Concepts<br />Core API Entities<br />Groups<br />Chatter Data Model<br />Patterns<br />Sample App: Post via Apex and Visualforce<br />Demo: Twitter Chatter Integration<br />Recommended Reading<br />
  • 9. Basic API Entities<br />EntitySubscription<br />SubscriberId(the user) is following the ParentId (user or record)<br />** Everyone implicitly follows themselves<br />
  • 10. Viewing the Feed<br />NewsFeed (Chatter Tab)<br />ParentId is followed by the user<br />or <br />I’m a member of the group<br />
  • 11. Viewing the FeedUserProfileFeed(User Profile Page)<br />FeedItems where <br />parentId = user <br />or <br />createdById= user<br />
  • 12. Viewing the FeedEntityFeed(Record Detail Page)<br />FeedItemswhere <br />parent.Type= Account, contact etc.<br />
  • 13. FeedItem Children<br /><ul><li>Record creation or changing a field
  • 14. Old and new values
  • 15. N:1 relationship with Feed Item
  • 16. Deleteable via API</li></ul>FeedTrackedChange<br /><ul><li>Text, Content, Link Posts or Status change
  • 17. 1:1 relationship with Feed Item</li></ul>FeedPost<br /><ul><li>CreatedBy is comment author
  • 18. 0 or more FeedComments per Feed Item
  • 19. Can’t create directly</li></ul>FeedComment<br />
  • 20. SecurityChatter does not alter’s security model<br />Chatter changes how users see data<br />Pushed to them in a feed<br />Not what they can see<br />Viewing a FeedItem requires read-access on the ParentId<br />If a user loses access, they will no longer see the FeedItem<br />User Profile Feeds are public<br />
  • 21. Agenda<br />Fundamental Concepts<br />Core API Entities<br />Groups<br />Chatter Data Model<br />Patterns<br />Sample App: Post via Apex and Visualforce<br />Demo: Twitter Chatter Integration<br />Recommended Reading<br />
  • 22. Groups<br />Groups = Collection of users collaborating together<br />Any user can create groups<br />Share Text, Links, and files with the group<br />Posts appear in members’NewsFeed<br />
  • 23. Group Types<br />Public<br />Private<br /><ul><li>Anyone can join(no approval required)
  • 24. Anyone can view the feed (even non-members)
  • 25. Group admin controls membership
  • 26. Only members can view feed</li></ul>Chatter is about collaborationMake groups public whenever possible<br />
  • 27. Group API Access<br />API Entities<br />Collaboration<br />Group<br />CollaborationGroup Member<br />Create a<br />Group<br />Create aGroup Member<br /><ul><li>Insert CollaborationGroup
  • 28. Specify name and type
  • 29. Specify MemberId and CollaborationGroupID</li></li></ul><li>Agenda<br />Fundamental Concepts<br />Core API Entities<br />Groups<br />Chatter Data Model<br />Patterns<br />Sample App: Post via Apex and Visualforce<br />Demo: Twitter Chatter Integration<br />Recommended Reading<br />
  • 30. Chatter Data Model<br />User status<br />Profile Image<br />Record can be any object that is Chatter enabled<br />* All custom objects are Chatter “enabled”.<br />* A user is an object.<br />
  • 31. Agenda<br />Fundamental Concepts<br />Core API Entities<br />Groups<br />Chatter Data Model<br />Patterns<br />Sample App: Post via Apex and Visualforce<br />Demo: Twitter Chatter Integration<br />Recommended Reading<br />
  • 32. Writing Efficient Feed Queries<br />1<br />Always use a LIMIT Clause<br />We show 20 Feed Items per page in our web ui<br />Use ‘ORDER BY CreatedDate DESC, ID DESC’<br />Shows most recent feed items<br />Handled efficiently internally<br />For EntityFeeds, include ParentId = <record id> filter<br />Efficient Filters<br />ParentId, Id, FeedPostId<br />Parent.Type (eg User, Account)<br />CreatedDate<br />2<br />3<br />4<br />
  • 33. Yes<br />No<br />Pagination – 2 Algorithms<br />Criteria<br /> 10 pages or less<br /> Extra response size isn’t a performance concern<br />Fixed Page List<br /><ul><li>Query with LIMIT page_size * 10(e.g., 200)
  • 34. Filter to required page in client</li></ul>Page by Page Iteration<br /><ul><li>Query with LIMIT Page Size + 1
  • 35. Display the first page (eg 20 rows)
  • 36. Compare the 20th and 21st rows’ CreatedDate to determine next query</li></li></ul><li>Analytics<br />SOQL + Feeds provides powerful mechanism to gather statistics<br />For example, show top 10 users who receive the most posts<br />SELECT Parent.Name, COUNT(id)<br />FROM UserFeed<br />WHERE Type IN ('TextPost', 'LinkPost', 'ContentPost')<br />GROUP BY Parent.Name<br />ORDER BY Count(id) DESC<br />LIMIT 10<br />But… analytic queries are expensive<br />
  • 37. View the Results:<br /><ul><li>Just read from the custom object directly
  • 38. Efficient because only reading materialized results</li></ul>Analytics – A Better Way<br />Reality: You’re most likely looking for trends so data changes slowly<br />Store the Results<br /><ul><li>Periodically run scheduled apex job to update statistics
  • 39. Materialize data into a custom object</li></ul>Typically rematerialize data hourly or even daily<br />
  • 40. Polling<br />Best Practices:<br />Avoid high polling rates<br />Poll interval should be minutes not seconds<br />Poll less often with user inactivity<br />Be cautious of consuming user’s api limits<br />…zzz<br />
  • 41. Agenda<br />Fundamental Concepts<br />Core API Entities<br />Groups<br />Chatter Data Model<br />Patterns<br />Sample App: Post via Apex and Visualforce<br />Demo: Twitter Chatter Integration<br />Recommended Reading<br />
  • 42. Post to Chatter via Apex and VisualforceCarter Thaxton, Developer<br />
  • 43. Agenda<br />Fundamental Concepts<br />Core API Entities<br />Groups<br />Chatter Data Model<br />Patterns<br />Sample App: Post via Apex and Visualforce<br />Demo: Twitter Chatter Integration<br />Recommended Reading<br />
  • 44. Twitter Chatter IntegrationAnjali Joshi, Partner Timba Software<br />
  • 45. Agenda<br />Fundamental Concepts<br />Core API Entities<br />Groups<br />Chatter Data Model<br />Patterns<br />Sample App: Twitter Chatter Integration<br />Recommended Reading<br />
  • 46. Recommended Reading<br />Chatter Code Recipes<br /><br />Chatter Entity Relationship Diagram<br /><br />Chatter Development Discussion Board<br /><br />
  • 47. Q&A<br />
  • 48. How Could Dreamforce Be Better? Tell Us!<br />Log in to the Dreamforce app to submit<br />surveys for the sessions you attended<br />Use the Dreamforce Mobile app to submit surveys<br />OR<br />Every session survey you submit is a chance to win an iPod nano!<br />
  • 49. GetYour Whole Company on<br /> for Free!<br />Visit the <br />Campground<br />to learn<br />how<br />
  • 50. Visit the Developer Training and Support Booth in Zone<br />D I S C O V E R<br />Developer training, certification and support resources <br />that help you achieve<br />S U C C E S S<br />Find us in the Partner Demo Area of <br /> Zone 2nd Floor Moscone West<br />Learn about Developer Certifications<br />Discover Developer Learning Paths<br />
  • 51. Remember. . .<br /><ul><li>Check Chatter for additional session information
  • 52. Get your developer Workbooks and Cheat Sheets in the Zone
  • 53. Visit for more information related to this topic</li></ul>Don’t forget the survey!<br />
  • We Need Your Support
    Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

    Thanks to everyone for your continued support.

    No, Thanks

    We need your sign to support Project to invent "SMART AND CONTROLLABLE REFLECTIVE BALLOONS" to cover the Sun and Save Our Earth.

    More details...

    Sign Now!

    We are very appreciated for your Prompt Action!