System zarządzania treścią GtCMS
Filozofia systemu
Systemy prezentacji informacji w Internecie należą do grupy najdynamiczniej rozwijających się technologii ostatnich lat. Rewolucja WEB2.0 i związana z tym popularyzacja rozwiązań opartych o techniki AJAX, blogi i kanały RSS, rozwój portali społecznościowych i przesunięcie przepływu informacji w ich stronę, wieczny wyścig za technikami pozycjonowania dla wyszukiwarek - to przykładowe wyzwania, przed którymi musi stanąć nowoczesna strona internetowa i kryjący się za nią system CMS. I wiele rozwiązań radzi sobie z tym z powodzeniem spełniając oczekiwania danej chwili. Niestety często gorzej jest w ich wypadku z długookresową dynamiką rozwoju i podążaniem za trendami. Komercyjne systemy rozwiązują to często stosując model sprzed rewolucji internetowej ostatnich lat - wydają kolejne "duże" wersje oprogramowania, wprowadzające znaczące, nie zawsze pozytywnie przyjmowane przez użytkowników, często wymagające istotnej przebudowy serwisu. Obok tego typu systemów istnieją popularne rozwiązania open source. I choć one z reguły cechują się częstymi aktualizacjami, słabym ich punktem jest stosowanie przez autorów stron licznie dostępnych (lub budowanych przez nich samych) rozszerzeń, nie zawsze zgodnych z nowszymi wydaniami. Efekt jest taki, że w praktyce system się rozwija, ale Państwo zostajecie przy jego przestarzałej wersji. Zatem najczęściej nie jest ważne, na które z rozwiązań budowy serwisu się Państwo zdecydujecie - w dniu wdrożenia system będzie już lekko przestarzały (bo prace opierają się na wersji sprzed co najmniej kilku tygodni, częściej miesięcy) i będzie się dalej starzał, ze względu na wysoki koszt aktualizacji lub jej problematyczność wynikającą z zastosowanych rozszerzeń. A najczęściej po prostu prozaicznie ze względu na brak takiej oferty ze strony twórcy serwisu.
W ciągu kilku lat pracy nad systemami zarządzania treścią poznaliśmy obie strony tego problemu. Podejście komercyjne - tworząc wczesne wersje GtCMS oraz model oparty na rozwiązaniach open source - rozbudowując istniejące już strony naszych klientów. W obu wypadkach aktualizacje związane ze wzrostem potrzeb klienta lub po prostu niezbędne by wprowadzić nowe funkcjonalności, były procesem ryzykownym i czasochłonnym. Potrzebowaliśmy rozwiązania systemowego - z jednej strony pozwalającego utrzymywać Państwa serwis w najwyższej funkcjonalnie kondycji przez cały jego czas działania, z drugiej zaś minimalizującego nakład pracy poświęcany na aktualizacje, a tym samym minimalizującego Państwa koszty. Wypracowany przez nas model, doprowadził nas do współczesnego systemu GtCMS posiadającego poniższe cechy:
- częste aktualizacje Państwa serwisów "w tle" nawet jeśli nie wprowadzają bezpośrednich zmian w zakresie ich działania
- pełna obsługa serwisowa - zobowiązujemy się do ciągłego utrzymywania funkcjonalności zbudowanych specjalnie pod Państwa potrzeby w stanie kompatybilnym z resztą systemu
- model silnie modułowy - dostarczamy Państwu tylko niezbędne funkcjonalności, potrzebne do spełnienia wszystkich przyjętych założeń projektowych serwisu. Ułatwia to pozbywanie się tak zwanego "martwego kodu" - fragmentów oprogramowania pozostawionych dla zgodności z wcześniejszymi wersjami systemu, które nie zostały jeszcze zaktualizowane, lub już są nie wykorzystywane, co z kolei przyspiesza rozwój naszych rozwiązań
- dedykowana platforma hostingowa debHosting.net - gwarantuje nam pełną kontrolę nad stosowanym wersjami oprogramowania - zarówno języków programowania i ich rozszerzeń jak i baz danych jak również optymalizację konfiguracji serwera pod kątem naszych rozwiązań; dodatkowym atutem dla Państwa jest też to, że brak jest rozmycia odpowiedzialności za ewentualne problemy techniczne pomiędzy firmę hostingową, a wykonawcę serwisu internetowego
- liberalna licencja pozwalająca na pełen dostęp do kodu źródłowego z prawem jego modyfikacji
Zebrane przez nas doświadczenia pokazują, że najczęstszym czynnikiem powodującym konieczność przebudowy serwisu jest grafika, która starzeje się dość szybko i wymaga aktualizacji w cyklach 3-4 letnich. Za to treści stron, szczególnie utrzymywanych w oparciu o CMS, z często wymagają jedynie drobnych korekt, gdyż były aktualizowane w sposób ciągły. Dzięki GtCMS wymiana grafiki będzie procesem łatwym i relatywnie tanim, gdyż nie pociągnie za sobą konieczności przeprowadzenia pełnej wymiany serwisu ze względu na dostępność nowych rozwiązań, zmianę technologii internetowych i przestarzały kod.
Technologie
System zarządzania treścią GtCMS oparty jest na kilku współdziałających technologiach. Po stronie serwera są to między innymi: języki skryptowe PHP5 i Python, odpowiedzialne za budowanie treści wyświetlanych stron, baza danych PostgreSQL przechowująca zawartość serwisu, system szablonów Smarty pozwalający na szybkie i efektywne tworzenie stron o zunifikowanym wyglądzie, jak też uniksowy mechanizm gettext, odpowiedzialny za elastyczne tworzenie wielojęzycznych serwisów. Po stronie przeglądarki, oprócz oczywiście HTMLa jako podstawowego budulca serwisu, intensywnie korzystamy z JavaScript bazując na dwóch bibliotekach funkcji: jQuery i MochiKit. Jeśli projekt wymaga od nas zastosowania zaawansowanych elementów Flash, tworzymy je korzystając z języka haXe. Całości dopełnia system kontroli wersji Subversion oraz skrypty go wspierające stworzone w języku Python.
GtCMS charakteryzuje się budową modułową, co pozwala na elastyczne rozbudowywanie jego funkcjonalności i dostosowywanie jej do nowych zastosowań jak i do szczególnych potrzeb klienta. Bazowe moduły systemu to:
-
core - bazowa funkcjonalność systemu. Stanowi podstawę umożliwiającą działanie wszystkich pozostałych modułów, zapewniając dostęp do konfiguracji, obsługę wyświetlania strony użytkownikowi i tym podobne
- shop - zapewnia funkcje pozwalające zbudować sklep internetowy - dostarcza obsługę klientów, produktów, sekcji sklepu, zamówień i wiele innych
- locale - serwisy budowane z użyciem GtCMS z tym modułem mogą być wielojęzyczne - moduł ten odpowiada bowiem za prezentację użytkownikowi odpowiedniej wersji językowej szablonu strony oraz dostarcza mechanizmów zarządzania automatycznym tłumaczeniem treści generowanych dynamicznie w oparciu o funkcjonalność narzędzi GNU gettext.
-
moduły kontrolek - "kontrolki" to w żargonie GtCMS dodatkowe elementy strony lub serwisu, dodawane przez jego administratora według potrzeb do wybranych przez niego stron. Mogą dostarczać takich funkcjonalności jak dynamiczne bannery, system autoryzacji, interaktywna galeria, integracja z GoogleMaps itp. Najpopularniejsze kontrolki znajdują się w module core. Inne, bardziej specjalizowane, znajdują się w oddzielnych modułach, dzięki czemu jeśli w Państwa projekcie nie ma dla nich zastosowania nie są do niego dodawane, co upraszcza Państwu późniejsze zarządzanie treścią serwisu.
CMS:
Zarządzanie strukturą serwisu w GtCMS
Sekcja “Artykuły” w panelu administracyjnym
Edycja profilu administratora
Kontrolki:
Zarządzanie galerią
Zarządzanie aktualnościami
