SharePoint, SharePoint 2003, SharePoint 2007, MOSS, MOSS 2007, SharePoint Server, InfoPath 2007, InfoPath, InfoPath 2003

SharePointed

All things SharePoint

SharePointed header image 2

Tomoye Ecco and SharePoint Integration – How We Did It and What We Will Do Next

August 13th, 2008 · No Comments

Overview


Tomoye Ecco is a .NET-based community of practice (COP) software application. A “COP” is a venue for peers with a common set of goals or domain expertise to easily collaborate across an organization or between multiple organizations. An online COP is a place where members can ask and answer each other’s questions, find experts, and share documents and other web accessible content. A COP adds “community intelligence” to the content that gets shared as well as to the people that share it. This community intelligence includes tagging, bookmarks, most helpful and active users, the most connected people, and the highest ranked content.


Communities often span project teams, and team content is often referenced within the community of practice. Since these teams are most often utilizing SharePoint sites for collaboration and content management, a COP solution must support the following:



  • Publish content to and from the Ecco community and SharePoint team sites

  • Reference SharePoint team sites from within Ecco community sites

  • Single sign-on support across Ecco community and SharePoint team sites

  • RSS feeds to provide Ecco community awareness within SharePoint team sites

  • Index and search across Ecco community and SharePoint team sites

Much of what we did wasn’t particularly complex but does add tremendous value to our customers. Some of the integration features described below come for free with SharePoint but add value to customers nonetheless.


How We Did It


Publish content to and from the Ecco community and SharePoint sites


In order to publish content from SharePoint into Ecco, we created an application page that is accessed from a custom menu action on SharePoint list items. The application page and custom action are deployed using a SharePoint solution (.WSP) file and then activated as a Feature. The application page uses SharePoint’s object model to gather information about the selected list item and uses an HTTP redirect to a page located in Tomoye Ecco where the list item information is added to Ecco. Once the item has been added to Ecco the user is taken back to the SharePoint page.

In a similar manner, we added another custom action that allows users to bookmark SharePoint content. These bookmarks are displayed as part of the user’s community profile.



Figure 1: Publish to Ecco community from SharePoint site


To reference SharePoint documents in Ecco, we developed another application page that allows a user to navigate through site collections and then to select the file to reference. Once a document is referenced, the user has a link to the document from Ecco. A user can also elect to copy the document’s content into Ecco.



Figure 2: Select a file in a SharePoint site to be referenced from an Ecco community.


Reference SharePoint sites within the Ecco community


Within the community context, members want to be aware of relevant team sites. They want references to team sites to appear within relevant communities and community topics. They also want relevant team sites to come up when searching for communities or community-based content.



Figure 3: Surfacing SharePoint sites from within Ecco


Single sign-on support across the Ecco community and SharePoint sites


Ecco has a custom pluggable authentication framework. In order to support single-sign on with SharePoint, we developed an authentication module for Ecco to support Windows (Active Directory) Authentication. This module is very simple and uses the Windows Authentication support built into the ASP.NET platform.


RSS feeds to provide Ecco community awareness within SharePoint sites


Teams want to have visibility into new community content without having to leave their SharePoint sites, so we provided feeds throughout Ecco that can be easily syndicate into SharePoint sites using the built-in RSS Viewer web part.



Figure 4: Tomoye Ecco community RSS feed in SharePoint site


Index and search across Ecco community and SharePoint sites


In order to enable SharePoint to index Ecco community content, we created a “crawler start page.” This page generates a list of all pages which should be crawled by SharePoint Search. Ecco administrators can also configure what parts of the UI are rendered when it is crawled. Using this facility, administrators can ensure that repetitive content, such as UI chrome and branding elements, does not become part of the search index.



Figure 5: SharePoint Search results from indexed Ecco community content


What We Will Do Next


Deploy Ecco as a “SharePoint Feature


Since Ecco is a pure 100% ASP.NET 2.0 application with lots of business logic, we are experimenting with porting our application straight into SharePoint as a “_layouts application.” This will allow us to keep leveraging our existing code as we transition to using more and more of the capabilities in the SharePoint platform such as Lists, Document and Picture Libraries, User Profiles, and the Business Data Catalog. So far, this approach has been easier than expected. Within only 3 days, we were able to deploy our application as a _layouts application and to run as-is with very little code changes!

Separately, our current version of Ecco has services that are used to schedule off hours operations. As we move to the SharePoint platform, we plan to eliminate that extra service dependency and to use custom SharePoint timer jobs to do it for us. We are very excited about leveraging the SharePoint platform to provide seamlessly integrated community of practice solutions to our customers.


Eric Sauve
CEO and Co-Founder, Tomoye

Tags: SharePoint

0 responses so far ↓

  • There are no comments yet...Kick things off by filling out the form below.

Leave a Comment