Ilaro.Admin – plan

Co jeszcze w v1?

Większość pracy w pierwszej wersji projektu została już zrobiona.
Minimum które sobie założyłem do zrobienia w tej wersji:

  • Obsłużenie różnych opcji usuwania kaskadowego dla podrzędnych rekordów.
  • Masowa rejestracja encji.
    Np. wszystkie klasy w danym namespace, wszystkie klasy w danym assembly, wszystkie klasy dziedziczące po określonym typie
  • Nowa możliwość konfigurowania encji. Konfiguracja dla każdej encji w osobnej klasie, na wzór konfiguracji NHibernate. Będzie to świetnie współgrało z masową rejestracją.
  • Obsłużenie relacji wiele do wielu.
  • Refaktoring.
    • Lepsze tworzenie sql pokazujące hierarchie powiązań danego rekordu.
    • Klasa inicjalizująca jest statyczna, przydałoby się to zmienić.
  • Testy, testy, więcej testów – teraz jest ich dosyć mało.

Co w v2?

W kolejnej wersji oprócz dalszych udoskonaleń, zmienię sposób generowania stron administracyjnych.

Obecne podejście nie pozwala na obsłużenie bardziej skomplikowanych przypadków. Każda encja ma jeden zestaw stron administracyjnych (klasyczny CRUD), a uwierzytelnianie jest ustawiane dla całego panelu, co nie pozwala na przypisanie różnym grupom użytkowników możliwość edycji tylko określonych encji/pól lub też pozwolenie tylko na przeglądanie rekordów.

W zmienionym podejściu zamiast dodawać encje i dla nich generować CRUD, będzie się definiowało się strony do których będzie przypisywało encje i określało uwierzytelnianie.

Przykład użycia

Organizujemy konkurs i potrzebujemy prostego formularza zgłoszeniowego.
W Ilaro.Admin definiujemy stronę dla encji, która przechowuje zgłoszenia, z możliwością dodawania nowych rekordów przez niezalogowany użytkowników i wyświetlanie wszystkich zatwierdzonych rekordów.
Definiujemy drugą stronę dla tej samej encji z dostępem do całego CRUD’a ale tylko dla użytkowników z rolą administratora.
W ten sposób można „wyciągnąć” panel administracyjny do zwykłego użytkownika i mamy gotowe prosty formularz zgłoszeniowy z możliwościami administracyjnymi.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *