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 latwiej jest wmontowac w lms'a ficzery znane z tych silnikow niz rozbudowac je o funkcjonalnosc taka jak tu. juz nawet zaczalem pisac webmaila. Czy mysleliscie o tym i czy warto podazac w tym kierunku?
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) w koncekwencji przemianowanie tabeli users na customers/klienci i zbudowanie zaleznosci pomiedzy users a customers (customerid w users) jakoze jeden klient (w sensie np rodziny czy firmy) moze miec kilka kont (userow) tu sie klaniaja prawa do modyfikacji danych o kliencie, ustawa o orchonie danych osobowych i takie tam, ale wszystko da sie rozwiazac. przemianowanie tabeli taryfy na cennik/uslugi i zmiana powiazan jej z obecnych users (czyli proponowane customers) na nodes co powinno uproscic generowanie regulek iptables szczegolnie w przypadku gdy klient ma kilka komputerow orza umozliwic wprowaczenie taryf specjaknych typu 'ekstra pasmo na kazze' .. oraz powiazanie z (nowa) users dajace mozliwosc panowania nad rzeczami w stylu konta, shelle, quoty itp. (rowniez przez tabele w stylu assignments) temat tabel z finansami zostawie na nastepny mail ;-)
3 zmiana sposobu autoryzacji/praw dostepu 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 ;-))
Grzegorz Stanislawski