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

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

Der Assistent braucht zuerst nur die Nextcloud-Adresse und einen Benutzer, mit dem Nextcloud auf den Scan antworten darf.

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

Scan erfolgreich. Erkannte Werte:

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}

Welcher Benutzer stellt die Bilder bereit?

Empfehlung: ein eigener Benutzer nur für die Showcase-Freigaben. So bleibt die Connector-Quelle klar und unabhängig von persönlichen Konten.

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

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

Der nächste Assistentenschritt ist die Piwigo-API-Prüfung. Die technische Verbindungserkennung bleibt davon getrennt und wird nicht als frei editierbare Pfadmaske in den Assistenten gezogen.

{/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

Die API-Verwaltung bleibt für bestehende Verbindungen verfügbar. Im fertigen Assistenten wird sie als eigener Prüfschritt eingebunden.

{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}