ViCMS 3 – zapowiedź #1 – warstwy i chmurki

Korzystając z przymusowego dnia lenistwa, postanowiłem napisać o planach związanych z ViCMS. Plany są. Jak zwykle planów mam całą masę. Tylko czasu na realizację jakoś tak dziwnie mało. ;)

ViCMS ma już swoje lata. Jako, że pierwsze wersje powstawały w czasach, kiedy to często jeszcze witryny były tworzone w oparciu o pliki zawierające mieszaninę HTML, CSS i JS (tu jest niewiele lepiej), a sam system zaprojektowany został w ujęciu strukturalnym – źródła nie wyglądają zbyt zachęcająco. Jest to trudny do pielęgnacji i rozbudowy kod. I kiedy z czymś takim zetknie się programista, który zagląda po jakimś czasie do swojego własnego dzieła, z przerażeniem stwierdza, że straszne rzeczy popełnił! ;)

Jakiś czas temu doszedłem do wniosku, że rozbudowa programu w obecnej postaci nie ma najmniejszego sensu. Mało elastyczne rozwiązania nie pozwalają na szybkie wprowadzanie poprawek czy łatwe rozszerzanie istniejącej funkcjonalności. Postanowiłem wtedy, że jak mnie najdzie chęć podłubania w wolnych chwilach w PHP, będę sobie ViCMSa przebudowywał. :)

Założenia były proste:

  • Bezpieczeństwo – m.in. poprzez zmianę sposobu obsługi połączeń z bazą danych, wykonywania zapytań (przy okazji porządek z samą bazą). Jest to system ogólnie dostępny, powinien więc jak najbardziej minimalizować prawdopodobieństwo powstania ewentualnego bałaganu.
  • Jasna, określona struktura – oddzielenie logiki przetwarzania danych, dostępu do bazy, prezentacji – MVC – z czego wynikałaby łatwość późniejszej rozbudowy i pielęgnacji
  • Jakość, przejrzystość kodu, prostota i uniwersalność – na pewno żadnego powielania, fragment raz napisany powinien być po prostu możliwy do używania w wielu miejscach, gdzie będzie to konieczne (np. stronicowanie)
  • Zachowanie obecnej funkcjonalności, zwiększając wygodę użytkowania (mniejsza liczba koniecznych kliknięć, przeładowań stron, żeby tylko zobaczyć komunikat itp.)

I tak zgodnie z założeniami, wolnymi krokami postępuje refaktoring.

Jedną z ciekawszych rzeczy, które pojawiły się przy jego okazji po stronie administracyjnej są warstwy i chmurki. Będą one stanowiły sposób prezentacji komunikatów.

  • Warstwy (wyjeżdżające z prawej strony “nad ekranem”, blokujące ekran) – pojawiają się zanim nastąpi jakaś akcja. Otoczone czerwoną ramką – informują o błędach, najczęściej braku lub nieprawidłowości danych. Otoczone ramką pomarańczową mogą zawierać formularze i oczekiwać na wprowadzenie informacji – wpisanie czegoś lub wybór opcji.
  • Chmurki – pojawiają się w prawym górnym rogu i zawierają krótką informację o tym czy akcja została wykonana poprawnie czy też nie.

Poniżej zamieszczam filmik prezentujący odświeżoną część administracyjną nowego ViCMSa oraz działanie warstw i chmurek. Całkiem możliwe, że sam layout ulegnie jeszcze zmianie.

Więcej informacji będzie pojawiało się w miarę postępów prac.