On Wed, Dec 17, 2003 at 01:44:16AM +0100, stangrze@coley.netitel.pl wrote:
Witam. Od jakiegos czasu uprawiam rozne wariacje na motywach lms'a i pomyslalem ze wartoby sie bylo z wami podzielic nimi: 1 wyglada na to ze lms moglby stac cie czyms w rodzaju CMS'a dla malego providera czy ASK. Po wielu bitwach stoczonych z *nuke i *xoops mysle ze
co to cms? conten manager?
2 zmiana struktury bazy. To spory temat, na razie omowie to w formie hasel: zmiana nazwy (i funkcji) tabeli admins na users -> udostepnienie userom mozliwosci modyfikacji swoich danych czy preferencji, skladanie zamowien, podglad rozrachunkow (o tym tez pozniej)
Po co?
Łukasz chętnie rw Ci da, ale zobacz że dodanie kolumny PIN do tabeli users pozwoli ludziom oglądaćswoje bilingi/salda/dane. Zmiany zaś, hm jak ktoś Ci wpisze Janek Kowalski miękka 31/337 a mieszka na Twardej 2/600 to może być problemem.
imvho do users można spokojnie dodać PIN+RIGHTS.
RIGHTS można bitowo interpretować jako prawa do zmieniania: emaila, taryfy, adresu, telefonów, GG. Przyczym zmiany taryf/adres/imie/nazwisko/nazwa firmy bym rozwiązał bardziej jako reqest do admina, niż po prostu zmienianie.
Ze zmiany GG nie stanie się nic słego, ale jeśli ktoś fakturzy to zmiana adresu może boleć. Pozatym mi by się nie uśmiechało zmieniać 50 razy na miesiąć taryf etc, a luserkom dawanie czegoś takiego to proszenie się o kłopoty.
Chcialbym zaproponowac zmiane ww na sposob ktory ja znam z Zope a mianowicie role. Jesli nie znacie to w skrocie: kazdy modul posiada funkcje ktore wymagaja autoryzacji - user/admin posiada do niej dostep jesli zostal przypozadkowany do roli ktora zostala wskazana jako uprawniajaca do wykonania tej funkcji. cos jak pek kluczy i zestaw zamkow, Ten uklad jest bardziej elastyczny niz obecny z binarnymi flagami. w najprostrzym przypadku mamy jedna role - admin i ustawiamy go jako klucz do wszystkich funkcji. Jak mamy montera, to dodajemy go do adminow z taka rola i zmieniamy role na monter dla funkcji useradd nodeadd, nodeedit i moze kilku jeszcze (aa i sobie adminowi tez musimy dodac te role zeby nie utracic dostepu do tych funkcji chyba ze chcemy miec je z glowy ;-))
Zaimplementuj. Pamiętając o tym że lmsa chcemy dzielić na moduły. A model binarnych uprawnień jest prosty jak konstrukcja cepa i działą.
kd.