Author Archives: Konstantin Schütze

OParl 1.1

25 Jun 18
Konstantin Schütze
No Comments

Zwei Jahre nach OParl 1.0 veröffentlichen wir nun OParl 1.1! In Version 1.1 setzen wir die seit der Veröffentlichung von OParl 1.0 gewonnen Erfahrungen um. OParl 1.1 ist dabei im Sinne von semver kompatibel zu OParl 1.0. Das bedeutet, dass ein für OParl 1.0 entwickelter Client auch die Ausgabe von OParl 1.1 versteht. Dadurch wird der Migrationsaufwand von OParl 1.0 zu OParl 1.1 gering gehalten.

Die technischen Änderungen im Detail

OParl 1.0 wurde in der Annahme geschrieben, dass für sechs Objekttypen (LegislativeTerm, Membership, AgendaItem, Consultation, File, Location) keine verlässlichen Werte für created und modified existieren. Aus diesem Grund hatten wir uns für das Design mit eingebetteten Objekten entschieden. Da sich nun jedoch herausgestellt hat, dass created und modified bei allen Objekten existieren, können auch für alle Objekte Listen angeboten werden. Das bringt bei große Vereinfachungen für Clients bei der Synchronisation.

Konkret sind created und modified in OParl 1.1 für alle Objekte zwingend und es gibt sechs neue externe Objektlisten in Body: AgendaItem, Consultation, File, LegislativeTerm, Location und Membership. Das Attribut für die Location-Liste in Body heißt dabei locationList, um eine Kollision mit dem bereits existierenden location zu vermeiden. Das gleiche gilt auch für legislativeTermList.

Es entsteht dabei Redundanz zwischen den bereits existierenden Objektlisten mit eingebetteten Objekten (Body, Paper, Meeting, Person, Organization) und den neuen externen Listen, die die bisher eingebetteten Objekte extern ausgeben. Diese Redundanz lässt sich aufgrund der Semver-Regeln in Version 1.1 nicht vermeiden und kann erst in einer Version 2 beseitigt werden. Um diese Redundanz zumindest bei der Aktualisierung eines lokalen Datenbestands vermeiden zu können, wurde die URL-Parameter omit_internal eingeführt.

Weitere Änderungen

  • Namespace-URLs werden durchgängig im Camel Case geschrieben
  • Externe Objektlisten können ein `web` Attribut angeben
  • Jedes Objekt des Schemas hat seine eigene Datei bekommen
  • Definition eines Fehlerobjektes für die Ausnahmebehandlung
  • sha1 veraltet und sha512 als Ersatz hinzugefügt. (s. https://shattered.io)
  • Die Rückreferenz von Location auf Person wird zusätzlich auch noch eingebettet ausgeben (s. https://github.com/OParl/spec/issues/373)

Entwurf für OParl 1.1

29 Jan 18
Konstantin Schütze
2 comments

Kurzfassung: Wir haben einen Entwurf für OParl 1.1 veröffentlicht. Feedback kann auf github oder unter info@oparl.org eingereicht werden.

Im Juli 2016 hatten wir OParl 1.0 veröffentlicht. Damals gab es noch keine offizielle Implementierung, kaum Feedback der RIS-Hersteller und so gut wie keine maschinenlesbare Daten aus Ratsinformationssystemen. Seitdem hat sich viel getan: Es gibt 22 Städte und Kommunen, die bereits eine offizielle OParl-Schnittstelle haben, und weitere Städte und RIS-Hersteller planen oder arbeiten am  Einbau. Dazu kommen zwei geförderte Projekte im OParl-Umfeld und viel Feedback aus der praktischen Arbeit mit OParl.

In OParl 1.1 möchten wir dieses Feedback nutzen, um einige Schwächen und Fehler in OParl 1.0 auszugleichen. Dabei wollen wir den Stabilitätsanspruch von Version 1.0 erhalten, in dem Version 1.1 im Sinn von Semver kompatibel zu Version 1.0. Das bedeutet, dass eine Software, die OParl 1.0 versteht, versteht auch OParl 1.1. Auch Serverseitige werden nur geringe Anpassung nötig sein, um die neue Version zu unterstützen.

Die größte Änderung ist der Update-Mechnismus, der in OParl 1.0 einige Probleme hat, die wir erst nach der Veröffentlichung entdeckt hatten. In Version 1.1 gibt es für alle Objekttypen Listen, weshalb auch alle Objekte das Datum der Erstellung sowie das Datum der letzten Änderung ausgeben müssen. Dazu kommen einige kleinere Änderungen wie sha512 als Ersatz für sha1 und einige interne Umbauten. Eine detaillierte Liste aller Änderungen findet sich in Kapitel 4.1 des Entwurfes.

Der Entwurf kann hier heruntergeladen werden; Fehler im jetzigen Entwurf können auf github oder unter info@oparl.org gemeldet werden. Sollten keine schwerwiegenden Probleme auftauchen, wird OParl 1.1 am 12. Februar 2018 in finaler Version veröffentlicht werden.

Kurzmeldung: Liste der bekannten OParl Endpunkte

14 Jun 17
Konstantin Schütze
No Comments

Seit der Veröffentlichung von OParl 1.0 bieten immer mehr Systeme eine OParl-Schnittstelle. Wir haben daher angefangen, alle öffentlichen OParl-Endpunkte in unserem Entwicklerportal zu sammeln. Zusätzlich gibt es noch eine maschinenlesbare Liste unter https://dev.oparl.org/api/endpoints, deren Format an die Listen in OParl angelehnt ist.

Weitere Endpunkte können gerne an info@oparl.org gemeldet oder direkt auf github eingetragen werden.

Viele Grüße,
das OParl-Team