Skip to content

Latest commit

 

History

History
74 lines (51 loc) · 2.51 KB

README.md

File metadata and controls

74 lines (51 loc) · 2.51 KB

Kommentator 2000

Analyse

Akoma Ntoso ist komplex.

Verschiedene Akoma Ntoso Editoren gibt es am Markt:

Für den Vernehmlassung Prozess abzuwickeln gibt es in der Schweiz folgende bekannte Akteure ausserhalb der Bundesverwaltung:

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

  1. Daten im XML Format Akoma Ntoso umzuwandeln (z.B. JSON)
  2. Die Daten pro Paragraph in einem Frontend darzustellen
  3. Jeder Paragraph braucht eine eindeutige ID
  4. 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

  1. Daten im XML Format Akoma Ntoso direkt editieren

Installation

Pitch

  1. Auf fedlex.admin.ch Rechtstext öffnen und die Artikel und Paragraphen markieren die geändert werden sollen
  2. Kommentator 2000 zeigt den Rechtstext aufbereitet an
  3. Änderungen können auf Paragraph Ebene eingegeben werden