« Allowing User Roles to View Unpublished Content in Drupal | Main | Using Node Clone in Drupal 6 »

December 04, 2010

Building a Friendly Metadata Interface for Researchers in Drupal

This is what my job is all about but I haven't had much of a chance to focus on it in the last month or so. The following steps are taken with the goal of building a user-friendly interface for researchers to manage research projects, personnel, metadata and datasets within a web-database framework. DEIMS, the framework alias, stands for the Drupal Ecological Information Management System.

Here are the steps in bullet point fashion. Assumptions as to knowledge of the basic content type structure (Research Project, Person, Research Site, DataSet-> DataFile-> Variable) is assumed. For a primer, see this article by several LTER data types.

1) Create content from within another content type

The nested nature of metadata storage it is somewhat counter intuitive to the manner in which we would normally create it. For example,

DataSet -> DataFile -> Variable

The intuitive way to create metadata is to start at DataSet and create the DataFiles and Variables as they come up. This isn't immediately possible in Drupal but as I outline in this admittedly sparse post, javascript can be used to generate pop-up screens that allow for this.

2) Allow researchers to clone or duplicate DataFiles and Variables

The metadata held with DataFile is necessarily redundant due to the fact that only one file upload is allowed per DataFile. If the researcher has a lot of files with identical metadata (but different data values) they can clone a DataFile node and alter only those bits of information that are unique. For example, they can just upload a new file. See a How to for the Node Clone module.

3) Allow uploaded files to be (available to the) Public or Private.

No researcher is going to trust you with their data if, in the second after it is uploaded onto your website, it becomes available to anyone with an internet connect. The DataFile content type I use has 2 upload fields, one public and one private. The latter restricts access of the file but not the metadata to the researcher and the administrator. Here's my post on creating a Public/Private file system in Drupal.

4) Build a friendly, navigable layout that allows easy travel from point A to point B.

This will be ongoing but a few improvements to date:
- Use Panels to so that users are presented with content they have authored.
- Create custom menu for different User Roles.

5) Establish a Workflow system around Research Projects, DataSets and DataFiles that allows progress to be saved but not published.

See this post for more notes.

Posted by kkwaiser at December 4, 2010 12:44 PM


Login to leave a comment. Create a new account.