Our contribution to the work of Italy's Team Digitale
Last year, Cantiere Creativo won a tender from the Digital Transformation Team to build open source software in Ruby. The Team Digitale is a special-commissioner office set up by the Presidency of the Council of Ministers, at the time led by Diego Piacentini (former Vice President International at Amazon).
Its goal is to create a set of core building blocks for simpler, more effective services for citizens, the Public Administration and businesses, through innovative digital products.
Besides being thrilled to work on ambitious projects like SPID and PagoPA, we set out to prove that "public sector" plus "open source" means quality.
Last year, Cantiere Creativo won a tender from the Digital Transformation Team to build open source software in Ruby. The Team Digitale is a special-commissioner office set up by the Presidency of the Council of Ministers, at the time led by Diego Piacentini (former Vice President International at Amazon).
Its goal is to create a set of core building blocks for simpler, more effective services for citizens, the Public Administration and businesses, through innovative digital products.
Besides being thrilled to work on ambitious projects like SPID and PagoPA, we set out to prove that "public sector" plus "open source" means quality.
Exemplary software projects for the Public Administration
The TD's Three-Year Plan sets out a modern approach to developing public software and services, based on building and reusing open source components, and on an open collaborative model centered on tech communities.
The most ambitious projects fall under what are called "Enabling Platforms", a set of tools that will underpin many digital services for citizens and act as the foundation for websites and apps developed by public bodies.
OK, but what are we actually talking about?
The guidelines on the acquisition and reuse of software in the Public Administration, only recently given final approval, require the PA to preferably acquire open source software and release all the software it develops under an open license.
The libraries released by Cantiere
Part of Cantiere Creativo's work consisted of developing libraries for these services, designed to make integration with programs written in the Ruby programming language easier.
This means any software house or web agency building products on, say, the Ruby on Rails framework can use the Gems (as Ruby libraries are called) we built to connect to SPID or PagoPA.
The source code for our work is available on the Developers Italia GitHub account, and the gems are available on RubyGems, for example spid-ruby.
To underline our commitment to publishing quality software and shipping products that follow best practices, we spent a lot of time documenting all the work with detailed technical documentation and implementing extensive automated tests: some components reach 100% code coverage.
Agave CMS and Publiccode
Besides the components above, we built two stand-alone applications. The first is an editor for creating, in just a few clicks, a description file that follows the publiccode.yml standard.
Quoting directly from the repo:
This standard aims to make software developed by Public Administrations easy to find and, as a result, reuse. [...] A lot of quality software has been developed by various Public Administrations, but cases of reuse are rare. Among the reasons for the low adoption of these projects are the difficulty of finding them and the difficulty of understanding whether a given project could work in the context of a different Public Administration. The publiccode.yml standard aims to solve these problems.
Agave CMS is the second: a Content Management System for building and managing static sites.
How can a static site have a CMS?
In practice, Agave lets you publish a fully static website, because the admin back-end is completely separate from the front-end (hence the term headless CMS).
The public side of the site is generated as static .html files, produced and stored at publish time, so they don't have to be regenerated on every visit as with most CMSs. Dynamic interactions happen through JavaScript API calls.
It may sound like a step back in time, but it's actually a cutting-edge new trend! Ever heard of API-first, headless or JAMstack? The benefits are many: the site is lightning fast and super secure.
Static site generators like Jekyll are already used by the Team Digitale for most of its websites and documentation, but without an admin back-end, editing that content isn't something everyone can do.
We built Agave with the goal of making this technology accessible to schools and municipalities too.
Like everything we built, the Agave CMS source code is available on GitHub and can be installed by anyone with a little Docker know-how.
Our work, in detail
Everything we built is available in our portfolio, with details and links to all the resources. The TD also published a comprehensive article about the experience.
Special thanks go to the whole Team Digitale, which is fighting (and winning!) tough battles to modernize the PA's ICT ecosystem and set top-tier quality standards.
💚