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.

Continue…

Baza danych w demo aplikacji

Ilaro.Admin jest już na takim etapie, że można już sobie coś poklikać, a żeby to ułatwić już jakiś czas temu stworzyłem demo aplikacje.

Demo używa bazy danych Northwind z małymi zmianami.

  • Dodana tabela EntityChanges do zapisywania każdej zmiany.
  • Zastąpienie kilku composite primary keys, pojedynczymi kluczami, z tego względu, że początkowo nie było to obsługiwane, a w tym momencie nie jest to jeszcze wystarczająco przetestowane.

Jako, że jest ono dostępne dla wszystkich kwestią czasu jest gdy coś się zepsuje, albo przez błąd w aplikacji, albo ktoś walnie się ku temu przyczyni, np. usuwając wszystkie rekordy.
Czyli potrzebujemy przywracania bazy danych do domyślnego stanu.

Co do tego potrzebujemy?

  • Mechanizm, który co określony czas będzie wywoływał akcje resetu.
  • Akcje resetu sama w sobie.
  • Użytkownik korzystający podczas z aplikacji podczas resetu, musi być świadomy co się dzieje.

Od razu muszę nadmienić, że to zadanie było trochę utrudnione przez to, że aplikacja jest postawiona na współdzielonym hostingu.

Continue…

Ilaro.Admin – o projekcie

Kilka lat temu miałem okazje uczestniczyć w jednodniowych warsztatach Django, czyli webowego frameworka MVC dla Pythona.
Do gustu przypadła mi przede wszystkim możliwość wygenerowania panelu administracyjnego na podstawie zdefiniowanych modeli bazodanowych.

Podobne rozwiązania istnieją już chyba w każdej z najpopularniejszych technologii webowych oprócz .NET, więc postanowiłem zakasać rękawy i wypełnić tą lukę tworząc Ilaro.Admin dla ASP.NET MVC.

Repozytorium na Githubie: https://github.com/rgonek/Ilaro.Admin.
Obecny stan projektu w akcji: http://admin.ilaro.net.

Podstawowa inicjalizacja

Żeby zacząć korzystać z Ilaro.Admin należy dodać referencje do swojego projektu (najlepiej poprzez nugeta) a później w kodzie już tylko trzy proste kroki, które swe miejsce mają w Global.asax w metodzie Application_Start.

  1. Najpierw rejestrujemy wszystkie encje które mają pojawić się w panelu administracyjnym.
  2. Następnie inicjalizujemy Ilaro.Admin.
  3. Na końcu upewniammy się czy rejestracja areas jest wywoływana (przy tworzeniu projektu ASP.NET MVC jest to domyślnie dodawane).

Oczywiście jeśli chcemy możemy dokładniej określić co i w jaki sposób ma zostać wyświetlone.

Continue…

Hello World

Założenie bloga chodziło mi po głowie już od jakiegoś czasu, ale jak to czasami bywa, od idei do realizacji droga daleka. Świetną mobilizacją okazała się inicjatywa „Daj się poznać„, a więc daje się poznać :). Cześć jestem Robert :P.

W najbliższej przyszłości będę opisywał głównie swoje zmagania z projektem open source Ilaro.Admin, aczkolwiek mam nadzieje, że nie skończy się tylko na tym.