Using Nextcloud Group Folders in school

The Users at our school are organized in groups in our Nextcloud (20.0.8).
We have several groups, the most important are:

  • teachers: “4400 - Lehrer/innen”
  • pupils: “4400 - Schüler/innen”
  • a separate group for each class: “4400 - A1”, “4400 - B1”, “4400 - B2” and so on
    where “4400” is the official school number and “Xn” the class name.

(Don’t ask me why the group names are gendered, contain special characters and German umlauts. This is a decision made by the school districts administration and we have to use their system with a SAML connection to login to the Nextcloud instance).

What we need, are folders for each class where only the members of the class are allowed to view, create, change, share and delete files/folders and where the teachers can change these rights.

Example:

Class C1 has its own folder. To work with the pupils I normally need two “functions”: Share material/information with students and collect the work they produce.
In the “Share” folder they get the permission “read” in the “Collect” folder the permissions “write”, “change” and, because otherwise they won’t see the folder, “read”.
Because we want this function for all classes we need a top folder called “Classes” as a starting point.
So, the structure looks like this:

Classes ------ A1 ------ share
   |            | ------ collect
   |    ------ B1 ...
   |    ------ B2 ...
   |    ------ C1 ------ share
   |		    | ------ collect
   |    ...

Now there are several ways to realize this:

  1. I create a group folder called “Classes” and add ALL classes “4400 - Xn” as a group to this folder. Means 2 things: 6 classes per year x 9 years = 54 groups to manage. And the GUI cannot handle this in an acceptable manner because all groups in a folder are presented in a LONG line of text side by side
  2. I create a group folder for each class named “4400 - Xn” and add the appropriate class in the list of groups allowed to use this folder. This means 54 single folders in the admin view and, the more disturbing part, 54 “separate” folders and so no “single” top folder for all classes. This means a lot of navigation trouble for the teachers.
  3. I don’t use “Group Folders” and try to set this up with standard share functionality. This means, that every teacher is allowed, but not necessarily suitable, to change this.
    Update: Because subfolders inherit the rights from their parent I can’t change them.

Any other suggestions?

I’m curious to see your ideas :wink:

Paul

I have nearly the same situation. I tried all different kinds of options with group folders. But no one is really working for me. So i’m using the normal share functions, without group folders. The best solution for me would be, if we could create group folders as subfolders of normal folders. It is possible right now with the nested “/” option in the group folder admin interface. But the group folder will not appear on their user accounts, even if the users has permission to access the normal parent folders.

Gruppe "Alle" - Jeder ist Mitglied dieser Gruppe
Gruppe "Leher-Innen" - Alle Lehrer-Innen
Gruppen "4400 -Xn" - Schüler der Klasse 4400 -Xn
Rechte:
  1  -  r - read
  2  -  u - update
  4  -  c - create
  8  -  d - delete
 16  -  s - share
 31  -  all
Gruppenordner-Anordnung “Gruppe”/Rechte; “Gruppe”/Rechte
“Klassen” mit Unterordnern A, B, C etc. “Alle”/1
“Klassen/A/1” “Lehrer-Innen”/31; “4400 - A1”/1
“Klassen/B/1” “Lehrer-Innen”/31; “4400 - B1”/1

Wie hier beispielhaft gezeigt, werden die Gruppenordner verschachtelt angelegt. Der oberste Ordner wird nur als Kategorie “Klassen” benötigt und ist als einziger im Basis-Ordner eines jeden Cloudusers sichtbar, niemand braucht darin Schreibrechte, dafür ist jeder Clouduser Mitglied der Gruppe “Alle”.
Im Gruppenordner mit dem Namen “Klassen” werden nun Unterordner angelegt:

Klassen/A
Klassen/B
Klassen/C
etc.
(insgesamt 9 wenn ich richtig verstanden hab)

In diesen Ordnern werden nun die Gruppenordner der einzelnen Klassen angelegt:
Im beispielhaften Gruppenordner “1” der sich im Gruppenordner “Klassen/A” befindet, haben Lehrer alle Rechte und nur die Gruppe “4400 - A1” (die Schüler dieser Klasse) haben dort Leserechte.
Eine(n) Lehrer-In kann nun beliebige Ordner innerhalb des Klassen-Gruppenordners anlegen (Collect) und einzelne User oder Gruppen (also die Klassen-Gruppe zum Beispiel) für diese Ordner weitere Rechte einräumen und auch wieder entziehen.

Es ist einfacher extra Gruppen an zu legen und die gemeinsam gleiche Rechte ein zu räumen als Unmengen von Benutzern einzeln Rechte ein zu räumen versteht sich.

Wenn man einmal angefangen hat damit zu arbeiten, merkt man schnell, dass es sehr einfach ein zu richten geht.

Das tolle ist, dass die Anordnung und auch der Name eines jeden Ordners jederzeit nachträglich geändert werden kann, also die Verschachtelung auch. Einmal angelegte Shares bleiben dabei erhalten.

Einer sollte dabei natürlich die Übersicht behalten und das Ganze überwachen, damit es keinen wildwuchs gibt und zum Beispiel Ordner in der weitere grupenordner “gemounted” sind, nicht unbeabsichtigt verschwinden, denn dann verschwindet der ganze Gruppenordner aus der Weboberfläche (nicht vom Server).

Ich habe keine Ahnung ob mein Beitrag hilfreich war, ich wollte nur einige Gedankenanregungen geben. Die Möglichkeiten können natürlich noch viel tiefer ausgeschöpft werden.

@ernolf Vielen Dank für die Ausführungen und den Vorschlag wie man es auch machen könnte. Ich hatte dies bereits versucht, bin dann aber daran gescheitert, dass Mitglieder verschiedener Gruppen sich untereinander in der Suche oder Teilen-Funktion sehen können, da diese durch eine gemeinsame Gruppe, in diesem Falle “Alle”, miteinander verknüpft sind. Ansonsten finde ich dein Vorschlag absolut korrekt, nur beisst sich das mit der Sichtbarkeit der Mitglieder untereinander.

Beispiel:
Bei meinem Unternehmen bilden die verschiedenen Gruppen verschiedene Kunden ab. Und diese sollten sich nicht untereinander sehen/suchen/teilen können auf der Nextcloud-Plattform. Dies kann man hier “/settings/admin/sharing” einigermassen limitieren mit der Option: “Benutzer auf das Teilen innerhalb ihrer Gruppen beschränken”.

Wenn ich aber nun alle Kunden in dieselbe Gruppe “Alle” für den Basis-Gruppenordner zuweise, dann können sich alle Kunden auch untereinander sehen, da diese plötzlich alle in derselben Gruppe befinden. Dies möchte ich aber nicht.

Der Ansatz mit der gleichen Gruppe “Alle” finde ich grundsätzlich korrekt und deckt sich mit der üblichen Vergabe von Rollen/Gruppen bei sonstiger Software. Also dass man gewisse Rollen gemeinsam teilt, und dann je nach Gruppe/User noch spezifischere Rollen zusätzlich vergibt. Allerdings beisst sich das in der Nextcloud wie gesagt mit der Sichtbarkeit anderer Mitglieder.

Wie siehst du das? Gibt es eine andere Möglichkeit die Sichtbarkeit untereinander zu beschränken sodass man dennoch übergelagerte Rollen/Gruppen wie “Alle” vergeben könnte?