Na potrzeby aplikacji potrzebuję zbudować przejrzysty system zapisywania uprawnień grup prywatnych w stosunku do forów, subforów oraz wątków.
Mam stworzoną bazę danych, odpowiednie klasy wg wzorca Active Record jednakże żadnego pomysłu jakby intuicyjnie zaprojektować interfejs.
Dla zobrazowania przypadku postaram się uprościć maksymalnie przykład.
W sytemie znajduje się 20 grup:
- potok 1, potok 2, potok 3,.... potok 20
System do którego należy zaprojektować uprawnienia może mieć taką strukturę (do forum mogą należeć zaróno wątki jak i subfora):
forum 1
|- subforum1
| |-- wątek 1
| |-- wątek 2
| |-- wątek 3
|- subforum 2
| |-- wątek 4
| |-- wątek 5
| |-- wątek 6
|- wątek 7
|- wątek 8
|- subforum 3
| |-- wątek 7
| |-- wątek 8

Dla każdego forum, subforum, wątku dla danej grupy prywatnej można zdefiniować indywidualne uprawnienia, przyjmijmy, że będą to: read, write, delete, attach, download

Zastanawiam się jak optymalnie stworzyc interfejs tak aby dodawanie urpawnień uczynić prostym, w szczególności w momencie tuż po zaintalowaniu świeżego systemu, gdy tworzy się wiele grup, jest wiele forów, subforów i na ustalanie urpawnień traci się mnóstwo czasu

Póki co wymyśliłem 2 sposoby

1) Staworzenie drzewka reprezentującego strukturę (za momocą rozwijanego menu). Nastepuje wybór elementu a nastepnie wybór grup (możliwość wybrania wielu grup naraz) + ustalaneie uprawnień i zapis dla wszystkich.
Zalety: intuicyjny, można naraz zapisać urpawnienia dla wielu grup
Wady: czynność trzeba powtarzać wielokrotnie dla poszczególnych elementów, jeśli są to wątki a jest ich wiele, jest to łagodnie rzecz ujmując irytujące
Próba rozwiazania: Wymysliłem, że można dodać opcję skopiuj uprawnienia z wątku (ale nadal jest to czasochłonne), można też wybrać zastosuj dla wszystkich wątków należących do forum/subfoorum (użyteczne tylko w momencie gdy początkowym, jeśli są już zdefiniowane urpawnienia dla wielu wątków, bezużyteczne)

2) system-kreator: najpierw pyta o wybór forów wraz z opcjami
- zastosuj uprawnienia dla wszystkich elementów forum (czyli dal subfor, wątków)
- zastosuj uprawnienia dla tego forum (dlaczego taka opcja wyjaśniam niżej **)
- wybór tego forum posłuży mi tylko do wybrania uprawnieńdla jego podelementów (=subform ,wątków) (dlaczego tak, patrz również **)
Identycznie systuacja będzie się rozgrywała dla subfor, wątków. Nastepnie użytkownik zostanie poproszony o wybór grup (czynność ta może zostać przeneisiona na poiczątek), nastepnie urpawnień (również może być przeniesiona na początek).
Zalety: przejrzystość, intuicyjność
Wady: skomplikowanie (wielodrożność)

** Dlaczego forum może mieć swoje indywidualne uprawnienia dotyczące grup? Otóż forum może mieć w swoim uprawnieniach ustawione iż ogólnie jest ono niedostępne. Jednakże chemy je udostępnić i wszystkie jej elementy konkretnej grupie (np potok 17), więc zaznaczamy te upranwienia tylko dla forum (a elementy należące do tego forum automatycznie je po nim dziedziczą).

Póki pomysł #w wydaje mi sie najlogiczniejszy i najsprytneijszy
Pytanie: czy macie może inne pomysły na interfejs do tak rozbudowanego systemu uprawnien? Może mieliście juzdo czyneinia z podobnym problemem, jak sobie z nim poradiliście?

Z niecierpliwością czekam na opowiedzi a tymczasem wracam do ołówka i papieru i głowienai się nad innymi roziwązaniami.