Knot System Betatest

Update 2023-08-08

Breaking Changes: alle Module wurden umbenannt, und auf eine neue GitHub Seite umgezogen. Ein Update alter Versionen vor 0.2.0 ist nicht möglich.

Das System wurde nun zu Knot System umbenannt (vorher: Homestead). Die einzelnen Module heißen nun:

- Knot Installer (war Homestead Installer)
- Knot Site (war Eigenheim)
- Knot Home (war Sekretär)
- Knot Daemon (war Postamt)
- Knot Auth (war Einwohnermeldeamt)
- Knot Control (war Homestead Control)

Die Module liegen nun, mit neuem Namen, unter einer neuen GitHub Seite.

Update auf v.0.2.0:

- Backup des aktuellen Systems machen. Vor allem aller config.php Dateien und content/ Ordner
- Den Knot Installer ( https://github.com/knot-system/knot-installer ) nutzen, um alle Module neu zu installieren (siehe den Bereich Installation)
- die config.php Dateien der einzelnen Module entsprechend der gesichetren Dateien anpassen
- die content/ Ordner aus der Sicherung in den neuen Stand hochladen

Diese Seite ist nun außerdem unter einer neuen URL, https://d.th-nuernberg.de/knot-system/, erreichbar.

Update 2023-08-02

Alle Module wurden aktualisiert. Es gibt ein neues Modul "Homestead-Control".

Damit die Anmeldung weiterhin korrekt funktioniert, muss beim Updaten auf die neuesten Versionen in der config.php von Eigenheim eine neue Config-Option eingefügt werden:


'indieauth-metadata' => 'https://www.example.com/einwohnermeldeamt/metadata',

(Die URL muss duch den Pfad zur Einwohnermeldeamt-Installation + dem Endpoint 'metadata' ersetzt werden)

Das neue Modul "Homestead-Control" findet sich auf GitHub. Die Anleitung hier wird bald erweitert.

Update 2023-06-28

Alle Module wurden aktualisiert.

Neu ist vor allem die Unterstützung für unser eigenes Authentifizierungsmodul, "Einwohnermeldeamt". Bei einer Neu-Installation von Homestead wird es automatisch mitinstalliert, für eine nachträgliche Installation in einem bestehendem System siehe "Neues Modul: Einwohnermeldeamt"

Um weiterhin den alten Login-Flow mit E-Mail Verifizierung über indieauth.com zu nutzen, müssen folgende Optionen in die Datei eigenheim/config.php übernommen werden:


'authorization_endpoint' => 'https://indieauth.com/auth',
'token_endpoint' => 'https://tokens.indieauth.com/token',
'rel-me' => 'mailto:mail@example.com',

(mail@example.com muss natürlich durch deine E-Mail Adresse ersetzt werden)

Weitere Neuerungen sind neben kleinen Bugfixes und Anpassungen vor allem:

- neue config Option in Eigenheim, um Link Previews auszublenden
- Sekretär Default Theme: es werden nur noch maximal 3 Link-Previews angezeigt, weitere können über einen "more" Button eingeblendet werden
- bessere IndieAuth-Kompatibilität und Unterstützung für das neue Modul "Einwohnermeldeamt"

Neues Modul: Einwohnermeldeamt

Es gibt ein neues Modul mit dem Namen 'Einwohnermeldeamt', welches sich künftig um die Authentifizierung kümmern wird.

Aktuell ist die Authentifizierung der einzige Part, der noch von einem externen Service übernommen wird - nämlich von indieauth.com, mit Verifizierung per Einmail-Code an die eigene E-Mail Adresse. Das neue Modul wird diesen Flow ersetzen, zuerst per Passwort, später können noch weitere Authentifizerungsmöglichkeiten hinzukommen.

Der bisherige Flow mit indieauth.com kann auch weiterhin verwendet werden, wenn gewünscht. Es kann außerdem jeder andere beliebige IndieAuth Anbieter genutzt werden, dies ist einer der Vorteile des modularen Systems.

Um das neue Modul 'Einwohnermeldeamt' zu nutzen, sind aktuell einige Anpassungen notwendig (künftig wird es automatisch von Homestead mit installiert und konfiguriert, wenn wir einen stabilen Stand erreicht haben).

Schritt 1: alle bisherigen Module updaten

Zuerst müssen alle anderen Module (Eigenheim, Sekretär, Postamt) auf mindestens Version 0.1.5 aktualisiert werden.

Schritt 2: Einwohnermeldeamt installieren

Wir gehen davon aus, dass Homestead unter https://www.example.com installiert wurde. Sekretär liegt unter https://www.example.com/sekretaer/.

Zuerst den neuesten Release von Einwohnermeldeamt unter https://github.com/maxhaesslein/einwohnermeldeamt/releases herunterladen. Diese Datei in einen Ordner 'einwohnermeldeamt' entpacken, und auf den Server hochladen, so dass es unter https://www.example.com/einwohnermeldeamt/ liegt. Diese URL in einem Browser öffnen, woraufhin der Setup-Flow von Einwohnermeldeamt erscheinen sollte.
Unter 'Me' muss die Eigenheim-URL eingegeben werden, in unserem Beispiel also https://www.example.com/ - das Passwort kann frei gewählt werden.

Schritt 3: Einwohnermeldeamt in Eigenheim hinterlegen

Die Datei eigenheim/config.php öffnen. Die Config-Option 'auth_mail' kann per '//' am Zeilenanfang auskommentiert werden. In der vorletzten Zeile, vor dem schließenden '];', fügen wir diese Zeilen ein:


'indieauth-metadata' => true,
'endpoint-discovery-via-header' => true,
'authorization_endpoint' => 'https://www.example.com/einwohnermeldeamt/auth',
'token_endpoint' => 'https://www.example.com/einwohnermeldeamt/token',

wobei https://www.example.com natürlich durch die korrekte URL ersetzt werden muss.

Anschließend kann man sich normal in Sekretär einloggen, wird aber nicht mehr zu indieauth.com weitergeleitet, sondern zu Einwohnermeldeamt, wo man sein Passwort enigeben kann. Falls man bereits eingeloggt war, muss man sich erst ausloggen, und dann neu einloggen.

Schritt 4: Einwohnermeldeamt in Homestead integrieren

Damit Einwohnermeldeamt künftig über den Homestead Updater aktualisiert werden kann, müssen wir es dort noch hinterlegen. Die Datei 'config.php' im Root-Verzeichnis öffnen.

Zuerst nach dem vorletzten ']' noch ein Komma einfügen:


],
];

anschließend in der vorletzten Zeile zwischen dem eben eingefügten Komma und vor dem schließenden '];' dies hier einfügen:


],
'einwohnermeldeamt' => [
'name' => 'Einwohnermeldeamt',
'target' => 'einwohnermeldeamt/',
'zipball_stable' => 'https://api.github.com/repos/maxhaesslein/einwohnermeldeamt/releases',
'zipball_dev' => 'https://github.com/maxhaesslein/einwohnermeldeamt/archive/refs/heads/main.zip',
],
];

v.0.1.4

Alle Module wurden auf Version 0.1.4 aktualisiert.

Neben kleineren Bugfixes und Verbesserungen gibt es vor allem diese Neuerungen:

Homestead:
- bessere Kompatibilität mit manchen Server-Konfigurationen
- beim Installieren werden mehr Vorraussetzungen geprüft und die Installation abgebrochen, falls der Server die Vorraussetzungen nicht erfüllt

Eigenheim
- bessere Link-Previews
- Support für webp Bildformat bei Vorschaubildern

Sekretär
- Link Previews
- neue config Option 'show_item_content', um den Artikel-Text zu verstecken und nur einen Link-Preview anzuzeigen
- die Seite kann als "standalone" Progressive Web App auf den Homescreen installiert werden; dies ist aktuell eine sehr einfache Version einer Web-App, die noch mehr Arbeit benötigt

Postamt
- Verbesserung der Sortierung
- Finetuning vom Timing beim Abrufen neuer Feeds
- einfache Blacklist hinzugefügt, um Artikel mit bestimmten Stichworten im Titel oder Content auszublenden; standardmäßig werden keine Artikel angezeigt, die den String "[Sponsor]" im Titel haben

Für detailierte Änderungen siehe die Releases Seite der einzelnen Module auf GitHub.

Um das komplette Homestead-System zu aktualisieren, verbinde dich per FTP-Programm mit deinem Server, erstelle eine neue (leere) Datei mit dem Namen "update" (oder "update.txt") im Hauptverzeichnis deiner Webseite und öffne anschließend die Datei "update.php" in einem Browser. Klicke dort auf den Button "update selected modules".

Information

Max Häßlein & Tilman Zitzmann
https://d.th-nuernberg.de/research/independent-social-publishing-on-the-internet/