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.

Antragsgrün 4.8

Die nächste größere Version von Antragsgrün biegt gerade auf die Zielgerade ein: alle Neuerungen sind eingebaut und nach internen Tests reif, auf breiter Basis genutzt zu werden. Auf antragsgruen.de wird sie bereits produktiv eingesetzt, das herunterladbare Paket zum Selbst-Hosten folgt in Kürze. Es gibt wieder an verschiedensten Stellen Verbesserungen:

Neu ist eine gesonderte Unterstützung für Satzungsänderungsanträge, die von Mitgliedern einerseits wie reguläre Anträge eingereicht werden können, auf der Startseite als eigenständige Anträge auftauchen und auch Kürzel wie z.B. „S1“ bekommen, in ihrer Text-Darstellung aber andererseits die Änderungsdarstellung von Änderungsanträgen nutzen. Um diese Funktion zu nutzen, legt man als Administrator*in zuerst einen neuen Antragstypen vom gleichnamigen Typen an und hinterlegt anschließend die Satzung als ganzes Dokument oder als einzelne Kapitel. Ab dann können Mitglieder Satzungsänderungsanträge einstellen, die sich auf die eingegebenen Texte beziehen.
Übrigens ist im Zusammenhang mit Satzungen auch erwähnenswert, dass schon in Version 4.6 deutlich flexiblere Listen eingeführt wurden, insbesondere hinsichtlich den Bedürfnissen von Satzungen.

Das Einpflegen von Änderungsanträgen bzw. die Beschlusserstellung wurde in einigen Punkten verbessert. Gibt es kollidierende Änderungsanträge (also zwei oder mehr Änderungsanträge, die sich auf das selbe Wort beziehen), werden nun auch ein Großteil der kollidierenden Änderungen direkt im Text angezeigt, um das Bearbeiten zu vereinfachen. Erst wenn größere Abschnitte eingefügt oder gelöscht werden und es dabei Kollisionen gibt, werden diese herausgelöst unterhalb des Absatzes wiederholt wie bisher.

Eine Textstelle wird von verschiedenen Änderungsanträgen konkurrierend geändert. Die Änderungen werden alle dargestellt, außerdem können nun Kompromissvorchläge, die live erarbeitet werden, farbig dargestellt werden.

Wird die Beschlusserstellung live auf einer Veranstaltung eingesetzt und im Text auch Kompromissvorschläge erarbeitet, lässt sich nun einstellen, dass von Admins eingegebener Text farbig erscheint.

Ist einmal unklar, wann und von wem eine Änderung an einem Antrag oder Änderungsantrag vorgenommen wurde, können Admins nun ein Aktivitäts-Protokoll speziell bezogen auf einzelne Anträge anzeigen lassen. Dazu geht man auf die Bearbeiten-Seite des (Änderungs-)Antrags und anschließend auf „Aktivität-Protokoll“ in der Seitenleiste rechts.

Auf ebendieser Seite ist es Admins nun auch möglich, (Änderungs-)Anträge nachträglich einzelnen Nutzer*innen zuzuordnen, sodass diese fortan Kontrolle darüber haben, als hätten sie ihn selbst eingereicht.

Um die Einreichung eines Antrags oder einer Bewerbung noch weiter zu erleichtern, ist es nun auch möglich, auf die Angabe der Antragsteller*in komplett zu verzichten. Dazu wählt man beim Bearbeiten des Antragstypen unter „Antragsteller*in“ -> Formular den Punkt „Keine Antragsteller*in“ aus.

Da eingescannte Bilder und Fotos häufig auch im PDF-Format gespeichert werden, ist es nun für Mitglieder auch möglich, zum Beispiel bei Bewerbungen ihr Foto oder eine ergänzende Abbildung als PDF hochzuladen. Dieses wird dann automatisch in ein reguläres Bildformat umgewandelt.

Wird Antragsgrün auch verwendet, um die Tagesordnung einer Veranstaltung zu planen, ist es nun möglich, einzelne Änderungsanträge eines Antrags auch innerhalb eines anderen Tagesordnungspunktes zu behandeln als den eigentlichen Antrag – beispielsweise wenn ein einzelner Änderungsantrag strittig genug ist, um einen eigenen Tagesordnungspunkt rechtzufertigen. Man kann den Änderungsantrag analog zum Antrag auf der Bearbeiten-Seite einem Tagesordnungspunkt zuordnen.

Bei größeren Veranstaltungen, bei denen mit Verfahrensvorschlägen gearbeitet wird, ist es nun auch möglich, Anträge und Änderungsanträge mit internen Schlagworten zu gruppieren, die der Antragskommission helfen kann, beispielsweise Verhandlungspakete zu gruppieren. Diese Schlagworte können beim Bearbeiten des Verfahrensvorschlags eingegeben werden und sind anschließend in der Antragsliste sichtbar und filterbar.

Eine besondere technische Herausforderung ist / war auch wieder die diesjährige Bundesdelegiertenkonferenz von Bündnis 90 / Die GRÜNEN, auf der für das Wahlprogramm behandelt wird. Über 4.000 Änderungsanträge wurden hier eingereicht, was das System mehrfach an den Rand des Absturz brachte (und, zugegebenermaßen, auch mitunter darüber hinaus). Viele der Performance-Verbesserungen, die schlussendlich umgesetzt wurden, um das ganze noch lauffähig zu halten, flossen auch in das reguläre Antragsgrün zurück und dürften so auch mittelgroßen Veranstaltungen in Zukunft helfen.

Weitere Änderungen werden natürlich auch wieder im ausführlichen Changelog aufgelistet. Den Download gibt es, sobald die neue Version offiziell freigegeben wurde, auf der Github-Projekteseite.

Antragsgrün 4.7

Nach längerer Entwicklungszeit – zehn Monate seit der letzten größeren Version – ist nun Antragsgrün in der Version 4.7 erschienen. Eingeflossen sind unter anderem Neuerungen, die für Anwendungsfälle verschiedenster Organisationen umgesetzt wurden, vom Deutschen Bundesjugendring über den Deutsche Frauenrat hin zur European Green Party und natürlich Bündnis 90 / Die Grünen.

Wenn Antragsgrün während einer Veranstaltung genutzt wird, also zum Beispiel auf einem Online-Parteitag, lässt sich nun die Redeliste leicht über Antragsgrün verwalten. Teilnehmende können sich dabei auf eine Warteliste setzen, als Admin kann man diese Warteliste verwalten, umsortieren und festlegen, wer in welcher Reihenfolge spricht. Auf Wunsch lässt sich diese Redeliste dabei auch quotieren, um abwechselnde Redebeiträge zu ermöglichen. Aktivieren lässt sich diese Möglichkeit entweder beim Anlegen einer Veranstaltung oder nachträglich unter Einstellungen -> Aussehen / Bestandteile dieser Seite. Der Funktionsumfang der Redelisten ist aktuell noch recht überschaubar, wird in Zukunft aber je nach Bedarf erweitert.

Nutzt man Antragsgrün, um Bewerbungen für bestimmte Posten zu verwalten, kann man als Admin nun auch die Einreichung von Bewerbungs-Videos ermöglichen: man fügt dazu dem Typen Bewerbung den Antrags-Abschnitt „Eingebettetes Video“ hinzu, ab dann können Kandidierende Videos mit angeben, die vorher bei Youtube, Vimeo oder einer anderen Video-Seite hochgeladen wurden.

Unabhängig davon ist es nun etwas leichter, die Bewerbungen zu verwenden, da nun bei der Einrichtung einer Antragsgrün-Seite gleich zu Beginn abgefragt wird, welche Funktionen (Anträge, Wahlprogramm, Bewerbungen, Tagesordnung, Redelisten) genutzt werden sollen.

Nutzt man mehrere Antragstypen nebenher (z.B. Anträge, Dringlichkeitsanträge und Bewerbungen), ist es nun möglich, nicht mehr nur den Titel dieser Typen anzupassen, sondern auch Erklärungstexte beim Anlegen, Benachrichtigungs-E-Mails an die Antragstellenden, und weitere.

Generell wird Antragsgrün weiterentwickelt, um sich leichter mit weiteren Online-Tools und Login-Systemen verbinden zu lassen. Ein Beispiel hierfür ist die Online-BDK letzten November, bei der Antragsgrün mit der Online-Konferenzsoftware der Netzbegrünung zusammenarbeitete. Technisch basiert das auf einer REST-Schnittstelle (OpenAPI-Spezifikation), die noch recht überschaubar ist, in Zukunft aber je nach Bedarf weiterentwickelt wird.

Erwähnenswert ist noch, dass die mindestens vorausgesetzte PHP-Version nun auf Version 7.2 erhöht wurde – wobei natürlich hoffentlich ohnehin niemand mehr Versionen unter 7.3 einsetzt.

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