Way back at SPC12 (Nov 2012) the keynote included a demo that showed an example of the integration possible between SharePoint Online and Yammer that could be done with a little bit of development effort. I built that demo and decided to turn it into a real app anyone could use.
Some Background first: This surfaced in SharePoint Online by way of a new ribbon button that when pressed posted the selected document to Yammer via the Yammer Open Graph API. It was shown pretty quickly and it was pretty easy to miss. However, it demonstrated a few interesting methods of integration that are possible today using the new SharePoint App plumbing and Yammers pretty decent set of APIs.
The basic flow
1. In a document library a document was selected like this
2. Then in the ribbon a new “Post to Yammer” button showed up
3. When it was clicked it posted to the Yammer activity feed.
The image above shows the hover over the activity.
The activity feed shows a scrolling history of activity in the the Yammer network. e.g. “Chris Johnson updated Product Catalog.docx”. Its like that thing in Facebook that shows you all the music that your mates are listening to that they probably don’t know they are publishing to all their friends via spotify. More on the Activity feed a little later on.
4. Clicking on the activity will take you a page in Yammer for that activity where you can Be Social™ and discuss the document, like it etc…
How it’s made
This app is pretty simple. It’s a SharePoint Provider hosted application running in Azure Websites. The SharePoint part of the app includes some xml to add the ribbon button to all document libraries. When the user clicks the “Post to Yammer” button it sends some details about the document(s) to the backend of the app running in Azure. The backend code then uses the CSOM to call back into SharePoint to retrieve the name of the document and some other properties. Then the app directs the user through the Yammer OAuth authentication flow. Once this is complete the app then is able to access Yammer on behalf of the user that signed in.
Finally the posting of the information includes posting to the Yammer activity stream using the OpenGraph APIs (JSON/REST based). It will also post to the main feed in Yammer too via the Messages REST API in Yammer. Both of these are easy to use and are fairly standard XML/JSON/REST based services.
Why is this interesting?
Recently there has been a bunch of noise about SharePoint’s current dual headed social story.
- In the red corner you have the social features in SharePoint (both on-prem and SharePoint Online)
- In the blue corner you have Yammer.
The problem is that right now there is much consternation about how they don’t work nicely together. Things seem to be happening too slowly for some people. The products are currently not integrated all that well. That is slowly changing, like the ability to switch from the NewsFeed to Yammer in Office 365 that rolled out the day of writing this post. Those improvements will continue over time and eventually I think we will see the ability to totally replace the current out of the box social features with Yammer.
How on earth people think Microsoft can magically mash together one product with another overnight and make it all work perfectly is beyond me. It will take time people! Just because you think you could have done in overnight doesn’t mean it works that way in huge software projects … better stop this rant now before i get carried away.
The short story is that right now you have to pick one or the other. My vote is firmly in the Yammer category. But at the end of the day there are many factors that will go into your decision either way and there isn’t a perfect answer.
There is no doubt that Microsoft will integrate the two products more deeply. This could come in a variety of flavors including:
- surfacing stuff that happens in Yammer in SharePoint more seamlessly (short term strategy),
- totally replacing the existing SharePoint social features with ones backed by the Yammer in the cloud (more likely and what I would put money on, maybe with the ability to use the old stuff if you can’t use a cloud service)
Back to why this integration is interesting…
You can do things today to help with this situation. The demo showed a very basic example of some custom integration using things we know exist today.
I smell a set up!
… and you would be right. We are going to release this app to the store so that anyone with Office 365 can use it. It needed some tweaks to make it work well in production & some branding changes. However in the coming days/weeks we will release it under the name “ShareIt”.
I am going to write a future post on how this app was created and it will include code to illustrate how to call the Yammer APIs.
Ultimately you should be able to follow along and learn about how you can leverage the SharePoint App model + Yammer APIs to help integrate the two products while we wait for MS to offer a nice compelling seamless integration at a yet to be determined point in time 🙂
Note: It is very likely that this app will no longer be needed once MS do their thing and integrate the products further. I hope so to!