Github Issues zum Thema sind hier:
Eine grosse Herausforderung sind sicher all die verschiedenen Situationen die erfolgen können, ich schlage folgendes Verhalten vor:
1. Einfaches Verschieben
- Ursprungsgruppe und Zielgruppe haben denselben Gruppentyp
- Jede Person hat nur eine Rolle
-> kein Problem,
2. Verschieben von Personen mit mehreren Rollen
- Ursprungsgruppe und Zielgruppe haben denselben Gruppentyp
- Personen haben 2 oder mehr Rollen in der Ursprungsgruppe
-> Wir verschieben alle Rollen? Wenn ja, dann auch kein Problem
3. Verschieben in anderen Gruppentyp
- Ursprungsrolle und Zielgruppe haben anderen Gruppentyp, also auch andere Rollen
- Personen haben nur eine Rolle
-> Ich muss für die neue Gruppenzuordnung ein Rolle auswählen.
4. Verschieben in anderen Gruppentyp mit mehreren Rollen
- Ursprungsrolle und Zielgruppe haben anderen Gruppentyp, also auch andere Rollen
- Personen haben mehrere Rollen in Ursprungsgruppe
-> Wir löschen alle Rolle in der Ursprungsgruppe und wählen eine neue Rolle für der Zielgruppe.
Verschieben ausgehend von einer Personenliste mit Personen aus verschiedenen Gruppen
Die oben stehenden Fälle lassen sich wohl so abbilden, dass es erwartungsgemäss funktioniert.
Jetzt gibt es aber den Fall, dass wir nicht von einer Gruppe ausgehen, sondern von einer Personenliste, wo Personen aus verschiedenen Untergruppen / Unterebenen angezeigt werden.
5. Personen aus Untergruppen mit gleichem Typ mit einer Rolle
- Ursprungsgruppen und Zielgruppe haben denselben Gruppentyp
- Personen haben nur eine Rolle in den ausgewählten Gruppen
-> Wir löschen die bestehenden Rollen und wählen die gleiche Rolle in der Zielgruppe hinzu. Also hier kein Problem
6. Personen aus Untergruppen mit unterschiedlichem Type mit einer Rolle
- Ursprungsgruppen und Zielgruppe haben anderen Gruppentyp
- Personen haben nur eine Rolle in den ausgewählten Gruppen
-> Löschen der bisherigen Rollen, Zuweisung einer neuen Rolle, die gewählt werden muss.
7. Personen mit mehreren Rollen vom gleichem Typ mit einer Rolle
- Ursprungsgruppen und Zielgruppe haben gleichen Gruppentyp
- Personen haben mehrere Rollen in den ausgewählten Gruppen
-> Löschen aller bisherigen Rollen in den Gruppen, Zuweisung neuer gewählter mit den gleichen Rollen, wie in der Ursprungsgruppe.
8. Maximale Komplexität: Personen mit mehreren Rollen in verschiedenen Gruppentypen, Verschiebung in anderen Gruppentyp
Die maximale Möglichkeit an Komplexität:
- Ich erstelle einen Filter für alle Personen mit allen Personen mit der Rolle Vorstand::Präsident und Mitglieder::Aktivmitglied
- Person A ist Präsident im Vorstand und Aktivmitglied.
- Person A ist zudem Sekretär im Vorstand. Diese Rolle wird auch in der Liste angezeigt.
Wenn ich diese Person, verschiebe. Soll dann die Rolle Sekretär im Vorstand auch gelöscht werden oder nicht? Was wäre hier zu erwarten?
Grundsatzfrage: Verschieben wir Rollen oder Personen?
Fall 8 illustriert die Herausforderung, wenn wir in solchen Fällen die Rolle Sekretär nicht verschieben, dann führt das zu inkonsistentem Verhalten wenn wir es mit Fall 2 vergleichen:
- Ich bin auf einer Gruppe Vorstand Person A hat Rolle Präsident und Sekretär. Ich verschiebe ihn -> erwarte dass beide Rollen gelöscht werden.
- Ich mache einen Filter auf der Gruppe Vorstand um nur den Präsidenten zu sehen. Wenn ich ihn auswähle und verschiebe, dann lösche ich nur die Präsidentenrolle?
Was entspricht eher dem erwarteten Verhalten?
- Ich lösche immer alle Rollen von den Gruppen, die ich ausgewählt habe?
- Ich lösche immer nur die Rollen die gemäss Filter ausgewählt sind?
Das Problem entsteht immer dann, wenn eine Person mehrere Rollen hat. Vielleicht ist es am einfachsten, diese Personen einfach nicht zu verschieben und dann nachher manuell ganz normal abhandeln zu lassen.
Oder wir sind etwas grosszügiger und verschieben Personen mit mehreren Rollen, aber nur, wenn die Rollen in derselben Gruppe sind.
Oder wir fragen explizit, was gemacht werden soll. Aber dann müsste man das fast pro Person tun, das ist sicher etwas aufwändiger.
Personen nicht verschieben:
Zu löschende Rollen auswählen
Sicher wird man in den meisten Fällen diese Probleme nicht haben, aber wir müssen schauen, wir wir es konsistent abhandeln. Auf eine nachvollziehbare Weise, ohne grosse Überraschungen.