Sandbox CMS – Tworzenie stron internetowych

Sandbox CMS – Tworzenie stron internetowych

Przy okazji pracy nad ostatnimi stronami internetowymi, przygotowałem bardzo ciekawą technologię. Mój własny system zarządzania treścią (CMS). Oczywiście miało to uzasadnienie praktycznie oraz ekonomiczne. Technologia szyta pod moje własne potrzeby, którą znam od poszewki pozwala mi tworzyć zróżnicowane projekty w żaden sposób mnie nie ograniczając.

CMS ma ogromną wartość dodaną dla końcowych użytkowników – klientów. Jest prosty w użyciu. Nawet laik poradzi sobie z jego obsługą. Za pomocą tej technologii można przygotować duży projekt informatyczny bez obaw o jego wydajność. CMS jest z założenia bezpieczny. Był tworzony zgodnie z najlepszymi praktykami programistycznymi. Jako, że znacznie przyspiesza pracę, umożliwia atrakcyjniejsze wycenianie projektów. Jesteś zainteresowany oparciem swojej witryny w oparciu moją technologię? Zapraszam do współpracy.

Dla programistów PHP – Szczegóły techniczne

CMS bazuje w pełni na najnowszej wersji frameworka Kohana (3.3.1). Liczba zewnętrznych modułów wymaganych do jego działania została ograniczona do minimum. Dzięki temu CMS jest nadal lekki, oraz prosty w użyciu. Celem było przygotowanie intuicyjnego narzędzia, z którego obsługą poradzi sobie nawet początkujący programista php. CMS współegzystuje z Kohaną. Nie wymusza nowej metodyki pracy. To użytkownik decyduje w jakim stopniu i jaki sposób chce korzystać z rozszerzenia. CMS jest dostarczony do Kohany w postaci modułu, oraz nowych plików bootstrap.php oraz index.php. Nieco zmienia się również struktura katalogów. Nie są to diametralne zmiany, dzięki czemu nadal istnieje możliwość aktualizacji szkieletu programistycznego bez popsucia CMS-a.

Istotnym wymaganiem wobec tego projektu było wsparcie dla wielu wersji językowych. Od samego początku dokonałem starań, aby nie sprawiało to problemów. W tym celu rozszerzyłem możliwości I18n oferowanego bezpośrednio przez Kohane. Moja wersja radzi sobie nie tylko z odmianami tłumaczeń, formami mnogimi ale i tłumaczeniami bazy danych. Przykładowo programista korzystając z ORM-a nie musi wykonywać żadnej dodatkowej operacji aby pobrać rekord w aktualnie wybranym języku. (ORM::factory(‚article’,1)->title – pobierze tytuł w wersji językowej, w której użytkownik przegląda stronę). Oczywiście możliwości tego sytemu są bardziej złożone i nie ograniczają się tylko do czytania, ale również zapisywania tłumaczeń. Jak to wygląda po stronie bazy danych? Dla każdej tabeli, która ma zawierać tłumaczenia jest dostępna dodatkowa z postfiksem „_i18n”. W niej występują tłumaczenia dla wszystkich dodatkowych języków. W tabeli znajdują się wyłącznie kolumny, które mają posiadać translacje.

Kolejnym wprowadzonym do CMS-a udogodnieniem są widoki w oparciu o system szablonów Twig. CMS w żaden sposób nie wymusza ich użycia. Jeśli nie chcesz, nadal możesz opierać się na klasycznych plikach php. Kiedy jednak się skusisz Twój kod html może być zapisany w znacznie przystępniejszej formie. Prawdopodobnie widoki w ten sposób przygotujesz nie tylko szybciej, ale te będą również bezpieczniejsze i prostsze w rozbudowie. Co ciekawe z poziomu widoków będziesz mieć dostęp do większości metod klas pomocniczych oferowanych zarówno przez Kohanę jak i Sandbox CMS. Twig to naprawdę dobry system widoków, który polecam w szczególności początkującym programistom www.

Jednym z najważniejszych elementów mojego systemu zarządzania treścią, jest wsparcie dla deklaracji modułów. Każdy z modułów (jak i sama aplikacja), może zawierać plik XML, w którym zdefiniowane są szczegóły do danego elementu aplikacji. Znajdują się tam między innymi meta informacje na temat modułu (autor, wersja, …), rozszerzony przez ten moduł routing, definicja procedury instalacji/odinstalowania (jakie pliki sql / procedury mają być uruchomione), ale i struktura panelu administracyjnego. Pliki XML mogą dziedziczyć po sobie, to jest plik dostarczony wraz z aplikacją może nadpisywać, bądź rozszerzać parametry dostarczone wraz z system zarządzania treścią.

Istotną rolę w CMS-ie odgrywa również innowacyjny panel administracyjny. Ubrany w lekką skórkę (Bootstrap) i zaprojektowany z myślą o ergonomii jest bardzo prosty w użyciu. Do tego wyjątkowo szybki. Jest to aplikacja w stylu pojedynczej strony, która wszystkie niezbędne informacje doczytuje sobie kiedy te faktycznie są potrzebne. Dotyczy to nie tylko nowych edytorów, ale i kontrolek. Panel administracyjny dostarczony jest wraz z elastycznym CRUD-em (create, read, update and delete). Ten radzi sobie z tłumaczeniami wspieranymi przez CMS oraz złożonymi relacjami. Nie ważne jaką strukturę posiada Twoja baza danych. Przygotowany przeze mnie CRUD powinien sobie z nią poradzić oferując do niej przystępny dostęp. Panel administracyjny już na starcie posiada wiele kontrolek: wszystkie standardowe, dla multimediów, edytor wysiwyg. Co jeśli potrzebujesz kolejnej? Żaden problem. Jak pisałem cały CMS jest elastyczny i nawet dla pojedynczej aplikacji bez edycji panelu administracyjnego można go wzbogacić o nowe funkcjonalności.

Sandbox CMS składa się nie tylko ze wsparcia dla kilku dużych modułów. Wraz z jego instalacją uzyskujesz dostęp do kilkudziesięciu mniejszych usprawnień dla samej Kohany. Są to między innymi klasy wspomagające tworzenie formularzy, wysyłanie wiadomości e-mail (możliwe jest ich buforowanie w bazie danych, nawet z załącznikami; maile kolejno mogą być wysyłane przez cron-a), osadzanie kodu html, generowanie linków, zarządzanie dołączonymi do strony stylami kaskadowymi (jak i skryptami, zmiennymi), definiowanie zdarzeń oraz procedur wraz z nimi wyzwalanych, definiowaniem skróconych tagów (tzw. short codes), korekty błędów.

CMS w akcji

Uprzedzając pytania. Tak. CMS jest wykorzystywany aktualnie przez kilka stron internetowych. W trakcie trwają prace nad kolejnymi. Na pewno będę na bieżąco informował o nowych witrynach napędzanych przez tą technologię.

Kolejna kwestia – czy jest możliwe zapoznanie, się ze źródłami projektu? Nie. I nie wiem czy kiedykolwiek będzie to możliwe dla mas. Projekt nie jest ze swojej natury otwarty. Za to bardzo chętnie mogę udostępnić ten skrypt agencjom interaktywnym za odpowiednią opłatą.

Komentarze

  • Kubic02-12-2013

    A jest prostszy od webwave cms w obsłudze? Poniewaz chce się przesiaść z wodpressa bo mnie irytuje swoją otyłością i szukam czegoś lekkiego ale proste bo nie jestem jakism mega informatykiem.

  • Marcin Baszczewski03-12-2013

    Witam. Nie miałem do czynienia ze wskazanym przez Pana CMS-em, tym samym nie mogę określić czy jest prostszy w obsłudze czy też nie.
    Co do WP: po części podzielam Pana rozterki. Dla mnie głównym problemem jest pętla wokół, której wszystko się kręci, niż sama ociężałość skryptu.
    Jeśli chodzi o mój CMS: nie jest to wolne oprogramowanie i nie ma Pan możliwości wykorzystania go w swoim projekcie. CMS jest bardzo prosty w obsłudze dla końcowego użytkownika, ale wymaga przygotowania szablonu przez osobę techniczną (nie ma w okół niego zbudowanej żadnej społeczności).
    Tym samym jest to narzędzie przeznaczone dla agencji interaktywnych, które chcą szybko wdrażać swoje projekty, aniżeli dla zwykłych użytkowników.

  • miku12-05-2014

    Czy możliwe jest rozszerzenie tematu wersji językowych w Kohanie w większym artykule? Obecnie głowię się nad tym jak tworzyć wpisy na blogu dla każdego języka osobno i nie wiem jak to ogarnąć. Pozdrawiam

  • zargon24-07-2014

    Jak na razie na prostszy niz web wave cms się nie natknęłam. i myślę, że chyba nie ma sensu dalej szukać, bo on jest chyba maksymalnie intuicyjny :)

Chcę dodać komentarz