Hi everyone – sorry it’s been awhile between posts but got really busy at the end of the year. This article continues my series on SunGard’s corporate Intranet and the custom development we’ve done. As we were designing the branding we had some challenges around where to put some of the native controls and ribbon elements – especially two in particular: ‘Tags and Notes’, and ‘Like’. Since we effectively hid the ‘Browse’ tab, those default ribbon icons were MIA – but we didn’t want to lose that functionality. Another tab in the ribbon seemed the most logical place, and would serve as way to integrate other social aspects into SharePoint.
Being new to working with the SharePoint Ribbon, I looked on the net for examples – and found a great one on CodePlex: http://socialsharepoint.codeplex.com/ . This project helped me create the new ‘Share’ tab on our intranet and relocate the ‘Tags and Notes’ and ‘Like’ buttons. The tab also contains other sharing options, like ‘Email’, ‘RSS’, and ‘SalesForce Chatter’.
Above: The Share tab open on the ribbon.
When SunGard standardized on Chatter as their social platform, the focus became integrating Chatter into SharePoint as seamlessly as possible. We’ve approached this process in stages. The first stage was basic integration – common authentication, status updates, and shaing pages, documents, and list items. The first phase was achieved with the Share on Chatter feature in the ribbon, and a custom web part for posting status updates (detailed later in this post).
Above: Clicking on the Chatter ribbon icon opens a modal window with the selected page, item, or document as an embedded link. Users can add comments and share the item on Chatter.
The Ribbon enhancement and the web part use OAuth and the Chatter REST APIs to communicate with SalesForce. The user’s token and secrets are stored in hidden fields within their profile. Once they authorize the KnowHow Application on Chatter once, they can use any of the Chatter integration features we design.
Users can also post status updates simultaneously to both SharePoint and Chatter by means of our Status Update Web Part:
This web part is placed in everyone’s Sidebar (see: https://marcrdavis.wordpress.com/2011/09/27/persistent-personalized-content-in-sharepoint/ for details on the Sidebar) making it quick and easy to post updates. The user’s posts are sent to their SharePoint profile as well as posted on their Chatter feed.
The second stage, which is underway now, involves bringing the many different feeds in Chatter directly into SharePoint. Doing this has proved challenging, since only this weekend has the Chatter v24 API been rolled out in our Org. Our Feed web part will leverage the above common authentication and will allow site owners to place feeds directly on their sites. The web part uses the REST API to pull down feed data as a JSON array (http://json.codeplex.com/) and then parses that data into feed-items and their components. Then, with some CSS and markup, we format that data into a wall view. Properties in the web part control what feed is shown (personal, company, or group) and options for supplying default credentials for Chatter, which can be used to authenticate users that do not have a Chatter profile or have not authorized the site on their profile yet. In that mode, all feeds are read-only. The web part also leverages Ajax to provide dynamic updating of the feeds without the need to repost the entire page
Our Status Update web part will then get an overhaul – adding the user’s personal feed view right in their Sidebar.
I personally would have loved to see true threaded discussions, micro-blogging, and a wall-like interface in SharePoint natively (maybe v15) – would have saved me a lot of work. But we’ve been able to do some really cool things with these two platforms and while getting them to place nice is a challenge, our end users really enjoy the experience and this helps us drive more traffic to SharePoint now that they can seamlessly collaborate on our external social platform.
Up next – our take on Exchange and Outlook integration with SharePoint.