Edited (version 21)
Kommentator 2000
BK
Strukturieren von Gesetzestext-Änderungen am Anfang des Prozesses anhand von Vernehmlassungen. Erstellen von Anträgen und Stellungnahmen zu Rechtstexten.
Challenge
Stellungnahmen sind ein Instrument der politischen Meinungsbildung und Konsensfindung, ein essentieller Teil der eine vernetzte Schweiz ermöglicht. (siehe lebendige-traditionen.ch)
Ein Antrag ist als Super-Klasse von Vorgängen im politischen Prozess der Schweiz zu verstehen, die ein Ereignis auslösen. Beispielsweise, wird ein Gesetz oder eine Verordnung angepasst, gibt es von einer Entität einen Antrag dazu. Einen guten Antrag sowohl inhaltlich wie auch strukturell korrekt zu verfassen ist anspruchsvoll. Nicht nur für Laien, auch für Fachexperten benötigt die Erstellung und Konsolidierung eines Antrags viel Zeit und Energie.
In einem modernen Software-Entwicklungs-Prozess haben wir ein ähnliches Problem bereits gelöst. Wir nutzen git für für die Verwaltung von (Code resp. Text-)Versionen; nutzen GitHub (oder andere) um Vergleiche zwischen Versionen zu kommentieren und zu einem Konsens zu gelangen.
In den politischen Meinungsfindung der Schweiz gibt es ähnlichen Prozesse auf verschiedensten Stufen. Obwohl die Stellungnahmen in einer digital (aber unstrukturiert) Publiziert wird, findet die Konsensbildung in Microsoft Word, per Email oder verbal statt. Der Prozess ist mit vielen Medienbrüchen behaftet, da viele Akteure.
Ziel ist es einen Prototyp-Editor zu gestalten und entwickeln welcher es erlaubt, Text in einer vorgegebenen Datenstruktur zu erstellen, kommentieren und anzupassen. Alle Versionen und Kommentare sind für einen Benutzer nachvollziehbar visualisiert und gespeichert.
Ressourcen
Die Ausgangslage für jeden Änderungs-Antrag ist der Gesetzessammlung von Fedlex. Bspw. die Regierungs- und Verwaltungsorganisationsverordnung (RVOV): fedlex.admin.ch
Fedlex bietet die Gesetzessammlung als XML Datenstruktur im XML-Standard Akoma Ntoso (http://www.akomantoso.org/) zur Verfügung gestellt. Für RVOV bspw. ist dies fedlex.admin.ch
Goal
Auf Basis der Akamo Ntoso XML-Datenstruktur wird eine Änderung des Gesetztes resp. der Verordnung auf Basis der Fassung, des Artikels und der Ziffer erstellt.
Durch eine Änderung an einer Ziffer wird das Resultat der Änderung visualisiert und in geeigneter Weise hervorgehoben.
Auf einen bestehenden Änderungsantrag kann eine Stellungnahme verfasst, resp. den Änderungsantrag weiter editiert, Stellung dazu (Annahme oder Ablehnung) und kommentiert werden. Jede weitere Änderung wird versioniert und ist für die Benutzer nachvollziehbar angezeigt.
Stretch Goals
Aufteilen und Zusammenführen von Texten, werden von dem Editor unterstützt. So ist für den Benutzer ersichtlich, dass einerseits ein Text aus zwei Texten zusammengeführt wurde resp. das ein Text in zwei neue Texte aufgeteilt wurde.
Synchrone Kollaboration, d.h. mehr als ein Benutzer arbeitet am gleichen Text. Und sehen wer die anderen Benutzer sind, wo ihr Cursor ist, welchen Text (resp. welche Zeichen) sie gerade eingegeben haben und was sie bereits geändert haben.
Outcomes
Anpassungen an Rechtstexten und die Meinungsfindung und Konsolidierung sind für alle effizient durchführbar und nachvollziehbar.
Solutions
Es gibt den dokumentenbasierte Prozess abgewickelt über E-Mail. Es gibt verschiedene Vorhaben in der Bundesverwaltung und im privaten Sektor, die Stellungnahme-Prozesse digitalisieren.
Restrictions
Die erwähnten Daten auf www.fedlex.admin.ch sind öffentlich verfügbar.
Verwendung
Innovative Prototypen werden als Grundlage für die Digitalisierung der Konsolidierungs-Prozesse dienen um Entscheidungsträger und Benutzer abzuholen.
Sales Pitch
Demo Pitch
https://docs.google.com/presentation/d/1dEN4HUQd3Xy8fi_sEWd8jVOfwCXyXhrwcMsy55vd3yQ/edit?usp=sharing
Organisation
Schweizerische Bundeskanzlei
Kommentator 2000
- GitHub: https://github.com/metaodi/govtech24_kommentator2000
- Hackathon Challenge: https://hack.opendata.ch/project/1106
Analyse
Akoma Ntoso ist komplex.
Verschiedene Akoma Ntoso Editoren gibt es am Markt: - Indigo by Laws.Africa - Lime by University of Bologna - LEOS by EU
Für den Vernehmlassung Prozess abzuwickeln gibt es in der Schweiz folgende bekannte Akteure ausserhalb der Bundesverwaltung: - demokratis.ch - e-mitwirkung.ch - E-Mitwirkung des Kanton Luzern
Im Akamo Ntoso XML von Fedlex können folgende Identifikatoren verwendet werden:
// document/law identification
// e.g. "https://fedlex.data.admin.ch/eli/cc/1999/170/20240201"
/akomaNtoso/act/meta/identification/FRBRWork/FRBRuri[@value]
// paragraph identification
// e.g. "art_1/para_1"
//paragraph[@eId]
Entwurfsentscheidungen
- Datenformat: Umwandlung in einfacheres Zwischenformat vs. mit der Komplexität von Akoma Ntoso umgehen
- Granularität des Editor: ein Editor pro Artikel oder Paragraph vs. ein Editor für den Rechtstext
Approach #1
- Daten im XML Format Akoma Ntoso umzuwandeln (z.B. JSON)
- Die Daten pro Paragraph in einem Frontend darzustellen
- Jeder Paragraph braucht eine eindeutige ID
- Gemachte Änderungen sollen nachvollziehbar sein (z.B. als GitHub Pull Request)
Installation
- Run
python_setup.sh
- Copy
.env.dist
to.env
and adapt the values - Run the flask app using
flask run
Verwendung
Gesetzestext als JSON abspeichern (im Verzeichnis fedlex
):
python xml_to_json.py --sr <sr-nummer>
Sobald das passiert ist, steht das Gesetz im Frontend zur Verfügung. Ggf. erfolgt dieser Schritt zukünftig automatisch z.B. via GitHub Actions
Wenn der Webserver mit der Flask-Applikation läuft, kann via http://localhost:5000/ die Applikation im Browser geöffnet werden.
Hier eine kurze Demo: https://youtu.be/ebMGz2jKiRA
Approach #2
- Daten im XML Format Akoma Ntoso direkt editieren
Installation
- Run a local web server like "Live Server" and open https://localhost/prosemirror-k2k/prosemirror-k2k.html
Pitch
- Auf fedlex.admin.ch Rechtstext öffnen und die Artikel und Paragraphen markieren die geändert werden sollen
- Kommentator 2000 zeigt den Rechtstext aufbereitet an
- Änderungen können auf Paragraph Ebene eingegeben werden
Project
Event finish
Demo code
Merge pull request #1 from metaodi/diff-stuff
Diff stuff
Update all code
Project
plugin
Joined the team
Project
Update template
Update XML parsing with article/par number
Update README.md (@LouisBernath)
Update index.html text (@LouisBernath)
Move prosemirror-k2k (@LouisBernath)
Merge branch 'main' of https://github.com/metaodi/govtech24_kommentator2000 (@LouisBernath)
Update README.md (@LouisBernath)
Update app structure
Update README.md (@LouisBernath)
Add flask basic setup
Add prosemirror for AKN (@LouisBernath)
Format fedlex xml (@LouisBernath)
Repository updated
Project
Update README.md
Project
Update README.mdh
Create README.md
Project
Inital commit
Joined the team
Start
Joined the team
Joined the team