Internship Experience: Europeana Collections Importer

The ending of an experience of academic studies sure is an important moment, and I found myself going through that moment here. My name is Andrea Cioni, developer apprentice for Oimmei, and I joined the firm during an internship that was part of my computer science studies, which I concluded at the University of Pisa on the third of March. It was my very first work experience in the field of I.T., and now, after a few months, I’m going to briefly talk about it for the blog.

During the internship, I worked on the Muzeums project, which aims to provide interactive experiences about museums and art galleries, and was already mentioned multiple times on these pages. The app, now available on iOS and Android, allows users to look for museums, go through their catalogue and participate in experiences such as trivia and scavenger hunts regarding the artworks on exhibition. By the moment I joined Oimmei, a new version of the project was being developed. I worked on the server first, then I moved on the web portal that allows museum managers to create the contents for all the users to see. The server is built with the PHP framework Laravel. On that, I made the following interventions.

  • Modification and enrichment of the museums lookup feature. In particular, it’s now possible to get all available museums without filtering by language, each of them with contents in their own main language, and sorting the list by the position of the user, so that the nearest museums are shown first.
  • Addition and handling of the stop number for the artworks. By “stop number”, I mean the number that typically appears next the artworks on exhibition, and allows to listen to the audioguide for them. The number can now be used on the app, so that the users can look at the artwork details and listen to the audioguide without carrying any additional device.
  • Addition of the possibility to get the museum catalogue filtered by floors and rooms, to easily know how many and what artworks are on exhibition in a certain room.
  • Modifications to the database, regarding the translations handling in particular. In the version developed during my internship, one of the most important changes was a new handling of the translations for the contents. Therefore, some interventions were required on the database, to add new data structures and reorganize the existing data.


In addition to these and a few other minor interventions, I developed a whole new component, which required work on both the server and the web portal: the artworks importer from Europeana Collections. Europeana is a rich open database, containing any kind of items that form part of the European cultural heritage. The importer is conceived as a way to help museum managers to add information about artworks on exhibition, allowing them to get data from Europeana rather than creating everything from scratch. The component allows to search items on Europeana applying a number of filters, view the relevant information and save the data on the Muzeums database. The user can change and enrich the info before concluding the import process.

While developing the importer, I created on the web portal, developed using the JavaScript library Polymer, two user interfaces: the first one can be used to look for items, the second one for viewing, modifying and saving the information about a single artwork. On the server, I added the features required for the interfaces, implemented by interacting with Europeana to perform the operations required. The importer is now working, and it will be published with the next version of the Muzeums web portal.

In conclusion, I can say that this internship was really important for me, and not only for my studies. I found myself dealing with pretty complex technologies and projects, and I think that doing so in a work environment allowed me to grow in many ways. I fit in the Oimmei team in a really short time, and I’m happy to be able to continue today, as an apprentice, the job I started in october. I hope to work on many other projects with this team in the future.

For further informations please contact us at [email protected]