Tools and strategies for content management are a perennial topic in Ariadne. With more than one hundred articles touching on content management system (CMS) technologies or techniques since this online magazine commenced publication in 1996, Ariadne attests to continuing interest in this topic. Authors have discussed this topic within various contexts, from intranets to repositories and Web 2.0, with some notable surges in references to 'content management' between 2000 and 2005 (see Figure 1 below). Although levels of discussion are by no means trending, over recent years it is clear that Ariadne authors have taken note of and written about content management tools and techniques on a regular basis.
In the light of this long-established interest, it is noteworthy that Ariadne itself migrated into a content management system only recently. Although the formatting of its articles did change a few times since 1996, Ariadne remained 'hand-coded' for more than fifteen years. None of its articles had been migrated into a database-driven content management system until March 2012, when issue 68 was published.
As mentioned in the editorial introduction to that first issue, launching the new content management arrangements, and as discussed in some more detail below (see 'Technical challenges in content migration'), the considerable size of Ariadne's archive of back issues was daunting. With more than 1600 articles in hand-coded 'flat'-html formats, the process of migration itself required careful planning to result in a seamless, graceful transition into an entirely new content management arrangement. Over time, the sheer size of the Ariadne corpus had made it both increasingly rich in content and increasingly more challenging to convert retrospectively into a database-driven CMS as the total number of articles published within this online magazine steadily expanded.
In looking back over the recent process of migrating Ariadne onto a CMS platform, this article discusses some tools and techniques used to prepare content for transfer, testing, and then re-launch. After explaining some of the background to and objectives of this work, this article focuses on key features of content management supported by Drupal.
Figure 1: Ariadne timeline of references to content management
Based on surveys of readers and authors conducted in late 2010, the Ariadne management team analysed the range of feedback, drew up sets of re-development requirements, and then considered the options available.
The following table provides an overview of key findings regarding the range of enhanced functionality and features considered:
|Overview of findings derived from survey responses|
|enhanced functionality or feature||interest recorded in surveys|
|browsing by keywords||73.4% of respondents|
|updated look and feel||62.3% of respondents|
|browsing by title||50.0% of respondents|
|enhanced use of search engine||48.0% of respondents|
|improved display for portable devices||34.0% of respondents|
|more summative information on articles||32.1% of respondents|
|improved navigability from article level||32.1% of respondents|
|improved social media options||29.5% of respondents|
|browsing by author||28.0% of respondents|
|improved RSS feeds||27.0% of respondents|
In addition to these findings derived from surveys, the management team also recognised the need for some other functionalities to support monitoring of Ariadne's on-going engagement with various domains and institutions across the UK and beyond.
|Additional features to support monitoring of engagement|
|identification of author domains (higher education, further education, research, commercial, etc)||to support analysis of Ariadne connections and reach across various sectors|
|identification of authors by organisation||to support analysis of Ariadne connections and reach in UK and worldwide|
Taking into account the key findings derived from survey questions as well as the additional functionality identified as useful in monitoring UK and worldwide engagement, the Ariadne management team drew up sets of re-development requirements and considered how to proceed. Migration into a content management system represented the obvious way forward, as it became clear that Ariadne's previous tradition of 'hand-coded' production (dating from the early days of the Web) had little chance of coping gracefully with the new sets of requirements.
In a review of CMS options available, it also became clear that Drupal  was well positioned as a content management system (or, emphasising its highly modular and extensible design, content management framework  ) to supply required functionality and features.
Since its beginnings as open source CMS project in 2001 (with a strong boost in momentum around 2005), Drupal has been well known as for its adaptable, modular architecture for content management.
Drupal has drawn attention from many quarters including global corporate, government, and academic institutions attracted by the benefits of using open source code base across a wide range of use cases. In an extensive series of 15 in-depth articles published on the IBM developerWorks Web site from 2006 to 2007 , for example, senior engineers at IBM favourably reviewed the strengths of its programming model (including clean 'separation of content from presentation'  and robust 'extensibility' ). Though much has changed since the IBM developerWorks articles explained the benefits of Drupal, the fundamental conclusions remain as true now as then:
Drupal has held up well. When we needed new functions, we could usually find an existing module within the contributions. If not, we were able to quickly build our own custom module to extend the functions of our system. This extensibility, found in many open source CMSs, is critical for addressing new problems as they arise.
Perhaps the most important factor in deciding to use Drupal is the very active and large community of developers engaged with its technical development, on-going testing, and collaborative support. As the overall architecture of Drupal open source is highly extensible, developers produce a wide range of modules that provide new functions as required. Over time, large development houses and major projects  as well as many dedicated community programmers  contribute to the Drupal so many useful (and sometimes increasingly small or abstracted) building blocks of functionality that it is very rarely necessary for anyone to build 'custom' modules. Drupal's very active community of developers provides and manages 'core' as well as 'contrib' modules in a way that minimises the need for extra programming effort.
Although it is true that Drupal offers developers (as well as technically capable users) many options for customising features and functionality through code, most use cases are easily accommodated without need for touching code. As explained on Wikipedia , Drupal is amenable both to developers and to ordinary users: "Although Drupal offers a sophisticated programming interface for developers, no programming skills are required for basic website installation and administration". Particularly important for everyone using Drupal to manage content, the collaborative, methodically managed code base provided by the active development community can be managed administratively. For developers and ordinary users alike, code management arrangements coordinated via the official Drupal site can be managed easily and reliably. Whereas technical users have many powerful options to manage module installations, configurations, and updates very efficiently via the command-line (using 'drush'), non-technical users can use Web-based interfaces to manage receive module configurations and update notifications.
Over the years, the scope of engagement with Drupal across many sectors has increased. As the official drupal.org site explains, a broad range of groups 'from local businesses to global organizations' use Drupal to manage content. In addition to the examples of major publishers, universities, and corporates using Drupal, it is noteworthy that a range of government-funded initiatives for public engagement (such as www.whitehouse.gov) and data-sharing (data.gov and data.gov.uk ) as well as very large publishing sites (such as economist.com ) are using Drupal to run remarkably high-performance, data-rich Web sites. 
As reliable access to Ariadne content remains the highest priority, the fact that Drupal has been used for years by major publishers contributed to the decision to consider it as a suitable platform. Although it is unlikely that Ariadne will become as popular as some of the Internet's busiest publishing sites, it is reassuring to know that 'a single mid range server' running Drupal can with reasonable tuning scale up to very high loads of 3.4 million page views per day .
For consistency and coherence, the Ariadne management team decided that all articles originally published in the previous issues were to be migrated onto the new Drupal-based platform. In planning the migration of content into a more modern 'look and feel', with enhanced functionality, the decision was taken to keep intact the substance of articles 'as is'. The focus in this process has been on maintaining the historical integrity of more than 1600 articles in the Ariadne back issues archive, as these previous articles represent a substantial body of work reflecting developments in thinking and working since the commencement of publication in the relatively early days of the Web.
As the previous articles had been all 'hand-coded', with some variations of HTML related to both evolutions in standards and (occasionally) human inconsistencies, one of the first challenges was to retrieve from the 'flat-HTML' corpus the core content of articles that were to be migrated into the Drupal database structure. To accomplish this, a Perl script was created to scan all previous articles and extract the key elements required: article titles, authors, article summaries (used as preview / lead-in text), and the main article content. In this extraction process, it was necessary to transform programatically some aspects of the HTML into required formats (for example, by changing relative paths to absolute paths for site-wide consistency) and downloading images into consistently structured directories so that all Ariadne images could be managed in a consistent way.
Once this key content from the previous articles had been extracted from the 'flat-HTML' corpus, the next challenge was to import this content into the MySQL database to be used by Drupal.  To achieve this we used the Feeds module, which proved very useful in mapping specific elements of content to the relevant database tables and fields. After setting up and testing the required mappings via the Feeds Importers interface), it was possible to import all the previous articles from the Ariadne archive into the Drupal database within a few minutes. 
To check that all content had imported correctly and was displaying as expected in the new Drupal format, the Ariadne production team scanned through migrated content. To make this scanning process efficient, administrative views were set up to produce all-in-one overviews of all articles published in each issue so that it was easier to spot and correct any inconsistencies remaining from automated parsing of hand-coded articles. As part of this post-migration review process, it was relatively easy to make a range of improvements in areas such as tweaking placement of images and strengthening editorial consistency in titles across more than 1600 articles. Even though scanning by human beings was, of course, much slower than the programmatic execution of content migration that had preceded it, achievement of more thorough consistency across the entire Ariadne back issue archive has prepared the way for opening up this Web magazine's full range of content. 
Once the previous articles from the Ariadne back issue archive had been imported, some key Drupal 'contrib' modules were essential to meeting the set of requirements gathered in the early planning stage of re-development work. Those familiar with Drupal will not be surprised that Views, Taxonomy, and Content Construction Kit (CCK)  modules proved useful in providing essential functionality, as these modules are very widely used in many Drupal sites. Below is an overview of how Drupal module and theme options usefully supported required functionalities and features.
|Usage of Drupal 'core' and 'contrib'|
|functionality or feature||core module||contrib modules|
|browsing by keywords||Taxonomy||Views|
|updated look and feel||0 Point Theme, CCK|
|browsing by title||Taxonomy||Views|
|enhanced use of search engine||Search||Search 404|
|improved display for portable devices||0 Point Theme|
|more summative information on articles||CCK|
|improved navigability from article level||Taxonomy||Views|
|improved social media options||ShareThis|
|browsing by author||Taxonomy||Views|
|improved RSS feeds||Views, Feed Path Publisher|
|identification of author domains||Taxonomy||Views|
|identification of authors by organisation||Taxonomy||Views|
As content migrated into the new platform, several other Drupal 'contrib' modules also proved immediately useful in providing features and functionality related to points raised by surveys during the preliminary requirements-gathering process. Below is an overview of some of these further modules.
|Further usage of Drupal 'contrib'|
|functionality or feature||contrib modules|
|auto-generated article table of contents||Table of Contents|
|bibliographic citation examples for articles||Views, CCK|
|automated management of images||Views, ImageField, ImageCache|
|printer-friendly versions of articles|
|auto-generated markers for external links||External Link|
|managed feedback from readers||Webform|
|calls for authors, forthcoming updates||Views, CCK|
By using the 'contrib' modules listed above (in combination with some 'core' as well as other utility modules), the new Ariadne easily supported a range of enhancements such as the following:
Some further enhancements of the new Ariadne platform were supported by another key 'contrib' module: Data. In conjunction with the Views module, this 'contrib' Data module supported the requirement for monitoring data about author backgrounds and it provided a basis for extending considerably the range of metadata that can be managed and presented regarding author activities and other factors related to publications. It is worth noting how this relatively new 'contrib' Data module significantly extends Drupal's traditionally strong support for running data-rich Web sites.  Whilst it is by design geared for technically adept users (as it assumes understanding of database table structures, database queries, and data modelling generally), the Data module provides many options for managing directly within Drupal key sets of data that are relevant to a Web site. In view of the growing trends in using Drupal as front-end to data-rich Web sites, it is likely that the Data module is well positioned to help extend this further.
The process of migrating Ariadne confirmed that Drupal also integrates flexibly with a range of other technologies. Given that the Drupal project has its origins in mainstream LAMP developments , it quite naturally lends itself to working compatibly with many other technologies that share its open source development philosophy. In addition to open source, however, Drupal can also integrate with other technologies. 
The process of working on the migration of Ariadne content demonstrated that 'contrib' modules can seamlessly facilitate integration with a range of data interchange standards (JSON, XML, RDF) and programming libraries (JQuery, GD graphics, etc). Although this integration with other technologies is by no means unique to it, Drupal does have a fundamentally adaptable and extensible approach to integrating other technologies into its content management framework. 
In addition, Ariadne re-development also demonstrated how Drupal lends itself to visualisation of data sets. As the Drupal community is actively interested in visualisation of data using recently developed libraries (such as TileMill mapping and Highcharts graphing libraries), quite a bit of work in this area is in progress.  Given that Drupal could manage rich data sets related to usage of keywords in articles published over the more than 15 years of publication, after the Ariadne content migration it proved relatively easy to produce via the recently developed Highcharts libraries relevant sets of visualisations showing timelines, bar charts, scatter plots, etc.
Of course Drupal as a web-based application is also amenable to testing and tuning procedures using a range of commonly available tools. In preparing for re-launch, the new Drupal platform for Ariadne was tested repeatedly with a range of both open source (shell scripts using wget) and proprietary (ProxySniffer)  load-testing tools after carefully tuning the Drupal application and its platform using best-practice Drupal and LAMP-standard procedures.  Methodical tuning, testing, and final optimisation was facilitated by many freely available technologies relevant to checking the performance of a Drupal content management platform.
Based on the experience of transferring, testing, and re-launching on a new Drupal content management platform more than 1600 articles from the Ariadne back issue archive, it is fair to say that Drupal technology has proven more than equal to the challenging tasks involved.
In discussing some of the planning and technical work related to this migration process, this article has attempted to provide information that may be of some usefulness and relevance to two types of readers: 1) those interested in Drupal as a content management system; 2) those interested in Ariadne as compendium of content about the Web technologies. Now that you as a reader have made it this far along in this article, it's likely that you are in either one of these two groups. If by this point you find yourself a bit more firmly situated in both these camps, then this article may well have served its purpose.
This article has been published under Creative Commons Attribution 3.0 Unported (CC BY 3.0) licence. Please note this CC BY licence applies to textual content of this article, and that some images or other non-textual elements may be covered by special copyright arrangements. For guidance on citing this article (giving attribution as required by the CC BY licence), please see below our recommendation of 'How to cite this article'.