Review of Building Websites with SharePoint 2010 vs Drupal
Review of Building Websites with SharePoint 2010 vs Drupal
Background: Affinity Bridge is a development company located in Vancouver, BC1. Recently one of our clients asked us why they should build their public-facing website with Drupal instead of SharePoint 2010. This document was prepared to detail our findings in an attempt to provide an unbiased comparison (an impossible task) of these two software systems. With the assistance of Dave Tarc and Mack Hardy, Robin Puga wrote the following review.
Table of Contents
2. System Design Goals
3. Development Community Models
4. Example Websites
5. Website Features and Development Considerations
5.1. Integration with Mapping
5.3. Easy Use of Taxonomies
5.4. Resource Description Framework (RDF) and the Semantic Web
5.5. Drag and Drop User Interfaces
5.6. Website Distributions
5.7. User Dashboards
5.8. Enhanced Search Capabilities
5.9. Rich-media Integration
5.10. User Roles and Content Permissions
5.11. Social Media Integration
5.12. Syndication Tools (RSS) and Other Feeds
5.13. Mobile End Point Integration
5.15. Licensing Fees
5.16. Deployment Platform and Scalability
7. Print References
In preparing SharePoint 2010, Microsoft invested much effort into extending SharePoint’s capabilities to create public-facing websites2. At its core SharePoint 2010 is still a “Business Collaboration Platform” while Drupal, at its core, is designed to be a versatile website development framework.
One can find comparisons of the two system’s web development “feature sets” and think there is little difference3; both can manage multiple user roles, create custom content types, deploy map-based sites, create multi-lingual interfaces and much more. The distinction between the two systems becomes clear when you:
- Review the design goals of each framework,
- Learn about the development community models each employs,
- Discover who is using these systems for building their sites, and
- Inspect the capabilities of extending each framework to fit your website’s needs.
SharePoint is a “business collaboration platform” intended to be your organization’s single point for all information aggregation, search and collaboration4. Microsoft outlines the core functions for SharePoint 2010 as supporting your organization’s content, communities, sites, composites, search and insights. In a nutshell, website development for SharePoint 2010 means focusing on the goal of integrating a company's internal business and management practices with its public-facing website properties. Alternatively, Drupal’s goal is to create a solid and extendable website development framework for developing any type of website or web-application5.
The major difference in the goals of these systems is that Drupal seeks to do one thing and one thing well – making websites – while SharePoint seeks to address all your organization’s technological needs with website development being only one of those needs. It should be noted that there exist software products, such as Alfresco6, which offer alternatives to using SharePoint for your organization’s needs for enterprise-level collaboration tools.
In his blog post last year Arpan Shah7, one of the Directors on the SharePoint Product Management team, stated that the SharePoint development community “consists of over 17,000 customers, 400 Independent Software Vendors & 4,000+ System Integrators and over 500,000+ developers.8” Mr. Shah goes on to talk about the many Open Source SharePoint projects that are freely available on CodePlex. At the time of compiling this document there are 705 Open Source SharePoint projects listed for download on CodePlex9.
Five hundred thousand developers working with SharePoint and only 705 freely Open Source available “add-ons10” might seem like developers are contributing very little to their community, however this is not the case. There are in fact hundreds of 3rd party web developers online offering free-of-charge SharePoint addons11, but these are not Open Source. In addition to these free-of-charge Open Source add-ons there are hundreds of individuals and companies offering SharePoint add-ons for a license fee, again these are all closed source.
What does it mean to develop websites and web applications Open Source12? Wikipedia states, “The term open source describes practices in production and development that promote access to the end product's source materials.”13 This means as web developers we can have access to the source code used to run our websites and web applications so we can modify them if needed. If we find a bug in the code we can look into the source code and fix it. This means security issues and bug fixes can be addressed immediately, closing security holes in as fast a timeframe as possible.
In the Open Source model, not only can we as web developers address security issues and bug fixes immediately; but the software community can address these issues and release patches as soon as someone in the community has fixed the error. There is no need to wait for another “release” if developers in the Open Source community can freely and openly fix a bug and immediately release their fix to the community. The Open Source development model means that the more developers there are working on a project the more the project software becomes robust and secure.
In a closed source development model the person or company who holds the source code needs to fix the problem before you can get a fixed copy to use on your website or in your web application. This can mean time and cost delays in waiting for a fix and in the worst cases can mean unknown security issues14. This is known as the vendor-centric model of software development.
The Vendor-Centric Model15
On the front page of its website, Drupal claims 3,894 active developers, each individually tracked through code submissions. These developers have contributed 7,666 Open Source add-on modules and 929 Open Source website themes all of which are freely available for download.
Drupal is released under the GNU General Public License16 which releases all its source code openly and requires all derivative works to be released in the same fashion. A web developer cannot close the source code of a Drupal add-on and sell or license it. This ensures a different community development model than the vendor-centric model. It also allows any web developer to fix any bug or issue they come across and instantly integrate that fix back into their project and, if they choose, back into the community. This is the community-centric development model.
The Community-Centric Model17
It should be noted, as mentioned in the previous section, that SharePoint is designed to be an organization-wide collaborative development platform; it is not intended to only run an organization’s website. That being said, it is interesting to note how many large-scale international organizations are using Drupal for their public-facing websites. The British writer Antony Jay oncse said, "you can judge a leader by the size of the problems they tackle."
Examples of SharePoint 2010 sites18:
- Ferrari - http://www.ferrari.com/Pages/Country_Selector.aspx
- Conservation International - http://www.conservation.org/Pages/default.aspx19
- Library of Congress - http://myloc.gov/pages/default.aspx
- Kempinski Hotels - http://www.kempinski.com/en/Pages/Welcome.aspx
- P & O Cruises - http://www.pocruises.com.au/pages/default.aspx
- Kraft Foods - http://www.kraftrecipes.com/home.aspx
- Servus Credit Union - https://www.servus.ca/Pages/default.aspx
- West Hatch High School - http://www.westhatch.essex.sch.uk/Pages/default.aspx
- Vancouver SharePoint User Group - http://www.vanspug.com/default.aspx
Some examples Drupal sites20:
- The White House website - http://www.whitehouse.gov/
- The Economist - http://www.economist.com/
- The World Food Program - http://www.wfp.org/
- The Greater London Authority - http://www.london.gov.uk/
- The New York State Senate - http://www.nysenate.gov/
- Fast Company Magazine - http://www.fastcompany.com/
- Data.gov.uk - http://data.gov.uk/
- Rutgers, The State University of New Jersey - http://www.rutgers.edu/
- Ubuntu Operating System - http://www.ubuntu.com/
In researching this section we could not find a comprehensive list of public-facing SharePoint websites, however finding a list of Drupal websites was quite easy. All the entries above are from the Wikipedia page on Drupal and one can find many more examples on Drupal’s Case Studies pages - http://drupal.org/cases - and on Drupal founder Dries Buytaert’s Blog using tag “drupal-sites” - http://buytaert.net/tag/drupal-sites.
Lastly, we will review the support for commonly used website and web application development features to see how the two systems compare. As well, we will review a few development considerations such as scalability and licenses.
SharePoint was improved significantly for its most current release – SharePoint 2010. Improvements included structural, functional and workflow improvements, the key improvements including21:
- Fewer clicks
- Standards and accessibility improvements
- Better workflows
- Multilingual support
- Web analysis
- Search improvements
- Digital Asset Management – streaming video and thumbnails
Included in the new features for SharePoint 2010 are22:
- Content Organizer – the Enterprise Content Management system now includes: Managed metadata (taxonomies), rich media management
- UI and Navigation: ajax support, customizable user experience, out of the box multi-user interface
- User Ratings
- Web Reporting and Analytics
- Social Networking (enhanced blogs, wikis and My Sites, social tagging, WYSIWYG editing for wiki)
These improvements to SharePoint 2010 were necessary for it to maintain a position in the web development market and to further refine SharePoint’s offering out of the box to their consumers. Drupal 6, released in February 2008, in conjunction with its free add-ons provides support for taxonomies, rich media integration, custom UI, several user rating systems, web reporting and analytic features (integration with Google Analytics being the most popular), ability to create blogs and wikis, and support for several WYSIWYG editors.
As mentioned in our overview, comparing web development “feature-sets” between the two systems reveals much overlap, but let us review some commonly used features in more detail.
Additional “web parts” add-ons for SharePoint 2010 are available to integrate Google and Bing mapping interfaces. These web parts are for sale from a variety of different vendors and there is one available Open Source in CodePlex23. Unfortunately the open source web part won’t load more than 200 items of data into Google Maps Web Part24. The alternative closed source Google Map add-ons have unconfirmed capabilities. As website developers we are limited to the functionality provided by the closed source vendors. Any changes to the functionality need to be made through change requests submitted to the vendor who will then get bugs fixed and new features added as they have capacity to do so.
Drupal provides a variety of mapping integration options including Gmap, Bing, OpenLayers as well as the option for custom geographical information system (GIS) solutions. In a project completed this year, we were able to load over 3500 locations onto one map using the Google’s GMap module.
Drupal and SharePoint provide support for multi-lingual websites. SharePoint 2010 was the first version of SharePoint to offer easy-to-use multi-lingual support25. Drupal’s Internationalization and Localization modules have offered the ability for developing multi-lingual websites since 2005. Since its first implementation Drupal has been capable of being deployed in different individual languages.
Classifying website content using taxonomy terms allows one to connect diverse content by classification terms, create custom listing content pages and menus grouping pages based on taxonomy terms. As well, taxonomy terms can be used as keywords to aid in search engine optimization.
Taxonomy capabilities have been a part of Drupal core since before 2005. In Drupal 7, taxonomy has been extended to allow customizable fields to be attached to taxonomy terms to give even more flexibility to the Taxonomy system, including the ability to attach photos, descriptions and even additional taxonomies to individual taxonomy terms. There are 292 modules that extend the default taxonomy system in Drupal26.
In 2010, SharePoint now offers “managed metadata tagging” which enables a set of features for managing and using taxonomies to tag or categorize website content. It is difficult to find out what add-on web parts are available to extend SharePoint’s taxonomy capabilities as there does not seem to central list of add-ons related to taxonomy.
Using RDF27, a W3C specification, within your website allows you to better describe your website’s content and structure in order to allow for better search engine optimization and enable content reuse across website systems. Using RDF, also called Microformats, allows other websites and web applications to use your website’s information as a well-structured data source (similar to using an external database). This is being termed the Semantic Web; using a common RDF “language” means that websites and web applications can freely exchange information in meaningful ways28. For more on RDF please view a 5-minute introductory video:
Google introduced support for RDF and Microformats in May, 200929. In its current release, Drupal now supports RDF by default for all Drupal 7 websites30. Drupal modules are available to provide RDF support for earlier versions of Drupal. This means every RDF-enabled Drupal website has the potential to provide well-structured content to all websites and web applications capable of processing it31.
At the time of writing this we found no support for the RDF specification in SharePoint or in any add-ons for SharePoint. We did find a SharePoint developer company SmartLogic that provides additional support for querying SharePoint content using a product they developed called Semantic Enhancement Server32. There is no mentioned of its compliance with the RDFa specification published by the World Wide Web Consortium (W3C).
Since the release of Drupal 6 in February 2008, Drupal has included the capability to create drag and drop user interface elements. Drupal’s default menu system is managed using a drag and drop interface. At the time of writing this, there is no default drag and drop capabilities in SharePoint33. There is some drag and drop functionality available for SharePoint using an add-on found on CodePlex34; this add-on allows moving files from one folder to another by drag and drop.
Creating a website distribution means bundling custom content types, user roles, add-ons and themes into a website template that can be deployed over and over again. Distributions are also called white-labeled websites, cookie cutter websites, website templates or in Drupal’s case website installation profiles.
SharePoint comes with a number of website distributions to assist SharePoint developers in quickly deploying a pre-configured website for a specific purpose; one such template is for creating a social network website for internal use within your business. At the time of writing this we were not able to find any website distributions available outside the default ones that are bundled with SharePoint 2010.
Drupal has provided support for installation profiles since its version 5 release in 2006. On the Drupal website there are over 120 Open Source installation profiles available for download35. Additionally, there are a number of Drupal development companies sharing the installation profiles they have created. The most popular of these distributions is called Open Atrium36, a multi-purpose group collaboration, blog and wiki installation profile. These installation profiles allow Drupal developers to quickly and easily deploy a number of different types of Drupal websites to meet a wide range of customer needs.
Both SharePoint and Drupal offer support for custom user dashboards. SharePoint offers integrated user and admin dashboards while Drupal only offers an Administrator user dashboard out of the box. Custom user dashboards in Drupal are commonly constructed using add-on modules like Panels and Views.
SharePoint comes with basic search capabilities. SharePoint 2010 now supports a variety of add-on search products offered by Microsoft, including the free version of Search Server Express and for those seeking additional functionality there is FAST Search Server for SharePoint. Outside of Microsoft search products we could not find any other search services capable of integrating with SharePoint.
Drupal core also comes with basic search capabilities. More flexible and robust search capabilities can easily be integrated with Drupal using Open Source search services like Apache Solr37 or Sphinx. The addition of the Open Source integration layer Searchlight38 can be added to easily create faceted searches. In our research we came across a blog post comparing the speed of Microsoft Search Server 2010 versus Sphinx search; Sphinx is much faster39.
Both SharePoint and Drupal offer support for rich media integration. SharePoint 2010 out of the box offers Microsoft Silverlight integration additional rich-media types are supported with add-on web parts, some paid license, some Open Source. Drupal requires free add-on modules to support a number of rich-media types.
Both SharePoint and Drupal offer out-of-the-box the ability to assign different roles to user accounts and provide the ability to offer selected content to certain user roles.
SharePoint 2010 has internal “social networking” capabilities out of the box, but it is difficult to find ways to integrate account APIs for social media services such as Facebook and Twitter. Drupal has many modules for integrating with these APIs.
With SharePoint 2010, I found one blog post discussing an “integration” of SharePoint and Twitter40, but it’s not even close to what Drupal’s module offers.
Both SharePoint and Drupal offer support for syndication tools. There are a number of freely available add-on modules for Drupal; there are 150 modules that offer some RSS or syndication support. On CodePlex we were able to only find 33 projects related to RSS syndication.
Both SharePoint and Drupal can offer mobile device-specific theming. Through Drupal’s Services module Drupal can offer mobile device applications access to data in the database in a variety of different formats including JSON objects and XML. This makes writing mobile applications that integrate with Drupal as a backend database much easier. At the time of writing this we could not find a comparable option available for SharePoint.
Microsoft products are historically not known for their interoperability between applications and operating systems not written by Microsoft41. In February, 2008, Microsoft sent out a press release touting their dedication to interoperability42, including a desire to adhere to industry standards and support for Open Source communities. At the time of writing this we attempted to produce a quote from Microsoft’s License Advisor website. We found that Microsoft’s interoperability support still needs some serious work. The Microsoft License Advisor site was only accessible using Internet Explorer on Windows, all other browsers (Firefox, Safari, Chrome, etc.) could not use the site because of compatibility issues not addressed by Microsoft43.
An organization cannot run SharePoint without paying hefty licensing fees to get setup. Stepping through the licensing price quote for SharePoint we found that to fund a 2 server + 2 database server system for SharePoint will cost $15,000 USD for the first year44. Drupal and its add-ons do not require any licensing fees.
SharePoint runs on the Microsoft technology stack of Microsoft Server 2008 and Microsoft SQL Server. In addition there are several Microsoft software packages required to run SharePoint on the server45. This is the only environment in which you can run SharePoint. Drupal on the other hand runs on any variety of technology stacks from the popular Open Source LAMP stack (Linux, Apache, MySQL and PHP) to more exotic technology stacks such as Windows Server with a PostgreSQL database.
Both systems are capable of scaling for large, even humungous, scale websites. With SharePoint you need to purchase more licenses for the additional servers you wish to run. This is not the case for organizations running Drupal on Open Source server alternatives.
SharePoint’s abilities for building feature-rich websites and web applications are still limited when compared to what is capable using the Drupal framework.
So why would you choose to build your public facing websites in SharePoint 2010? In their book Essential SharePoint 2010: overview, governance and planning46 the authors answer this question with the following 6 reasons:
- Ease of Use – low threshold for entry.
- You already own it as a business owner.
- You already have your Information Technology staff trained in using it.
- You can leverage your list data. Make nice tables of resources.
- Search engine integrated.
- Content repurposing.
Ignoring the “you already own it” reasons, the other arguments for choosing SharePoint could just as easily be made for Drupal. Controlling access to and repurposing content in Drupal is very flexible using custom content types and role permissions found in Drupal core. As described above, Drupal core comes with built-in search but can also be easily integrated with Apache Solr search47 or Sphinx search with Searchlight add-on48.
The front-end user experience when using Drupal is largely in the hands of the web developers making the site. Web developers building Drupal for non-technical user groups can easily customize the experience for specific user roles and create intuitive custom workflows for user tasks. The default user experience out of the box Drupal 7, released in January 2011, has been greatly improved. It should be mentioned that one of the big critiques of Drupal is its learning curve for web developers; however it has been our experience that the ability to create robust, portable, scalable, feature-rich websites is worth the effort.
Online references are provided in footnotes above. The following are print references used in writing this writing this review.
Essential SharePoint 2010: overview, governance and planning Scott Jamison, Susan Hanley, Mauro Cardarelli - Addison-Wesley, August 2010
Microsoft SharePoint 2010 Unleashed Micael Noel, Colin Spence
Pearson Education, Inc, October 2010
^ 2. Introducing Web Content Management in Sharepoint 2010 - http://blogs.msdn.com/b/ecm/archive/2010/03/12/introducing-web-content-management-in-sharepoint-2010.aspx
^ 8. Arpan Shah's blog - http://blogs.msdn.com/b/arpans/archive/2010/02/23/sharepoint-and-drupal.aspx
^ 9. CodePlex projects tagged with “Sharepoint” - http://www.codeplex.com/site/search?query=&sortBy=PageViews&tagName=,Sharepoint,
^ 10. The use of the generic term “add-on” is in an attempt to make a comparison between system extensions. Drupal has its Modules. Sharepoint has Webparts, CodePlex also calls them projects.
^ 11. Listing of free 3rd party addons for Sharepoint - http://vspug.com/mkruger/2007/06/26/free-sharepoint-web-parts-3rd-party/
^ 12. The benefits of the GPL license aside Open Source as a development model has many tangible benefits for a development community.
^ 14. Internet Explorer Security Flaw affecting 900 Million users -http://www.dailymail.co.uk/sciencetech/article-1352271/Microsoft-security-flaw-affects-900m-people-using-Internet-Explorer.html#ixzz1ClxcKtGT
^ 16. Definition of General Public License http://en.wikipedia.org/wiki/General_Public_License
^ 19. Please note that although the user does not have to type in the additional /Pages/default.aspx text when they first arrive at a website URL, the URL paths you see above are the default redirection that Sharepoint creates for the visitors. This can be quite confusing for non-technical visitors wishing to share URLs.
^ 21. Essential SharePoint 2010: overview, governance and planning, Scott Jamison, Susan Hanley, Mauro Cardarelli – Addison-Wesley, August 2010, ISBN: 978-0-321-70075-9
^ 22. Essential SharePoint 2010: overview, governance and planning, Scott Jamison, Susan Hanley, Mauro Cardarelli – Addison-Wesley, August 2010, ISBN: 978-0-321-70075-9
^ 24. Limitations on Open Source Google Map web part - http://social.technet.microsoft.com/Forums/en-CA/sharepointgeneral/thread/9467a058-33f7-411b-a958-56cccceb80a3
^ 25. SharePoint 2007 multi-lingual sites issues - http://social.technet.microsoft.com/Forums/en-GB/sharepointgeneral/thread/283264f2-b50d-4a71-881a-9db7cc2dd05d
^ 27. Resource Description Framework introduction on Wikipedia - http://en.wikipedia.org/wiki/Resource_Description_Framework
^ 28. Example of RDF-enabled website collaboration - http://www.cmswire.com/cms/web-cms/google-pushes-semantic-web-with-rich-snippets--007936.php
^ 29. Google announces support for RDF - http://radar.oreilly.com/2009/05/google-announces-support-for-m.html
^ 30. The story of RDF in Drupal 7 - http://sf2010.drupal.org/conference/sessions/story-rdf-drupal7-and-what-it-means-web-large
^ 31. A technical review of how RDF works with Drupal - http://www.cmswire.com/cms/web-cms/rdfa-drupal-and-a-practical-semantic-web-004149.php
^ 33. Drag and drop not available in SharePoint - http://meronymy.blogspot.com/search/label/SharePoint
^ 39. Comparing speed of Search Server 2010 vs Sphinx - http://yavarhusain.blogspot.com/2011/01/sphinx-vs-microsoft-search-server-part.html
^ 40. Integrating Twitter with Sharepoint 2010 - http://www.sharepointkings.com/2010/09/integrating-twitter-with-sharepoint.html
^ 41. Microsoft Interoperability as Intra-operability - http://avi.alkalay.net/2008/03/interoperability-versus-intraoperability.html
^ 42. Microsoft to Expand Interoperability - http://www.microsoft.com/presspass/press/2008/feb08/02-21ExpandInteroperabilityPR.mspx
^ 43. Compatibility errors on Microsoft License Advisor website - https://skitch.com/robinpuga/rq2ys/microsoft-license-advisor-product-configuration-2
^ 44. Microsoft license fees for Sharepoint (of course you can only download the price quote in Microsoft Word or Excel; not very interoperable) - https://skitch.com/robinpuga/rqc8h/windows-tinyxp-ie8-running-sun-virtualbox-14
^ 46. Essential Sharepoint 2010: overview, governance and planning, Scott Jamison, Susan Hanley, Mauro Cardarelli – Addison-Wesley, August 2010, ISBN: 978-0-321-70075-9