Migrating Extranet to SharePoint Enhances Collaboration Capabilities for Major Trade Association
Project At a Glance
RDA implemented a business-critical website for a major trade association using Microsoft SharePoint technology. The new site is easy to navigate and provides current brand messaging and user content as well as helpful collaborative features. In addition to added capabilities and functionality, the new extranet leverages technologies in which the association has already invested.
About Our Client
RDA’s client is a national trade association that represents all aspects of America’s oil and natural gas industry. The association’s 400 corporate members come from all segments of the industry.
Our client’s committees extranet is a business-critical website used by association members. The extranet includes a series of pages tailored to a hierarchical committee structure. Users are authenticated against the Association Management System (AMS), a custom Microsoft SQL Server database application for user management. Security is a critical component of the extranet. Nothing can be posted until it has been moderated and approved by the association. Additionally, rights to view information on the portal are based on a user’s rank on a particular committee.
Our client engaged with RDA to replace an existing site which did not present to users a branded, aesthetically pleasing, easy to navigate, readily updateable, collaborative experience. Shortcomings of the existing site included:
- Site content updates were not easily made. Change requests had to be communicated to content managers who needed a working knowledge of Dreamweaver in order to implement content changes.
- Lack of collaborative features such as email integration, document libraries, shared workspaces, alerts, and announcements.
- Lack of an effective Search mechanism.
- No support for workflow management.
- No consistent look and feel and a dated design.
- Inconsistent site navigation, links that leave the site or dead-end, and lack of a coherent site map.
- Dated content.
RDA was tasked with migrating the committees extranet site to the Microsoft Office SharePoint Server (MOSS) platform to address and correct these shortcomings.
RDA conducted an Inception phase, documenting the requirements for the development of an extranet by leveraging Microsoft’s SharePoint technology, and integrating it with AMS. Following the Inception, RDA assisted our client with the migration of their committees extranet site to the SharePoint platform.
The development work consisted of two parts: creating additional Web parts to replicate the functionality that the existing extranet provided, and designing a custom membership provider to connect to AMS, which functions as a user permissions and privileges store.
The additional Web parts were created using WSPBuilder and Visual Studio as development tools. Development on these progressed swiftly as we had existing functionality to use as an example. No additional changes were requested by the client.
For the second part of the developed solution, the RDA team faced a technical barrier as AMS and SharePoint are completely separate systems. The difficulty here was making sure that the permissions information established in AMS was synchronized with the SharePoint site and its item-level permissions. The requirement that was set in place was that when an administrator changes a committee member’s permissions level in AMS, the updated permission should be reflected upon the next login into the committees extranet. Also, AMS was considered an “untouchable” system at the time due to both political and staffing reasons. Any triggers or other functionality that could notify SharePoint of a member’s roles being updated could not be implemented as this would require a modification to AMS.
Ultimately the solution was implemented as a custom membership provider with additional code that would check the permissions in AMS and update the SharePoint site and item level permissions accordingly.
Through the developed Web parts and the custom membership solution, our client was able to move from their existing ASP-based system into a much richer system using SharePoint. The established permissions system – AMS – was integrated with the entire solution, providing the ability for existing committee members to log in without having to re-register in the system.
By leveraging SharePoint, the client is now able to utilize the rich collaboration features built into the platform, including rich document sharing and greater social interaction through blogs and discussions. Our client can also integrate custom functionality surfaced through custom Web parts.
The new site is easy to navigate and provides current brand messaging and user content as well as helpful collaborative features.
The new solution enables documents to be created and managed according to workflow rules within the MOSS extranet environment.
In addition to added capabilities and functionality, the new extranet leverages technologies in which our client has already invested, and allows the association to retire a homegrown system and its code base. This reduces the maintenance burden on the IT department.
Development Process and Tools
The solution was implemented using Visual Studio 2008 and the WSPBuilder tool to package SharePoint solutions in an easy manner. During the development process, the team leveraged the RDA Team Foundation Server installation for source control and defect tracking. RDA’s TFS installation allowed the development team to have true configuration management without any additional overhead.
Users of the site are members in one or more committees. Each committee needed to have a private workspace in which committee members could share documents and otherwise collaborate. Committees are further categorized into groups which have their own sites or further divided into sub-committees. The main site, groups and selected individual committee sites need to be accessible anonymously.
To accomplish this taxonomy, individual sites were created for each level of the hierarchy, allowing for the default SharePoint structure to be used. Additionally, site permissions were able to flow downwards
Our client has a set of design guidelines which user facing sites must adhere to. In addition, it was decided that each group, committee and sub-committee contain a set of standard Web parts. In order to accomplish this, the RDA team created custom site definitions that corresponded to the committee or subcommittee sites which defined the a custom master page, CSS files and the set of Web parts required on each site. As these site definitions show up under the available site templates when an administrator creates a site, he/she is able to provision additional sites in the future without any additional development work.
The AMS solution mentioned throughout this document is a permissions-based management system developed internally by our client. AMS uses a SQL database as a back end store with a number of stored procedures that surface the appropriate membership level for a specific url.
When a user logs into the extranet, the current set of permissions defined for each committee site/document is compared with what is stored in AMS. The solution applies the appropriate permissions for each site/item, which need to be updated using the object model.
For the SharePoint customer membership provider to connect to the AMS database, the RDA team leveraged LINQ to SQL, which provided an Object-Relational-Mapping layer without requiring additional code.
By using a rich set of tools, RDA’s technical infrastructure and SharePoint development experience, we were able to provide a working solution in a matter of weeks.