Skip to content

WWSMaX Resolver

WWSMaX Resolver ist eine schlanke Nextcloud-App, die einen Dateipfad aus einem externen System entgegennimmt, den Pfad im Dateibaum des aktuell angemeldeten Nextcloud-Benutzers auflöst und anschließend zur passenden Nextcloud-Ansicht weiterleitet.

Der typische Anwendungsfall ist die Übergabe eines Dateipfads aus WWSMaX an Nextcloud, damit ein Benutzer direkt in die Datei- oder Ordneransicht springt, ohne den Pfad manuell in Nextcloud suchen zu müssen.

  • Nimmt einen Pfad per GET-Request entgegen.
  • Löst den Pfad im Home-Verzeichnis des aktuell angemeldeten Benutzers auf.
  • Leitet bei Dateien standardmäßig auf die robuste Nextcloud-Datei-URL weiter.
  • Leitet bei Ordnern in die Dateienansicht des Zielordners weiter.
  • Kann optional versuchen, eine Datei in der Dateienansicht zu öffnen.
  • Kann Dateien oder Ordner in der Dateienliste anzeigen und dort selektieren.
  • Directorywwsmax_resolver/
    • Directoryappinfo/
      • info.xml
      • routes.php
    • Directorylib/
      • DirectoryController/
        • ResolverController.php
  • Laufende Nextcloud-Instanz
  • Nextcloud-Version 27 oder neuer
  • Administrator-Zugriff auf die Nextcloud-Instanz
  • Bei Nextcloud AIO: Shell-Zugriff auf den Docker-Host oder Zugriff auf Docker-Kommandos
  1. Vorhandene App deaktivieren nur bei Update

    Terminal window
    docker exec --user www-data -it nextcloud-aio-nextcloud php occ app:disable wwsmax_resolver
  2. Projekt auf den Server kopieren

    Kopiere den App-Ordner von C:\Program Files (x86)\Styletronix.net\Auftragsverwaltung V2\Apps\wwsmax_resolver auf deinen Server, zum Beispiel nach /tmp/wwsmax_resolver.

    Beispiel von Windows per scp:

    Terminal window
    scp -r "C:\Program Files (x86)\Styletronix.net\Auftragsverwaltung V2\Apps\wwsmax_resolver" user@dein-server:/tmp/
  3. App in den Nextcloud-AIO-Container kopieren

    Auf dem Server:

    Terminal window
    docker exec nextcloud-aio-nextcloud mkdir -p /var/www/html/custom_apps/wwsmax_resolver
    docker cp /tmp/wwsmax_resolver/. nextcloud-aio-nextcloud:/var/www/html/custom_apps/wwsmax_resolver
  4. Rechte im Container setzen

    Terminal window
    docker exec nextcloud-aio-nextcloud chown -R 33:0 /var/www/html/custom_apps/wwsmax_resolver
    docker exec nextcloud-aio-nextcloud chmod -R 750 /var/www/html/custom_apps/wwsmax_resolver
  5. App aktivieren

    Terminal window
    docker exec --user www-data -it nextcloud-aio-nextcloud php occ app:enable wwsmax_resolver
  6. Installation prüfen

    Terminal window
    docker exec --user www-data -it nextcloud-aio-nextcloud php occ app:list | grep wwsmax_resolver

    Wenn die App aktiviert ist, sollte sie in der Ausgabe als enabled erscheinen.

Wenn Nextcloud nicht als AIO, sondern klassisch betrieben wird, gilt dasselbe Prinzip:

  1. App nach custom_apps oder in ein konfiguriertes zusätzliches App-Verzeichnis kopieren.

  2. Webserver-Benutzer als Besitzer oder mit passenden Leserechten versehen.

  3. App mit occ app:enable wwsmax_resolver aktivieren.

    Typische Aktivierung:

    Terminal window
    sudo -u www-data php occ app:enable wwsmax_resolver
Terminal window
docker exec --user www-data -it nextcloud-aio-nextcloud php occ app:disable wwsmax_resolver
docker exec nextcloud-aio-nextcloud rm -rf /var/www/html/custom_apps/wwsmax_resolver

Prüfen:

  • Liegt der Ordner exakt unter /var/www/html/custom_apps/wwsmax_resolver?
  • Stimmt die App-ID in info.xml mit dem Ordnernamen überein?
  • Stimmen Dateirechte und Besitzer?

Hilfreiche Befehle:

Terminal window
docker exec --user www-data -it nextcloud-aio-nextcloud php occ app:enable wwsmax_resolver
docker logs --tail 200 nextcloud-aio-nextcloud

Prüfen:

  • Der Pfad muss aus Sicht des angemeldeten Benutzers existieren.
  • Der Pfad ist relativ zum Benutzerbereich gemeint.
  • Führender Slash ist erlaubt, aber nicht zwingend.

Beispiel:

  • /Dokumente/Rechnung.pdf
  • Dokumente/Rechnung.pdf

Du bist in Nextcloud nicht angemeldet oder die Session ist nicht gültig.

Die Datei oder der Ordner wurde für den aktuellen Benutzer unter dem übergebenen Pfad nicht gefunden.