3.7 KiB
Workaround - Collection Share -Nextcloud
englisch:
TBD
deutsch:
Hintergrund
Es können in Nextcloud standardmäßig öffentliche Freigaben erstellt werden. Hier erhält jeder Ordner oder Datei einen individuellen Link. Es gibt aber auch Freigaben, die kontinuierlich erweitert werden sollen/können/müssen. Es aber nicht möglich ist, dessen übergeordneten Ordner zu teilen. Ein Beispiel: Fotos und Videos sollten unter einem Link mit der Fahrrad-Treff-Gruppe geteilt werden. In meiner Cloud sind diese Fotos unter “/media/edited/YYYY-MM-DD Name” abgelegt, im “/media/edited/” sind aber alle meine Medien abgelegt, deshalb kann ich diesen Ordner nicht direkt teilen. Einen extra Unterordner zum Beispiel “/media/edited/biking/…” zu erstellen ist auch nicht sinnvoll, da ich einzelne Ordner hiervon auch mit meiner Familie, Freunde, Arbeitskollegen teilen möchte, da es hier bisweilen Überschneidungen gibt. Gewünscht ist ein Link, der alle Freigaben der “Fahrrad-Treff-Gruppe” enthält.
Ziel des Workaround
- in der Nextcloud sollen Ordner und/oder Dateien markiert werden, nach Kollektionen
- Jede dieser Kollektionen erhält einen öffentlichen Link (es können aber auch mehrere angelegt werden, welche dieselbe Funktion haben, wie bei der Nextcloud-Freigabe an sich)
- diese Links sollen dieselben Optionen wie eine reguläre Nextcloud-Freigabe haben (Passwort, nur Upload, nur betrachten, Ablaufdatum, usw.)
- Wenn man diesen öffentlichen Link öffnet, wird ein “root”-Verzeichnis angezeigt, das alle Dateien und Ordner enthält, die entsprechend markiert wurden.
Anwendung
Initialisieren - je Kollektion
- Freigabe-Benutzer erzeugen, über dem die ganzen Freigaben verwaltet werden
- je einen Benutzer für jede Collection
- da wenn man mehrere selbe Ordner teilen möchte, dies sonst nocht kann
- Ordner Struktur bei Benutzer anlegen
- Es muss ein Ordner der zu teilen ist (z.B. "Medien für XYZ") direkt in "/" (root) angelegt werden
- hier wird ein Unterordner "Final" erzeugt
- es kann noch ein weiterer Ordner für das Dateiteilen (auch hochladen) parallel dazu erstellt werden, z.B. "Unbearbeitet"
Initialisieren - nach jedem NC Update
- Das Skript "filesaction-edit.sh" ausführen
- Im Ausführungsoder wird eine Sicherungskopie der "*.js" Datei erzeugt
Einen neuen Freigabe-Ordner
- den Freigabe-Benutzer, nach belieben, Ordner und Dateien freigeben
- alle Freigaben (im root Ordner oder einen benutzerdefinierten "Geteilt" Ordner) können jetzt in den "Final" Ordner verschoben werden.
- wenn alle Ordner korrekt verschoben sind kann das Skript "open-share.sh --allow" ausgeführt werden.
- Achtung: jetzt kann jeder alle Inhalte von anderen in der Cloud (zu denen er auch zugriff hat), öffentlich freigeben, auch wenn dies nicht erlaubt ist.
- jetzt muss der Freigabe-Ordner (z.B. "Medien für XYZ") freigegeben werden.
- die erzeugte ShareID wird lokal gespeichert
- Passwort sollte vergeben werden
- Ablaufdatum einstellen oder entfernen
- jetzt wieder das Skript "open-share.sh" (ohne Parameter) ausführen, damit Freigaben wieder geschützt werden.
- der Link mit der ShareID kann jetzt an jeden freigegeben werden
Änderung anm Freigabe-Ordner
Falls irgendein Ordner oder Datei aus der Freigabe entfernt, verschoben oder hinzugefügt werden muss, dann muss man ab 5. alle Schritte noch einmal ausführen.
Bugs/Fehler
- Drag'n'Drop ist im "Final" Ordner weiterhin möglich.
- Hierdurch können keine geteilten Ordner verändert werden, aber die geteilte Ordner in andere nicht geteilte Ordner (innerhalb der Freigabe) verschoben werden.