Using Drupal as a document repository?

Can you use Drupal as a document repository? There’s no reason why not and in fact it has many benefits.

I was lucky enough to be invited to give a talk at the Drupal Show and Tell in London last week where I described a recent project we’ve delivered. This was for a Local Authority in the UK who were replacing a legacy Content Management system. The existing system was used to store a huge number and variety of documents from proofs of identification to reports and copies of invoices and correspondence. Although the existing system contained Document Management capabilities these weren’t really being used. It was mainly just a Document Repository and this is what has been migrated.  

Drupal had already been selected for other projects within the organisation so it made sense to look at it. Initial searches indicated that there were very few instances of people using Drupal in this way. But following some research it made sense.

Out of the box Drupal provides many features you would expect to see in a full-blown Document Management System. These include Revisions, Workflow, Security, Metadata and Taxonomies. Other features such as document conversion and advanced search can be easily added with integration or plugins. It also integrates with Document Management systems such as Alfresco and this is route most people would be expected to take. For this project, however, it was just the Repository features which were required. Document generation and collaboration being performed by a range of other applications. 

The project was completed using largely off the shelf modules with just two key areas of customisation. These were integration with Business systems and enforcing the metadata model on documents.

Looking at the integration first, this was a key deliverable of the project as it allows users to view documents in context with Case information. For example, if they are viewing documents relating to an Environmental Health investigation then details of the Case are displayed alongside all the relevant documents. There are even links to and from the Business application where the Case details are maintained allowing users to seamlessly switch between them.

The integration is done via REST services which make up a micro services layer. These read information from a number of database views taken from the business systems. The combination of the views and the services layer help to shield the Drupal system from changes to the applications. 

The majority of the documents are uploaded automatically with generated files being placed in watched folders. File name conventions are used to apply meta data and security. Where documents are manually uploaded great care has been taken to ensure that the process is as easy to use as possible. This was the other key area of customisation and it related to the enforcement of the Document categorisation. Taxonomies were created, based on the Local Government standards, but updated to suit our requirements. The customisation allowed these to be filtered and defaulted to make the check-in process as simple as possible. At each point the users only see the categories which are relevant and which they have access to. But this is achieved with a single hierarchy of categories which span the entire organisation.

The slides are available on the Drupal Show and Tell website at:

http://www.drupalshowandtell.com/content/hamish-buchanan