Netidee Blog Bild
Fortschritts-Allerlei
Einen guten Monat vor dem geplanten Projektende gibt es große Fortschritte an verschiedensten Fronten (11.11.2020)
Förderjahr 2019 / Project Call #14 / ProjektID: 4612 / Projekt: Delete Your Data

Heute gibts ein Update-Allerlei: Admin-Oberfläche, Plugins, IMM Community Plattform; praktisch überall gibt es etwas zu berichten:

Das Plugin-System

Zentraler Bestandteil der DYD-Architektur ist das Plugin-System, mit der verschiedene Systeme an DYD angeschlossen werden können. Im letzten Beitrag haben wir detaillierter betrachtet, wie wir unsere Software um Integrationstests für solch ein Plugin und das entsprechende System erweitert haben. Einen Teil von DYD den wir nicht mit automatisierten Tests versehen haben, ist die Admin-Oberfläche an sich, und hier wurde bei den Plugins noch nachgebessert.

Neben der Kernaufgabe von Plugins, den Zugriff auf externe Systeme zu ermöglichen, müssen Admins die in DYD registrierten Plugins auch sinnvoll verwalten können. Wir haben dazu auch schon einen Screenshot gesehen:

Admin-Oberfläche für Plugin-Verwaltung. Es sind zwei Plugins sichtbar, "mas" und "mail" genannt. Die Konfiguration des "mas"-Plugins ist sichtbar und enthält die URL einer REST API.
Die Admin-Oberfläche für die Verwaltung von Plugins.

Dieser Screenshot lässt eine nicht unwichtige Frage offen: wie ist das "mail" plugin konfiguriert? Natürlich ist es mit einem Mailserver verbunden, aber mit welchem? Die gesamte JSON-Konfiguration immer anzuzeigen wäre zu viel, aber mit ein bisschen Logik in der ImapPlugin-Klasse ließe sich die Konfiguration vielleicht kurz zusammenfassen? Mit Plugin-Logik ließen sich noch mehrere Sachen machen: auch Account-IDs werden zum Beispiel als plugin-spezifisches JSON gespeichert, und neben der Darstellung ließe sich mit Plugin-Logik auch eine Validierung im Browser umsetzen.

Im Browser die Plugin-Logik benutzen zu wollen führt aber zu einem kleinen Problem: die Kernfunktionalität der Plugin-Logik (löschen und anonymisieren) funktioniert ziemlich sicher nicht im Browser, weil sie zum Beispiel mit einem Mailserver Kontakt herstellen muss. Wir brauchen also eine Trennung zwischen der "client-kompatiblen" und der restlichen Funktionalität. Der Kern dieser Änderung findet sich in diesem Commit.

Admin-Oberfläche

Neben den oben genannten Änderungen  wurde die Admin-Oberfläche noch zusätzlich verbessert: um etwa Accounts plugin-spezifisch darzustellen, müssen die entsprechenden Plugins auch geladen werden; bisher war das nicht nötig und daher auch nicht der Fall. Jetzt hat die Admin-Oberfläche jederzeit Zugriff auf die konfigurierten Plugins, was einerseits für die verbesserte Darstellung benutzt wird, andererseits auch für eine verbesserte Plugin-Auswahl über Dropdown-Menüs.

Industry Meets Makers Community Plattform

Im Rahmen der Integration mit DYD, wobei natürlich insbesondere ins Backend der IMM Plattform eingegriffen werden musste, sind noch einige Unzulänglichkeiten zutage getreten. Die Integration zwischen DYD und IMM hat zweierlei Ziele: erstens soll die Plattform durch den Einsatz von DYD für die IMM Community, die sehr sensibilisiert für Datenschutz und Privatsphäre ist, attraktiver werden. Zweitens soll die Integration aber natürlich für DYD einen repräsentativen Test darstellen, ob DYD in einer typischen Web-Plattform mit Userdaten in einer Datenbank problemlos integriert werden kann.

Unabhängig von der genauen Architektur gibt es in einer solchen Plattform so gut wie immer einen "Model"-Layer, der für die Verwaltung der Daten zuständig ist. DYD zu integrieren heißt, auf dieser Ebene zusätzlich zu Datenbank-Zugriffen auch auf den DYD-Service zuzugreifen. Nun haben sich über das mittlerweile mehrjährige Bestehen der IMM-Plattform einige Software-Altlasten angesammelt: Funktionalitäten, die dem Model-Layer zuzuordnen sind, sind mit der Zeit auch an anderen Stellen eingebaut worden. Diesen Wildwuchs haben wir wieder zurückgestutzt; eine Win-Win-Situation für die IMM-Plattform und die DYD-Integration, die damit sowohl einfacher umzusetzen ist, als auch eine realistischere Case-Study für das Projekt darstellt.

Tags:

DSGVO Datenschutz Industry meets Makers PRIA
CAPTCHA
Diese Frage dient der Überprüfung, ob Sie ein menschlicher Besucher sind und um automatisierten SPAM zu verhindern.
    Datenschutzinformation
    Der datenschutzrechtliche Verantwortliche (Internet Privatstiftung Austria - Internet Foundation Austria, Österreich) würde gerne mit folgenden Diensten Ihre personenbezogenen Daten verarbeiten. Dies ist für die Nutzung der Website nicht notwendig, ermöglicht aber eine noch engere Interaktion mit Ihnen. Falls gewünscht, treffen Sie bitte eine Auswahl: