Mike Jones, Research Software Engineer (RSE) in Research IT at the University of Bristol, describes some of the choices underpinning the development of the new ‘Historical Photos of China’ web application.
Moving the project’s digital assets into the custody of Special Collections – as discussed in the post ‘HPC: A Change of Pace’ – provided a need and opportunity to re-engineer the ‘Historical Photographs of China’ platform. Several considerations underpinned this development work:
- The new application should have similar functionality to the old one. Even though regular site users will notice some minor visual differences, there shouldn’t be any nasty surprises.
- Existing URLs to the collections and photographs should continue to work. Changes to software or rebrands to websites have a nasty habit of disregarding old URLs, resulting in stale and broken links. However, we wanted to be good ‘net citizens’, ensuring that publications and teaching material referencing the site weren’t now full of stale links.
- The Digital Asset Management System (DAMS) will be the canonical source for metadata and images. The new system should automatically synchronise with the DAMS for changes to the images and their metadata.
- The software should follow good engineering practices. For example, the code is underpinned by a suite of tests allowing for automated deployment to the servers. We can be confident that when we need to make changes, such as upgrading third-party software dependencies, the application will not break when deployed to the servers.
We decided to write a new application using the Python/Django web framework since this aligned with other projects and expertise in the team. We used Docker to create a discrete containerised environment that can be replicated on either the development machine of a software engineer or on a production server answering requests across the globe. The application is deployed to a Kubernetes cluster provided by a popular Cloud-provider, so we can scale resources if the site peaks in popularity.
From a personal perspective, this was a fun project to work on. I learned a lot about different technologies, particularly around the DAMS and deployment of containerised applications on Cloud platforms. It was also great to see the University acknowledge the importance of the project and allow us to develop the application in a manner that will allow for better support and maintenance into the future.
Robert Bickers adds: I am very grateful to Mike and colleagues for their work on this project, and to Mike for this discussion of what’s under the HPC bonnet. We now have a long-term sustainable platform, that is linked to the tens of thousands of digital images that we have made over the last sixteen years which are now housed in the University of Bristol’s Digital Assets Management System. Some 21,000 of these are online at present (with a big new collection of c.1,300 more being finalised for publication in the next month or so). This is the fifth different web application through which we have shared the fruits of that work …