"Count what is countable. Measure what is measureable. What is not measureable, make measureable." -- Galileo

Tuesday, September 15, 2009

The Plone-SharePoint Chronicles

Although SharePoint and Plone overlap somewhat in feature sets, any comparison is an apples-and-oranges affair. Basically, SharePoint is a document management system while Plone is a web-publishing, content management system.

Key requirements in my situation of interest include moving draft documents out of staff inboxes for version control, providing an unambiguous story to senior management, and presenting a well thought-out and compelling line of reasoning to external stakeholders (web publishing). At the same time, draft and sensitive documents must be protected.

For any external collaborative website that requires brand identification, Plone is strongly recommended. For an internal, no-frills document collection with static folder structure, SharePoint can deliver an acceptable solution that is familiar to many users.

A hybrid solution (SharePoint internal/Plone external) will require constant manual intervention to maintain synchronization of appropriate documents. External access, for example, from partner universities, to an internal SharePoint site will not be an option. If this use-case is anticipated, a Plone-only architecture may be warranted. Otherwise, it will be necessary for core team members to look in two places (internal and external) for documents based on whether an outside editor is one of the contributors. As the program broadens, the likelihood of additional external authors increases, making this a more likely problem.

Downstream requirements expansions should be considered before settling on a final architecture. Once implemented, the management-level user community will operate with considerable inertia.



Microsoft SharePoint is a collection of products and software elements that includes collaboration functions, process management modules, search modules, and a document-management platform. Technically SP was released approximately in 2002 and is operating here as version 3, but its many components have a complex pedigree.

Plone is an open-source content management system and associated third-party products. First released in 2001, our planned deployment is with version 3.1, now stable for over 6 months.

SharePoint sites are functionally ASP.NET 2.0 web applications, which are served using IIS and a SQL Server database. All site content data, such as items in document libraries and lists, are stored within an SQL database.

Functionally Plone is a Python application running behind Apache in our case with a Zope database/server backend. Most site content data are stored within Zope.

Requires significant ASP.NET hand coding for modification; SharePoint Designer for customization.

Customization of data types and workflows managed through UML models; standard CSS plus page templates for look-and-feel changes.

SharePoint has an Internet Explorer–based user interface with somewhat limited functionality available to users of other browsers.

Plone is well regarded for its platform independence and browser neutrality.

SharePoint has non-trivial license fees and these are passed to line organizations as indirect costs. Direct costs of content creation and site management are still incurred.

Plone is licensed under the Gnu Public License and has no distribution fees. Costs are only those directly associated with site creation, administration, and content creation or management.

Section 508 Compliance can be achieved with SharePoint, but doing so typically requires substantial development effort, or the use of third-party products. Of particular concern in SharePoint are the use of a number of ActiveX browser plugin controls, the use of non-compliant markup, and over-dependence on client-side scripting.

Plone excels in standards compliance, accessibility (Section 508 compliance), and internationalization.

Unusable sites surprisingly easy to create by the unwary. Awkward to restructure sites at a later time.

Multiple means of organization and navigation available. Moving items does not break internal references. Full-text search available out of the box.

By means of VPN into our internal network or implemented as a site on the external network.

Accessible equally from internal or external networks. Single-sign-on anticipated shortly.

Restructuring a SharePoint site is complex and time-consuming. Data aggregation tasks are extremely complex.

Plone can be customized and extended to meet highly specific needs in terms of data aggregation, site structure, content types, workflow rules, and so forth.

Superior MS Office integration, but difficult to adjust workflow to more complex situations.

Third-party desktop products give Plone drag-and-drop capabilities. Version 3 will have inline editing.

Lacks automatic templating of web pages.

Page templating enforced out of the box.

Non-corporate external SharePoint user accounts must be managed via our internal password-control tools.

Non-corporate user credentials managed simply and locally. Very fine-grained security controls.

Both internal and external versions available with full corporate IT support.

Acceptable for OUO on our external servers. Considered much more secure than PHP-based content management systems. Supported by in-house developers.

(These Blogger table formats are really bothering me today. I've posted the full table at Google Docs.)

Reviews, Resources, and Links