Evaluierung Dateneingabe

Einleitung

Die Datenfabrik soll eine Möglichkeit zur verteilten Dateneingabe bekommen. Dies ist besonders in Hinblick auf potenzielle Use Cases interessant, in denen periodisch bestimmte Daten gemeldet werden müssen, die dann zentral ausgewertet werden. Aus diesen Use Cases deutet sich folgende grobe Anforderung ab:

  • Das Schema wird zentral vorgegeben.
  • Dezentrale Akteure können Daten eingeben.
  • Daten anderer können nicht eingesehen werden.
  • Die Eingabe erfordert eine Authorisierung.

Als Ausblick sei genannt, dass im Land SH perspektivisch MGM A12 eingeführt wird, womit komplexere Anwendungsfälle abgedeckt werden können. Im Vergleich ist es hier ausgeklammert.

Kriterien für die Evaluierung

Muss-Kriterien

  • Für administrativen (nicht-technischen) User
  • tabellarische Ansicht der gewonnenen Daten
  • Struktur-Definition der Daten und der Formularansicht
  • Dateneingabe als Formular für authentifizierte Benutzer
  • Custom Logik in das Formular integrierbar wie z.B. userinfo aus auth hinzufügen
  • Daten in (Postgres) DB persistieren
  • Open-Source / EUPL kompatibel

Soll-Kriterien

  • Struktur-Definition der Daten und der Formularansicht über UI (ansonsten ist eine technische Definition der Struktur (a la JSON) für Start auch okay).

Out of scope

  • Kein Consent-Handling notwendig da behördlicher Rahmen

Optionen

Im Folgenden werden diese Optionen betrachtet:

Evaluierung

NocoDB Grist Baserow Mathesar LimeSurvey
Lizenz AGPL-3.0 Apache-2.0 Open Core (MIT/Enterprise) GPL-3.0 GPL-2.0
Github-Stars 59.064 10.200 3.516 4.675 3.447
Entstehungsjahr 2018 2021 2020 2021 2006
SSO ✗ (nicht in CE) ✓ ✗ (nicht in CE, aber in Advanced) ✓ ✗ (über unterschiedliche Community Plugins möglich)
kein Feature-Gating (bestimmte Features nur in Enterprise Versionen) ✗ ✗ ✗ ✓ ✓
Custom Logik/Erweiterung möglich ✓ (aber AGPL-3.0, nicht EUPL-kompatibel) ✓ ✓ ✗ ✓ (aber GPL-2.0, nicht EUPL-kompatibel)
Tabellarische Ansicht der Daten ✓ ✓ ✓ ✓ ✓
Formular zur Dateneingabe ✓ (in CE nur mit nocodb branding) ✓ ✓ (in CE nur mit baserow branding) ✓ (mit mathesar branding) ✓
Formularansicht nur für authentifizierte Nutzer möglich ✗ ✗ ✓ (über Application Builder - derzeit Beta - möglich) ✗ ✗ (über das kostenpflichtige SSO Community Plugin möglich)
Formulardatenspeicherung mit User Kontext ✗ (nur mit Erweiterung) ✗ (nur mit Erweiterung) ✗ (nur mit Erweiterung) ✗ ✗ (nur mit Erweiterung)
Datenimportformate XLS, CSV XLS, CSV CSV, XML, JSON CSV CSV
Installation einfach, keine weiteren Dependencies einfach aber nicht skalierend ausgelegt (benötigt rwx) einfach einfach kein offizieller Docker-Setup-Support, aber über Community
Komponenten einfach einfach viele/schwergewichtig einfach viele/komplex
Persistenz der Daten DB (pg, sqlite, mysql) sqlite file/s3 DB (pg) DB (pg) DB (mariadb, mysql, mssql, pg)
Visuelle Oberfläche (max. 3 Sterne) ★★★ ★★ ★★★ ★ ★★
Preise für benötigten Funktionsumfang Für Business $216 pro Monat, jährlich abgerechnet für unlimitierte Useranzahl (falls Audit-Logs benötigt werden Enterprise ohne Preisangabe) 0 Euro (für diverse Admin-Funktionen und mehrere Team-Sites $24 per User/Monat) Für Advanced $18 per User/Monat jährlich abgerechnet 0 Euro 0 Euro (falls für SSO das kostenpflichtige Plugin benötigt wird, einmalig 249 Euro)

Fazit

Nach der Evaluation der relevanten Optionen ergibt sich folgende Einschätzung:

NocoDB und Baserow

Viele der derzeit auf dem Markt befindlichen Tools befolgen ein Open Core Modell bei dem eine kostenlose Open-Source-Edition existiert, zentrale Funktionen wie SSO, rollenbasierte Zugriffssteuerung oder Audit-Logs jedoch ausschließlich in kostenpflichtigen Enterprise-Plänen verfügbar sind. NocoDB und Baserow fallen aus diesem Grund aus, da relevante Kernfunktionen nicht frei zugänglich sind.

Grist

Grist verwendet primär eine dateibasierte SQLite-Architektur und bietet keine Postgres-Integration als primäre Datenspeicherung. Für Szenarien mit zentraler Postgres-Datenbank und Kubernetes-Deployment ist der SQLite-Ansatz problematisch, da er keine DB-Skalierung ermöglicht. Grist scheidet daher aus.

Mathesar

Mathesar erfüllt viele Anforderungen durch seine enge Postgres-Integration. Allerdings befindet es sich noch im Public-Beta-Stadium, wobei Features wie der Formulareditor erst kürzlich implementiert wurden und funktional begrenzt sind. Kritisch ist das Fehlen eines Erweiterungs- oder Plugin-Mechanismus für benutzerdefinierte Logik in Formularen. Dies kann ein K.O.-Kriterium darstellen, da ein Forking oder eine aktive Mitentwicklung des Projekts vermutlich sehr aufwendig wäre. Eventuell könnte Mathesar für einfache Anwendungsfälle, die keine Anpassungen benötigen, die geeignete Lösung sein.

Limesurvey

Die Community Edition von LimeSurvey hat sich seit fast 20 Jahren als etabliertes Open-Source-Tool für Umfragen und Formulare bewährt und bietet insbesondere im Bereich der Formularerstellung einen äußerst umfangreichen Funktionsumfang. Die damit verbundene Komplexität kann jedoch für ungeübte Benutzerinnen und Benutzer eine Herausforderung darstellen. Darüber hinaus besteht kein Einfluss auf die Struktur der zugrunde liegenden Datenbank, und Formularfelder können nicht wiederverwendet werden. Außerdem wären eigene Erweiterungen aufgrund der GPL-Lizenzierung nicht mit der EUPL-Lizenz kompatibel.