SlideShare uma empresa Scribd logo
1 de 51
Developing
Social Apps with
SharePoint 2013
 Johnny Tordgeman @ E4D
ME

     • Linkedin
Before we begin…
What are we going to talk about?
•   What is social all about?
•   Why do we need it?
•   What does it looks like?
•   Can I extend it?
•   How?
What is social?
asking and               working with
answering                documents
questions                and sites

       “Liking” all
       sort of content   finding out
                         more about
                         people
•   Social helps employees engage with each other
•   Social helps teams collaborate
•   Social drives business agility
•   Social is fun!
Write
Write                Write




                                                Write



                Write                                   Write

                                Write

        Write




                                        Write
Write                                                           Write
                        Write
Write             Write
                Write


                                              Write
                                                 Write                            Write



                Write                             Write   Write

                                  Write                     Write


        Write
                                                                  Write           Write

                                  Write
                                          Write
Write                                                               Write
                        Write
                                                  Write
                                                                          Write
                          Write
Write
                                                       Write

   Write             Write
                Write


                                                                   Write
                                               Write
                                                  Write                               Write
                                                                                         Write
                                                               Write

                Write                              Write   Write

                                   Write                        Write

                                Write
        Write
                                                                   Write             Write

                                  Write
                                           Write                                   Write
Write            Write                                                  Write
                        Write
                                                   Write
                                                                           Write
                          Write
central storage
 of all recent       Read

    activity



             Write
                       Read




                       Read
central storage
 of all recent          Read

    activity



                Write
                        Read

      Write


        Write



                        Read
 Get profiles and properties

 Get feeds and replies (require some extra assembly work)

 Update the current user picture

 Create posts for the current user
 Find out if an account exists

 Create a user profile

 Change a user profile (other than its image)

 Delete a user profile

 Create posts for another user ()
RESTFul


                                       http://<siteUri>/_api/
 Namespace: SP.UserProfiles
                                        SP.UserProfiles.PeopleManager
 Class library: SP.UserProfiles.js
• DEMO – Fun with user
  profiles!
 The user profiles client APIs are read-only, other than setting the user’s
  image.
 No extra files are needed to work with the user profile with REST or
  JSOM, for C# client object model use
  Microsoft.SharePoint.Client.UserProfiles.dll
 Remember to set the request header correctly when working with REST:
  application/json;odata=verbose
 If working from an App remember to request correct permissions:
User Profile Service
                         Social DB              Content DB
  Profile DB (per-
                           (per-
      service)
                          service)       (site collection(per-user)
                                           Content DBs per-user)


 People        User                              Site and     Personal
                                       Feed
 and tag      profile    Social tags            document      storage
                                       posts
following   properties                          following      space
 Get followers and followed profiles

 Add an actor (followed entity)

 Check if an actor is followed

 Stop following an actor

 Get following suggestions
RESTFul


                                       http://<siteUri>/_api/
 Namespace: SP.UserProfiles
                                        Social.following/my
 Class library: SP.UserProfiles.js
• DEMO – Fun with
  following!
 Almost anything can be done with the following API on the client side.
 No extra files are needed to work with the user profile with REST or
  JSOM, for C# client object model use
  Microsoft.SharePoint.Client.Social.dll
 Remember to create a new SocialActorInfo when you wish to follow
  an actor.
 If working from an App remember to request correct permissions:
Feeds storage overview

  Persisted      personal
               site content
                                Site’s
    feed            DB
                              content DB




 Cached feed     Person          Site      Document   Tag
Creating aggregate feeds on-
          demand

                         Post
                          Reply

                          Reply
Feed data structure

SocialThread[]
 Actors[]
 Attributes
 ID
 SocialPost[] (RootPost and Replies[])
   Attachment
   Author
   ID
   LikerInfo
   Text
Just about anything!
RESTFul


                                       http://<siteUri>/_api/
 Namespace: SP.UserProfiles
                                        Social.feed/my
 Class library: SP.UserProfiles.js
• DEMO – Working with
  feeds!
 Everything related to feeds can be done on both JSOM and REST APIs.
 No extra files are needed to work with the user profile with REST or
  JSOM, for C# client object model use
  Microsoft.SharePoint.Client.Social.dll
 Remember to create a new SocialPostCreationData when you wish to
  create a post.
 If working from an App remember to request correct permissions:
So, what is Social?
(other than sharing photos and wasting company time)

                          Tags and
                          Documents


        Following                     @Mentions


                            Sites                 Share

                                        Likes


        Followers       Discussions
                        and badges
Data-driven and platform independent
Easy to use REST and CSOM APIs deliver on any device with a network
connection
Separate form from function


Focus on consumer applications
Mobile and desktop applications, web portals, providing social information
in other contexts


Everything is live
No gatherers or timer jobs getting between you and the latest information
How to develop social applications for SharePoint 2013
How to develop social applications for SharePoint 2013

Mais conteúdo relacionado

Último

Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 

Último (20)

DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 

Destaque

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 

Destaque (20)

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 

How to develop social applications for SharePoint 2013

  • 1. Developing Social Apps with SharePoint 2013 Johnny Tordgeman @ E4D
  • 2. ME • Linkedin
  • 4. What are we going to talk about? • What is social all about? • Why do we need it? • What does it looks like? • Can I extend it? • How?
  • 6. asking and working with answering documents questions and sites “Liking” all sort of content finding out more about people
  • 7. Social helps employees engage with each other • Social helps teams collaborate • Social drives business agility • Social is fun!
  • 8.
  • 9.
  • 10.
  • 11. Write
  • 12. Write Write Write Write Write Write Write Write Write Write Write
  • 13. Write Write Write Write Write Write Write Write Write Write Write Write Write Write Write Write Write Write Write Write Write Write
  • 14. Write Write Write Write Write Write Write Write Write Write Write Write Write Write Write Write Write Write Write Write Write Write Write Write Write Write Write Write Write Write
  • 15.
  • 16.
  • 17. central storage of all recent Read activity Write Read Read
  • 18. central storage of all recent Read activity Write Read Write Write Read
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.  Get profiles and properties  Get feeds and replies (require some extra assembly work)  Update the current user picture  Create posts for the current user
  • 29.  Find out if an account exists  Create a user profile  Change a user profile (other than its image)  Delete a user profile  Create posts for another user ()
  • 30. RESTFul  http://<siteUri>/_api/  Namespace: SP.UserProfiles SP.UserProfiles.PeopleManager  Class library: SP.UserProfiles.js
  • 31. • DEMO – Fun with user profiles!
  • 32.  The user profiles client APIs are read-only, other than setting the user’s image.  No extra files are needed to work with the user profile with REST or JSOM, for C# client object model use Microsoft.SharePoint.Client.UserProfiles.dll  Remember to set the request header correctly when working with REST: application/json;odata=verbose  If working from an App remember to request correct permissions:
  • 33.
  • 34. User Profile Service Social DB Content DB Profile DB (per- (per- service) service) (site collection(per-user) Content DBs per-user) People User Site and Personal Feed and tag profile Social tags document storage posts following properties following space
  • 35.  Get followers and followed profiles  Add an actor (followed entity)  Check if an actor is followed  Stop following an actor  Get following suggestions
  • 36. RESTFul  http://<siteUri>/_api/  Namespace: SP.UserProfiles Social.following/my  Class library: SP.UserProfiles.js
  • 37. • DEMO – Fun with following!
  • 38.  Almost anything can be done with the following API on the client side.  No extra files are needed to work with the user profile with REST or JSOM, for C# client object model use Microsoft.SharePoint.Client.Social.dll  Remember to create a new SocialActorInfo when you wish to follow an actor.  If working from an App remember to request correct permissions:
  • 39.
  • 40. Feeds storage overview Persisted personal site content Site’s feed DB content DB Cached feed Person Site Document Tag
  • 41. Creating aggregate feeds on- demand Post Reply Reply
  • 42. Feed data structure SocialThread[] Actors[] Attributes ID SocialPost[] (RootPost and Replies[]) Attachment Author ID LikerInfo Text
  • 44. RESTFul  http://<siteUri>/_api/  Namespace: SP.UserProfiles Social.feed/my  Class library: SP.UserProfiles.js
  • 45. • DEMO – Working with feeds!
  • 46.  Everything related to feeds can be done on both JSOM and REST APIs.  No extra files are needed to work with the user profile with REST or JSOM, for C# client object model use Microsoft.SharePoint.Client.Social.dll  Remember to create a new SocialPostCreationData when you wish to create a post.  If working from an App remember to request correct permissions:
  • 47.
  • 48. So, what is Social? (other than sharing photos and wasting company time) Tags and Documents Following @Mentions Sites Share Likes Followers Discussions and badges
  • 49. Data-driven and platform independent Easy to use REST and CSOM APIs deliver on any device with a network connection Separate form from function Focus on consumer applications Mobile and desktop applications, web portals, providing social information in other contexts Everything is live No gatherers or timer jobs getting between you and the latest information

Notas do Editor

  1. Few things before we get started:SP13 is client oriented and as such all the demos from here on will be shown using CSOM and RESTNo c# will be used, just JavaScript.All the demos will be available on my blog
  2. Feed posts are presented in both persisted and cached positions. The cache holds the everyone and following feeds. Cache feed is app fabric.When I write a new microblog, its going to get written first to the content db, and then the cached feed. Anyone who follows me will see this post instantly because of the cache. Posting to team site is the same. When I reply to someone post, and I as a use see that post I expect to see the reply as well. If im following the person who created the post, I shold see the reply, if im only following the person who wrote the reply I also should see the post. This is achieved by using the reference threads.If bender posts something on his wall it is stored on his feed. When fry comes and reply to that post, that reply is also stored on benders feed. This is how we keep conversation. In the replier feed there is a post that is called a reference thread. A reference thread refers to the original post. This is how people following only the replier will know about his reply. The reference post is just a guid. All the data is in the original post. This is the same for tags and mentions.Notice the gaps for document and tags. They don’t have persisted storage.That causes two things:You cant write to a document or tag feed directly.You cant consume a document or tag feed directly as well.Only if you follow a tag or document you can see its feed.Anything you see in a document feed is replicated to a persisted feed, like a users feed.Tag feed only shows referenece posts. To get a feed of a tag you can use search! (all the data is already indexed) this is how the tag profile page works.Posting on behalf of is not supported at the moment. Posting can only be done as a context of a user. Might be added in the future.
  3. First of all the information is gatherd. In our case the following feed. Every post has its time stamp available so posts can be sorted and know how recently it was updated. The feed is kept in the cache. Now the feed get sorted (by default newer on top). This is were similar data is removed. For example if you follow a person and he updated a tag you also follow, you wont see this update twice. Next is trim. First is pulling reference post data. If we are unable to get the information in time, the post wont show. Showing data quickly is top priority. Next is security trimming. If a user watching my feed cant see a document im following (by url) he wont see this post. Content of micro blog posts is NOT security trimmed. If I put a link in my post its not getting checked against other users.Last step is seeing the post. There is always a root post and the latest 2 replies.
  4. Social thread has a collection of actors so if a user replied twice to a post, his user data (image, name etc) is only saved once.