Na szczęście na świecie znalazło się sporo osób, które postanowiły podzielić się z innymi pracą, jaką niegdyś wykonały – zazwyczaj tworząc własne strony WWW. Dzięki działaniom niewielkich najczęściej grup programistów, czasem wspieranych przez producentów software’u, powstały naprawdę godne polecenia narzędzia CMS (Content Management System).
Czymże są wspomniane CMS-y? Niczym innym jak tym, czego właśnie szukamy – czyli aplikacjami służącymi do tworzenia witryny internetowej i zarządzania jej zawartością. Gdybyśmy chcieli trzymać się ścisłych definicji, okazałoby się, że do utworzenia rozbudowanej strony WWW potrzebnych jest kilka różnych elementów. Są to: szkielet HTML-owy definiujący wygląd strony, serwer aplikacji pozwalający implementować poszczególne narzędzia do administrowania portalem oraz sam CMS, czyli wspomniane narzędzia definiujące przepływ danych w obrębie witryny i ułatwiające zarządzanie informacjami. Ponieważ jednak większość CMS-ów albo zawiera w sobie wszystkie wymienione elementy, albo też wykorzystuje w ich charakterze powszechnie dostępne komponenty (takie jak Apache, PHP, MySQL itd.), ograniczymy się do zaproponowanej wcześniej terminologii.
Wymagania systemów portalowych |
Co jest potrzebne? |
Aby skorzystać z systemu do tworzenia portali, musimy spełnić kilka warunków. Przede wszystkim konieczne jest konto WWW oferujące odpowiednie mechanizmy (serwer WWW, baza danych i obsługa odpowiednich skryptów) – wymagania poszczególnych opisywanych systemów podane są w tabeli na 2146. Do uruchomienia własnego portalu z pewnością nie nadają się darmowe konta na Onecie czy Wirtualnej Polsce, jednak sporo providerów oferujących płatne konta WWW udostępni nam potrzebne narzędzia lub wręcz zainstaluje żądany system. W idealnej sytuacji są np. posiadacze SDI. Równie ważne są nasze własne umiejętności. Choć systemy portalowe na ogół izolują nas od technologii drzemiących pod okienkowym interfejsem, to jednak podstawowa znajomość HTML-a, PHP/ASP i mechanizmów bazodanowych może się bardzo przydać. |
Skąd czerpać pomysły?
Gdy wejdziemy na stronę http://freshmeat.net/ i wpiszemy w polu wyszukiwarki zapytanie typu “CMS” lub “portal system”, otrzymamy na pewno kilkadziesiąt trafnych odpowiedzi. Darmowych systemów do tworzenia portali jest zresztą jeszcze więcej – aby się o tym przekonać, wystarczy skorzystać z Google’a czy innej podobnej wyszukiwarki. Jak więc wybrać właściwe rozwiązanie spośród tak wielu propozycji?
Podejmując decyzję, musimy zdawać sobie sprawę z kilku ważnych faktów. Po pierwsze, zazwyczaj jesteśmy ograniczeni dostępnymi środkami. Nie każdy dysponuje bowiem własnym stałym łączem. W najlepszej sytuacji są tu chyba posiadacze SDI, którzy mogą wybrać, co im się żywnie podoba – nie rujnując się finansowo. Jeśli korzystamy z “zaprzyjaźnionego” serwera (np. u znajomych, w szkole czy na uczelni), możemy wprawdzie namówić administratora na instalację tego czy innego programu, ale raczej nie zmusimy go do zainstalowania Apache’a zamiast IIS-a czy odwrotnie – a systemy CMS zazwyczaj współpracują z konkretnym serwerem WWW i korzystają z określonego modułu skryptowego. W najgorszej sytuacji są użytkownicy kont na komercyjnych serwerach, gdyż muszą się oni zdać na łaskę i niełaskę swojego usługodawcy. Nawet jednak w tym ostatnim przypadku prawdopodobnie uda się wybrać odpowiadający nam CMS.
Po określeniu dostępnych technologii możemy się zabrać do szukania właściwego CMS-a. Tutaj warto kierować się prostą zasadą – najlepsze są zazwyczaj systemy najdłużej istniejące i najbardziej znane. Aby zorientować się w sytuacji, można zajrzeć pod adresy podane w ramce “Info”. W niniejszym artykule starałem się pobieżnie omówić właśnie kilka cieszących się największym uznaniem systemów ułatwiających projektowanie własnych portali.
Dane techniczne | |||||
Program | PHP-Nuke 5.6 | PostNuke 0.714 | Zope 2.5.1 + CMF 1.2 | Midgard 1.4.3 | UltraApps Portal1.5 |
Producent/autor | Francisco Burzi | John Cox | Zope Corporation | Henri Bergius i Jukka Zitting | UltraApps |
http://www. | phpnuke.org/ | postnuke.com/ | zope.org/ | midgard-project.org/ | ultraapps.com/ |
Systemy operacyjne | Linux, Windows, FreeBSD, MacOS, OS/2, dowolny klon Uniksa | Linux, Windows, Mac-OS, FreeBSD, OS/2, dowolny klon Uniksa | Linux, Unix, Windows, Mac OS | Linux/Unix, Mac OS X, FreeBSD | Windows 9x/NT/2000/XP |
Licencja | GPL (GNU Public Licence) | GPL (GNU Public Licence) | ZPL (zgodna z GPL) | GPL (GNU Public Licence) | freeware |
Wybrane funkcje | |||||
Używany serwer WWW | Apache | Apache | Zserver, IIS | Apache | IIS |
Obsługiwane bazy danych | MySQL, mSQL, PostgreSQL, Adabase, Interbase, Sybase, ODBC | MySQL 3.23 | Oracle, PostgreSQL, MySQL, Sybase, InterBase, DB2, ODBC (Windows) | MySQL | MS Access |
Język skryptowy | PHP 4.x | PHP 4.0.1 pl2 lub nowszy | Python 2.1.x lub nowszy | PHP 4.x | ASP |
Moduły | |||||
News/artykuły | +/+ | +/+ | +/+ | +/+ | +/+ |
Forum/czat | +/- | +/- | +/- | -/- | +/- |
Pliki/odsyłacze/ankiety | +/+/+ | +/+/+ | +/+/+ | +/+/+ | +/+/+ |
Sklep | – | – | + | – | – |
Zarządzanie kontami | + | + | + | + | + |
Obsługa banerów | + | + | + | – | – |
Wyszukiwarka informacji | + | + | + | + | + |
Formularz pocztowy | + | + | + | + | + |
Kalendarz | + | – | + | – | – |
FAQ | + | + | + | + | + |
Dodatkowe opcje | |||||
System pomocy | + | – | + | – | + |
Obsługa tematów (“skórek”) | + | + | + | + | – |
Polskojęzyczne menu | + | – | – | – | – |
System uprawnień użytkowników (ACL) | – | – | + | + | – |
Definiowanie obiegu dokumentów | – | – | + | + | – |
Obiektowa baza | – | – | + | – | – |
Własny język skryptowy/API | – | – | + | – | – |
Obsługa WebDAV | – | – | + | – | – |
Kopia zapasowa bazy | + | + | – | – | – |
+ – jest, – – nie ma |