mirror of
https://github.com/Terranom674/Piwigo_Bratonien_Tools.git
synced 2026-09-19 21:04:33 +00:00
122 lines
5.2 KiB
Markdown
122 lines
5.2 KiB
Markdown
# 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.
|