A Content Management System for Conference Websites and an International Workshop

Another more technical post with a call to participate at the orality studies workshop to take place this December at the University of Hamburg


In the aftermath of the last two weeks' conferences I had the chance to help out with doing a website for an international workshop at the University of Hamburg. Since the usual solution (as always Wordpress) is too much of a general purpose tool to be really effective and since I had much of the necessary code lying around already anyway, I decided to write a little content management system for conference websites. Most of this post will be a description of this tool and the functions I'd want to add in the future.

As it turns out, the workshop whose website I was to help out in creating looks extremely interesting. It's titled "Performing Traditions, Travelling Narratives, Living the Diaspora" and is to discuss oral history and migration with a focus on Southeast Asia and Africa. While most presentations seem to be relatively general descriptions of their topics, there are also highly specialized presentations, something I regard as generally applaudable. Especially the talk on "The NCAC National Digital Archive of The Gambia: Bringing Oral Traditions to the Digital Age" by Prof. Henning Schreiber looks highly interesting and relevant to my own research interests.

Given that the workshop will take place in Hamburg, I myself will not be able to attend. But given the interesting topics, advertising it a bit seems like a bit idea. More information on the workshop can be found on its website.

Demands: What Functions Should a Conference's Website have?

What are the basic functions of a website for an academic conference? Surely, the first will be to advertise and somewhat aid the organization of the event. Second, it offers a way to have a lasting digital representation of the conference even after it is over, with a documentation of the talks, keynote addresses, etc.

The former, advertisising and aiding in organization is relatively easy to conceptualize. There should be some tool to manage registrations and - if submissions of papers are possible - the submission and review process of papers. As for advertising, it needs to be possible to do an attractive design for the website and ideally the mark up should be as semantic as possible to make it easier to index. Most of the advertising takes place elsewhere (word of mouth, Twitter, Facebook) though, so this is less of a concern in the short run.

Providing a lasting and good digital representation of what happened at the conference is harder. One could obviously just put the abstracts on the website and leave it at that. To get a lasting benefit however, it would be far better to also provide export options for the bibliographical data of the papers presented at the conference. Conveniences like preprepared suggestions for citing papers and the availability of the papers in full text add to this. Similarly, an exportable and subscribable timetable would be very beneficial (this also bridges into the advertising part).

Once these functions are implemented, they can also be recycled for optional parts of the website. A page introducing the speakers is surely not required (maybe aside from keynote speakers), but surely beneficial for potential users. If one has already implemented citation suggestions and export options for bibliographical data of papers presented, the code can be reused for sample bibliographies of the speakers.

Available Solutions

As for my personal likings, there are some additional considerations: tools I am to use should store their data in flat files. They should return well written HTML. They should be written for a specific purpose and do it well (hence my dislike of Wordpress). And they should be free and open source software or written by myself.

If we had used one of the available solutions from the net, it would have needed to fulfill these basic requirements while still offering the functions described in the previous section. Admittedly, I did not search for long, as I'd rather spend my time on coding than searching and not finding anything. Out of the available solutions, Open Conference Systems looks rather promising but also does not fulfill the flat file requirement. If there is a solution that fits my requirements, someone please let me know.


Another important requirement was usability for those entering data: given that the tool is made primarily for social scientists and people from the humanities, it had to be really simple to use. Plain HTML or parts of pages are stored in plain HTML files and can be edited using TinyMCE.

Completely own pages that do not fit into the original structure of the website can be added and are stored in a single JSON file encompassing metadata and the pages' content in plain HTML - this is not an optimal solution, but was the easiest and fastest to implement way and is still relatively effective. User information, "basic data" (e.g., entrance fees and language of the conference), and information on registered participants are also stored using JSON.

Bibliographical data is uploaded in BibTeX. While this might make editing the page harder, it is reasonable to assume that quite many in the academe already use bibliographical databases - and if they don't, this might serve as a motivation to get accustomed to bibliography management software. The BibTeX files are then parsed to present information on the papers and generate automated citation suggestions (thanks to the Citation Styles project and Ron Jerome for providing a library that generates the citations).

Bibliographical data and images are sorted simply using the folder structure. E.g., a file 0.bib in the respective folder will provide a sample bibliography for the keynote speaker with the ID 0. 0.jpg would then be the speaker's picture. While this method leads to contributors being limited to one picture and one BibTeX file with a sample bibliography per speaker, it's the most effective way I know. It also means that the data needs to be hosted on the same server as the scripts - which increases speed and lowers the risk of tracking. To not force users to learn about the right naming of files, renaming and uploading to the right place is done automatically on the server if users use the respective file upload function.

Finally, there is also a settings section for entering technical data on the conference. Part of this is used for returning appropriate metadata. Options to turn on or off certain functions of the website can also be found here.

The site's restricted area

Out of the data thus input, the frontend page is generated. Functions for contacting the organizers and registring are available if the organizers wish so (and turn on the respective function in the settings).

What Is to be Done: A Small To-Do List

The described CMS is a work of essentially three days, which means that there are still quite some functions that I'd wish to add over time. They were not necessary to implement yet given the circumstances of the workshop, but will be if I decide to use the CMS for other conferences. Here is a preliminary list of these.

Given these, the project might also go more into the direction of a conference management system by providing additional tools for the organizers (currently, only autogenerated name cards and participant lists are available to this end).