5.8 KiB
Aktueller Entwicklungsstand
Stand: 17.08.2026
Plugin
- Aktuelle Plugin-Version: 0.9.3.14
- Aktueller Entwicklungsblock: NC Connector – Verbindungsverwaltung / laufende Optimierung
- NC Connector ist Feature 10 und noch nicht vollständig abgeschlossen.
- Solange dieser Optimierungsblock läuft, bleibt die Version im Bereich
0.9.3.x.
Aktueller GitHub-Stand
- Aktuelle Versionsanhebung:
0.9.3.14 - Einzeldateifreigaben im Galerie-Root werden nicht mehr ausschließlich der klassischen Piwigo-Dateisynchronisation überlassen.
- Neuer Webservice
bratonien.nc.syncOrphansregistriert direkte Root-Dateien als echte Piwigo-Orphans ohne Album-Zuordnung. runtime/lib/piwigo-db-sync.plführt weiterhin zuerst den normalen Piwigo-Dateisync für physische Alben aus und synchronisiert danach die Root-Orphans produktiv über den neuen Webservice.- Entfernte Root-Freigaben werden aus der Piwigo-Datenbank entfernt, ohne das Nextcloud-Original zu löschen.
- Der bestehende Webservice
bratonien.nc.syncbleibt weiterhin der read-only Paritätstest für den vollständigen klassischen Sync. - Die in
0.9.3.12ergänzte Share-Fingerprint-Prüfung des Activity-Gates bleibt aktiv. runtime/sync.shbleibt mit älterenconnection-*.confkompatibel und verwendet bei fehlenden Werten automatischpiwigo_showcase_activitybzw.piwigo_showcase_sources.
Architektur NC Connector
- Nextcloud bleibt die einzige dauerhafte Quelle der Originalbilder.
- Piwigo erhält nur die für die Galerie benötigte Verzeichnis-/Symlink-Struktur und erzeugt daraus seine Derivate/Cache-Dateien.
- Der Connector arbeitet mit einem PostgreSQL-Leser und den Views
piwigo_showcase_sourcesundpiwigo_showcase_activity. - Laufzeitdaten liegen unter
/var/lib/bratonien-tools/nc-connector/.... - Verbindungs-Konfigurationen liegen unter
/etc/bratonien-tools/nc-connector/connection-*.conf. - Shadow Tree: Verzeichnisse und Symlinks, keine Kopien der Originaldateien.
Nextcloud-Freigabemodell
Für Showcase gelten zwei Fälle:
- komplette Ordner werden geteilt;
- einzelne Bilder werden direkt in das Nextcloud-Stammverzeichnis geteilt.
Der Connector unterstützt folder und file:
- Ordner werden weiterhin als Verzeichnisbaum gespiegelt.
- Einzeldateien werden direkt als Symlink im Galerie-/Shadow-Root angelegt.
- Für einzelne Dateien wird kein künstlicher Unterordner erzeugt.
Manifest / Shadow Tree
runtime/lib/build_manifest.py unterstützt zwei View-Schemata:
- modern:
share_id, item_type, display_name, storage_id, source_path; - legacy:
share_id, display_name, storage_id, source_path.
Bei einer Legacy-View wird der Typ nach Auflösung des Storage-Pfads über Datei/Verzeichnis bestimmt. Das Manifest führt danach in beiden Fällen vier Spalten:
share_id, item_type, display_name, source_path
runtime/lib/shadow_tree.py verarbeitet daraus:
folder-> Verzeichnisstruktur spiegeln;file-> Symlink direkt im Galerie-Root.
Piwigo-Synchronisation
Physische Alben
Der produktive Fallback benutzt weiterhin den bestehenden Admin-Sync über runtime/lib/piwigo-db-sync.pl für normale Verzeichnisse und physische Alben.
Root-Dateien / Orphans
Piwigos klassische Dateisynchronisation kann Dateien direkt unter galleries/ nicht als neues Element einem physischen Album zuordnen. Deshalb verarbeitet bratonien.nc.syncOrphans ausschließlich direkte Dateien im konfigurierten Galerie-Root.
Für neue Root-Dateien:
- wird ein normaler Eintrag in
piwigo_imagesangelegt; storage_category_idbleibtNULL;- es wird kein Eintrag in
piwigo_image_categoryerzeugt; - Metadaten und Piwigo-Aktivität werden über die vorhandenen Piwigo-Funktionen aktualisiert;
- die Datei erscheint damit im Batch Manager unter
With no album / Orphans.
Für entfernte Root-Dateien wird nur der Piwigo-Datenbankeintrag entfernt. Das Nextcloud-Original bleibt unberührt.
API-Weg
Es existieren jetzt zwei eigene Webservice-Endpunkte:
bratonien.nc.sync– vollständiger read-only Paritätstest des klassischen Piwigo-Syncs;bratonien.nc.syncOrphans– dedizierte Root-Orphan-Synchronisation mit Simulation und produktivem Modus.
Beide Wege sind aktuell ausschließlich für Piwigo 16.4.0 freigegeben.
Aktuell offener Test
Die Einzeldateifreigabe DSC1461-Enhanced-NR (1).jpg wird bereits korrekt als file aus Nextcloud gelesen und als Symlink direkt im Galerie-Root angelegt.
Nach Installation von 0.9.3.14 muss geprüft werden:
- Simulation von
bratonien.nc.syncOrphansmeldetnew_orphans = 1; - normaler Connector-Lauf registriert das Bild produktiv;
- danach meldet die Orphan-Simulation
new_orphans = 0undregistered_orphans = 1; - das Bild erscheint im Piwigo Batch Manager unter
With no album / Orphans; - das Entfernen der Nextcloud-Freigabe entfernt später nur den Piwigo-Eintrag, nicht das Original.
Testmodus / Sicherheit
- Der produktive Timer bleibt während der kontrollierten Tests ausgeschaltet.
- Für reine Shadow-Tree-Tests kann
PIWIGO_SYNC_OVERRIDE=0verwendet werden. - Der verwendete Piwigo-API-Key ist ausschließlich ein temporärer Entwicklungs-/Test-Key und wird nicht Bestandteil der produktiven Konfiguration.
Bekannte offene Punkte
- finaler End-to-End-Test der neuen Orphan-Synchronisation;
- danach Löschtest einer Einzeldateifreigabe;
- produktiven vollständigen API-Sync erst nach erfolgreichen Paritätstests aktivieren;
- Admin-Fallback mit temporären bzw. optional dauerhaft gespeicherten Zugangsdaten fertigstellen;
- Remote-Nextcloud-Adapter ist noch nicht umgesetzt;
- UI und Restpunkte der Verbindungsverwaltung werden nach Abschluss der aktuellen technischen Tests weiter bereinigt.
Repository-Fallback
Während der Entwicklung bleibt GitHub das führende Repository. Zusätzlich existiert auf dem privaten Gitea-System ein Pull-Mirror als Ausfall-/Fallback-Ebene.