Hint: there is also a german version of this announcement.
I just published version 1.14 of the Antragsgrün, the open source system for political and civil society organizations to manage motions, amendments and resolutions. As usual, the new version brings improvements in different areas of the system, some visible as new features, others optimizations under the hood.
Now that Antragsgrün is also used by larger organizations that have to handle over a thousand motions on one convention, a focus of the new version were performance improvements, especially in the form of caching. Antragsgrün inofficially supported caching metadata in Redis for a long time. As this has proven to be enough for middle-sized organizations and reliably stable, all necessary libraries are now bundled by default, making it easier to set up. For really large installations, though, there is now also a „View Cache“, where index and motion pages, as well as generated PDFs are stored pre-rendered on the file system for most efficient retrieval. To avoid multiple processes generating the same file in parallel after cache invalidation, cache generation is synchronized between different processes, avoiding overloading the server. Using the new caching system is recommended for sites with 500+ motions.
For such large sites, where hundreds of motions are submitted and sorted by topic (or tags), the home page can now be made easier to grasp, by only showing the list of topics / tags at first, listing the individual motions only on topic-sub-pages.
There is a new way to handle progress reports. This is relevant for organizations that store their resolutions on Antragsgrün, making them accessible to their members beyond the congress where the resolutions are decided upon. These resolutions can now be annotated with an additional section, where eligible persons can regularly track the progress the organization makes in implementing the resolution. A more detailed explanation of this feature and how to set it up is on the „Progress Report Tutorial“ page.
For votings, there is one important new feature: administrators can now assign voting weights to individual users. This can be used, for example, if a single delegate is representing multiple members or member organizations, therefore having a higher voting weight.
The PDF creation has been significantly overhauled. While the default fall-back solution continues to be based on the PHP-library TCPDF, the renderer of choice for more complex setups is now not based on LaTeX anymore, but on the renderer Weasyprint. This will allow us to create organization-specific PDF layouts far easier in the future, and avoid some of the more annoying bugs we had with the previous PDF generation, especially for two-column application PDFs. For all users of the hosted version of Antragsgrün / motion.tools, the change is mostly transparent and unnoticeable.
Then there are a number of smaller changes:
- Super-Admins can now change the e-mail-addresses of registered users, not only their passwords.
- There is an optional pagination function, allowing users to browse through motion using „Previous / Next Motion“-buttons at the top and bottom of each motions.
- The admin motion list can now be filtered by motion type.
- If motion list exports are to include „inactive“ motions, this now also includes motions that are not yet published.
- The custom theme editor now allows more customization of the section headings – in particular to remove text shadows or font styles.
- The permission to submit a motion or amendment as either a single person or an organization can be set independently from each other – a different user group might be eligible to submit a motion as individual delegate, for example, than to submit a motion in the name of an organization.
Further changes (including a list of bugfixes) are listed in the Changelog. The new version can be downloaded on the Github page.
Independently of the new version, I also started on a list of tutorials, complementing the existing function reference of Antragsgrün. While it’s still largely Work in Progress, some pages shouls already be helpful to some:
How to allow members to submit motions?
How to allow members to amend motions?
How to Progress Reports work?