Antragsgrün / Motion.Tools 4.15

Hint: there is also a german version of this announcement.

I just published version 1.15 of the Antragsgrün, the open source system for NGOs, political parties, and social initiatives to collaboratively discuss resolutions, party platforms, and amendments.

The focus of this new version was the administration and security aspects of user accounts, especially when the system is not deployed within a Single-Sign-On-environment.

Users authenticating with e-mail and password can now secure their accounts using a second factor, using any Authenticator app supporting TOTP (like Authy, Google Authenticator etc.). Admins can enforce the use of a second factor on a per-account basis, like for accounts with higher privileges. They can also reset the second factor for accounts, e.g. when a user had to reset their phone.

For accounts that are not bound to an individual person but to be shared by a group by people, admins can now prevent the change of the password by the user, as well as preventing the account from setting up a second factor. Admins can still set new passwords in this case.

Ultimately, admins can now delete user accounts and prevent users from requesting access to specific consultations.

Brute Force Attack prevention was improved by improving the CAPTCHA handling in some edge cases. But most of all, the behavior of the CAPTCHA during login and registration can now be customized in the configuration of Antragsgrün. Instead of the default behavior (require a CAPTCHA after three unsuccessful attempts), it can now be either completely deactivated, or set to be always required. Furthermore, the difficulty can be changed, making the code easier to read (albeit therefore less secure). When Antragsgrün is used in on-site events, specific IP Addresses (like of the WiFi used on the event) can now be excluded from ever being required to enter a CAPTCHA. More information on how to configure this can be found in the README.

The visibility of editorial content pages can now be restricted to either logged in users or specific groups of users. It is also possible to attach a list of downloadable files to content pages now, as it was already possible on the home page before.

Under the hood, the new version brings support for PHP 8.4 – the minimum required version remains PHP 8.1. Danilo of the Forum Mladih URA contributed a new translation in Montenegrin for this version.

Further changes (including a list of bugfixes) are listed in the Changelog. The new version can be downloaded on the Github page.

Antragsgrün / Motion.Tools 4.15

Hint: there is also an english version of this announcement.

Mit Version 4.15 ist nun die nächste größere Version der Antrags- und Veranstaltungsverwaltung Antragsgrün erschienen.

Der Schwerpunkt liegt bei dieser Version klar bei der Zugangsverwaltung von Benutzer*innen – gerade für selbst gehostete Installationen, die nicht in eine Single-Sign-On-Lösung integriert sind.

Benutzer*innen können ihren Account nun mit Zwei-Faktor-Authentifizierung absichern. Unterstützt wird dabei jede App, die TOTP unterstützt. Admins können dies für bestimmte Accounts auch erzwingen (z.B. für Accounts mit administrativen Rechten) und dies für einzelne Accounts auch wieder zurücksetzen (falls eine Benutzer*in sich nicht mehr einloggen kann).

Falls ein Account nicht an eine einzelne natürliche Person gekoppelt ist, sondern von einer Gruppe von Personen genutzt werden soll, können Admins für diesen Account nun verhindern, dass das Passwort geändert wird. In diesem Fall kann auch die Einrichtung eines zweiten Faktors unterbunden werden.

Zuletzt können Admins nun auch Accounts komplett löschen sowie die Möglichkeit unterbinden, dass Mitglieder mit existierenden Accounts Zugriffsanfragen für einzelne Veranstaltungen stellen.

Auch die Abwehr von Brute-Force-Angriffen per CAPTCHAs wurde in einigen Details verbessert. Vor allem aber können Seitenbetreiber*innen dies etwas genauer auf ihre Anwendungsszenarien anpassen – sie beispielsweise komplett deaktivieren, oder aber schon beim ersten Login-Versuch aktivieren. Eine leichter lesbare Form wählen (dafür etwas weniger sicher) oder aber bekannten IP-Adressen komplett von der Erkennung ausnehmen – beispielsweise die IP-Adresse eines geteilten WLANs auf einer Präsenzveranstaltung. Genauere Informationen gibt es in der README.

Die frei gestalteten redaktionelle Textseiten können nun auch im Lesezugriff eingeschränkt werden, entweder auf eingeloggte Mitglieder, oder aber auf bestimmte Gruppen. Außerdem können nun auch einzelne Seiten Dateianhänge haben, ähnlich wie die Startseite bisher.

Unter der Haube wird nun auch PHP 8.4 unterstützt – Mindestvoraussetzung bleibt weiterhin PHP 8.1.
Und Danilo vom Forum Mladih URA hat dankenswerter nun auch eine Übersetzung in Montenegrin beigetragen.

Weitere Änderungen werden natürlich auch wieder im ausführlichen Changelog aufgelistet. Den Download gibt es auf der Github-Projekteseite.

Antragsgrün / Motion.Tools 4.14

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.

A screenshot of how a progress report can be entered

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?

Antragsgrün 4.14

Hint: there is also an english version of this announcement.

Mit Version 4.14 ist nun die nächste größere Version der Antrags- und Veranstaltungsverwaltung Antragsgrün erschienen. Wie üblich gibt es ein Sammelsurium an Verbesserungen und Neuerungen an allen Ecken und Enden des Projekts, manche sichtbar, manche unter der Haube.

Da Antragsgrün auch auf Veranstaltungen eingesetzt wird, bei denen es mehrere tausend Anträge gibt, lag ein Schwerpunkt darauf, die Performance zu verbessern, insbesondere durch besseres Caching. Neben dem schon länger existierenden Redis-Cache (für das nun keine zusätzlichen Bibliotheken mehr nachinstalliert werden müssen) gibt es nun auch einen „View-Cache“, bei dem die kompletten Antragstexte und Übersichtsseiten (Startseite, Beschlusslisten, Antragslisten) gecacht und im Dateisystem abgelegt werden können. Die Erzeugung der Caches wird nun auch synchronisiert, sodass Situationen vermieden werden, in denen dutzende Prozesse das selbe hundertseitige PDF gleichzeitig erzeugen und den Server dadurch lahmlegen.

Für Veranstaltungen mit mehreren hundert Anträgen zu verschiedenen Themen (Schlagworten) kann die Startseite nun übersichtlicher gestaltet werden, indem zunächst nur die Liste der Themen angezeigt wird, und die Anträge dann auf Themen-Unterseiten aufgelistet werden.

Dann gibt es nun eine spezielle Funktion für Sachstandsberichte. Manche Organisationen nutzen Antragsgrün, um gefasste Beschlüsse längerfristig ihren Mitgliedern zugänglich zu machen. Mit Sachstandsberichten bekommt jeder Beschluss nun einen extra Textabschnitt, in dem berechtigte Personenkreise einfach den aktuellen Stand bei der Umsetzung des Beschlusses hinterlegen können. Eine genauere Einführung in diese Funktion gibt es auf der Sachstandsbericht-Hifleseite.

Screenshot, der zeigt, wie Sachstandsberichte unterhalb des Beschlusstexts angelegt werden können

Für die Abstimmungen gibt es eine wichtige Neuerung: Delegierten bzw. Stimmberechtigten kann nun auch ein Stimmgewicht zugeordnet werden. Das kann beispielsweise genutzt werden, falls eine Delegierte mehrere Organisationen vertritt.

Eine eher interne Änderung gibt es bei der PDF-Erzeugung. Während die Standard-PDF-Erzeugung weiterhin auf TCPDF basiert und unverändert weiter besteht, wird die Verwendung von LaTeX-basierter PDF-Erzeugung nicht mehr weiter unterstützt, da dies in der Praxis zu fehleranfällig war. Stattdessen wird nun für flexiblere und hübscher gelayoutete PDFs Weasyprint verwendet. Als Nutzer*in der gehosteten merkt man davon im Idealfall nichts (außer durch weniger Fehler gerade bei Bewerbungs-PDFs), aber uns hilft es, in Zukunft schneller und einfacher PDF-Vorlagen anzulegen.

Dann gibt es noch eine ganze Reihe kleinerer Neuerungen:

  • Super-Admins können nun auch die E-Mail-Adressen von registrierten Nutzer*innen ändern, nicht mehr nur das Passwort.
  • Es gibt eine zuschaltbare Funktion, um Mitgliedern die Möglichkeit zu geben, sich durch Anträge zu blättern – über/unter jedem Antrag gibt es dann „Nächster/Voriger Antrag“-Links
  • Die Antragsliste kann nun auch nach Antragstyp gefiltert werden.
  • Werden beim Export „inaktive“ Anträge bzw. Änderungsanträge auswählt, werden auch unveröffentlichte Anträge mit exportiert.
  • Der Layout-Editor lässt nun einige zusätzliche Einstellungen zu – insbesondere die Textformatierung in Überschriften lässt sich flexibler einstellen (z.B. um die Schattierung oder „Fettung“ zu deaktivieren).
  • Die Möglichkeit, Anträge als Einzelperson und/oder Organisation einzureichen kann nun auch einzeln mit Rechten versehen werden – um beispielsweise nur einem eingeschränkten Personenkreis die Möglichkeit zu geben, als Einzelperson Anträge zu stellen.

Weitere Änderungen werden natürlich auch wieder im ausführlichen Changelog aufgelistet. Den Download gibt es auf der Github-Projekteseite.

Unabhängig von dieser konkreten Version gibt es übrigens inzwischen auch einige detailiertere Tutorials zur Einrichtung von Antragsgrün, die zwar noch „Work in Progress“ sind, aber mindestens eines ist meiner Meinung nach schon hilfreich genug um veröffentlicht zu werden:
Tutorial: Mitgliedern die Möglichkeit geben, Anträge zu geben
Tutorial: Änderungsanträge zulassen
Tutorial: Sachstandsberichte (oben bereits verlinkt)

Antragsgrün 4.13 (u. 4.13.1)

Antragsgrün 4.13.0 sowie kurz darauf das kleine Feature-Update 4.13.1 ist erschienen. Die neuen Funktionen werden im Folgenden zusammen vorgestellt. Der Schwerpunkt lag dabei bei der Administrierbarkeit und Anpassbarkeit.

Technische Unter-der-Haube-Neuerungen:
Antragsgrün erwartet nun PHP mindestens in der Version 8.0.
Für größere Veranstaltungen, die regen Gebrauch von der Redeliste machen, gibt es nun einen Live-Server, der Antragsgrün um Echtzeit-Funktionalität erweitert. Hintergrund ist, dass Antragsgrün als „traditionelles“ PHP-Content-Management-System einigen Einschränkungen unterliegt, was dazu führt, dass Änderungen an der Redeliste erst mit einigen Sekunden Verzögerung bei allen Benutzer*innen auftauchen. Das „Antragsgrün Live“ Projekt ist nun ein separates Projekt auf Basis des Java-basierten Spring-Frameworks, das Änderungen in Echtzeit über Websockets an alle verbundenen Benutzer*innen übermittelt. Es ist komplizierter einzurichten als das pure Antragsgrün, und Antragsgrün funktioniert auch ohne genauso weiter wie bisher. Aber für größere Veranstaltungen dürfte sich die Einrichtung lohnen, nicht zuletzt da auch die Belastung des Servers dadurch reduziert wird.

Einige Änderungen gab es bei der Schlagwort-Verwaltung:

  • Schlagworte lassen sich nun umbenennen und umsortieren.
    Interne Schlagworte für die Verfahrensvorschläge lassen sich nun löschen, umbenennen und umsortieren.
  • Bei der Startseiten-Variante „Themen / Schlagworte als Liste“ lässt sich die Schlagwort-Liste ganz oben nun auch deaktivieren.

Bei der administrativen Antragsliste gibt es einige Neuerungen:

  • Steht ein Antrag bzw. Änderungsantrag auf der „To Do“-Liste, wird das nun auch auf der Antragsliste entsprechend vermerkt. Es lässt sich nach solchen Anträgen filtern, und was zu erledigen ist (z.B. „Freischalten“) wird auch in der Liste vermerkt.
  • Die letzte Suche bzw. Filterung wird nun gespeichert. Öffnet man also aus der gefilterten Liste heraus einen Antrag und geht zurück zur Liste, bleibt die Filterung also erhalten.

Exports:

  • Es gibt nun einen neuen Export, bei dem sämtliche Antragstexte in einer gesammelten OpenDocument/ODT-Datei heruntergeladen werden.
  • OpenDocument/ODT-Exports unterstützen nun auch nummerierte Listen.
  • Es gibt einen neuen Download, bei dem man die Kommentare zu den Anträgen als Excel-Datei herunterladen kann.

Antragsverwaltung:

  • Es gibt die beiden neuen Status „Erledigt durch anderen Antrag“ und „Erledigt durch anderen Änderungsantrag“. Wählt man diese, erscheint ein neues Feld, bei dem man den jeweiligen (Änderungs-)Antrag auswählen kann.
  • Man kann einen Antrag inklusive Änderungsanträge innerhalb einer Veranstaltung kopieren.

Anpassbarkeit:

  • Es ist über die Seiten-Konfiguration nun möglich, die Registrierung von neuen Accounts komplett zu deaktivieren, um eine Seite komplett auf „Nur auf Einladung“ umzustellen.
  • Die privaten Notizen können komplett unterbunden werden.
  • Es kann so eingerichtet werden, dass Links zu externen Seiten sowie PDFs in neuen Browser-Tabs geöffnet werden.

Weitere Änderungen werden natürlich auch wieder im ausführlichen Changelog aufgelistet. Den Download gibt es auf der Github-Projekteseite.

Antragsgrün 4.12

Die nächste größere Version der Antrags- und Veranstaltungsverwaltung Antragsgrün ist nun erschienen. Der Fokus lag diesmal wieder bei der Rechteverwaltung und dem eigentlichen Antragswesen.

Viel Arbeit floss in eine flexiblere Rechteverwaltung. Statt nur zwei bis drei administrative Rollen vorzugeben (Antragskommission, Veranstaltungs-Admin, Seiten-Admin) ist es nun zusätzlich möglich, einzelne Rechte an Benutzergruppen zu vergeben – beispielsweise eine Gruppe, deren Mitglieder nur Anträge freischalten können, diese inhaltlich nicht verändern. Oder eine andere Gruppe, die Redelisten und Abstimmungen administrieren können, aber keinen Eingriff auf die Anträge haben. Die antragsbezogenen Rechte können dabei auch auf bestimmte Anträge und Änderungsanträge beschränkt werden, sodass eine Gruppe beispielsweise nur administrative Rechte für Anträge eines bestimmten Antragstyps, eines Tagesordnungspunkts oder eines Themas hat.

Das Überarbeiten von Anträgen (beispielsweise durch das Einpflegen von Änderungsanträgen) wurde leicht angepasst. Statt die neu erstellten Anträge mit „A1neu2“ zu nummerieren, bleibt das Antragskürzel (A1 im Beispiel) nun bestehen, und stattdessen mit durchnummerierten Versionen gearbeitet. Gibt es mehr als nur ein oder zwei Versionen, wird bei jedem Antrag die Versionshistorie eingeblendet, sodass Interessierte sich leicht die Veränderungen über die Versionen hinweg anschauen können. In der Admin-Antragsliste wird nun hingegen standardmäßig nur noch die jeweils aktuellste Fassung des Antrags angezeigt – mit der Möglichkeit, sich optional trotzdem wieder alle Fassungen aller Anträge in einer Liste anzeigen zu lassen.

Beim Einpflegen von Änderungsanträgen gibt es darüber hinaus für die einpflegende Person nun auch die Möglichkeit, ein Protokoll mit einzugeben, öffentlich oder nicht-öffentlich – beispielsweise um Wortmeldungen oder Abstimmungsergebnisse während der Beratung zu hinterlegen. Wird das Protokoll öffentlich gestellt, kann es bei der neuen Antragsversion optional angezeigt werden.

Wird für Anträge ein Verfahrensvorschlag angegeben, gibt es nun analog zu den Änderungsanträgen auch die Möglichkeit, eine modifizierte Übernahme vorzuschlagen. Auf Wunsch kann nun die vorgeschlagene modifizierte Übernahme bei Anträgen und Änderungsanträgen auch in das erzeugte PDF mit aufgenommen werden.

Wird ein Antragstyp mit tabellarischen Angaben festgelegt – beispielsweise für Bewerbungen – gibt es nun auch die Möglichkeit, im Antragsformular ein Dropdown-Auswahlfeld mit vorgegebenen Möglichkeiten anzubieten, aus denen die Antragstellerin auswählen muss.

Bei Abstimmungen kann nun die Anzahl der Stimmen beschränkt werden. So kann man beispielsweise fünf Möglichkeiten vorgeben und die Mitglieder dazu anhalten, sich für eine der Möglichkeiten zu entscheiden, oder auch für höchstens drei der fünf.

Admins können nun Themen bzw. Schlagworte verwenden, die Zuordnung der Anträge zu diesen aber komplett selbst übernehmen. Bislang war es so, dass sobald Themen definiert wurden, diese von den Antragsteller*innen selbst gesetzt wurden. Dies kann nun optional so eingeschränkt werden, dass nur noch Admins im Nachhinein Themen vergeben können.

Admins können nun außerdem neben der Antragsteller*in selbst auch noch weitere Antragsteller*innen angeben, falls ein Antrag also von mehreren Organisationen gemeinsam gestellt wird. In diesem Fall gibt es also weiterhin eine Person bzw. einen Account, der den Antrag technisch einreicht – aber als Admin kann man die weitere Organisation nachträglich händisch mit hinterlegen.

Bei selbst gehosteten Versionen von Antragsgrün können Seiten-Admins nun einige Angaben registrierter Benutzer*innen bearbeiten – beispielsweise den Namen, die Organisation, oder ein neues Passwort setzen.

Weitere Änderungen werden natürlich auch wieder im ausführlichen Changelog aufgelistet. Den Download gibt es auf der Github-Projekteseite.

Antragsgrün 4.11

Die nächste größere Version der Antrags- und Veranstaltungsverwaltung Antragsgrün ist nun erschienen. Es ist wieder ein Sammelsurium an Verbesserungen existierender Funktionen, komplett neuer Features sowie technischer Modernisierungen unter der Haube.

Für Veranstaltungen, die Antragsgrün vor Ort einsetzen, wurden die Redelisten verbessert. Administrierende können nun leichter die Bewerbungen für die Redeliste umsortieren, und fehlerhafte Bewerbungen auch wieder entfernen. Außerdem gibt es nun auch eine Funktion, Geschäftsordnungsanträge zuzulassen. Das muss von Admins explizit aktiviert werden, nachdem die Redeliste aktiviert wurde. Redner*innen können dann ihren Redebeitrag als GOs markieren, diese werden dann in der Redeliste oben angezeigt.

Redeliste mit Redezeit und GO-Anträgen

Auch bei den Online-Abstimmungen gab es Detail-Verbesserungen: gibt es viele davon, lassen sich diese nun nachträglich umsortieren. Abstimmungen lassen sich nun auch schließen, ohne das Ergebnis sofort zu veröffentlichen. Auf Wunsch lässt sich auch ein Countdown anzeigen, der Teilnehmenden andeutet, wie viel Zeit noch zum Abstimmen bleibt (es ist aber nach wie vor an der Administrierenden, die Abstimmung dann tatsächlich zu schließen).

Abstimmung mit kundinnenspezifischer Auswertung

Will man Dokumente zu einer Veranstaltung auf Antragsgrün veröffentlichen (PDFs oder ähnliche Dateien), konnte man das bislang schon auf der Startseite im Willkommenstext tun. Wenn man aber mehr als nur zwei, drei Dokumente veröffentlichte, wurde das schnell unübersichtlich. Daher gibt es nun die Möglichkeit, unter „Aussehen und Bestandteile dieser Seite“ eine Dokumentenverwaltung zu aktivieren, die auf einer separaten Seite im Menü erscheint. Dort lassen sich dann mehrere Dateigruppen bzw. Überschriften anlegen, unter denen man jeweils beliebig viele Dokumente veröffentlichen kann.

Bei Satzungsänderungsanträgen lässt sich nun auch die Möglichkeit aktivieren, Änderungsanträge zu einem Satzungsänderungsantrag zu stellen. Der resultierende neue Satzungsänderungsantrag wird bislang noch wie ein separater neuer Satzungsänderungsantrag angezeigt, es kann aber sein, dass wir hier an der Darstellung noch etwas feilen werden.

Bei einzelnen Änderungsanträgen lässt sich von Admins nun einstellen, dass diese standardmäßig mit dem kompletten Antragstext angezeigt werden, statt wie standardmäßig nur die betroffenen Zeilen. Nutzer*innen können weiterhin zwischen beiden Ansichten wählen, indem sie die Ansicht über das Einstellungs-Zahnrad in der „Antragstext“-Überschrift eines Änderungsantrags wählen.

Statt die gesamte Kommentarfunktion für eine Antragsgrün-Seite zu deaktivieren, lassen sich nun auch die Kommentare für einzelne Anträge oder Änderungsanträge schließen. Außerdem lässt sich nun auch die Lese-Berechtigung für Kommentare beschränken, sodass z.B. nur Nutzer*innen, die auch eingeloggt sind auf den Kommentarbereich zugreifen können.

Auf der größten Antragsgrün-Seite, der Installation für Bündnis 90 / Die GRÜNEN, ist es nun endlich möglich, die Antragstellung auf Mitglieder einer bestimmten Parteigliederung einzuschränken – also auf Mitglieder bestimmter Landesverbände, Kreis- oder Ortsverbände. Das funktioniert, wenn das Grüne Netz zum Login verwendet wird und die Mitgliedschaften im Grünen Netz gepflegt sind. Um es zu nutzen, muss man bei der jeweiligen Berechtigung („Antrag stellen“, „Änderungsantrag stellen“, Abstimmungen etc.) den Punkt „Ausgewählte Gruppen“ wählen. Im dann erscheinenden Textfeld lässt sich dann nach einer oder mehrerer Parteigliederung suchen, indem man anfängt deren Namen einzutippen. Empfehlenswert ist außerdem, das Login dann aufs Grüne Netz einzuschränken (unter „Diese Veranstaltung“).

Weitere Änderungen werden natürlich auch wieder im ausführlichen Changelog aufgelistet. Den Download gibt es auf der Github-Projekteseite.

Antragsgrün 4.10

Die nächste größere Version der Antrags- und Veranstaltungsverwaltung Antragsgrün ist nun erschienen. Die neue Version wurde maßgeblich vom Europäischen Jugenforum für ihre Vorort-Veranstaltungen voran getrieben, weswegen es die meisten Verbesserungen auch in den Bereichen Benutzer*innenverwaltung, Online-Abstimmungen und Redelisten statt fanden.

Die wichtigste Neuerung gibt es bei der Benutzer*innnen-Verwaltung bei Veranstaltungen, die den Zugriff beschränken. Denn neu eingeführt werden Benutzer*innen-Gruppen, über die Rechte zugeteilt werden können. Es können damit beliebige Gruppen angelegt werden und jede Benutzer*in kann einer oder mehreren Gruppen zugeteilt werden. Sowohl das Anlegen von Anträgen, Änderungsanträgen, das Unterstützen sowie die Stimmabgabe bei Abstimmungen kann auf eine oder mehrere Gruppen beschränkt werden. Auch die Vergabe von Administrator*innen-Rechte wird ab dann über diese Gruppen funktionieren: zur Administrator in wird man gemacht, indem man eine der drei Standard-Gruppen zugeteilt wird: „Seiten-Admin“ (Admin-Rechte für alle Veranstaltungen dieser Subdomain), „Veranstaltungs-Admin“ (Admin für diese eine Veranstaltung) sowie „Antragskommission“.

Größere Neuerungen gibt es auch bei den Online-Abstimmungen. Es kann nun nicht mehr nur über Anträge und Änderungsanträge abgestimmt werden, sondern auch über einzelne Fragen (beispielsweise die Annahme der Tagesordnung oder des Präsidiums einer Veranstaltung). Waren die Antwortmöglichkeiten bisher auf „Ja/Nein/Enthaltung“ festgelegt, gibt es nun auch „Ja/Nein“ (ohne explizite Enthaltung) sowie ein einfaches „Anwesend“ als Antwortmöglichkeit – letzteres kann verwendet werden, um auf einer Veranstaltung die Anwesenheit abzufragen(beispielsweise um die Stimmberechtigung einer Veranstaltung festzustellen). Wie bereits geschrieben, lässt sich außerdem die Stimmabgabe auf einzelne Benutzer*innen-Gruppen einschränken. Ist das der Fall, kann für Abstimmungen außerdem noch ein Quorum (Einfache Mehrheit oder 2/3-Mehrheit aller berechtigten Benutzer*innen) festgelegt werden, das erreicht werden muss, damit eine Abstimmung als erfolgreich gilt.

Die Redeliste wurde um ein paar kleinere Funktionen erweitert – insbesondere kann die Redeliste nun auch auf einer separaten Seite angezeigt werden sowie im Vollbildmodus, der sich besonders für die Projektion auf Beamern eignet. Es kann außerdem eine maximale Redezeit pro Redner*in festgelegt werden. Ist das der Fall, erscheint auf allen Seiten neben der Redner*in ein Countdown, der die verbleibende Redezeit anzeigt.

Anträge bekommen zwei neue Status, die vergeben werden können: „Quorum erreicht“ und „Quorum verfehlt“. Sie kommen zum Einsatz, falls bei der Abstimmung über einen (Änderungs-)Antrag das Quorum verfehlt wurde oder – bei Anwesenheitsabfragen – erreicht wurde.

Nebenbei wurden auch die Grundsteine für eine Integration mit OpenSlides gelegt, um perspektivisch einen Parallelbetrieb von OpenSlides und Antragsgrün mit synchronem Datenbestand und Benutzer*innenverwaltung zu ermöglichen – dies wurde aber in der Praxis noch nicht eingesetzt.

Weitere Änderungen werden natürlich auch wieder im ausführlichen Changelog aufgelistet. Den Download gibt es auf der Github-Projekteseite.

München Transparent – Update

Seit fast genau sieben Jahren gibt es nun das Portal München Transparent, das ich um 2015 herum zusammen mit Konstantin Schütze und Bernd Oswald entwickelt hatte. Ziel von München Transparent ist es, die Inhalte des „Ratsinformationssystems“, also die öffentlichen Dokumente des Münchner Stadtrats sowie der 25 Bezirksausschüsse einfacher und übersichtlicher zugänglich zu machen – beispielsweise durch eine übersichtlichere Seite, eine bessere Volltextsuche und E-Mail-Benachrichtigungen.

München Transparent hatte dabei aber zu keinem Zeitpunkt unmittelbaren Zugriff auf den Datenbestand des Ratsinformationssystems, sondern musste sich wie jede reguläre Nutzerin durch die Webseite ris-muenchen.de durchklicken – nur eben automatisiert (sogenanntes „Scraping“). Das ganze lief recht reibungslos bis Ende letzten Jahres.

Im November 2021 ging dann die neue, verbesserte Version des offiziellen Münchner Ratsinformationssystems online, die viele der Schwächen des alten beseitigte. Was grundsätzlich sehr begrüßenswert ist, hatte leider zur Folge, dass der gesamte Mechanismus des Datenimports von München Transparent zu Bruch ging und keine neuen Anträge, Vorlagen und Termine mehr aufgenommen werden konnten.

Die letzten Wochen gab es daher einen recht regen Austausch sowohl mit Mitarbeitenden aus der Stadtverwaltung als auch Mitgliedern des Stadtrats darüber, wie sich München Transparent retten lässt. Zum Glück gab es durchgängig Unterstützung für das Projekt, insbesondere aus dem E-/Open-Government-Team. Daher geht nun tatsächlich wieder einiges voran: nach und nach wird der Import der Daten repariert und auch einige seit langem bestehende Probleme werden angegangen.

Was bereits wieder funktioniert: (zuletzt aktualisiert: 25. Februar 2022)

  • Der Import von Stadtratsanträgen und -vorlagen
  • Der Import von Stadtrats- und Bezirksausschuss-Terminen (mitsamt mehreren behobenen Fehlern bei den Tagesordnungen)
  • Mitgliedslisten des Stadtrats und der Bezirksausschüsse, sowie die Gremien
  • Der Import von Anträgen und Initiativen aus den Bezirksausschüssen
  • E-Mail-Benachrichtigungen

Technische Hinweise:

  • Der aktuelle Entwicklungsstand läuft im Github-Repository
  • Ich nutze die Gelegenheit, wo möglich aktuellere Software einzusetzen. Beispielsweise ist die neue Version nun auch mit PHP 8 kompatibel und einige eingesetzte Bibliotheken werden aktualisiert.
  • Ob ich die Zeit finde, auch das sehr in die Tage gekommene Framework Yii1 zu ersetzen, wird sich noch zeigen.

Antragsgrün 4.9

Die nächste größere Version der Antrags- und Veranstaltungsverwaltung Antragsgrün ist nun erschienen. Der Fokus lag diesmal eher auf Verbesserungen unter der Haube und bei der Barrierefreiheit. Aber auch einige größere neue Funktion gibt es, die vor allem dann interessant sind, wenn Antragsgrün vor Ort auf einer Veranstaltung oder zum Einreichen von Bewerbungen genutzt wird.

Es lassen sich nun Online-Abstimmungen über Anträge und Änderungsanträge über Antragsgrün abwickeln, analog zum Hochhalten von Stimmkarten auf Veranstaltungen. Nutzer*innen der Seite können dabei jedem zur Abstimmung gestellten (Änderungs-)Antrag ein Ja-/Nein-/Enhaltungs-Votum geben. Die Abstimmung kann dabei wahlweise namentlich öffentlich oder nicht-öffentlich erfolgen – nur geheime (Personen-Wahlen) werden nach wie vor nicht unterstützt. Für die Ermittlung der Mehrheit kann entweder die einfache, absolute oder Zwei-Drittel-Mehrheit gewählt werden. Einrichten lässt sich diese Funktion unter „Einstellungen“ -> „Abstimmungen“, indem man zunächst einen neuen Abstimmungs-Block anlegt anlegt und anschließend (Änderungs-)Anträge zuordnet. Eine genauere Anleitung zu dieser neuen Funktion findet sich auf der Hilfe-Seite.

Anträge sowie Änderungsanträge können nun auch im Vollbildmodus angezeigt werden, z.B. für Projektoren auf Veranstaltungen. Dazu wählt man (eingeloggt) das Vollbild-Icon in der Titelzeile eines Antrags. Im Vollbildmodus ist es dann auch möglich, zwischen den einzelnen Anträgen umzuschalten, über das Drop-Down-Menü wiederum in der Titelzeile.

Es gibt nun als Admin auch die Möglichkeit, bei Antragstypen einzelne Abschnitte als „Nicht-Öffentlich“ zu markieren. Das heißt, Angaben der Antragsteller*in sind nur für diese selbst und Administrierende einsehbar. Konzipiert wurde diese Funktion beispielsweise für Bewerbungen für Listenplätze, bei denen auch zusätzliche Informationen mit eingereicht werden müssen, die allerdings nicht für die öffentlichen Bewerbungen gedacht sind.

Die Sicherheit wurde durch einen CAPTCHA-Mechanismus erhöht, der ab mehreren fehlgeschlagenen Login-Versuchen anschlägt. Dadurch werden Brute-Force-Angriffe eingeschränkt.

Auf der technischen Seite wurde die Unterstützung für den Internet Explorer aufgegeben. Zum Hosting reicht weiterhin (nicht empfehlenswert) PHP 7.2, 4.9 wird aber die letzte Version sein, die dies noch unterstützt. PHP 8.1 wird mit der nächsten kleineren Version mit unterstützt, aktuell leider nur bis maximal PHP 8.0.

Weitere Änderungen werden natürlich auch wieder im ausführlichen Changelog aufgelistet. Den Download gibt es auf der Github-Projekteseite.