How Social Sites is IntegratedRecently they posted a blog entry on Microsoft’s SharePoint MSDN blog that outlined how they integrated Social Sites with SharePoint. It’s an interesting read with a nice helping of coding to get your code monkey blood pumping. If you like writing web parts and web services and XML has become your new best friend, you will have no problem understanding what NewsGator did. Web Parts and Web Services In a nutshell, NewsGator developers extended the SharePoint runtime via a set of XML endpoints that were then used to provide data to AJAX enabled web parts. They also created a number of AJAX enabled web services. The web parts were developed using the SharePoint AJAX Toolkit available on CodePlex and a common NewsGator script library. Communities and Security In addition, NewsGator packaged a number of these new web parts into bundles to provide cross-organizational communities. They also extended the SharePoint Team Site Model with a number of new templates and metadata. The metadata integrates with the NewsGator Enterprise feed server. This feed server provides RSS, ATOM, OPML and tagging for a number of data sources. SharePoint security was extended to allow public communities to control and manage their own security. All Packaged into Features Like all smart SharePoint developers, all the Social Sites functionality is packaged as a set of Features. This is something Andrew O'Connell stresses to do with all SharePoint development so that the functionality is easily implemented and removed. For NewsGator, the decision to implement as Features makes sense because every organization has different polices on collaboration and security. So while one type of collaboration functionality works with their polices, another may not. By deploying Social Sites as a number of Features, organizations can pick and choose what functionality they want enabled on their SharePoint Intranet.
SharePoint Content EnhancementsNewsGator has added a syndication-based extension layer on top of SharePoint's content rendering layer. The syndication layer adds tagging, read state and relevance metadata to SharePoint lists and is implemented using an RSS API -- which is NewsGator's bread and butter capability. The RSS API includes a number of XML feeds including: * Subscription list * SharePoint list feed * Reading list (a group of internal and external feeds scoped to the SharePoint site level) * Colleagues * SharePoint user profile data * Site feeds (OPML for the SharePoint's syndicated feeds) Also available in Social Sites 2.0 is MyFeeds -- all your RSS subscriptions become available in a single view within SharePoint.
SharePoint CommunitiesNewsGator extended the SharePoint Team Sites to create communities. They integrated membership and metadata using the NewsGator Enterprise Server and integrated custom web services that provide community interaction. For each community there are a set of tabs with different functionality including Overview, Discussions, Feeds, Social Bookmarks, Members and Documents.
The MSDN blog is a very interesting case study of how to extend SharePoint, whether it's for social networking capabilites or another type of functionality. It's a good demonstration of how to utilize and build upon the internal SharePoint platform instead of just building web parts that sit within it. According to NewsGator, "SharePoint provides a great foundation for custom applications by providing the security context, site context, and data storage, while its APIs make it easy to integrate custom solutions on top of the platform." You can learn more about Social Sites 2.0 on NewsGator's website. If you do want to extend SharePoint to provide social computing capabilities to your community, this is certainly an option worth pursuing.