Wie benutzt man das Group Modul in Drupal 8 im tatsächlichem Anwendungsfall

am 31.05.2017 - 08:42 Uhr in
Ich habe momentan leider ein großes Problem mit dem Group Modul unter Drupal 8. DieDokumentation und Guides, die ich bislang dazu gefunden habe sind eher oberflächlich.
Ich beschreibe mal das Projekt - an sich ein ganz "üblicher" Einsatz einer Gruppe.
Jeder User kann eine eigene Gruppe Starten und andere User als zusätzliche Gruppen-Admins benennen. Ich habe eine Gruppen-Typ erstellt und die Rollen in der Gruppe angepasst.
Hier kam es zu den ersten Fehlern beim Erstellen der Gruppe -mache Themes haben da einen Error 500 geliefert. Solange man aber Bartik nutzt geht es einwandfrei.
Beim Erstellen einer Gruppe kann der User auch den Alias der Gruppe wählen - sagen wir mal "meineneuegruppe". Jeder darf sich die Inhalte der Gruppe anschauen.
Momentan würden dann also alle eine komplett leere Gruppe unter www.example.com/meineneuegruppe sehen.
Jeder Gruppen-Ersteller und Gruppen-Admin darf dann in der Gruppe Inhalte erstellen. Hier tauchen die ersten richtigen Probleme auf.
Wie kann ich denn die Pathauto Einstellungen für die group-contents so setzen, dass der parent-group alias als erster Teil des group-content-alias ist? (und der Titel der zweite Part)
Also ich brache dann folgenden Pfad: www.example.com/meineneuegruppe/meinneuergruppeninhalt
Bei den Tokens im Pathauto gibt es zwar [group_content:gid:entity:url] - aber das liefert den volln Pfad - ich brauchte sowas wie :brief ?
Mein zweites Problem ist der Gruppen-Kontext.
Nachdem man einen neuen Gruppen-Inhalt speichert hat man ja eine ganz normale Node ohne jeglichen Kontext zu der Gruppe. Oder sollte man eher die group-related-entity Seiten nutzen und die verknüpften nodes vielleicht per View reinladen? dort funktioniert zumindest der Gruop Actions Block - der ja auf der eigentlichen Inhaltsseite ja keinen Kontext mehr hat. Wie geht man damit am besten um?
Wenn man das dann wirklich per View reinladen sollte - wie kann ich das vernünftig filtern?
Solange ich nach dem group-content-id roh aus der URL filtere funktioniert das auch soweit. Wenn ich also www.example.comgroup/3/content/8 nutze kann ich den letzten Wert direkt auslesen und zum Anzeigen der eigentlichen Node nutzen. Wie filtere ich denn nach den alias? wenn da alsowww.example.com/meineneuegruppe/meinneuergruppeninhalt steht?
Weiterhin habe ich lange nach einer Möglichkeit gesucht die Anzahl von Nodes eines bestimmten Nodetyps zu begrenzen. Also zum Beispiel kann irgendein Gruppen-Ersteller oder Gruppen-Admin eine Node vom Typ Basisinfos erstellen, dann aber können alle folgenden nur noch diese Node bearbeiten und keine neue mehr hinzufügen?
Sollte das alles mit dem Group Modul möglich sein, oder Versuche ich da was zu tun wofür das alles nicht konzipiert wurde? Gibt es da bessere Wege?
Ich hoffe, mir kann hier geholfen werden :D
Vielen Dank im Voraus :)
- Anmelden oder Registrieren um Kommentare zu schreiben
wegen dem URL-Pfad für die
am 19.06.2017 - 08:21 Uhr
wegen dem URL-Pfad für die Inhalte bräuchtest du eigentlich den pathauto token [group_content:gid:entity:title] – gibt es den nicht?
Wenn nein, mache doch eine issue auf, der maintainer hat in der Vergangenheit nach meiner Erinnerung erfreulich zügig reagiert. Unter d8 habe ich group allerdings noch nicht genutzt.
wegen Kontext: Die Link-listen Blöcke etc. würde ich immer mit views und Kontextfilter (argument) machen.
Weiterhin habe ich lange nach einer Möglichkeit gesucht die Anzahl von Nodes eines bestimmten Nodetyps zu begrenzen. Also zum Beispiel kann irgendein Gruppen-Ersteller oder Gruppen-Admin eine Node vom Typ Basisinfos erstellen, dann aber können alle folgenden nur noch diese Node bearbeiten und keine neue mehr hinzufügen
Das wäre ein neues Feature in group. Aber die group selbst ist doch auch fieldable, also liegt es doch nahe, da die basisinfos direkt als Feld zu haben.
Wenn es eine extra entity (node) sein soll und davon nur 1 pro Gruppe geben darf, würde ich den mit rules nach dem Erstellen der Gruppe erstellen lassen und nur Bearbeitungsrechte vergeben.