Menu

Anbindung externer Speicher, Nextcloud/Owncloud wie?

German
polipio
2020-07-22
2020-10-08
  • polipio

    polipio - 2020-07-22

    Hallo Zusammen,

    ich bin neu in dem Forum und interessiere mich für das DMS im Limbas. Die Anwendung finde ich super! Lokale Dateien funktionieren auch wunderbar. Allerdings gelingt es mir nicht, eine Anbindung an Nextcloud/Owncloud über die implementierte Schnittstelle herzustellen. Die Beschreibung im Wiki und in der Dokumentation sind leider für mich nicht sonderlich hilfreich, oder ich verstehe sie nicht.
    Die Datei wird hochgeladen, dann kommt aber die Fehlermeldung:

    "Ein Fehler ist aufgetreten!
    Änderungen wurden zurückgesetzt!"

    Kein Eintrag im log von limbas. Ich habe bisher herausbekommen, dass die Anmeldung am externen Server wegen dem Benutzeraccount scheitert. Zumindest entnehme ich das dem logfile vom nginx Webserver. Der Benutzer, welchen ich bei Nextcloud extra für Limbas angelegt habe, funktioniert nicht. Ich finde aber nicht heraus, wie die Anmeldung technisch funktioniert bzw. wie diese an den Dienst von Nextcloud/Owncloud übermittelt wird. Ist Nextcloud und Owncloud hinsichtich der Anmeldung überhaupt miteinander vergleichbar? Es gab ja vor einiger Zeit eine Abspaltung, aus welcher der Dienst Nextcloud entstand...

    Eine 2 Faktoren Anmeldung benutze ich nicht.

    Gib es hier einen User, der das schon mal hinbekommen hat?
    Muss noch eine App bei Nextcloud/Owncloud installiert werden (Exernal Storage, files_external)?
    Funktioniert es ggf. über eine andere Methode wie z. B. ftp einfacher?
    Kann man das Bitte in einem "how to" verdeutlichen?

    Ziel wäre es, den Datenverkehr intern über den localhost zu lösen...

    Vielen Dank für Eure Unterstützung.

    polipio

     
  • Peter Greth

    Peter Greth - 2020-07-23

    Hallo polipio,

    schön dass du dich für unser DMS und die neue Schnittstelle interessierst! Owncloud und Nextcloud unterscheiden sich in der Webdav Schnittstelle nicht, deswegen kannst du in Limbas einfach einen externen Speicher vom Typ "Owncloud" hinzufügen, auch wenn du die Nextcloud benutzt.

    Ich hab keine Nextcloud installiert, aber ich hab es gerade mit der Demo von Nextcloud erfolgreich ausprobiert. So bin ich vorgegangen:

    1. In Nextcloud hab ich einen Ordner erstellt, in dem die Dateien abgelegt werden sollen. Bei mir heißt der "Limbas"
    2. In Limbas unter Admin -> Externer Speicher hab ich einen neuen Eintrag hinzugefügt (Als Ordner wählst du jetzt den gerade erstellten Ordner "Limbas", siehe Bild)
    3. Session reset oben rechts
    4. Im DMS habe ich zu Testzwecken einen neuen Ordner "NextcloudOrdner" erstellt und geöffnet. Du kannst aber einen beliebigen Ordner mit der Nextcloud verknüpfen. Wichtig ist nur zu wissen, dass bestehende Dateien nicht automatisch synchronisiert werden, sondern nur Dateien die ab jetzt hinzugefügt werden.
    5. In dem geöffneten Ordner kannst du unter Extras -> Einstellungen den Nextcloud-Eintrag auswählen. Wichtig zu wissen: Es wird dabei der Ordner in dem man sich gerade befindet verknüpft und nicht der Ordner, den man im DMS selektiert hat.
    6. Im DMS oben links unter Datei -> speichern, danach oben rechts einen Session Reset.
    7. Jetzt kannst du eine neue Datei hochladen. Sie wird dann automatisch in die Nextcloud hochgeladen statt auf dem Limbas-Rechner gespeichert zu sein.

    Ich hab von jedem Schritt auch Bilder gemacht. Bei der Cloud muss keine App installiert wreden.

    Wir versuchen unser Wiki sowohl möglichst aussagekräftig als auch nicht zu lang zu halten. Welche Infos hast du dabei denn vermisst?

    LG,
    Peter von Limbas

     
  • polipio

    polipio - 2020-07-23

    Hallo Peter,

    vielen Dank für deine Super Anleitung. Ich kann sagen, ES FUNKTIONIERT!!
    Aber leider nur das hochladen und downloaden
    Die Dateien werden beim löschen in Limbas leider nicht in der Cloud gelöscht!!

    Wie kann ich es hinbekommen, dass die Dateien auch auf der Cloud gelöscht werden?

    Folgende Dinge habe ich jetzt anders gemacht:

    1. Ich habe auch für Limbas in der Cloud einen eigenen Ordner angelegt. Ich hatte vorher mit "/" als Rootverzeichnis herumprobiert.
    2. Ich habe den entsprechend EXTRA angegebenen "Session Reset" an den Stellen laut Anleitung vorgenommen (Punkt 3 und 6). Davon steht im Wiki nix! Tipp: Bitte das Wiki hierzu ergänzen...
    3. Ich habe Punkt 6 jetzt explizit befolgt und Datei -> speichern gemacht. Davon steht im Wiki auch nichts...
      4. Im Wiki steht auch ein Proxy Eintrag drin. Dies könnte bei einigen Anwendern für Verwirrung stiften. Die Angabe ist nur erforderlich, wenn ein externer Link gewünscht wird. Ich würde das Bild im Wiki nochmals anpassen und das Bild beim Thema "externer Link" und nicht ganz oben einfügen.

    Ich habe dann noch die Beschränkung der Zeichen für die Dateinamen in der lmds_files Tabelle erhöht. 20 Zeichen sind schon recht wenig. Wenn dies nicht geändert wird, erscheint von Limbas eine Fehlermeldung bzgl. der Länge des Dateinamens. Der Upload wird abgebrochen.
    ACHTUNG: Die hochzuladende Datei wird jetzt nicht nach Limbas übernommen, aber sehr wohl in der Cloud gespeichert. In der Cloud wird dann aber der Dateiname eingekürzt. Also an alle die das auch machen wollen, achtet auf die Länge der Dateinamen, sonst entstehen viele Dateien mit zerschnipselten Dateinamen.
    Empfehlenswert ist es auch, die Cloud ggf. bei den Systemeinstellungen mehrmals für unterschiedliche Ordner im DMS einzutragen, und diese dann mit entsprechenden Ordnern von Limbas zu verknüpfen.

    Ich probiere noch aus, ob es über localhost auch funktioniert.
    Das Hochladen funktioniert auch mit der IP im lokalen Netzwerk. Allerdigs werden ebenfalls keine Dateien in der Cloud gelöscht, wenn diese in Limbas entfernt werden.

    DANKE erst mal für die schnelle Hilfe!

    polipio

     

    Last edit: polipio 2020-07-24
  • Peter Greth

    Peter Greth - 2020-07-24

    Hallo polipio,
    super, dass es jetzt funktioniert und vielen Dank für die Anregungen!

    In Zukunft wird man die Dateien auch ohne extra Ordner in der Cloud hochladen können. Ich würde trotzdem einen extra Ordner empfehlen um Namensduplikate auszuschließen.

    Dass es bei dir nicht funktioniert hat lag dann wohl genau am Ordner. Einen Session-Reset muss man immer machen wenn man im Admin-Bereich etwas an der Konfiguration geändert hat. Dadurch wird die alte Konfiguration nicht weiter gecached.

    Das mit der Dateinamenlänge wundert mich. Sowohl "name" als auch "secname" sind in Limbas vom Typ varchar(128), also maximal 128 Zeichen lang. Ich konnte ohne Probleme eine Datei mit einem 128-Zeichen langen Namen hochladen, sowohl in Limbas als auch in die Nextcloud. Welches Feld hast du denn angepasst und welche Limbas-Version hast du? Hat der Dateiname eventuell Sonderzeichen/Leerzeichen enthalten?

    Das löschen aus der Cloud ist bisher nicht implementiert, unter anderem auch weil Dateien in der Cloud modifiziert (z.B. verschoben oder umbenannt) werden können ohne dass Limbas etwas davon mitbekommt. Wenn das in Zukunft bei einem unserer Kunden eine Anforderung ist können wir das auch umsetzen.
    Bis dahin kannst du auch eine Anbindung per Mount (Wiki) ausprobieren.

    LG,
    Peter von Limbas

     
  • polipio

    polipio - 2020-10-06

    Hallo Peter,

    so ich habe mal wieder ein wenig an der Sache weiterarbeiten können. Du wolltest gerne wissen, welches Feld ich geändert habe. Es handelte sich um das Feld 10 und 11 der Tabelle. Hier war bei mir die Einstellung auf 20 Zeichen. Das habe ich erhöht. In der neuen Version (4.2.7.998) ist das schon anders.

    Ich habe die Daten jetzt über mein NAS angebunden. Das funktioniert schon mal ganz gut. Die Verbindung zur Nextcloud habe ich mit der App "ExternalFiles" und einem Mountpoint gelöst. Vorteil bei der Einbindung über die App ist, dass die Nectcloud hier automatisch immer nach neuen Dateien im Verzeichnis sucht.

    Jetzt habe ich aber ein weiteres Problem. In Limbas werden die Dateien im DMS ja verschlüsselt und nicht mit sprechenden Namen gespeichert. Ich verstehe, den Sinn der Verschlüsselung bzgl. der konsistenz der Dateinamen, Benutzerrechte usw. Die ist aber bei einem externen Speicher ungünstig. Insbesondere wenn die Cloud (wie die Nextcloud mit Collabora usw.) die Möglichkeit bietet, Dateien online bearbeiten zu können.

    Könnte mann die Funktion mit einer globalen Variable abschalten? Wo müsste ich den Code hierzu ändern?

    Die Prüfung auf doppelte Benennung würde ja weiterhin vorgenommen werden.

    Interessant wäre hier, wenn es für Nextcloud eine eigene App, auf Basis von "External Files" für LIMBAS, geben würde, welche über die Datenbankanbindung die Maskierung der Dateien, wie beim Limbas DMS in php, bei der Anzeige im Browser auf den sprechenden Dateinamen ändert. Dann wäre das Löschen und Bearbeiten uneingeschränkt möglich.

    Vielleicht gäbe es aber auch noch eine andere Möglichkeit zur Bearbeitung. Und zwar die diese mittels Browser und Adressaufruf an den Dokumentenserver von Collabora und Co. aus LIMBAS selbst anzustoßen. Hierzu muss man die "fileid" aus der Nextcloud herausbekommen. Aha, dass scheint zu gehen! Noch ne Abfrage ob Download oder Bearbeiten... Vieleicht ist der Weg für's Bearbeiten einfacher... :-)

    Grüße

    polipio

     
  • Peter Greth

    Peter Greth - 2020-10-08

    Hallo polipio,

    schön zu sehen dass du drangeblieben bist!

    Das hashen der Dateinamen kann man aktuell leider nicht abstellen. Wenn du den Code dafür auf eigene Gefahr ändern möchtest ist die Funktion new_filename in extra/explorer/filestructure.lib ein Einstiegspunkt.

    Vielen Dank für die vielen Anregungen. Leider können wir solche Features nicht einfach so umsetzen. Sollte einer unserer Kunden das Löschen und Bearbeiten von Dateien in der Cloud in Zukunft benötigen ist das sicherlich sehr nützlich für die Community.

    Liebe Grüße,
    Peter von Limbas

     

Log in to post a comment.

MongoDB Logo MongoDB