Wstępna zapowiedź IronCMS-a 2.0

Od dość dawna nic nie pisałem na blogu. Przede wszystkim od bardzo dawna nie pisałem nic o IronCMS-ie. A mam w stosunku do niego pewne plany.

Ostatnią wydaną wersją był Iron z numerkiem 1.2.1. Od tamtego czasu nie raz miałem okazję patrzeć na jego kod i zmieniać go. Za każdym razem myślałem o tym samym – „czas na nową wersję z większymi zmianami. Trzeba to w końcu ogarnąć”.

A teraz bez zbędnego gadania przedstawię kilka rzeczy, które chciałbym zmienić w wersji 2.0 skryptu.

  • Oddzielenie treści od prezentacji – czyli mówiąc prościej: oddzielenie kodu HTML/CSS/JS od kodu PHP (poprzez system szablonów). Dotychczas tylko zmiana podstawowych części danego motywu (nagłówek i stopka) była dość łatwo wykonalna. Zmiana reszty kodu HTML wiązała się z babraniem w potrawce HTML-o PHP-owej i nie można było np. zmienić kodu wyświetlającego komentarze dla każdego modułu z osobna.
  • Nowsze wersje komponentów składowych – opracowałem już poprawione wersje klas do obsługi MySQL, obsługi użytkowników i klasy loggera zdarzeń używanych w Ironie. Nie były one aktualizowane od długiego czasu i zebrało się tam sporo rzeczy które można było poprawić.
  • Różne wersje językowe skryptu – co tu dużo mówić? Mechanizm umożliwiający tłumaczenie Irona na inne języki. Zastrzegam tylko, że nie oznacza to od razu wydania także angielskiej wersji IronCMS-a. To będzie swego rodzaju inwestycja w przyszłość ;)
  • Lekka przebudowa panelu admina – część zakładek zostanie po prostu ujednoliconych, niektóre staną się wygodniejsze w obsłudze. Początkowa zakładka „Przegląd” również będzie dostarczać więcej informacji.
  • Forum – proszę się nie spodziewać drugiego vBiulettin. IronCMS nie miał być CMS-em od wszystkiego, ale stwierdziłem, że forum jest tak podstawowym elementem wielu stron WWW, że można napisać proste forum dyskusyjne na potrzeby Irona.
  • Usprawnienia SEO – generowanie mapy także w XML (dotychczas tylko w HTML jako podstrona), usunięcie tego wrednego ? z każdego adresu, możliwość automatycznego wygenerowania tagu description dla podstrony i więcej
  • Standardy kodowania – tym razem określone przed rozpoczęciem pisania, a nie dopisywane po partyzancku w jego trakcie.
  • Przebudowa instalatora – pomijając całkiem nowy kod, nowy instalator powinien być też prostszy dla użytkownika. Powinien podawać jak najdokładniejsze informacje, a nie zawracać głowy nieistotnymi. Zaostrzona zostanie też walidacja danych wprowadzanych przez użytkownika.
  • Poprawki w bazie danych – głównie w jej strukturze. Kilka rzeczy zostanie opartych na relacjach między tabelami co pozwoli zaoszczędzić trochę kodu PHP w niektórych plikach (na razie myślę głównie o prywatnych wiadomościach, aktywacji konta i komentarzach).
  • Cache ustawień z bazy danych – mam w planach, aby przy modyfikacji ustawień strony zapisywanych w bazie (a tam leci 90% wszystkich ustawień), dane te były zapisywane również do pliku PHP skąd czerpałaby je funkcja getSetting(). Zaoszczędziłoby to wielu zapytań do bazy danych.
  • Nowy poziom użytkownika – zostanie dodany co najmniej jeden. Będzie miał uprawnienia większe od użytkownika normalnego, ale nie takie jak administrator.

W moich notatkach i TODO znajdzie się jeszcze sporo mniej lub bardziej istotnych punktów do zrealizowania. Ile z nich uda mi się osiągnąć? Zobaczymy, mam nadzieję, że będzie to koło 90% wszystkich zaplanowanych na wersję 2.0.

Teraz pewnie powinienem podać oficjalną i nieodwołalną datą premiery, ale tego nie zrobię, żeby nie skończyć np. jak twórcy Minecrafta, którzy są obrzucani błotem na prawie każdej stronie za rzekome niedotrzymywanie terminów. Wiele osób nie rozumie, że „wstępna, przypuszczalna data” != „data ostateczna”. Dobrze, że IronCMS nie ma takich fan boyów…

Kończąc dygresję, jak i wpis mogę powiedzieć tylko tyle, że mam nadzieję, że za miesiąc, może trochę więcej IronCMS 2.0 ujrzy światło dzienne.

11 komentarzy do “Wstępna zapowiedź IronCMS-a 2.0

  1. Sobak pisze:

    @Kwpolska: akurat pliki językowe planowałem zintegrować ze wspomnianym systemem szablonów, tj. przypisywać zmienne językowe jako zmienne w szablonie i tam ich używac. Muszę tylko zobaczyć jak ta kwestia wyjdzie wydajnościowo.

    Odnośnie Markdowna, to się zastanowię, bo jego implementacja nie powinna być trudna, bo wiem, że jego parsery w PHP już są ogólnodostępne.

    @Drraven: błąd poprawiony, dzięki ;). Kiedy Iron będzie zamiast WP? Powiem prosto i bez ogródek. Kiedy będę bardziej pewny jego bezpieczeństwa i jego funkcjonalność będzie dla mnie wystarczająca do wygodnej administracji stroną.

    @Thelleo: dzięki, przyda się ;) Niedługo postaram się wrzucić krótki raport z postępu prac.

  2. Mateusz pisze:

    Sam tworzę cms`a, z tego co widziałem trochę bardziej rozbudowanego od twojego.

    Napisałeś: „•Nowy poziom użytkownika – zostanie dodany co najmniej jeden. Będzie miał uprawnienia większe od użytkownika normalnego, ale nie takie jak administrator.”

    Nie będzie ciekawszym pozwolić administratorowi cmsa samemu tworzyć grupy użytkowników? Ja tak zrobiłem i bądź co bądź jest to bardzo wygodne. Admin może decydować także do jakich funkcji „Panelu kontrolnego” ma dostęp dana grupa administracyjna.

    Może dodaj jakieś statystyki, monitorowanie użytkowników itp. (np. tworzenie mapy strony po której szwęda się użytkownik).

    Takie małe wskazówki dla początkującego

    • Sobak pisze:

      Dzięki, każda porada jest cenna. Zasadniczo to sam myślałem o czymś w rodzaju grup. Problemem pozostaje brak czasu i chęci na realizację założeń i planów…

      • Mateusz pisze:

        Pracując nad cms`em dodanie opcji tworzenia grup uprawnień użytkowników nie jest niczym skomplikowanym, czas potrzebny na realizację to góra godzina czasu, tym bardziej jeśli wiesz „osochozi” w PHP. A co do chęci, tu nie pomogę

Dodaj komentarz

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