Upload-Only fĂŒr Nutzer (oder Automatisches Verschieben)

Hallo Zusammen,
Ich wĂŒrde mich ĂŒber ein paar Ideen/Anregungen zu folgendem Sachverhalt freuen.

Soll:
User sollen Dateien nur fĂŒr eine bestimmte Gruppe (z.B. “team”) freigegeben hochladen können. Private Dateiablagen sollen nicht möglich sein. Dabei sollen die Inhalte der anderen User möglichst nicht sichtbar sein. Über neue Uploads sollen die User der Gruppe “team” benachrichtigt werden.

Ist:
In meiner NC können sich User via Sociallogin anmelden, damit ich nicht jeden neuen User per Hand anlegen muss. Auch werden hierbei bestimmte Gruppen von dem OAuth-Server ĂŒbertragen und ggf. angelegt. Default Quota ist auf 0B gelegt und den Usern der Standardgruppe (welche von Sociallogin allen via OAuth erstellten Usern gesetzt wird) ist ein “Uploads”-Ordner freigegeben. In diesem mĂŒssen die Nutzer selbst einen Ordner mit ihrem Namen erstellen und in diesem Dateien hochladen. Über einen neu erstellten Ordner bekomme ich eine Benachrichtigung (Flow mit automated tagging).

Am besten wĂ€re es, wenn z.B. die User in ihrem Standardverzeichnis Dateien hochladen und diese zB. tĂ€glich in einen Ordner des teams verschoben werden. Hierzu konnte ich jedoch nichts finden, außer einen cron und anschließendem occ scan, wobei ich das gerne direkt via Nextcloud handhaben lassen wĂŒrde.

Hat jemand Ideen/VorschlĂ€ge, wie das besser umzusetzen ist? Ich möchte von Absoluten DAUs ausgehen und niemand soll die Dateien von anderen sehen können (außer das Team).

GrĂŒĂŸe!

hallo @maddingamer ich bin nicht sicher ob ich deine Anforderung richtig verstehe, nach meinem VerstĂ€ndnis sollte deine Lösung mit 0MB Quota in Kombination mit Group Folders App genau das gewĂŒnschte Verhalten mitbringen. ĂŒber neue und geĂ€nderte Dateien wird man ĂŒber Activity informiert (fĂŒr Group Folder muss noch ein Tweak angewendet werden damit es auch fĂŒr durch andere Benutzer geĂ€nderte Dateien funktioniert)

Im Grunde genommen habe ich es aktuell genau so (nur dass ich einen shared folder statt group folder nutze). Nur möchte ich gerne dass Nutzer A nicht sieht was Nutzer B in dem Upload-Ordner hochgeladen hat. Aber das Team soll die natĂŒrlich alle sehen können. Klar könnte ich fĂŒr jede/n einen Ordner erstellen, aber da es viele verschiedene mögliche Nutzer gibt, möchte ich alles automatisch haben


Wenn ich das richtig verstehe dient der individuelle Upload Ordner nur als Zwischenspeicher. Wenn deine Benutzer Mitglieder einer Gruppe sind und damit Schreibrechte im Group Folder haben, entfÀllt dieser Schritt und sie können Dateien direkt in ihrem Team Ordner erstellen - andere Gruppen haben keinen Zugriff.

Ich glaube meine Gegebenheiten habe ich nicht konkret genug erlÀutert.

Benutzer user-1 bis user-n können sich automatisch via Sociallogin registrieren und anmelden
Dabei erhalten alle die Gruppe automatic_user

Es gibt 3 manuell Angelegte User: manager-1 bis manager-3
Diese sind Mitglied der Gruppe team

Alle User der Gruppe automatic_user sollen der Gruppe team Dateien zur VerfĂŒgung stellen können. Dabei sollen die User innerhalb der Gruppe automatic_user nicht die Inhalte der anderen User aus automatic_user sehen können.

Eventuell ist File Drop etwas fĂŒr dich. Damit kannst du auch die Accounts der user-1 bis -n sparen. Du kannst einfach eine Freigabe (auch einen pro “Zulieferer”) definieren, wo man Daten ablegen kann ohne dass man die Daten anschliessend manipulieren kann
 Wenn das auch nicht die Lösung ist, musst du dein Business Case besser beschreiben (nicht deine aktuelle Implementierung und die Probleme, sondern was du erreichen möchtest - bzw was wĂŒrdest du machen wenn du alles anstellen könntest) - dann kann das Forum kreativ werden.

Danke fĂŒr deine RĂŒckmeldung.
FileDrop ist auch interessant, aber dann mĂŒsste ich fĂŒr jeden User einen Share anlegen, wobei ich möglichst alles automatisiert haben möchte.

Hier einmal meine Vorstellung, was ich konkret brauche/mir wĂŒnsche:
Eine wechselnde Zahl an Personen soll mir und 2 weiteren Personen Dateien zur VerfĂŒgung stellen. Dabei sollen die Personen, welche Dateien hochladen, maximal ihre eigenen sehen, oder im Idealfall nach dem Upload quasi nix mehr davon sehen. Außerdem soll deutlich sein, von wem die Dateien stammen (z.B. Ordner oder Tag mit Namen der Person, die die Datei hochgeladen hat). Anschließend bekommen ich und die 2 weiteren Personen aus dem “Team” eine Benachrichtung/E-Mail, dass neue Dateien hochgeladen wurden (Wenn eine Person 100 Fotos auf einmal hochlĂ€dt, soll hier natĂŒrlich nur eine Benachrichtigung/E-Mail kommen).

Weiterhin sollen vereinzelt Ordner an bestimmte Personen bzw. Gruppen zur Ansicht freigegeben werden können.

FĂŒr mich bzw. “das Team” soll möglichst geringer Aufwand aufkommen, d.h. es soll bis zum “Wegsortieren” der Dateien alles möglichst automatisiert ablaufen. Hierzu steht mir ein Server, welcher OAuth2 unterstĂŒtzt und wo alle in Frage kommenden Personen bereits ein Profil mit hinterlegten Gruppen haben, zur VerfĂŒgung.

Die Personen, welche Dateien zur VerfĂŒgung stellen, sollen keine privaten Dateien ablegen können.

Ich bin gespannt auf VorschlÀge, vielen Dank!

Ganz so wie du dir das vorstellst, wird es warscheinlich nicht funktionieren. Zumindest nicht “out of the box”

Du wirst nicht darum herumkommen, diese Personen irgendwie zu managen. Wenn du ihnen keinen vollwertigen Account zu VerfĂŒgung stellen willst, wĂ€re vielleicht die Guests App noch etwas was du fĂŒr deinen Workflow mit diesen Personen nutzen könntest.

https://apps.nextcloud.com/apps/guests

Dann wirst du um separate Shares pro Person nicht herumkommen.

Nicht möglich bei normalen Shares, ausser du “unsharest” den Ordner oder verschiebst die Dateien weg. Filedrop kommt dieser Anforderung am nĂ€chsten.

Nachdem sie aus dem “Upload”-Folder weg verschoben wurden oder vorher? Vorher kann sie nur derjenige “weiterteilen”, welcher den Upload-Folder freigegeben hat. Nach dem die Daten wegkopiert wurden, kann wer immer der Besitzer des Ordners ist, in den die Dateien verschoben wurden, diesen weiterteilen,

Evtl. kannst du damit den Grad der Automatisierung erhöhen:

https://nextcloud.com/blog/nextcloud-flow-makes-it-easy-to-automate-actions-and-workflows/

Wenn sie einen “vollwertigen” Account haben, kannst du die Quota des Accounts auf 0KB setzten, oder alternativ die schon erwĂ€hnte Guests App verwenden.

Fazit:

Mit den Möglichkeiten die @wwe schon genannt (eingebaute Filesharing Möglichkeiten, Groupfolders, File Drop), und der von mir genannten Guest App, sind glaube ich so ziemlich alle Möglichkeiten ausgeschöpft, die Nextcloud “out of the box” bietet, um Files, Sharing, User und Berechtigungen zu handeln, und mit Flow gibt es ergĂ€nzend dazu eine Möglichkeit gewisse AblĂ€ufe zu automatisieren.

Ich denke du wirst nicht darum herumkommen ein paar dieser Möglichkeiten zu kombinieren und eine fĂŒr dich möglichst passende Lösung selbst zusammenzubauen. Ob es komplett automatisiert möglich ist deine Anforderungen abzudecken, weiss ich nicht. Aber mit der Guest App und/oder Filedrop und etwas manueller Arbeit, die du dann evtl. mit Flow noch bis zu einem gewissen Grad automatisieren könntest, wirst du dem zumindest nahe kommen können.

wie gesagt, das lĂ€sst sich eigentlich ĂŒber die OAuth2-Anbindung sehr entspannt regeln


bei Filedrop wÀre es dann immer ein öffentlicher Link, der ohne User funktioniert, richtig?

nein genau, erst danach. das habe ich nur der VollstĂ€ndigkeit halber als Anforderung aufgefĂŒhrt. Ein Mitglied des Teams sortiert die Dateien weg und bestimmte User/Gruppen bekommen z.B. den ĂŒbergeordneten Ordner, der alle Dateien ihrer Gruppe reprĂ€sentiert, geteilt.

Genau, das ist der Weg den ich diesbezĂŒglich bisher auch gehe; Default Quota auf 0B.

Richtig. Und der Link kann zusĂ€tzlich auch noch PasswortgeschĂŒtzt werden. Das Problem dabei wĂ€re dann halt, dass der Upload “anonym” ist, sprich falls mehere User denselben Link nutzen, weisst du nicht von wem welches Files hochgeladen wurde. Das könntest du aber natĂŒrlich umgehen, indem du pro Person / Kunde einen eigenen Filedrop Order definierst in der Nextcloud.

@maddingamer
Ich wollte noch mal auf die Guests App verweisen auch wenn es oben schon angesprochen wurde.

In diesen Odern kann man dann auch Upload- und Download je Benutzer freigeben.
Bei Bedarf kann man auch fĂŒr jeden Gast einen eigenen Ordner anlegen.

Bei Guests hat der Gast kein Zugriff auf den obersten Ordner.
Aber wer was hochladen darf, kann immer private Daten hochladen.
Das kannst du gar nicht verhindern.

Könnte vielleicht mit der Nextcloud-App “Workflow external scripts” funktionieren:

(im Appstore unter “Organisation”)

um die LösungsansÀtze kurz zusammenzufassen:

  1. pesönliche Accounts (“richtige” oder guests) - damit die “Besucher” ihre Files nicht gegenseitig sehen können muss der Admin jeden individuell auf einen Ordner berechtigen
  2. File-Drop - hier muss der Admin zuerst einen Ordner pro Benutzer freigeben (kann durch Passwort “individualisiert” werden)

je nach weiteren Anforderungen, Gegebenheiten oder Benutzer Erfahrung die eine oder die andere Variante (oder nach Bedarf beide) verwendet werden, aber ganz ohne Admin Aktion kann man die WĂŒnsche wohl nicht umsetzen. Wenn die Besucher regelmĂ€ssig kommen ist die 1. Variante wohl bequemer, fĂŒr einmalige Besucher eher die 2.