Five months and more than 260 commits after our last stable release version 1.1, the Agora Ciudadana team is proud to announce version 2.0 of the project. The release is live in agoravoting.com and you can download the installable package with install instructions here: agora-ciudadana-2.0.zip.
With 2.0 we introduce the REST API v1, which provides a comprehensive, documented and unittested programatic interface to agora. No new user features have been developed for the web site in this release: the REST API provides a big change in the architecture of the project.
The REST API makes Agora more flexible providing a stable and standardized extension point. The extensions that can be developed with the REST API can provide a wide range of features: from a completely different mobile interface that connects with this web service, to the creation of an agora where elections are created automatically for each election in congress. There also seems to be a lot of interest in the automation of users membership changes in an agora, integrating user membership with the external members database of an organization operating an agora.
Besides providing a flexible and powerful extension point, this architecture change provides a separation between the logic of the application and the interface. An important part of the effort in this release was put in the development in a thorough battery of unit tests of the REST API. This improves the confidence on the correctness of the code, eases the detection of bugs and regressions, and will allow to develop code with more confidence and agility. A continuous integration system (Travis-CI) has also been adopted.
The code of the web site has started the migration to the usage of the REST API for all its operation. This migration will continue in further releases, aiming for a fully web-services based full-fledged one page web application.
This release could have not happened without the contributors of Agora. A special mention is needed for the collaboration of Kaleidos, which hold in their headquarters the week-long Piweek event in which employees of Kaleidos, Wadobo, and Secuoyas really pushed the development of this release.
The full list of contributors (ordered by number of commits) for this release is:
- Eduardo Robles Elvira
- Daniel Garcia Moreno
- Andrey Antukh
- Andrés Moya
- Javier Aguirre
- Félix Robles Elvira
- David Ruescas
- Alejandro Blanco