Files
Piwigo_Bratonien_Tools/CURRENT_STATUS.md
2026-08-18 09:04:15 +02:00

5.2 KiB
Raw Blame History

Aktueller Entwicklungsstand

Stand: 18.08.2026

Plugin

  • Aktuelle Plugin-Version: 0.9.4.2
  • Aktueller Entwicklungsblock: NC Connector Endnutzer-Assistent und Konsolidierung
  • 0.9.3.43 markiert den abgeschlossenen vorherigen Meilenstein.
  • 0.9.4.x ist der neue Entwicklungsblock.

Produktiver Stand

Der lokale NC Connector ist im aktuellen Bratonien-Einsatz End-to-End funktionsfähig:

  • Nextcloud-Freigaben folder und file werden verarbeitet.
  • Ordnerfreigaben werden als physische Piwigo-Alben synchronisiert.
  • Einzeldateifreigaben werden als echte Piwigo-Orphans ohne Albumzuordnung registriert.
  • Entfernte Freigaben werden aus Piwigo entfernt, Originaldateien bleiben erhalten.
  • Neue physische Connector-Alben werden privat angelegt.
  • API-first-Synchronisierung ist produktiv für Piwigo 16.4.0 freigegeben.
  • Piwigo-Album- und Fotoinformationen werden nach dem direkten Sync aktualisiert.
  • Der gemeinsame systemd-Timer verarbeitet aktive Verbindungen regelmäßig.

0.9.4.1

Die Statusaktualisierung im Admin-UI wurde von Seiten-Reload auf gezielte DOM-Aktualisierung umgestellt. Der Poller aktualisiert nur noch Letzter Lauf und Nächster Lauf. Offene Dialoge, Details und der Assistent bleiben dadurch erhalten.

0.9.4.2

Verbindungsassistent

Der Assistent wurde erneut aus Endnutzersicht konsolidiert:

  1. Nextcloud-Adresse + Benutzer + Passwort.
  2. Automatischer Web-Scan über HTTP/HTTPS und OCS.
  3. Der Nutzer sieht zunächst keine komplette Datenbank-Technikmaske.
  4. Für den Datenzugriff werden zuerst nur Lese-Benutzer und Passwort abgefragt.
  5. Host = Nextcloud-Host, Port 5432 und Datenbank nextcloud werden nur als automatischer Prüfversuch verwendet und nicht als sicher erkannt dargestellt.
  6. Scheitert dieser Versuch, fragt der Assistent gezielt die abweichende Datenbank-Adresse, Port und Datenbank ab.
  7. Storage-Mounts werden nur abgefragt, wenn sie nicht sicher aus vorhandenen Zuordnungen übernommen werden können.
  8. Danach folgen Showcase-Benutzer, Piwigo-API-Test/Skip und Fallback.
  9. Erst der letzte Schritt legt die Verbindung dauerhaft an.

Fehler leeren die Wizard-Eingaben nicht. Geheimnisse bleiben während des Wizards serverseitig in der PHP-Sitzung und werden nicht im Browser-Web-Storage persistiert.

Storage-Mappings

Das Storage-Format erlaubt jetzt einen leeren source_prefix. Damit kann ein kompletter Storage direkt auf einen lokalen Mount zeigen. Die frühere Fehlermeldung

Storage-Zeilen muessen das Format storage_id | source_prefix | local_mount verwenden.

tritt bei einem legitimen Root-Mapping nicht mehr auf.

Native Aktivierung

nc-connector-install.php unterstützt jetzt auch API-only-Verbindungen ohne dauerhaft gespeicherten Login-Fallback. Ein Fallback ist nur nötig, wenn keine nutzbare API gespeichert ist.

Dokumentation

README und CURRENT_STATUS wurden auf den aktuellen 0.9.4.x-Stand gebracht und beschreiben jetzt den realen API-first-Sync, den Wizard, die Statusaktualisierung ohne Reload und die aktuelle Runtime-Architektur.

Architektur NC Connector

  • Nextcloud ist Quelle der Originalbilder.
  • Piwigo erhält einen Shadow Tree aus Verzeichnissen und Symlinks.
  • PostgreSQL-Reader und die Views piwigo_showcase_sources / piwigo_showcase_activity liefern Quellen und Aktivität.
  • Runtime-Konfigurationen: /etc/bratonien-tools/nc-connector/connection-*.conf
  • State: /var/lib/bratonien-tools/nc-connector/connection-ID
  • Öffentlicher Admin-Status: Piwigo _data/bratonien-tools/nc-connector-status/
  • Runner: runtime/run-all.sh
  • Einzelverbindung: runtime/sync.sh

Piwigo-Synchronisierung

Priorität:

  1. gespeicherter Piwigo-API-Key;
  2. bei nicht nutzbarer API gespeicherter Benutzername/Passwort-Fallback;
  3. ohne beide Wege Abbruch mit Fehlerstatus.

Produktive API-Methoden:

  • bratonien.nc.syncProductive
  • bratonien.nc.syncOrphans

bratonien.nc.syncProductive ist auf Piwigo 16.4.0 versionsgebunden. Der direkte Sync verwendet Bratonien-eigene Logik auf Basis der Piwigo-Core-Funktionen, nicht das Rendern oder Fernsteuern einer Admin-Seite.

Activity Gate und Shadow Tree

Das Activity Gate berücksichtigt:

  • Aktivitätsstand;
  • Share-Fingerprint;
  • Quiet-Time;
  • Max-Wartezeit;
  • periodischen Full-Sync;
  • Reparaturbedarf bei beschädigter lokaler Struktur.

Der Shadow-Tree-Wechsel besitzt einen Rollback auf den vorherigen Baum, falls das Umschalten fehlschlägt.

Sicherheit

  • Nextcloud-Originale werden nicht gelöscht.
  • Connector-Zugangsdaten werden verschlüsselt gespeichert.
  • Wizard-Secrets bleiben serverseitig.
  • Storage-Pfade werden validiert.
  • SQL-View-Namen werden validiert.
  • Piwigo-API ist versionsgebunden.
  • Mutierende Admin-Aktionen verwenden Post/Redirect/Get, sodass Browser-Reloads sie nicht erneut ausführen.
  • Self-Updates sind an einen konkreten Commit und SHA-256 gebunden.

Noch offen

  • vollständiger Remote-Nextcloud-Adapter ohne direkten PostgreSQL-/Storage-Zugriff;
  • weitere Bereinigung alter Legacy-Migrationshelfer, sobald sie nicht mehr benötigt werden;
  • weitere Endnutzer-Optimierung des Assistenten auf Basis realer Fehler- und Installationspfade.

Repository-Fallback

GitHub bleibt das führende Repository. Das private Gitea-System dient weiterhin als Mirror/Fallback.