Omeka for the Programming Historian 1

If you are like me and your research involves a lot of primary sources that have not already been gathered into a database, Omeka brought to you from the kind people at George Mason’s Center for History and New Media might seem like a viable option. As it states on their website, “Omeka is a free, flexible, and open source web-publishing platform for the display of library, museum, archives, and scholarly collections and exhibitions.” But before you begin to use Omeka to house your database there are a few things you should know. This tutorial is to give you a brief run down of what Omeka is, or is not good for if you are a programming historian. By that I mean if you have a knowledge base in php, MySQL databases, JavaScript or Jquery, or if you have a desire to learn these skills as a way to access your data for your research.

If you are thinking about using Omeka for your project chances are you have your own domain and hosting services and are looking to use the self-hosted Omeka download rather than the free services offered at Be warned: the one click install offered by many hosting services (I use Dreamhost) is the devil. If you want to use any of the fancy plugins that Omeka offers you are quickly going to learn that the version offered by your hosting service is out of date. So rather than installing, uninstalling and reinstalling Omeka just skip straight to Omeka’s Codex and follow their Installation Instructions.

Decide Now if you Want to Use Omeka

One of the major factors in deciding whether to use Omeka or not is the potentially complicated and frustrating process of getting your data into Omeka in the first place. If you already have a CSV file of your data that you downloaded off the internet or if you have phpMyAdmin access to a database (and can therefore directly export the database into a CSV for MS Excel file), if those databases are complex using lots of tables and join tables or lots of similar data types connected to each entry then Omeka may not be the best program for you. To illustrate this point I will walk you through how to get your data properly formatted and then into Omeka.

Formatting Your CSV File to Import Into Omeka

Think About Your Structure Now

2First, log in to your Omeka site and look at the admin interface. Pretend like you are going to add an item and look at the Dublin Core metadata element set to see what options already exist.

If not everything you want to track is available here, that’s okay. Next, you want to look at the “Item Type Metadata” and see if there are any specific Item Types that correlate to your sources, and if they contain the necessary metadata that you want to track.

4If you find one that’s close but is missing a few elements, or if no Item Type matches your source exactly, that’s okay. Omeka lets you create Item Types and create metadata elements specific to that type. My database consists of cartoons and I have some specific metadata that I want to track that Dublin Core does not already accommodate, so I created my own Item Type called ‘Cartoon.’ Then I created my own elements, like keywords and characters that did not correspond to Dublin Core’s existing categories but where elements of the cartoon that I wanted to include in my metadata.

Format Your CSV File

Now that you have thought about what categories your own source’s metadata will correspond to you are ready to format your CSV file. The key is to have each column in your CSV file have a unique header. Using my own data as an example the one cartoon I have formatted in the screenshot below has two characters and five keywords linked to it. So I have to have 2 columns for actors and 5 columns for keywords. If another cartoon had 5 actors but only 2 keywords them I would have to insert 3 more columns for the actors but I would only use 2 of the existing keyword columns leaving the others blank. Like I mentioned above, if you have a complicated database structure or multiple instances of the same metadata type, formatting the CSV file could get time consuming and unwieldy very quickly.


A quick note, the column titles in your CSV file do not have to correspond to the categories in Dublin Core. They just need to be unique and descriptive enough that you will remember what information it corresponds to when you import your file into Omeka.

Importing Your CSV File

6 Once you file has been properly formatted, you can import your data. To do this you need to install the “CSV Import” Plugin from the Plugin menu under your Settings.

Then when you have installed the plugin you are going to select it from the menu bar at the top of the screen and import your CSV file, choosing what Item Type this database contains and what collection you want to download it to as well as a few other options. Note: You can only import one Item Type at a time so if you are going to have multiple Item Types, you need multiple CSV files. Once you have chosen your file Omeka will give you an example row and ask you to tell it what Dublin Core of Item Type Elements each column of you CSV file should be mapped to it.

Once that is done, your data has been formatted and uploaded to Omeka and you can start to display it in some interesting ways, creating exhibits and collections to display your sources.

As you can see this is a time-consuming process that may not be worth it. There are other issues to consider when deciding to use Omeka for your research database.

Why Omeka:

You don’t have to build your own database. If you have a relatively simple database, then Omeka could save you a lot of time and effort creating it and populating in via phpMyAdmin. If, on the other hand you have a complicated infrastructure, the time spent formatting your CSV file might be better spent learning how to build a database and importing the CSV file into that instead.

Easy to connect the metadata for “fuzzy” sources to the item itself and you can quickly see the item with the metadata attached. Omeka does do an excellent job of displaying all your relevant information in one place quickly and easily to see. But, if you have images, you have to separately upload these to Omeka independently of the CSV file and if, like me, your sources are still within copyright boundaries, this is more time consuming that a quick “link to file” in a MySQL database table.

Advanced search already built. As many beginning programmers (myself included) have discovered, writing an advanced search is difficult. Omeka has a very robust advanced search option that let’s the user delimitate between categories, time periods and any other metadata to return results.

Quickly group items together in a collection for a long period of time. But you can’t have an item in more than one collection.

Nifty Plugins. The open source aspect of Omeka allows for developers to write and design their own plugins that allow the user to do some really cool and interesting things. You can import files directly from Dropbox, or display documents, pdfs and PowerPoint presentations.

Why Not Omeka:

Exhibit builder unwieldy and clunky to use. A nice feature of Omeka is that the themes are hackable or you can build your own. But if you know enough to hack the theme you probably know enough to build your own html and css website. When you combine this fact with the fact that the exhibit builder takes way too many steps to create an exhibit and you have very little control on its basic architecture the time you would take hacking and customizing is probably better spent just building your own website to display your context and analysis exactly how you want.

Time consuming to enter new items if you want most of your metadata to be searchable tags. Like I mentioned above if you want to add an image to your item you have to do that separately from your CSV import but if you want your metadata to be tags that the public can use to sort your resources these have to be entered separately.

Controlled vocabulary is almost impossible to maintain, especially with the tags. If you are building your database in a CSV file to later import into Omeka or even formatting an existing file, keeping track of spelling and vocab usage is much harder this way then it would be if you were using your own system of tables and join tables in your own database.

Once your information is in, it is impossible to get out. This is the most important, and in same cases only, reason not to use Omeka. In addition to being time consuming and awkward to get your information in to Omeka, if you want to do any cool things to your data it’s impossible to get it back out.

Omeka is designed to display sources not house their data to then do cool stuff with it. Beyond what you can find out using the advanced search options and the few plugins that work with your data (like Neatline), there is not a lot of complex data analysis that you can do within Omeka itself. If you want to get your information out of Omeka to say, textmine the descriptions or compare the keyword usage over time, the backend MySQL database structure is such a mess that unless you built and developed the program you shouldn’t go near it with a ten-foot pole. For this reason alone if you can build it yourself, you should.

Omeka is a great tool for museums, librarians and other people who just want a way to house and display and make available to the public the resources that they contain. Even for the programming historian it can be an interesting way to display and explain your analysis and conclusions. But as the tool to compile your sources in preparation for applying digital methods to the data, Omeka is not worth the time and effort to use it as the major database structure for your work.

1 Comment So Far

David McKenzie says:

Nice post–a good analysis of the why and why not.

In my case, I came into the semester thinking I would use Omeka, and quickly decided to build my own DB. I am still, though, thinking of using Omeka for the documents, but after reading your post thinking that the best solution will be, as you said, simply linking to files. The custom DB worked best for my purposes in class, and will continue to work best.

That said, for the other project I’ve been working on recently, for work, Omeka was great. The organization’s outsourced designer made a custom theme, and then an intern (with no web experience) and I inputted the content, and could make quick tweaks. For that need–an online reflection of a physical exhibition with some added bells and whistles–Omeka worked great.

Leave a Reply to David McKenzie Cancel reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>