Co to jest CMS i z czym to się je?

Content Management System (CMS) – Systemem Zarządzania Treścią – to system przeznaczony do wygodnego i łatwego zarządzania serwisem internetowym.


(Zainstesowanym tematyką systemów CMS mogę polecić ciekawy, autorski Darmowy CMS.)


Jego głównym zadaniem jest ułatwienie pracy administratorowi serwisu przy wykonywaniu czynności administracyjnych, zwłaszcza przy aktualizacji strony.
Systemy CMS zapewniają wysoką funkcjonalność i możliwość wykorzystania w różnych projektach internetowych.
Taki system sprawdza się zwłaszcza tam, gdzie jest potrzeba dokonywania częstych zmian w serwisie. Jeżeli składa się on z dużej liczby tekstów to jest to pewny kandydat do wdrożenia CMS.


Dzięki niemu czynności administracyjne zajmują mniej czasu i są łatwiejsze. Jest to odejście od „statycznego” podejścia, polegającego na modyfikacji serwisu poprzez modyfikację plików HTML. Zamiast tego administrator ma wygodny w użyciu panel administracyjny, z poziomu którego może wykonać czynności administracyjne.


Większość czynności w CMS można wykonać z poziomu przeglądarki internetowej.
Nie jest wymagany edytor HTML, program FTP ani żadne inne dodatkowe oprogramowanie. CMS ma wbudowany system weryfikacji użytkowników. Po zalogowaniu się na swoje konto użytkownik ma dostęp do tych części portalu, które zostały mu udostępnione przez administratora.


W serwisie „statycznym” dodanie każdego tekstu wymaga utworzenia nowego pliku HTML, połączenie się z serwerem FTP i zmodyfikowanie istniejących plików (np. po to, żeby dodać odpowiednie linki do nowych treści).


CMS z jednej strony upraszcza czynności administracyjne, a z drugiej pozwala wybranym użytkownikom na samodzielną aktualizację serwisu. Np. redaktor gazety internetowej chcąc dodać nowy artykuł do gazety po prostu loguje się do panela administracyjnego, wybiera moduł do dodawania tekstów i wpisuje (lub wkleja z edytora) treść artykułu do odpowiednich pól formularza. Nie jest wymagana od niego znajomość HTML ani żadnego języka programowania. Dzięki temu administrator nie jest angażowany przy aktualizacji serwisu. Może skupić się n.p. na zapewnieniu wydajnej pracy serwera, dbaniem o bezpieczeństwo i obserwacją jego obciążenie.


CMS zazwyczaj ma wbudowane dodatkowe komponenty, które zwiększają funkcjonalność strony: wyszukiwarka treści zawartych w serwisie, forum dyskusyjne, system subskrybcji i wiele innych. Wszystko to już napisane i gotowe do użycia. Dzięki temu serwis jest jednorodnym produktem składającym się z podobnych do siebie komponentów. Nie trzeba się martwić jak zintegrować np. wyszukiwarkę ze stroną, bo to już zostało zrobione.


1. W jakich rozwiązaniach CMS się sprawdza?
Konieczność wdrożenia systemu CMS zachodzi wtedy rozmiar serwisu przekracza liczbę plików HTML możliwą do łatwego ogarnięcia przez jednego webmastera. Nie da się bez niego obejść zwłaszcza tam, gdzie zawartość serwisu często się zmienia. Eliminuje też dużo pracy w sytuacjach, kiedy serwis powinien zawierać system ograniczania dostępu do określonych treści publikowanych w portalu lub czynności możliwych do wykonania.

Do najczęstszych zastosowań systemów CMS należą:
– serwisy „niusowe”,
– strony wewnętrzne w organizacjach (Intranet),
– serwisy utrzymujące internetowe wydania gazet,
– środowiska pracy zespołów projektowych.


2. Architektura systemu CMS
CMS składa się przeważnie z dwu głównych elementów: bazy danych, w której zapisane są teksty, które pokazują się na portalu i programu, który potrafi pobrać wybrane teksty z bazy i przetworzyć je na kod HTML. Taki kod jest następnie przesyłany do przeglądarki i wyświetlany na monitorze internauty.
Najczęstszym spotykanym zestawem jest baza mySQL i język skryptowy PHP. Ten tandem zawdzięcza swoją popularność temu, że są to rozwiązania darmowe i łatwo przyswajalne nawet przez początkujących webmasterów.


3. PostNuke
Jednym z przykładów systemów CMS wykonanych w tej właśnie technologii jest PostNuke.
Należy on do kategorii „Open Source” i jest udostępniany na zasadzie licencji GNU (General Public License). W praktyce oznacza to, że jest on bezpłatny i webmasterzy mają pełne prawo do ingerowania w dostarczony kod dostosowując go do swoich potrzeb.
Wśród wielu systemów CMS klasy Open Source PostNuke jest jedynym, któremu IBM przyznał tytuł „IBM Server Proven”. Uznana została w ten sposób dojrzałość tego produktu.


Został on zaprojektowany jako silnik (engine) serwisu internetowego.
Oznacza to, że zawiera wszystkie elementy konieczne dla zaawansowanego serwisu. Nic nie stoi na przeszkodzie, żeby go dostosowywać do swoich potrzeb. Modułowa budowa umożliwia dodawanie nowych części funkcjonalnych, które spełnią nasze wymagania (a których nie było w wersji domyślnej PostNuke). Dotyczy to nowych modułów. Jedynym ograniczeniem jest tylko wyobraźnia administratora i sprawność programisty PHP.
Modyfikowanie istniejących modułów również nie jest ani trudne ani kłopotliwe. Wystarczy zmodyfikować kod skryptu PHP, który w wersji źródłowej jest zapisany na serwerze.


4. Wymagania sprzętowe
Wymagania sprzętowe PostNuke zależą ściśle od środowiska, w jakim chcemy go zainstalować. Jeżeli na komputerze można uruchomić serwer WWW, serwer PHP i serwer bazy mySQL oznacza to, że komputer spełnia wymagania, które stawia PostNuke. Program ten sam w sobie jest zestawem skryptów PHP, które muszą współpracować z bazą danych mySQL. Oczywiście im lepszy komputer, tym szybciej strona będzie działała.

Aby uruchomić PostNuke, nie jest wymagane podłączenie do Internetu.
Po przetestowaniu nowych modułów lokalnie, można je dodać do wersji serwisu działającego w sieci.


Na instalację PostNuke należy zarezerwować ok. 25 MB dysku. Dotyczy to samych skryptów PHP i grafiki strony. Do tego należy dodać miejsce na bazę mySQL, w której będzie zapisana cała zawartość serwisu. Można przyjąć założenie, że portal zawierający ok. 200 tekstów zajmuje zalewie ok. 2 MB w bazie danych.


5. Wymagania softwarowe
Zanim zaczniemy instalować PostNuke musimy się upewnić, że serwer działa pod kontrolą jednego ze wspieranych systemów operacyjnych i że w serwerze działają wszystkie wymagane usługi.
PostNuke supportuje następujące systemy operacyjne: Unix, Linux, FreeBSD, MacOSX, Solaris, AIX, Win98/NT/2000/XP, Sun Cobalt OS (RAQ4).
Wśród serwerów WWW dwa najczęściej wykorzystywane to Apache i IIS.
Konieczny jest serwer PHP (wersja 4.0.1pl2 lub wyższa) skompilowany ze wspieraniem mySQL. Wymaganie zainstalowania serwera PHP wynika z tego, że PostNuke to nic innego jak zestaw skryptów napisanych w tym właśnie języku (o czym pisałem wcześniej).
Ostatnim elementem wymaganym przez PostNuke jest serwer bazy danych mySQL (wersja 3.23 lub wyższa).


6. Polecane dodatki
Istnieje kilka dodatkowych elementów, które nie są co prawda konieczne, ale mogą wpłynąć na przyśpieszenie działania PostNuke lub ułatwienie pracy administratorowi.
Są to:
– serwer pocztowy (SendMail, QMail, ProcMail, itd.) zainstalowany na tym samym serwerze,
– system zdalnego administrowania bazą danych – np. phpMyAdmin,
– wsparcie kompresji strony (GZIP) w serwerze PHP oraz
– akcelerator PHP.


7. Instalacja
Instalacja PostNuke nie nastręcza kłopotów. Podstawowy pakiet instalacyjny zajmuje ok. 2 MB. Aktualną wersję można ściągnąć bezpłatnie z Internetu, ze strony PostNuke (http://www.postnuke.com/).
Po rozpakowaniu skryptów na serwerze WWW można przystąpić do procesu instalacji. PostNuke ma wbudowany kreator instalacji, który sposób prowadzi za rękę przy uruchamianiu PostNuke. Komunikaty przy błędach podczas instalacji są jednoznaczne i opatrzone komentarzem na czym dany problem polega i jak sobie z nim poradzić.
Instalacja polega na umieszczeniu skryptów w odpowiednim miejscu i utworzeniu tabel w bazie danych.
Dodawanie nowych modułów wykonuje się przez przeglądarkę w panelu administracyjnym.


8. Wybór modułów
Przy wdrażaniu PostNuke należy pamiętać, że nie wszystkie moduły dostarczone w wersji domyślnej muszą znaleźć się na naszej stronie. Często webmasterzy – chcąc uatrakcyjnić portal – dodają kolejne moduły ściągnięte z Internetu nie zwracając uwagi na to, że np. okienko wyświetlające aktualną pogodę w USA nie powinno znaleźć się na stronie gazety osiedlowej.
Webmasterzy powinni położyć nacisk na czytelność strony – tak, żeby nadmiar modułów nie skomplikował serwisu. Czasem radość tworzenia i chęć uruchomienia „jeszcze jednego modułu” powoduje, że główna część strony staje się gąszczem zbędnych modułów.
Zatem najpierw planujemy co na stronie będzie się znajdowało i dopiero wtedy dobieramy te moduły, które pokrywają daną funkcjonalność (np. istnienie modułu „download” na stronie powinna wynikać z jego wcześniejszego zaplanowania, a nie z tego, że PostNuke go zapewnia w wersji domyślnej).


9. Grafika
Dużą wagę należy przyłożyć do wyglądu zewnętrznego serwisu. Chociaż PostNuke zawiera kilka szablonów graficznych w wersji instalacyjnej, to nie obędzie się bez pomocy grafika/webmastera, który dostosuje PostNuke do naszych potrzeb.
Dużą pomocą może być jedna ze stron zawierających biblioteki szablonów. Najbardziej efektywna wydaje się metoda wyboru szaty graficznej polegająca na wybraniu najbardziej zbliżonego do potrzeb gotowego szablonu i dostosowanie go do konkretnej strony.


10. Support
PostNuke wspierany jest przez bardzo aktywne środowisko developerów – prawie każdego dnia na wspominanej stronie internetowej (http://www.postnuke.com/) ogłaszane są nowe moduły, poprawki, informacje, itd. Jest tam też forum wymiany doświadczeń webmasterów.
Jest to bardzo cenne źródło wiedzy o usuwaniu problemów i rozwoju PostNuke.


11. Dlaczego PostNuke?
PostNuke może być polecany w przypadkach, kiedy rozważane jest wdrożenie systemu SMS.
Szeroki wachlarz jego możliwości sprawia, że może podjąć równą walkę z systemami komercyjnymi. Za wybraniem tego rozwiązania mogą przemawiać:
– Krótki czas wdrożenia.
W wersji domyślnej wdrożenie PostNuke i nagięcie go do wymagań serwisu to kilka dni pracy dwuosobowego zespołu,
– Niski koszt wdrożenia.
PostNuke jest udostępniany bezpłatnie. Rozszerzanie funkcjonalności nie jest problemem nawet dla początkującego programisty PHP.
– Funkcjonalność.
PostNuke w wersji domyślnej jest portalem z prawdziwego zdarzenia. Zawiera dział niusów, artykułów, FAQ, forum, wyszukiwarkę, itd.
– Bezpieczeństwo.
PostNuke jest deceniany za duży nacisk, jaki kładzie na bezpieczeństwo przechowywanych w portalu informacji.
– Elastyczność.
Modułowa budowa PostNuke pozwala go dowolnie rozbudowywać. W czasie dodawania nowych usług do serwisu pozostałe elementy są cały czas dostępne dla odwiedzających.
Wykorzystanie zdefiniowanych szablonów i styli pozwala na szybka zmianę szaty graficznej.
Dostępność PostNuke na wielu platformach pozwala pomijać ten aspekt wyboru systemu.
– Support.
PostNuke wspierany jest przez aktywne grono developerów rozwijających ten system i szybko reagujących na zgłaszane problemy.


Mirosław Grodzki
miroslaw.grodzki@zhp.otwock.com.pl


O autorze:
Autor był kierownikiem kilku wdrożeń portali opartych na systemach CMS.