Website development for cultural heritage content at Europeana
This November on Pro, we share the practices we follow when developing the Europeana website to ensure that people have a positive experience browsing millions of cultural heritage objects. This post looks at our development processes, best practices, and tools we use to ensure that our application is robust and resilient.
Content management for digital cultural heritage
In 2019, we made the decision that we needed to take our processes and technologies for the Europeana website to the next level. We wanted to deliver faster, with fewer bugs, and offer an experience closer to what people see on social networking websites so that people could have the best experience exploring digital cultural heritage items.
In March 2020, we launched the new Europeana website using Contentful, a software as a service (SaaS) content management system (CMS) provider that allows us to combine editorially controlled pages with our EDM modelled cultural heritage objects.
Contentful enables us to structure our website in the way we want and combines all of our existing CMSs into one. It is virtually codeless, so the team needs no insight into the inner workings. Content structures of the website are designed using the Contentful user interface and relationships between this content are defined there. Contentful is a headless CMS, meaning it is not connected to our front-end interface, which is a client of the Contentful APIs.
To enable a quick and reload-free experience, we rewrote our application using JavaScript in the Vue.js/Nuxt.js framework (a development language and framework). Once you’ve loaded the Europeana website into your browser, it stays there, only requesting data not already available on your machine, which makes requests directly to the APIs rather than going via a server. This ensures that the website does not frequently reload and offers a faster experience for the user.
Reducing bugs
We take great pride in our application in terms of performance and security. We develop our software following our software development guidelines and ensure that all code integrated has unit test coverage of at least 80%, meaning that individual code components used by the website work as expected. We achieve this by ensuring that all our functionalities have end-to-end (E2E) tests using a framework called Cucumber (which is written in the amusingly named scripting language Gherkin!). This includes accessibility testing, and you’ll find more about that in our Pro post on accessibility.
All of our functionality has associated E2E tests, and we ask that all partners who develop for the Europeana website follow these same best practices.
Code and process
The Europeana website team develops in two-week sprints, following standard scrum rituals - a framework which helps us to work together and continually iterate. While we follow a roadmap and requirements from our funders, we review planned work every two weeks based on current business needs.
All development tasks are agreed upon by the Product Owner beforehand and ultimately signed off by the Product Owner. When code is completed, a review takes place within the development team to ensure that it is up to standard.
All of the application source code for the Europeana collections website is available in our GitHub repository.
Localisation
We want our audiences to be able to explore cultural heritage in their own languages, and are pleased that the Europeana collections website can be explored in 24 European languages. To facilitate this, we use a third-party application called Lokalise, which helps us give different language translators access to the site, and quickly obtain professional translations.
While we have English as a default language which users can fall back to if necessary, and people can look at content that is written in languages other than their own, the intention is for users to browse the site in their own localised version.
If you spot an incorrect translation please email me ([email protected]) including the original term used on the website and the correct translation - we will address it as soon as possible!
See our development in action
We hope you enjoy the performance improvements we made to the Europeana website and they elevate your experience! Enjoy browsing cultural heritage from across Europe.