C
M
Y
K
Systemy CMS
INTERNET.styczeñ.2005
104
NEWSY
Z OK£ADKI
FIRMA
MAGAZYN
PROGRAMY
WARSZTAT
NA CD
SYSTEMY CMS:
Post
Nuke
System PHP-Nuke doczeka³ siê licznych nastêpców. Szczególne miejsce w tym gronie zajmuje
PostNuke. Zwiêkszone bezpieczeñstwo, system skórek, poprawnoœæ generowanego kodu HTML
oraz uproszczona procedura instalacyjna to najbardziej rzucaj¹ce siê w oczy zalety PostNuka.
W³odzimierz Gajda
Systemy CMS wywodzące się z systemu PHP−Nuke
Lista systemów CMS opartych na PHP-Nuke liczy kilkanaœcie pozycji
(patrz spis na CD, tabela 1). W rozdziale 2.6 dokumentacji systemu PHP-
-Nuke wymienione s¹ systemy PostNuke, Envolution, MyPHPNuke oraz
Xoops. Dalsze informacje na ten temat znajdziemy w Wikipedii pod ad-
resem: http://en.wikipedia.org/wiki/PHP-Nuke/. Wikipedia wymienia kolejne trzy
systemy OpenPHPNuke, phpWebSite oraz OcPortal (informacje na te-
mat ostatniego systemu s¹ podane na stronie http://en.wikipedia.org/wiki/OcPortal/).
Wreszcie w serwisie http://www.cms.rk.edu.pl znajdziemy informacje na temat
CMSów: AlertNuke, Proxima, HalNuke, CrossNuke oraz MD-Pro.
PostNuke
G³ównymi cechami, które odró¿niaj¹ PostNuke od protoplasty PHP-
-Nuka s¹ bezpieczeñstwo, system skórek, standaryzacja kodu HTML
generowanego przez portal, uproszczona administracja oraz prostsza
procedura instalacyjna.
Bie¿¹ca wersja systemu ma numer 0.750 i jest dostêpna na naszej
p³ycie CD lub na stronie projektu: http://www.postnuke.com. Na witrynie
http://www.post-nuke.pl
znajdziemy natomiast informacje na temat t³uma-
czeñ systemu PostNuke na jêzyk polski, zaœ pod adresem
http://jeffrey.shaffner.name/betasite/
znajduje siê przewodnik w formacie PDF.
Do instalacji Post-Nuke s³u¿y skrypt install.php. Instalacja odbywa
siê za poœrednictwem skryptu install.php. Nie musimy, tak jak to mia³o
miejsce w przypadku systemu PHP-Nuke, wykonywaæ skryptów SQL.
Baza danych zostanie utworzona przez skrypt install.php. Po instalacji
nale¿y usun¹æ zarówno plik install.php, jak i folder install.
Rys. 1 przedstawia wygl¹d portalu bezpoœrednio po instalacji.
Rys. 1. Portal PostNuke bezpoœrednio po instalacji
Panel administracyjny
Struktura portalu prowadzonego w systemie PostNuke jest niemal
identyczna jak w przypadku systemu PHP-Nuke. TreϾ portalu jest po-
dzielona na tematy, sekcje oraz artyku³y, zaœ do zarz¹dzania struktur¹
serwisu s³u¿¹ bloki i modu³y. Panel administracyjny portalu zosta³
przedstawiony na rys. 2.
Rys. 2. Panel administracyjny
Uruchamiaj¹c nowy portal bêdziemy musieli skorzystaæ co najmniej
z czterech ikon panelu sterowania: Add story, Blocks, Settings oraz Topics.
Globalne ustawienia portalu, takie jak tytu³, stopkê, logo czy skórkê, mody-
fikujemy korzystaj¹c z ikony Settings. Ikona Topics s³u¿y do definiowania
tematów. Artyku³y dodajemy za pomoc¹ ikony Add story, natomiast ikona
Blocks pozwoli na zmodyfikowanie systemów menu dostêpnych w portalu.
Portal o twórczości Edgara Alana Poe
Jako przyk³ad zastosowania systemu przygotujemy serwis prezentuj¹cy
opowiadania Alana Edgara Poe. Treœæ opowiadañ pochodzi z biblioteki
Projekt Gutenberg dostêpnej pod adresem http://www.promo.net/pg/. Pliki teksto-
we z treœci¹ opowiadañ s¹ zawarte w archiwum edgar-alan-poe-txt-all.zip.
Pliki tekstowe zosta³y sformatowane w taki sposób, ¿e akapity nie zawie-
raj¹ znaków z³amania wiersza. Plik edgar-alan-poe-pseudo-html.zip za-
wiera teksty opowiadañ sformatowane znacznikami <P> oraz </P>.
Dodajemy do portalu temat (ang. topic) Edgar Alan Poe. Po uru-
chomieniu serwisu i zalogowaniu na konto administratora przechodzi-
my do panelu administracyjnego i wybieramy ikonê Topics. Dodajemy
nowy temat p.t. Edgar Alan Poe. Jako ikonê podajemy nazwê poe.gif.
Nastêpnie usuwamy dwa domyœle tematy: Linux oraz PostNuke.
Teraz w portalu jest zdefiniowany jeden temat: Edgar Alan Poe.
Nastêpnie przystêpujemy do dodania do portalu artyku³ów. W panelu
administracyjnym wybieramy ikonê Add story. Jako treœæ artyku³u podaje-
my jeden z utworów zawartych w archiwum edgar-alan-poe-pseudo-
-html.zip (tekst wzbogacony o elementy P), np. opowiadanie THE PIT AND
THE PENDULUM, zapisane w pliku the_pit_and_the_pendulum.html.
W tym celu otwieramy plik the_pit_and_the_pendulum.html dowol-
nym edytorem plików tekstowych, zaznaczamy ca³oœæ (Ctrl+A) i wyko-
nujemy operacjê kopiuj (Ctrl+C). Przechodzimy do okna przegl¹darki
i wklejamy skopiowan¹ treœæ do pola edycyjnego zatytu³owanego Body
text. Przewijamy zawartoœæ pola Body text na sam pocz¹tek, zaznaczamy
pierwsz¹ liniê zawieraj¹c¹ tytu³ opowiadania THE PIT AND THE PEN-
DULUM. Zaznaczony tytu³ wycinamy (Ctrl+X) z pola Body text i wkle-
jamy do pola Title, znajduj¹cego siê na górze strony. Teraz zmieniamy
temat artyku³u. Ustalamy Topic na Edgar Alan Poe. Na koniec ustalamy
format tekstu wprowadzonego w polu Body text na HTML. S³u¿y do te-
go lista rozwijana znajduj¹ca siê poni¿ej pola Body text.
Artyku³ jest gotowy do umieszczenia w bazie danych. Naciskamy
przycisk Submit, dostêpny na dole strony. Ujrzymy podgl¹d artyku³u.
Je¿eli nie pope³niliœmy ¿adnej pomy³ki i artyku³ wygl¹da poprawnie,
przechodzimy do dolnej czêœci strony. Zmieniamy opcjê listy rozwija-
nej z Preview story na Post Story i ponownie naciskamy przycisk Sub-
mit. Tym razem artyku³ zostanie umieszczony w portalu. W identycz-
ny sposób dodajemy kolejne opowiadania.
W archiwum edgar-alan-poe-pseudo-html.zip znajduje siê 67 opo-
wiadañ. W celu u³atwienia dodania opowiadañ do bazy danych, skrypt
sql-edgar-alan-poe_opowiadania.sql zawiera instrukcje w jêzyku SQL,
które dodadz¹ do bazy danych zarówno temat, jak i wszystkie 67 opo-
wiadañ. Skrypt ten jest zawarty w archiwum sql-edgar-alan-poe_post-
nuke.zip. W celu wykonania skryptu SQL wystarczy uruchomiæ do³¹-
czony plik o rozszerzeniu .bat. Czynnoœæ tê nale¿y wykonaæ bez doda-
wania do bazy danych tematu. Skrypt SQL dodaje do bazy danych za-
równo temat, jak i opowiadania.
Kolejnym etapem konfiguracji portalu jest modyfikacja ustawieñ
bloków. Przechodzimy do panelu administracyjnego i wybieramy iko-
nê Blocks. Deaktywujemy wszystkie bloki poza Main Menu, Search,
Login oraz Past Articles.
Teraz dodajemy do menu opcjê zatytu³owan¹ Edgar Alan Poe. Chce-
my, by opcja ta wyœwietla³a listê wszystkich opowiadañ. W tym celu mu-
simy najpierw poznaæ hiper³¹cze, które wyœwietla listê opowiadañ. Wra-
camy do strony g³ównej, po czym w menu Past Articles (lewa strona por-
talu) klikamy hiper³¹cze Older articles (na samym dole menu Past Artic-
les). Strona, któr¹ ujrzymy, zawiera listê wszystkich opowiadañ. Klikamy
pole adres w przegl¹darce i kopiujemy do schowka zawarty tam adres.
Wracamy do administracji blokami i w³¹czamy edycjê menu g³ówne-
go. S³u¿y do tego hiper³¹cze Edit w kolumnie Options. Oczywiœcie klika-
my hiper³¹cze Edit znajduj¹ce siê w wierszu, który w kolumnie Title za-
wiera tekst Main Menu. Usuwamy wszystkie pozycje poza Home, Admi-
nistration, Logout oraz Serch. W celu usuniêcia wybranej pozycji, nale¿y
zaznaczyæ opcjê w kolumnie Delete wybranego wiersza. Usuniêcie po-
twierdzamy naciskaj¹c przycisk Commit changes. Ponownie wchodzimy
do edycji menu g³ównego i zmieniamy nazwê opcji Home na What’s
new? Dokonamy tego modyfikuj¹c tekst w polu Title. Nastêpnie dodaje-
my puste pole poni¿ej opcji What’s new? W tym celu zaznaczamy opcjê
Insert blank after w pierwszym wierszu i potwierdzamy zmiany przyci-
skiem Commit changes. Ponownie wracamy do edycji menu g³ównego
i w wolnym wierszu, poni¿ej wiersza What’s new?, wprowadzamy tytu³
Edgar Alan Poe, zaœ w polu URL wklejamy skopiowany uprzednio adres.
Wracamy do administracji blokami i wy³¹czamy blok Past Articles.
Blok ten by³ potrzebny do ustalenia adresu, który wkleiliœmy w menu
g³ównym.
Na koniec zmieniamy ustawienie portalu. W panelu administracyjnym klika-
my ikonê Settings. Zmieniamy tytu³ portalu (Site name), has³o reklamowe portalu
(Site slogan), s³owa kluczowe (Meta keywords) oraz stopkê (Footer line).
Teraz przygotowujemy ikonê portalu. Plik powinien nazywaæ siê lo-
go.gif i mieæ wymiary 261x69. Gotowe logo zapisujemy w folderze Post-
Nuke-0.750/html/images/.
Utworzymy jeszcze plik GIF o wymiarach 1x1, którego jedyny bia³y
piksel jest przezroczysty. Plik ten nazwiemy poe.gif i zapiszemy w folde-
rze PostNuke-0.750/html/images/topics/. W panelu administracyjnym te-
matów (ikona Topics) zmieniamy ustawienia tematu Edgar Alan Poe. Po-
dajemy nazwê ikony poe.gif. Dziêki temu unikniemy symbolu nieznale-
zionego obrazu z ikon¹ tematu na niektórych stronach portalu. Przyk³ado-
we ikony s¹ zawarte w pliku ikony.zip.
Portal jest gotowy. Strona g³ówna portalu zosta³a przedstawiona na rys. 3.
Rys. 3. Portal
z opowiadaniami
Edgara Alana Poe
Modyfikacja skórki
portalu
System PostNuke jest roz-
prowadzany z kilkoma skór-
kami. W celu zmiany skórki
portalu nale¿y najpierw udo-
stêpniæ skórkê, po czym do-
konaæ zmiany. Do udostêp-
niania skórek s³u¿y ikona
Xanthia panelu administracyjnego. Po jej wybraniu ujrzymy listê do-
stêpnych skórek. Skórki nale¿y aktywowaæ. W tym celu klikamy hi-
per³¹cza Add theme w kolumnie Actions.
Nastêpnie przechodzimy do ikony Settings panelu administracyjne-
go. Teraz mo¿emy przyst¹piæ do zmiany skórki systemu. Korzystaj¹c
z listy rozwijanej Default theme for this site, wybieramy interesuj¹cy nas
temat. Wybór potwierdzamy przyciskiem Save changes u do³u strony.
Rys. 4 przedstawia portal po zastosowaniu czterech ró¿nych skórek.
Rys. 4. Portal z utworami E. A. Poe po zastosowaniu dwóch
przyk³adowych skórek
Systemy CMS
INTERNET.styczeñ.2005
105
WARSZTAT
PROGRAMY
MAGAZYN
FIRMA
Z OK£ADKI
NEWSY
NA CD
C
M
Y
K
Na załączonej płycie CD, w katalogu Warsztat_PostNuke znajdują się materiały uzupełniające:
tabele informacyjne oraz PostNuke 0.750 wraz z podręcznikiem użytkownika
oraz opisywane w artykule przykładowe dane do wykonania portalu (spakowane ZIP−em).
Po wy³¹czeniu czêœci modu³ów panel administracyjny zawiera nie-
co mniej ikon. Rys. 5 przedstawia panel administracyjny portalu otrzy-
manego po wykonaniu æwiczenia pierwszego.
Rys. 5. Panel administracyjny po wy³¹czeniu czêœci modu³ów
Usunięcie portalu
Portal wykonany w systemie PostNuke sk³ada siê z bazy danych oraz
plików zawartych w folderze PostNuke-0.750 (folder ten jest zawarty
w katalogu htdocs). W celu usuniêcia portalu wykonanego w pierw-
szym æwiczeniu nale¿y usun¹æ zarówno folder PostNuke-0.750, jak
i bazê danych postnuke. Do usuniêcia bazy danych mo¿emy u¿yæ ope-
racji Usuniêcie, dostêpnej w systemie phpMyAdmin lub zapytania:
DROP DATABASE postnuke;
Portal zawierający dział Download
Kolejne æwiczenie pokazuje, z jaki sposób wzbogaciæ portal o dzia³
Download. Zainstalujemy od nowa system PostNuke, po czym korzy-
staj¹c ze skryptu sql-edgar-alan-poe_postnuke.zip dodamy temat
Edgar Alan Poe i wszystkie 67 artyku³ów.
Dzia³ Download mo¿emy podzieliæ na kategorie oraz podkategorie. Wy-
korzystuj¹c ikonê Download w panelu administracyjnym dodamy do syste-
mu trzy kategorie: opowiadania w formacie tekstowym (ka¿de opowiadanie
bêdzie stanowi³o osobn¹ pozycjê), opowiadania w formacie HTML (ka¿de
opowiadanie bêdzie stanowi³o osobn¹ pozycjê) oraz komplet opowiadañ
(ka¿da pozycja tego dzia³u bêdzie zawiera³a wszystkie opowiadania; po-
szczególne pozycje dzia³u Download bêd¹ siê ró¿ni³y formatem).
Danymi, które umieœcimy w systemie, bêd¹ spakowane pliki o roz-
szerzeniu .zip. Pierwsza kategoria plików, zawarta w archiwum separate-
-html.zip, to spakowane pliki, z których ka¿dy zawiera jedno opowiada-
nie w formacie HTML. Druga kategoria plików, zawartoœæ archiwum se-
parate-txt.zip, to spakowane pliki, z których ka¿dy zawiera jedno opo-
wiadanie w formacie TXT. Wreszcie trzecia kategoria plików, pliki
zawarte w all.zip, to archiwa zawieraj¹ce wszystkie opowiadania.
W ten sposób goœcie naszego portalu bêd¹ mogli:
X
przeczytaæ ka¿de opowiadanie online,
X
pobraæ ka¿de opowiadanie w formacie TXT,
X
pobraæ ka¿de opowiadanie w formacie HTML,
X
pobraæ wszystkie opowiadania w jednym pliku; ka¿de opowiada-
nie bêdzie zawarte w osobnym pliku w formacie TXT,
X
pobraæ wszystkie opowiadania w jednym pliku; ka¿de opowiada-
nie bêdzie zawarte w osobnym pliku w formacie HTML,
X
pobraæ spakowany plik PDF zawieraj¹cy teksty wszystkich opowiadañ.
Po dodaniu do portalu trzech kategorii dzia³u Download, przystêpujemy
do dodawania poszczególnych wpisów. Ka¿dy wpis dzia³u Download
wskazuje adres URL. Zatem dodaj¹c do systemu poszczególne pozycje
dzia³u Download, musimy równie¿ zadbaæ o to, by adresy URL wskazy-
wa³y pliki zawarte na serwerze. W folderze PostNuke-0.750 otwieramy
folder download. W folderze tym umieszczamy dalsze trzy foldery: separa-
te-txt, separate-html i all. W folderach tych umieszczamy pliki wypakowa-
ne z archiwów separate-txt.zip, separate-html.zip i all.zip. W systemie po-
winny pojawiæ siê m.in. pliki: htdocs/PostNuke-0.750/download/separate-
-txt/ligeia.zip oraz htdocs/PostNuke-0.750/download/separate-
-html/the_oval_portrait.zip. Pierwszy z powy¿szych plików zawiera treœæ
opowiadania pt. Ligeia w spakowanym pliku tekstowym, zaœ drugi zawiera
tekst opowiadania pt. The Oval Portrait w spakowanym pliku .html.
Gdy umieœciliœmy na serwerze pliki, mo¿emy przyst¹piæ do doda-
wania wpisów dzia³u Download. Przechodzimy do panelu sterowania,
klikamy ikonê Download, po czym korzystaj¹c z formularza Add a new
download wprowadzamy dane kolejnych opowiadañ do bazy danych.
Lista rozwijana Category powinna zawieraæ trzy wczeœniej dodane ka-
tegorie. Adresem pliku jest na przyk³ad œcie¿ka /PostNuke-0.750/down-
load/separate-txt/ligeia.zip.
Kolejno dodajemy 137 wpisów (opowiadañ jest 67; zatem mamy
67 plików zawieraj¹cych poszczególne opowiadania w formacie TXT
oraz 67 plików zawieraj¹cych opowiadania w formacie HTML; pozo-
sta³e 3 pliki to archiwa: wszystkie opowiadania w formacie TXT,
wszystkie opowiadania w formacie HTML oraz ksi¹¿ka PDF).
Skrypt nuke_downloads_downloads-calosc.sql zawarty w archi-
wum sql-nuke_downloads_downloads-calosc.zip dodaje do systemu
wszystkie 137 wpisów oraz trzy kategorie.
n
Rys. 6. Dzia³ Download
Ćwiczenia przedstawione w artykule są dostępne na stronie domowej autora
pod adresem
http://www.gajdaw.pl
Systemy CMS
INTERNET.styczeñ.2005
106
NEWSY
Z OK£ADKI
FIRMA
MAGAZYN
PROGRAMY
WARSZTAT
NA CD
C
M
Y
K