WordPress vs. Drupal for content-rich publishing

WordPress 3.1.2 and Drupal 7 (our initial model information mashup publishing platforms) have the following common characteristics:

  • They are both open-source projects with a large developer and user community.
  • Both can be used to create a mashup on a single website that combines structured information about a product or subject (domain) with blog posts and other kinds of unstructured information.
  • Both can be customized using theming and configuration to achieve almost any appearance or branding.
  • Both can be instrumented so you can see which pages are being viewed and who your users are.
  • Both platforms support remote blogging using XML-RPC, which is the technique we use to publish and update the DITA-based, structured content.

    Note: The structured content on our sites was previously processed and published to the XHTML output target using the DITA Open Toolkit.

The following are characteristics, pros, and cons of using WordPress:

  • It is easy to learn and maintain.
  • Upgrades occur frequently and are generally quick and easy to install on a site.
  • It is mostly a blogging platform, suitable mostly for creating blog-type posts.
  • WordPress has only two built-in content types: page and post, and it is not straightforward to define new content types. Neither default type is entirely suitable for publishing structured content. WordPress does not support tagging of pages. Posts can be tagged, but it is difficult to control visibility and placement. Without some custom programming, large numbers of pages cause problems since they get displayed by default in menus.
  • WordPress styling needs to be modified to display XHTML content created by the DITA Open Toolkit: Its default choice of font size is generally too large for text-rich content.

The following are characteristics, pros, and cons of using Drupal:

  • It has a steeper learning curve than WordPress, but once you learn it, it is more extensible and customizable.
  • Drupal allows the definition of custom content types and taxonomies for tags. This provides a nice home for publishing DITA content with topic metadata. A better choice for the content type to be used for publishing might be book pages. More on that subject later!
  • Drupal styling, using the default Drupal 7 Bartik theme, works well with DITA XHTML content.
  • Once the DITA content has been published, it is possible to define database query views to display various subsets of the topics. Our "Query-by-tag" view is an example, although because of bugs in the Drupal 7 View mechanism, it doesn't always work right now.
  • On the down side, Drupal releases are rather slow in coming and contributed modules and themes tend to lag behind releases of the Drupal core (or never get upgraded at all!) because the developers do not feel the need to maintain compatibility of interfaces from one release to the next.

At the moment, we favor Drupal as a better choice for DITA-based information mashups.