NC Connector

Bratonien Tools verwaltet die Nextcloud-Anbindung und den regelmäßigen Piwigo-Abgleich.

{assign var=nc_system_available value=isset($NC_CONNECTOR.system)}

Connector-Status

Phase{$NC_CONNECTOR.phase|escape:html} Connector-Verbindungen{$NC_CONNECTOR.connection_count|escape:html} Timer aktiv{if $nc_system_available && $NC_CONNECTOR.system.timer_active}Ja{else}Nein{/if} Timer aktiviert{if $nc_system_available && $NC_CONNECTOR.system.timer_enabled}Ja{else}Nein{/if} Letzter Lauf{if $nc_system_available}{$NC_CONNECTOR.system.last_run_label|escape:html}{else}Nicht verfügbar{/if} Nächster Lauf{if $nc_system_available}{$NC_CONNECTOR.system.next_run_label|escape:html}{else}Nicht verfügbar{/if}
{if $nc_system_available && $NC_CONNECTOR.system.last_run_message}

Letztes Ergebnis: {$NC_CONNECTOR.system.last_run_message|escape:html}

{/if} {if $nc_system_available && $NC_CONNECTOR.system.last_run_api_state == 'error'}

API: {$NC_CONNECTOR.system.last_run_api_message|escape:html}

{/if} {if $nc_system_available && $NC_CONNECTOR.system.last_run_fallback_state == 'ok'}

Fallback: erfolgreich übernommen.

{elseif $nc_system_available && $NC_CONNECTOR.system.last_run_fallback_state == 'error'}

Fallback: {$NC_CONNECTOR.system.last_run_fallback_message|escape:html}

{/if} {if $nc_system_available && $NC_CONNECTOR.system.last_run_error_detail}

Fehler: {$NC_CONNECTOR.system.last_run_error_detail|escape:html}

{/if}

Runtime

Neue Verbindungen verwenden direkt die Plugin-Runtime und einen eigenen State unter /var/lib/bratonien-tools/nc-connector/connection-ID.

{if $nc_system_available && !$NC_CONNECTOR.system.legacy_runtime_exists && !$NC_CONNECTOR.system.legacy_config_exists && !$NC_CONNECTOR.system.legacy_service_exists && !$NC_CONNECTOR.system.legacy_timer_exists}

Legacy-Bestand: vollständig entfernt.

{/if}

Neue Verbindung

Wähle den geführten Assistenten oder öffne die technische Einrichtung bewusst manuell.

Neue Verbindung

Assistent · Schritt {$NC_CONNECTOR.wizard.step|escape:html} von 4

{if $NC_CONNECTOR.wizard.step == 1}

Wir beginnen nur mit der Adresse der Nextcloud und einem Benutzer, mit dem die Instanz auf den Scan antworten kann.

{elseif $NC_CONNECTOR.wizard.step == 2}

Nextcloud erkannt. Alles, was zuverlässig ermittelt werden konnte, wurde bereits übernommen.

Nextcloud{$NC_CONNECTOR.wizard.base_url|escape:html} Produkt{$NC_CONNECTOR.wizard.product|escape:html} Version{if $NC_CONNECTOR.wizard.version}{$NC_CONNECTOR.wizard.version|escape:html}{else}nicht gemeldet{/if} Zugriff als{$NC_CONNECTOR.wizard.username|escape:html}{if $NC_CONNECTOR.wizard.display_name} · {$NC_CONNECTOR.wizard.display_name|escape:html}{/if} Technische Erkennung{$NC_CONNECTOR.wizard.technical_source|escape:html} Piwigo-Ziel{$NC_CONNECTOR.wizard.gallery_root|escape:html}
{if !$NC_CONNECTOR.wizard.db_password_set || !$NC_CONNECTOR.wizard.db_user}
Für den Datenabgleich fehlt noch der Datenbankzugang

Der Assistent konnte diese Angaben nicht sicher aus Nextcloud ableiten. Deshalb werden nur die fehlenden Werte abgefragt.

{elseif !$NC_CONNECTOR.wizard.technical_complete && $NC_CONNECTOR.wizard.storage_candidates|@count > 0}
Einige Storages konnten nicht automatisch zugeordnet werden

Mount-Pfade werden nur hier abgefragt, weil sie nicht sicher erkannt werden konnten. Bereits erkannte Zuordnungen sind gesperrt.

{foreach from=$NC_CONNECTOR.wizard.storage_candidates item=storage key=storage_index} Storage {$storage.storage_id|escape:html} · {$storage.source_prefix|escape:html} {if $storage.local_mount} {$storage.local_mount|escape:html} {else} {/if} {/foreach}

{elseif $NC_CONNECTOR.wizard.technical_complete}
Erkannte Verbindung
Datenbank{$NC_CONNECTOR.wizard.db_host|escape:html}:{$NC_CONNECTOR.wizard.db_port|escape:html} / {$NC_CONNECTOR.wizard.db_database|escape:html} Reader{$NC_CONNECTOR.wizard.db_user|escape:html} Source-View{$NC_CONNECTOR.wizard.source_view|escape:html} Activity-View{$NC_CONNECTOR.wizard.activity_view|escape:html} Storages{$NC_CONNECTOR.wizard.storages|@count}

Welcher Benutzer stellt die Bilder bereit?

Empfehlung: ein eigener Showcase-Benutzer. So bleibt die Connector-Quelle unabhängig von persönlichen Konten.

{if $NC_CONNECTOR.wizard.can_list_users && $NC_CONNECTOR.wizard.users|@count > 0} {else} {/if}

{/if}
{elseif $NC_CONNECTOR.wizard.step == 3}

Nextcloud verbunden. Showcase-Benutzer: {$NC_CONNECTOR.wizard.showcase_user|escape:html}

Piwigo-API

Die API ist der bevorzugte Weg. Du kannst neue Zugangsdaten eingeben, einen bereits gespeicherten API-Zugang testen oder diesen Schritt überspringen.

{if $NC_CONNECTOR.wizard.api_error}

Letzter API-Test: {$NC_CONNECTOR.wizard.api_error|escape:html}

{/if}
{elseif $NC_CONNECTOR.wizard.step == 4}

Abschluss. Nextcloud und technische Verbindung sind vorbereitet.

Verbindung{$NC_CONNECTOR.wizard.connection_name|escape:html} Nextcloud{$NC_CONNECTOR.wizard.base_url|escape:html} Showcase-Benutzer{$NC_CONNECTOR.wizard.showcase_user|escape:html} Piwigo-API{if $NC_CONNECTOR.wizard.api_status == 'ok'}Erfolgreich getestet{if $NC_CONNECTOR.wizard.api_username} · {$NC_CONNECTOR.wizard.api_username|escape:html}{/if}{else}Übersprungen{/if}

Fallback
{if $NC_CONNECTOR.wizard.api_status == 'ok'}

Optional. Der Fallback wird nur benötigt, wenn die API später nicht nutzbar ist.

{else}

Die API wurde übersprungen. Deshalb ist ein Fallback-Zugang erforderlich.

{/if}
{/if}
Ohne Assistent anlegen

Technische Einrichtung. Falsche Storage- oder Galeriepfade können die Synchronisierung auf den falschen Datenbestand richten.

Eine Zeile pro Storage: storage_id | source_prefix | /lokaler/mount

Connector-Verbindungen

{if $NC_CONNECTOR.connection_count > 0} {foreach from=$NC_CONNECTOR.connections item=connection} {if $connection.verification_checks|@count > 0} {/if} {if isset($connection.last_sync) && $connection.last_sync.timestamp > 0} {/if} {/foreach}
NameAdapterHostQuelleStoragesStatusAktion
{$connection.display_name|escape:html} {$connection.adapter|escape:html} {if $connection.host}{$connection.host|escape:html}{else}—{/if} {if $connection.source_view}{$connection.source_view|escape:html}{else}—{/if} {$connection.storage_count|escape:html} {$connection.takeover_state|escape:html}{if $connection.enabled} · aktiv{/if}
Verwalten
{if $connection.adapter == 'local' && !$connection.enabled}
{/if} {if !$connection.enabled && $connection.takeover_state != 'active'}
{/if}
Technische Einstellungen {if $connection.enabled || $connection.takeover_state == 'active'}

Eine aktive Verbindung muss vor technischen Änderungen deaktiviert werden.

{else}

Nur ändern, wenn die technische Zuordnung bekannt ist. Storage- und Galeriepfade sind sicherheitskritisch.

Storage-Zuordnungen

{/if}
Letzte Verifikation{if $connection.verified_at} · {$connection.verified_at|escape:html}{/if}
    {foreach from=$connection.verification_checks item=check}
  • {if $check.ok}✓{else}✗{/if} {$check.name|escape:html}: {$check.detail|escape:html}
  • {/foreach}
Letzter Sync · {$connection.last_sync.label|escape:html}

Ergebnis: {$connection.last_sync.message|escape:html}

{if $connection.last_sync.api_state == 'error'}

API fehlgeschlagen: {$connection.last_sync.api_message|escape:html}

{/if}{if $connection.last_sync.fallback_state == 'error'}

Fallback fehlgeschlagen: {$connection.last_sync.fallback_message|escape:html}

{/if}{if $connection.last_sync.error_detail}

Technischer Fehler: {$connection.last_sync.error_detail|escape:html}

{/if}
{else}

Noch keine Verbindung in der Connector-Verwaltung.

{/if}

Piwigo API – bevorzugter Sync-Zugang

Hier kann der globale API-Zugang unabhängig vom Assistenten geprüft, ersetzt oder gelöscht werden.

{if isset($NC_CONNECTOR.piwigo_api_test) && $NC_CONNECTOR.piwigo_api_test}

Bewertung: {$NC_CONNECTOR.piwigo_api_test.conclusion|escape:html}

{/if}

Benutzername/Passwort-Fallback

{if $NC_CONNECTOR.connection_count > 0}
{else}

Noch keine Connector-Verbindung vorhanden.

{/if}