Weymouth Design Blog
 

Beauty Below the Hood: Integrating Sharepoint with Sitecore CMS at BLS

With publishing solutions for just about every type of web content – RSS feeds, intranet CRMs, document management platforms, and a growing number of content management systems – it’s easy to get lost in the fray. Systems range from open source to enterprise-level, and address a central need facing the internet-savvy organization: how best to assemble, secure, and publish a wide array of marketing content spread across a variety of internal departments. Information comes in the form of printed documents, legacy databases, subscription-based software, streaming video – among others. Such a heterogeneous electronic landscape means it’s almost impossible to find an out-of-the-box panacea, and those that promising seamlessly manage everything often are too complex or costly for an average customer to implement. And while popular web site features like blogs, newsfeeds, media galleries, and wikis address specific needs, they are not a total web strategy. What most companies need is a flexible platform on which to build agile web content delivery.

An Infrastructure Challenge
A recent site launch, Brooklyn Law School (www.brooklaw.edu) faced such a back-end integration challenge. We were selected by the school for our creative approach – in both photography and unique, easy-to-navigate web interfaces – and for our development experience.  The chosen design had to transparently assemble and display data from several different back-ends. First, the law school had invested significantly in a Microsoft Sharepoint intranet serving the campus community - publishing campus announcements, important documents, and a comprehensive faculty database, tightly coupled with the law school’s internal directory. Additionally, the course database lived in separate system called Colleague, and the new online course listing needed to be dynamically linked to faculty biographical data (and vice-versa). Alumni news updates lived in an internal MySQL database, and needed to be displayed online in a class notes directory listed by decade. Streaming videos of symposia and lectures were hosted by a third-party media hosting provider. Finally, a library of media gallery-bound digital photography was catalogued on various file systems and DVDs. Our task for the redesigned web site: assemble this diverse array of information into a single management interface. No easy task – it was time to think out of the box.

A Regimented Technical Approach
Having selected the Sitecore CMS to manage the new site content, Brooklyn Law School (BLS) made a wise choice considering the project scope. As a certified Sitecore technology partner, we have implemented Sitecore on a number of websites. The Sitecore CMS features an intuitive, hierarchical management interface, a straightforward page template editor – and perhaps most importantly – a .NET programming core allowing engineers to easily write code to extract data from external sources.

During the project’s discovery and production phases, we worked with the client’s IT communications teams to develop the optimal solution for our data integration challenges, and tested various approaches. The chosen direction: Create a custom .NET programming interface built on the Microsoft-documented Sharepoint web service and .NET database object APIs. Using these libraries, our developers were able to build a sophisticated object-oriented interface containing business logic and data retrieval classes. High-level functions assimilated external course, and publication information. In turn, those functions called more intricate functions responsible for the scheduled extraction of data from its web service or database source. Since the redesigned faculty pages linked to course information originating in Colleague, we wrote special data retrieval logic to match faculty members with appropriate Colleague course records (using middle-tier SQL views pointing at unique Sharepoint record identifiers). Separating front-end code from such complicated back-end logic allowed for clean management of information delivery, and avoided the all-too-common programming pitfall of “spaghetti code”. The end result was cleverly engineered feat of data integration.

<p></p>

(Click screens to view larger)

Dynamic Media Galleries
Thankfully, video and photo media content was easier to take on. Having several media players under their belt, our Flash developers were able to quickly produce a streaming video player consistent with the new design. Having developed a Sitecore template with a field for the video URL, our developers wrote a .NET page to dynamically feed the video link to the player. As for photo galleries, we enabled content editors to upload a variety of image content to the CMS, including titles and captions. We then developed a dynamic XML feed of photo gallery content, and created a Flash-based slideshow which read and displayed the XML in an interactive image gallery. Online class notes comprised a manageable amount of data which lived in a database eventually being phased out, so this content would be managed in Sitecore.

Experience gained from this project gave our interactive team a deeper understanding of the subtleties of a higher-ed site’s complex content landscape. We recognized that such an infrastructure is not unique, and it was implicit from the project contract that the CMS alone would not host the new site’s entire body of content. On a smaller scale, a planned content transition presents a more sensible solution than a planning- and programming-heavy integration effort. However,  business requirements often call for the preservation of certain pre-existing data silos. A customized Sitecore platform allowed our designers to be creative, while enabling our programmers to efficiently triage and display information from a variety of sources. The redesigned Brooklyn Law School web site communicates a clean, tasteful design atop a significant effort of back-end integration. In some cases, excellence in design is not only found above the hood.

Stephen Schadt | Feb 22, 2010 at 5:37 PM