Published April 6, 2020 | Version v1
Report Open

Automation Tools for Invenio

  • 1. CERN

Contributors

  • 1. CERN

Description

Invenio is an open source framework, initially developed at CERN, but with many external users
and contributors at this moment and prospects of growing even more in the future. Its nature as a digital
library for large scale repositories renders it a very useful tool in other software projects, inside and out of
CERN alike.

The maintenance of Invenio's software falls under the responsibility of the IT-CDA-DR section. The
big workload that the section has to manage combined with the currently inefficient work management
when it comes to Invenio, results in Invenio falling behind, which affects badly not only the section, which
makes great use of Invenio in various other projects, but also the Invenio community, which stays inactive.

The goal of my two month internship at CERN was to fix this problem by developing a bot that
would send reports to the maintainers of Invenio, concerning the Invenio related tasks they have to fulfil,
thus helping them to organize their work and do it more efficiently.

The bot was developed using the python programming language and various contemporary
technologies, such as git, github and gitter APIs, pytest, travis CI, docker and sphinx.

There currently exist two commands for the bot, "autobot report show", that shows the global report
for all maintainers and "autobot report send", that sends the personalised reports to each corresponding
maintainer.

The end result was a basic prototype for the bot and a lot of work remains to be done in the future. Some ideas for the future work are:

  • Adjust the features to the users’ needs and desires.
  • Improve the implementation resource-wise (e.g. cache the reports).
  • Include customization features (e.g. sorting and filtering of the reports).
  • Add synchronization with GitHub.

Files

AutomationToolsForInvenio_CERNopenlabReport.pdf

Files (1.3 MB)