As part of one my modules, I was to design an online catalogue for displaying photos from the RCPI meetings over the years. We first digitised the film negatives through capturing them with a high-end DSLR and edited these captures through Photoshop to transform the negatives. This method does not give 100% colour accuracy but it suited the needs, budget and time requirements of the project. The images contain different members of the RCPI at different events. The reason behind cataloguing the photos was not only to preserve them but also to make them more accessible and allow access so that individuals in the photos could be identified. For choosing a platform for the catalogue we chose Omeka which is a “web-publishing platform for the display of library, museum, archives, and scholarly collections and exhibitions”. This was my first time using the Omeka platform and I was impressed with how it streamlined the process while also allowing for a good amount of customisation.
We decided to go with Dublin Core as the metadata schema. Though problems can be encountered with the level of the description presented by Dublin core when describing images we decided to use it due to its wide usability and its integration with Omeka. The first step in building the website was with conceptualising the flow and narrative of the website. Omeka breaks its components into items, each photo and its corresponding metadata. We wrote the metadata into a CSV file and created a naming convention for the images which would make the linking of the metadata CSV and the photos easier. There would be a home page which displays recently added items along with featured collections, exhibitions and items. The exhibitions would hold the collections and the collections would hold the items. The item page would contain an enlarged version of the image desired the corresponding metadata and the face tagging functionality. The system of containing exhibitions collections and items is how Omeka manages its archiving. I drew up a wireframe for the website and thought about its general design.
Before coding anything for the site I decided to focus my efforts on batch uploading items to Omeka. The way to do this can seem a little unintuitive but through the Dropbox plugin, you can attach the images uploaded to Dropbox to the corresponding CSV column. I encountered a lot of issues here with Omeka and the CSV import plugin. When trying to upload large CSV files I would encounter a “RuntimeException The configured PHP path is invalid.” error. Upon researching the issue I first tried changing the background process to a foreground one but this would not work for larger uploads as it would time out. Later it turned out to just be a problem with how the PHP path was set on the local server. This seems obvious from reading the error statement but I tried changing the file path at first to not much success. I tried redownloading PHP on the server. In the end, I needed to point directly the PHP CLI file. The problem was fixed by setting the background.php.path to the right location in the config.ini file. The filenames were manually entered by other members of the group so there were some errors in the input. This again caused errors when trying to batch upload the files I first thought this might be related to the pathing issues and timing out but luckily I noticed a misspelling in one of the file names. I wrote some python script to automate the corrections needed like eliminating whitespace and adding underscores in places. After these issues were overcome I was comfortable with batch uploading items to Omeka this meant in the future a large amount of data could be added with ease.
I then began the construction of the website itself. Omeka offers templates to work from rather than starting from scratch. With the time constraints I had, I worked from one of the templates and messed around with the CSS as I saw fit this involved changing some of the banner sizes adding a little animation with a link to An Foras Feasa home page and general colour design. I also edited some of the PHP in order to make calls to the Images and display them at full resolution on the item page. The item page order was reshuffled to better suit the project.
Next was the identifying of the faces in the photographs. To do this is used the libraries provided by Tracking.js which allows a lightweight high-level approach to computer vision in the web browser. It provides many functions one which enables face detection. The success rate of this face detection method seems reliable but not wholly accurate. It seems like it uses a Haar feature-based cascade to detect features but without a wide set of training, this simple approach can return lacking results. Despite this, we implemented it into the page. The only issues were in the creation of divs which were created from the coordinates discovered in the face detection. This divs and the corresponding tags did not have IDs associated with them. When the user input data into the tag boxes it was then hard to retrieve these inputs and save them for reuse. I tried creating incrementing IDs with each discovered face but the algorithm would not discover all the faces in the same order each time which meant names would be swapped around. I also tried generating IDs for each input upon an onclick situation but this also proved difficult and did not work. I decided to work on the rest of the website and its functionality and then to return to this issue later.
I enjoyed my time with Omeka and would use it for projects in the future. I found it especially useful in regards as a platform for creating a functional and large collection of images. Omeka was built with heritage institutes in mind and with the exhibition, collection format this allows it to be implemented well for museum projects.