mirror of
https://github.com/Terranom674/Piwigo_Bratonien_Tools.git
synced 2026-09-19 23:24:36 +00:00
Document orphan synchronization in 0.9.3.14
This commit is contained in:
@@ -4,20 +4,21 @@ Stand: 17.08.2026
|
|||||||
|
|
||||||
## Plugin
|
## Plugin
|
||||||
|
|
||||||
- Aktuelle Plugin-Version: **0.9.3.13**
|
- Aktuelle Plugin-Version: **0.9.3.14**
|
||||||
- Aktueller Entwicklungsblock: **NC Connector – Verbindungsverwaltung / laufende Optimierung**
|
- Aktueller Entwicklungsblock: **NC Connector – Verbindungsverwaltung / laufende Optimierung**
|
||||||
- NC Connector ist Feature 10 und noch nicht vollständig abgeschlossen.
|
- 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`.
|
- Solange dieser Optimierungsblock läuft, bleibt die Version im Bereich `0.9.3.x`.
|
||||||
|
|
||||||
## Aktueller GitHub-Stand
|
## Aktueller GitHub-Stand
|
||||||
|
|
||||||
- Aktuelle Versionsanhebung: `0.9.3.13`
|
- Aktuelle Versionsanhebung: `0.9.3.14`
|
||||||
- `runtime/sync.sh` bleibt jetzt mit bereits bestehenden `connection-*.conf` kompatibel, die `NC_ACTIVITY_VIEW` noch nicht enthalten.
|
- Einzeldateifreigaben im Galerie-Root werden nicht mehr ausschließlich der klassischen Piwigo-Dateisynchronisation überlassen.
|
||||||
- Fehlt `NC_ACTIVITY_VIEW`, wird automatisch `piwigo_showcase_activity` verwendet.
|
- Neuer Webservice `bratonien.nc.syncOrphans` registriert direkte Root-Dateien als echte Piwigo-Orphans ohne Album-Zuordnung.
|
||||||
- Fehlt `NC_DB_VIEW`, wird automatisch `piwigo_showcase_sources` verwendet.
|
- `runtime/lib/piwigo-db-sync.pl` fü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.sync` bleibt weiterhin der read-only Paritätstest für den vollständigen klassischen Sync.
|
||||||
- Die in `0.9.3.12` ergänzte Share-Fingerprint-Prüfung des Activity-Gates bleibt aktiv.
|
- Die in `0.9.3.12` ergänzte Share-Fingerprint-Prüfung des Activity-Gates bleibt aktiv.
|
||||||
- Neue oder entfernte Shares können damit einen Lauf direkt auslösen, auch wenn Nextcloud dafür keinen passenden Activity-Eintrag liefert.
|
- `runtime/sync.sh` bleibt mit älteren `connection-*.conf` kompatibel und verwendet bei fehlenden Werten automatisch `piwigo_showcase_activity` bzw. `piwigo_showcase_sources`.
|
||||||
- Für bestehende Installationen existiert im Proxmox-Scripts-Repo eine upgrade-sichere Nextcloud-View-Migration auf `folder` und `file`, ohne das Passwort von `piwigo_reader` zu verändern.
|
|
||||||
|
|
||||||
## Architektur NC Connector
|
## Architektur NC Connector
|
||||||
|
|
||||||
@@ -59,50 +60,56 @@ Bei einer Legacy-View wird der Typ nach Auflösung des Storage-Pfads über Datei
|
|||||||
|
|
||||||
## Piwigo-Synchronisation
|
## Piwigo-Synchronisation
|
||||||
|
|
||||||
### Bestehender Admin-Weg
|
### Physische Alben
|
||||||
|
|
||||||
Der produktive Fallback benutzt weiterhin den bestehenden Admin-Sync über `runtime/lib/piwigo-db-sync.pl`.
|
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_images` angelegt;
|
||||||
|
- `storage_category_id` bleibt `NULL`;
|
||||||
|
- es wird kein Eintrag in `piwigo_image_category` erzeugt;
|
||||||
|
- 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
|
### API-Weg
|
||||||
|
|
||||||
Es existiert der eigene Webservice-Endpunkt `bratonien.nc.sync`.
|
Es existieren jetzt zwei eigene Webservice-Endpunkte:
|
||||||
|
|
||||||
Aktueller Zustand:
|
- `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.
|
||||||
|
|
||||||
- nur für Piwigo **16.4.0** freigegeben;
|
Beide Wege sind aktuell ausschließlich für Piwigo **16.4.0** freigegeben.
|
||||||
- aktuell nur **Simulation**;
|
|
||||||
- produktiver API-Sync (`simulate=false`) ist bewusst noch deaktiviert;
|
|
||||||
- API-Key-Authentifizierung wurde erfolgreich gegen Piwigo getestet;
|
|
||||||
- API-Simulation und originale Piwigo-Admin-Simulation lieferten in den bisherigen Vergleichstests dieselben Ergebnisse.
|
|
||||||
|
|
||||||
Der API-Weg soll später der bevorzugte Weg werden. Der klassische Admin-Weg bleibt als Fallback erhalten.
|
|
||||||
|
|
||||||
## Aktuell offener Test
|
## Aktuell offener Test
|
||||||
|
|
||||||
Ein einzelnes Bild liegt bereits im Nextcloud-Stammverzeichnis und ist als einzelne Datei geteilt.
|
Die Einzeldateifreigabe `DSC1461-Enhanced-NR (1).jpg` wird bereits korrekt als `file` aus Nextcloud gelesen und als Symlink direkt im Galerie-Root angelegt.
|
||||||
|
|
||||||
Der nächste Test soll nach Installation von `0.9.3.13` die komplette Kette prüfen:
|
Nach Installation von `0.9.3.14` muss geprüft werden:
|
||||||
|
|
||||||
`Nextcloud-View -> Activity/Share-Gate -> Manifest -> Shadow Tree -> Piwigo-API-Simulation`
|
1. Simulation von `bratonien.nc.syncOrphans` meldet `new_orphans = 1`;
|
||||||
|
2. normaler Connector-Lauf registriert das Bild produktiv;
|
||||||
Erwartung:
|
3. danach meldet die Orphan-Simulation `new_orphans = 0` und `registered_orphans = 1`;
|
||||||
|
4. das Bild erscheint im Piwigo Batch Manager unter `With no album / Orphans`;
|
||||||
- die Einzeldateifreigabe erscheint in der Source-View mit `item_type = file`;
|
5. das Entfernen der Nextcloud-Freigabe entfernt später nur den Piwigo-Eintrag, nicht das Original.
|
||||||
- der Gate erkennt die geänderte Share-Struktur;
|
|
||||||
- die Freigabe erscheint im Manifest als `file`;
|
|
||||||
- sie wird direkt im Galerie-/Shadow-Root als Symlink angelegt;
|
|
||||||
- die Piwigo-Simulation erkennt sie anschließend als neues Element.
|
|
||||||
|
|
||||||
## Testmodus / Sicherheit
|
## Testmodus / Sicherheit
|
||||||
|
|
||||||
- Der produktive Timer bleibt während der kontrollierten Tests ausgeschaltet.
|
- Der produktive Timer bleibt während der kontrollierten Tests ausgeschaltet.
|
||||||
- Für Connector-Tests kann `PIWIGO_SYNC_OVERRIDE=0` verwendet werden, damit der Shadow Tree aktualisiert werden kann, ohne den produktiven Piwigo-Datenbank-Sync auszuführen.
|
- Für reine Shadow-Tree-Tests kann `PIWIGO_SYNC_OVERRIDE=0` verwendet werden.
|
||||||
- Der verwendete Piwigo-API-Key ist ausschließlich ein temporärer Entwicklungs-/Test-Key und wird nicht Bestandteil der produktiven Konfiguration.
|
- Der verwendete Piwigo-API-Key ist ausschließlich ein temporärer Entwicklungs-/Test-Key und wird nicht Bestandteil der produktiven Konfiguration.
|
||||||
|
|
||||||
## Bekannte offene Punkte
|
## Bekannte offene Punkte
|
||||||
|
|
||||||
- finaler End-to-End-Test für einzeln geteilte Bilder im Stammverzeichnis;
|
- finaler End-to-End-Test der neuen Orphan-Synchronisation;
|
||||||
- produktiven API-Sync erst nach erfolgreichen Paritätstests aktivieren;
|
- 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;
|
- Admin-Fallback mit temporären bzw. optional dauerhaft gespeicherten Zugangsdaten fertigstellen;
|
||||||
- Remote-Nextcloud-Adapter ist noch nicht umgesetzt;
|
- Remote-Nextcloud-Adapter ist noch nicht umgesetzt;
|
||||||
- UI und Restpunkte der Verbindungsverwaltung werden nach Abschluss der aktuellen technischen Tests weiter bereinigt.
|
- UI und Restpunkte der Verbindungsverwaltung werden nach Abschluss der aktuellen technischen Tests weiter bereinigt.
|
||||||
|
|||||||
Reference in New Issue
Block a user