As I mentioned in the last update, this site has been more or less static for a few years, for a variety of reasons. Chief among them was that I wanted to buttress the DLL’s sustainability by reducing the entire project’s technical overhead. Now that I have found a better hosting solution and I’ve moved the other sites to static site generators, I have had time to focus on upgrading and updating the DLL Catalog’s codebase.
The original version of this site ran on Drupal 7, an open-source content management system (CMS). My colleague June Abbas and I developed the content model, and I developed the back end. Since no one on the project was a graphic designer, we budgeted some funds to pay Fíonta to design the theme, or overall look of the site.
As with all other technologies, Drupal continued to evolve. Version 8 introduced a paradigm-shift in the entire platform, so simply upgrading from 7 to 8 was a non-trivial task. The content had to be migrated, modules had to be replaced, and—most daunting of all—the theme had to be entirely rebuilt.
Versions 9 and 10 were launched in rapid succession, and 11 is now the current version.
Meanwhile, the DLL Catalog site remained idle as I waited for an opportunity to devote time to migrating the content and rebuilding everything from scratch.
When I learned that Drupal 7 would reach “end of life” in January 2025, I set summer 2024 as the target for rebuilding the DLL Catalog site.
Content Migration
Fortunately, content migration has become much easier since the bad old days of migrating from Drupal 6 to 7. That’s not to say that it was a breeze. Fortunately, I already had experience migrating the Society for Classical Studies’ site from Drupal 7 to 8, and then all the way up to 10. Since the DLL Catalog’s site structure is simpler, the migration went well. All told, the process took a couple of days of trial and error.
Theming
Rebuilding the theme was a much more involved project. I am by no means a graphic designer, but I know enough about CSS, JavaScript, and templating languages like Twig that I was able to handle the job myself. I selected Drupal’s Bootstrap5 as the base upon which I built a subtheme. I wrote about the process on my personal site. Had I not taken the time to document the process, I’m certain that the time to completion would have been cut in half, but I thought it would be useful for other DH scholars to see what’s involved in maintaining and upgrading a Drupal site.
Module Development
The previous version of this site had a feature that allowed users to append /?format=json
to certain URLs to get a JSON-LD version of the content. I built a custom module that improves upon that functionality, if only slightly, and makes it easier to manage and maintain. Now, users can add ?format=json-ld
to get certain pages as structured data. Try it out with the authority record for Vergil: https://catalog.digitallatin.org/dll-author/a4830?format=json-ld.
I still need to develop a custom module that will calculate the unique DLL identifier for author authorities, works, item records, and web pages. Since that only affects the development of new content, I decided to do what needed to be done to launch the new version of the site, and work on that module later.
Solr
The version of Apache Solr responsible for the DLL Catalog’s faceted search feature had to be upgraded, too. In the spirit of reducing technical overhead and promoting sustainability, I opted to implement Solr as a Docker container. That will make it easier to maintain in the long run. I wrote about that process on my personal site, too.
More To Come
Over the next few months, I hope to implement a few new features that will bring this site back to life. I have been designing and experimenting with a deep learning approach to processing and preparing content for the site. The goal is to make use of machine learning to reduce some of the bottlenecks I’ve identified in the project’s pipeline. There is a lot of content just waiting to be reviewed and finalized before being added to the catalog. I’m set to report on that effort at the 2025 Annual Meeting of the Society for Classical Studies.
I also plan to implement Drupal’s JSON API feature to enhance the availability of the DLL Catalog’s content as structured data.
If all goes well, I should be able to add hundreds of new records to the catalog in the coming months, including records for (nearly) every volume recorded in Wilhelm Engelmann’s Bibliotheca Scriptorum Classicorum, volume 2: “Scriptores Latini” (Leipzig 1882), among other items.