Wstep : ---------------------------------------------------------------------- Program dostarczany na licencji GNU (treść licencji w pliku LICENSE) Program dostarczany "as is" (taki jakim jest). Autor nie daje ABSOLUTNIE żadnej gwarancji na poprawność funkcjonowania programu. Autor nie ponosi ABSOLUTNIE żadnej odpowiedzialności z tytułu strat poniesionych w wyniku niewłaściwego działania programu lub używania samego programu. Autor nie prowadzi pomocy technicznej powiązanej z programem... Program w wersji rozwojowej, podlegający częstym modyfikacją. Część funkcji nie została finalnie zaimplementowanych. Aktualna wersja jest wersją testową dlatego spodziewaj się znaleźć w niej błędy. instalując program ZWROĆ na to uwagę ! Uwagi : ---------------------------------------------------------------------- Proszę o nie usuwanie informacji o programie. Prosiłbym nie stosować programu w serwisach niezgodnych z netykieta i dobrym smakiem (pornografia, nacjonalizm warez, etc...) Prosiłbym o poinformowanie autora o każdym udanym wdrożeniu programu. Autor : ---------------------------------------------------------------------- POEMA website builder ver. 3 http://pwb.sourceforge.net Arkadiusz "Pink" Kuryłowicz Copyright (c) 2000-2003 PWB Developers Team Dokumentacja : ---------------------------------------------------------------------- Poniższa dokumentacja jest pierwszą próbą zebrania w całość wszystkich informacji dotyczących programu Poema. Wersja dokumentacji którą zaczniesz czytać jest WERSJĄ NIEKOMPLETNĄ. Brakuje opisu wielu rzeczy aczkolwiek opis instalacji ujęty w punkcie 2 można uznać za wystarczający do uruchomienia programu. 1.Informacje ogólne 2.Instalacja ręczna 1.Wymagania sprzętowo-programowe 2.Instalacja programu 3.Instalacja bazy SQL 4.Konfiguracja podstawowych opcji 5.Konfiguracja szablonów wyglądu 3.Obsługa programu 1.Przygotowanie serwisu 2.Użytkownicy 3.Obsługa działów 4.Obsługa kontenerów 5.Obsługa publikacji 4.Prawa własności 1.Grupy funkcyjne 2.Użytkownicy i grupy 3.Prawa do obiektu "użytkownik" 4.Prawa do obiektu "dział główny" 5.Prawa do obiektu "kontener" 6.Prawa do obiektu "publikacja" 5.Dodatkowe moduły i ich konfiguracja 1.Hosty wirtualne 6.Omówienie pozostałych opcji konfiguracyjnych 1. [Informacje ogólne] 2. [Instalacja ręczna] W obecnej wersji proces instalacji PWB jest przeprowadzony automatycznie poprzez specjalny skrypt. Skrypt instalacyjny wywoływany jest samoczynnie po otwarciu strony głównej serwisu opartego na PWB. Jeśli z jakiegoś powodu nie jest możliwe przeprowadzenie instalacji automatycznej konieczna jest instalacja ręczna. 2.1 [Wymagania sprzętowo-programowe] Program Poema wymaga dowolnego komputera na którym możliwa jest praca serwera HTTP (optymalnie Apache ) wraz z interpreterem języka PHP oraz serwera baz danych MySQL . W obecnej wersji Poema przetestowana została na platformie Linux (zalecana jako podstawowa platforma systemowa dla programu) oraz Windows 9x/NT/2000/XP (nie zalecane ze względu na brak wsparcia dla zaawansowanych funkcji programu). Program został uruchomiony na następujących wersjach oprogramowania : - Apache 1.3.24 - PHP 4.0.4 (wraz z modułami : mysql, ftp, GD, pcre) - MySQL Server 3.23 PHP musi mieć dołączony moduł do obsługi baz MySQL, moduł od obsługi grafiki JPG (popularna biblioteka GD), moduł do obsługi wyrażeń regularnych PCRE, oraz opcjonalnie moduł do obsługi połączeń FTP. Dodatkowo, oprócz podstawowego konta użytkownika na którym instalujemy program, przydatne jest niezależne konto z dostępem przez FTP gdzie można składować pliki użytkowników serwisu. UWAGA ! Aplikacja PWB używa rozszeżeń plików .php3, .php oraz .inc Wszystkie ww. rozszeżenia MUSZĄ zostać zarejestrowane w konfiguracji serwera HTTP jako skrypty PHP. Brak rejestracji rozszeżenia objawia się wyświetleniem zawartości skryptu zamiast jego wykonaniem. W takim przypadku poproś admienistratora serwera o zarejestrowanie rozszeżeń. W przypadku serwera Apache zwrócić uwagę należy na dyrektywy konfiguracyjne : DirectoryIndex [...] index.php3 AddType application/x-httpd-php .php3 AddType application/x-httpd-php .inc AddType application/x-httpd-php .php 2.2 [Instalacja programu] Instalacja programu polega na rozpakowaniu archiwum dystrybucyjnego rozprowadzanego w formacie tar.gz i przekopiowania znajdujących się w nim plików do katalogu dostępnego dla serwera WWW. Następnie konieczne jest utworzenie wymaganej struktury katalogów i nadanie im właściwych praw dostępu. Dla katalogów /_content i /_var poleceniem chmod 777 site _var nadajemy prawa do zapisu dla serwera WWW. Jeśli kożystamy z bezpieczniejszej opcji przesyłania plików użytkowników przy pomocy modułu FTP prawa do zapisu dla serwera nadajemy wyłącznie katalogowi /_content. Informacja o zabezpieceniach : Katalog /_content może mieć swobodnie nadane prawa 777 gdyż zapisywane są w nim tylko pliki symlinków, które to mogą zostać bez problemu odbudowane przy uzyciu narzędzi administracyjnych. Jednakże optymalnym rozwiązaniem jest nadanie katalogowi /_content praw 700 i zmianę właściciwla na serwer WWW (httpd,apache,etc) 2.3 [Instalacja bazy SQL] Przed przystąpieniem do pracy z programem konieczna jest instalacja bazy SQL. Najpierw zaczynamy od utworzenia pustej bazy nazywającej się np. db_poema. Następnie w bazie mysql dodajemy do tabeli user użytkownika poema wraz z hasłem oraz nadajemy mu prawa do bazy db_poema : INSERT INTO user (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv) VALUES ('localhost', 'poema', PASSWORD('tajnehaslo'), 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N'); INSERT INTO db (Host, Db, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Grant_priv, References_priv, Index_priv, Alter_priv) VALUES ('localhost', 'baza_poema', 'poema', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y'); Podstawowa struktura bazy znajduje się w katalogu /_doc, plik pwb_struct.sql. Po zmianie bazy z powrotem na Poema wykonujemy zapytanie z pliku. (do operacji na bazach MySQL polecam Windowsowy MySQLFront lub PHPMyAdmin) Na końcu wystarczy przeładować uprawnienia (FLUSH PRIVLEDGES). UWAGA !! – pusta bazę danych i uprawnienia do utworzonej bazy może nadać wyłącznie administrator serwera. Jeśli instalujesz program na maszynie której nie jesteś administratorem o utworzenie bazy danych zwróć się do właściwej osoby. Samemu natomiast możesz stworzyć strukturę zdefiniowaną w pliku baza_poema.sql dlatego nie wysyłaj go administratorowi bo będzie zły :-) 2.4 [Konfiguracja podstawowych opcji] Po instalacji przystępujemy do konfiguracji podstawowych opcji programu. Poprawna konfiguracja niezbędna jest do poprawnego działania. Pierwsze konieczna jest konfiguracja parametrów dostępu do bazy danych. Po otwarciu katalogu _inc znajdziemy w nim plik config-default.php który należy skopiować do pliku config.php. Nastepnie edytując nowy plik ustawiamy niezbędne dane takie jak hasło, nazwa uzytkownika, nazwa serwera, bazy danych. Dane wprowadzamy zwykłym tekstem pomiędzy cudzysłowy odpowiednich parametrów. Dalsze opcje konfiguracyjne zebrane są we wspólnej bazie danych poema_conf. Poprzez edycje tej bazy lub przy uzyciu konfiguratora ustawiamy odpowiednie parametry. Przy instalacji ręcznej wymagana jest jednakże ręczna manipulacja na bazie danych. Baza składa się z pól Var (określa nazwę zmiennej) oraz Val (określa jej wartość) Poprzez zmianę wartości zmiennej rozumiene jest zmiana wartości pola Val na odpowiednią. Najważniejsze parametry konfiguracyjne, które poprawnie MUSISZ ustawić to : conf_abs_patch – fizyczna ścieżka na dysku serwera w którym znajduje się plik show.php3 Dla systemów Linuxowych ten parametr będzie miał przykładowy format "/home/user/public_html", dla systemów windowsowych podajemy pełną ścieżkę "c:/apache/htdocs" (uwaga na właściwe stosowanie slasha !!) Jeśli nie znasz tej ścieżki zapytaj o nią administratora... conf_tmp_patch – katalog który będzie używany jako tymczasowy dla plików serwisu. Jeśli Poema instalowana jest pod Linuxem wstaw tutaj „/tmp” (serwer WWW musi mieć prawo do zapisu w tym katalogu) jeśli używasz windowsa możesz podać „c:/windows/temp”. conf_base_href – adres URL po którego podaniu otworzy się główna strona serwisu. Parametr ten może mieć przykładowo wartość „http://www.serwer.pl/user” conf_var_sufix – nazwa katalogu w którym trzymane są pliki użytkowników. Katalog musi być utworzony w katalogu głównym serwisu i jeśli nie używamy modułu FTP mieć prawa do zapisu przez serwer WWW. !!! UWAGA !!! raz ustalonej wartości tej zmiennej lepiej później nie zmieniać, szczególnie jeśli w katalogu znajdują już się jakieś pliki ! conf_admin_mail – adres e-mail administratora serwisu conf_ftp_enable – określa czy korzystamy z modułu FTP. Może mieć dwie wartości : TRUE – uaktywniamy obsługę FTP, FALSE – nie używamy FTP. Używanie FTP do przechowywania plików użytkowników serwisu ma wiele korzyści pośród których największą jest BEZPIECZEŃSTWO. Ustawiając ten parametr na FALSE wszystkie pliki przesyłane przez użytkowników Twojego serwisu są własnością serwera WWW co sprawia że każda inna osoba mająca konto na tym samym serwerze może je usunąć. Jeśli uaktywnimy moduł FTP wszystkie pliki przesyłane będą na wydzielone konto. Najlepiej aby było to konto nie powiązane z kontem na którym znajdują się pliki serwisu Poema. W tym celu jeśli mamy np. konto z nazwą użytkownika Janek z katalogiem domowym /home/janek pliki HTML znajdują się w katalogu /home/janek/public_html tworzymy użytkownika janek-upload z katalogiem domowym /home/janek/public_html/_var. Ustawiamy wtedy zmienną $conf_var_sufix=”_var”; i zmienną $conf_ftp_var_dir=”.” !!! UWAGA !!! nie polecam używania tego samego konta na którym trzymasz pliki z programem Poema. Pod windowsami generalnie polecam ustawić opcję na FALSE, podobnie jeśli nie możesz mieć dodatkowego konta na serwerze. conf_ftp_hostname – nazwa serwera FTP na który będą przesyłane pliki użytkowników. conf_ftp_username – nazwa uzytkownika używana do autoryzacji na serwerze FTP (patrz uwagi powyrzej !!!) conf_ftp_password – hasło używane do autoryzacji na serwerze FTP conf_ftp_var_dir – katalog użytkownika FTP gdzie przesyłane będą pliki. (wyjaśnienia i przykład powyżej) conf_use_symlinks – uaktywnienie modułu dynamicznego symlinkowania obiektów w celu poprawnej indeksacji przez wyszukiwarki. Uaktywnienie tej opcji sprawia iż program Poema do każdego tworzonego obiektu robi specjalny, maleńki pliczek. Powoduje to że odwołanie do publikacji zamiast postaci www.serwis.pl/show.php3?what=item&ID=836 wygląda tak : www.serwis.pl/site/itm_836.php Co to daje ? Adresy będące odwołaniem do skryptów (te ze znakiem zapytania) NIE SĄ indeksowane poprzez wyszukiwarki. Tworzenie tych malutkich pliczków powoduje że każda strona będzie poprawnie zaindeksowana. Do poprawnego działania tej opcji konieczne jest utworzenie w głównym katalogu serwisu folderu którego nazwę określamy w opcji $conf_symlink_patch i nadania mu prawa do zapisu przez serwer WWW. !!! UWAGA !!! jeśli program Poema działa pod windowsem opcje tę ustawić należy na FALSE. conf_symlink_patch – nazwa katalogu na pliki z symlinkami. Katalog powinien znajdować się w folderze głównym programu Poema i mieć prawa do zapisu przez serwer WWW. Przykład : conf_symlink_patch "site"; conf_symlink_sufix – rozszerzenie nadawane plikom symlinków. Rozszerzenie powinno mieć taka postać aby serwer WWW zinterpretował plik jako skrypt PHP. Przykład : conf_symlink_sufix "php"; Nastepnie konieczne jest jeszcze dołożenie kilku nowych rekordów do bazy poema_conf: Unikatowy numer systemu, opcja musi przybrać postać zupełnie dowolnego ciągu liczb i cyfr cos w stylu : se0rv0sdrvqa0rv. Opcje dokładamy zapytaniem do bazy : INSERT INTO poema_conf (Var, Val, Typ, Grupa, Info, Readonly) VALUES('conf_Sys_ID', '', 0, 0, 'Unique system ID / Unikatowy identyfikator systemu', 1)" a nastepnie zmieniamy jej wartość. System na któym pracuje PWB, opcja ma dwie wartości : Linux lub Windows INSERT INTO poema_conf (Var, Val, Typ, Grupa, Info, Readonly) VALUES('conf_OS', '', 0, 0, 'Server\'s operating system / System operacyjny serwera', 1) Reszta parametrów ma ustawione domyślne wartości które są neutralne i działaja w dowolnej konfiguracji serwera. Aczkolwiek w celu dostosowania oprogramowania Poema do Twoich wymagań warto się nimi zainteresować. Reszta opcji konfiguracyjnych omówiona jest w punktach 4,5 i 6. 2.5 [Konfiguracja szablonów wyglądu] Program Poema pozwala na bardzo elastyczna konfigurację wyglądu. Uzyskano to poprzez zastosowanie zewnętrznych szablonów które znajdują się w katalogu _inc/nazwa_szablonu/język_szablonu Ażeby utworzyć własny szablon utwórz katalog z nazwą szablonu w folderze _inc oraz przekopiuj do niego całą zawartośc katalogu _inc/default i następnie edytując plik config.inc z katalogu z szablonem ustaw odpowiedni tytuł serwisu, pliki z grafikami na nagłowek oraz stopkę. Szablony to zwyczajne pliki zawierające kod HTML oraz znaczniki zmiennych programu w formie {ZMIENNA}. Zmienne można dowolnie ustawiać, aczkolwiek niektóre z nich maja swą określona wartość dlatego ważnym jest przeanalizowanie szablonu przed zmianami. Dla przykładu jedna zmienna może przenosić bloki HTML np. tabelki ze spisami, podczas gdy inna jest tylko ciągiem znaków z np. tytułem lub wartością tagu Szablony można ustawiać według własnych potrzeb. Oparte są one na trzech podstawowych plikach i jednym pomocniczym. Podstawowe pliki to : *_template.html – definiujący podstawowy wygląd serwisu *_content.html – definiujący wygląd poszczególnych podstron, działu, kontenera publikacji. *_constructor.html – zwany dalej konstruktorem definiujący kod HTML podstawowych elementów serwisu : tabel ze spisami, etc. Najprościej zastosowanie plików można wytłumaczyć na przykładzie. Załóżmy że cała strona zamknięta jest w wycentrowanej tabeli : ------------------------------------------------- | Tutaj nagłówek | ------------------------------------------------- | Menu nawigacyjne | ------------------------------------------------- | Menu boczne | Główna treść | | |(******************************) | | |( Tabelka z listą publikacji ) | | |(******************************) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | Stopka serwisu | ------------------------------------------------- Cała tabelka, nagłówek, stopka, definiowane są w pliku *_template.html, tu też definiowane są tagi , również tu dołożyć można definicje styli CSS. Zawartość elementu Główna treść definiowana jest w pliku *_content.html zaś elementy Menu boczne oraz Tabelka z listą publikacji która jest umieszczona w głównej treści określamy w konstruktorze. W pierwszej chwili jest to może nieco skomplikowane, ale polecam zapoznanie się z tymi plikami co bardzo ułatwia zrozumienie tematu. Plik *_template.html zawiera podstawową strukturę strony, podział na szpalty, definicje wyglądu całego serwisu. Jest to podstawowy szablon. Jeśli się mu dokładnie przypatrzysz zobaczysz że jest to plik definiujący wygląd Twojego serwisu nie zawierający treści. Znajdziesz w nim kilka zmiennych. !!! UWAGA !!! Bardzo ważną zmienną jest {HEAD_BASEHREF} dzięki niej użytkownicy mogą poprawnie poruszać się po serwisie dlatego nie polecam usuwania lub większych zmian w bloku {HEAD_DESC} definiuje opis strony przeznaczony dla wyszukiwarek. Ciąg znaków pobierany z bazy SQL. {HEAD_VER} określa numer wersji oprogramowania – ciąg znaków. {HEAD_SITETITLE} {HEAD_TITLE} definiują tytuł strony, obiektu który wyświetlany jest w belce przeglądarki. Zawierają ciąg znaków określony na podstawie danych z baz SQL. {HEAD_BASEHREF} określa podstawowy adres serwisu, jeśli używasz modułu symlinków linia zawierająca tą zmienna jest niezbędna do poprawnego działania programu. Zawiera adres URL serwisu określony w pliku konfiguracyjnym. {HEAD_CHARSET} określa stronę kodową dokumentu – strona kodowa zależna jest od wybranego języka programu, Domyślnie dla Polski jest to ISO. Zawiera cały tag {TOP_GFX} {DOWN_GFX} – górna i dolna grafika, nagłówek i stopka który możemy indywidualnie definiować dla każdego z działów (patrz punkt 3.3) zawiera cały tag wraz z adresem grafiki {NAVI_MENU} – kod HTML (tagi oraz

) z paskiem nawigacji ułatwiającym poruszanie się w serwisie {MENU_DZIALY} – Kod HTML (definiowany w konstruktorach) zawierający spis działów głównych serwisu. {MENU_PODDZIALY} - Kod HTML (definiowany w konstruktorach) zawierający spis kontenerów działu w którym aktualnie znajduje się użytkownik serwisu. {USER_PANEL} – panel administracji obiektami. Zawiera kod HTML definiowany w konstruktorach. {ANON_PANEL} – panel z danymi sesji użytkownika, zawiera kod HTML definiowany w konstruktorach. {CONTENT} – podstawowa zmienna przenosząca treść serwisu, tabele se spisami kontenerów, działów, treść publikacji czy formularze komentarzy, przeszukiwania... {CZAS_DZIALANIA} – definiuje czas generowanie przez program Poema strony. Czas wyrażony jest w sekundach, zmienna ma postać ciągu znaków. Plik *_content.html przenosi definicje obiektów HTML które wstawiane są w zmienną {CONTENT} z pliku *_template.html. Jest to szablon blokowy. Co oznacza że jest on podzielony na sekcje rozpoczynające się tagiem i kończące się Wszystko co znajduje się pomiędzy tagami traktowane jest jako indywidualny plik. !!! UWGA !!! nigdy nie należy z plików usuwać tagów początku i końca bloku – spowoduje to błąd działania programu. Oczywiście można usuwać lub dodawać własne komentarze pod warunkiem że nie będą zawierały w treści słów BEGIN lub END. Blok index_page: Blok index_page opisuje zawartość strony startowej serwisu. Mamy tu do dyspozycji zmienne : {PLEBISCYT_WINNER} – kod HTML definiowany w konstruktorze zawierający wynik działania pluginu Plebiscyt. {LISTA_OPINII} - kod HTML definiowany w konstruktorze zawierający listę opinii dodanych do strony głównej. {LISTA_ODSLON} - kod HTML definiowany w konstruktorze zawierający spis najczęściej czytanych publikacji. {SELECT_PANEL} – kod HTML definiowany w konstruktorze zawierający linki do dodania własnego komentarza, etc... Blok sec_page: Blok sec_page zawiera definicję rozmieszczenia elementów działu głównego. Znaleźć można tu zmienne takie jak : {DZIAL_HTML_TOP} {DZIAL_HTML_DOWN} – kod HTML wyciągany z bazy SQL, a który można indywidualnie, dla każdego z działów zdefiniować podając odpowiednią wartość w formularzu nowego działu. {DZIAL_TYTUL} – tytuł działu w którym aktualnie znajduje się użytkownik. Zmienna ma postać ciągu znaków. {DZIAL_INTRO} – wprowadzenie do działu w postaci czystego tekstu, który definiujemu w formularzu nowego działu i pobieramy do wyświetlenia z bazy SQL {DZIAL_GFX} – grafika powiązana z działem. Zmienna ma postać pełnego tagu {DZIAL_OPIS} – opis zawartości działu, czysty tekst pobierany z bazy {SPIS_PUBLIKACJI} – tabelka definiowana w konstruktorze, zawierająca spis publikacji, zmienna ma postać kodu HTML {SPIS_PODDZIALOW} - tabelka definiowana w konstruktorze, zawierająca spis kontenerów działu w którym znajduje się użytkownik, zmienna ma postać kodu HTML {LISTA_OPINII}{LISTA_ODSLON}{SELECT_PANEL} – funkcje takie same jak w przypadku bloku index_page. Blok sub_page: Blok ten definiuje rozkład elementów strony kontenera. {PODDZIAL_HTML_TOP} {PODDZIAL_HTML_DOWN} – kod HTML wyciągany z bazy definiowany w formularzu nowego kontenera oraz kod HTML który dziedziczymy z działu głownego. {PODDZIAL_TYTUL} {PODDZIAL_INTRO} {PODDZIAL_GFX} {PODDZIAL_OPIS} {SPIS_PODDZIALOW} {SPIS_PUBLIKACJI} {LISTA_OPINII} {LISTA_ODSLON} {SELECT_PANEL} – przenoszą wartości analogicznie jak w bloku sec_page zatem tam szukaj opisów. Blok item_page: Blok określa rozmieszczenie elementów strony z konkretna publikacją. Zmienne analogiczne jak w poprzednich blokach. Dodatkowo : {ITEM_AUTOR_LINK} – adres URL do zamieszczenia w tagu zawierający odnośnik do autora publikacji. {ITEM_AUTOR} – Dane autora publikacji w postaci czystego tekstu. {ITEM_GFX_1}{ITEM_GFX_2} – grafiki dołączone do publikacji w postaci pełnego tagu {ITEM_TAG} – definicja tagu HTML w którym zamykamy treść publikacji. Jeśli użytkownik wybierze na formularzu nowej publikacji „Tekst preformatowany” wstawiany jest tutaj tag

, jeśli wybierze „Tekst o zmiennej szrrokości” wstawiany jest 

, jeśli zas zaznaczy opcję „Używam tagów HTML” wstawiany jest przezroczysty {ITEM_TRESC} – treść publikacji Blok userlist_page: Blok ten definiuje rozkład elementów strony ze spisem użytkowników. {USERLIST_TYTUL} – tytuł strony w postaci czystego tekstu {USERLIST_USER_LETTER} – wybrana do wyświetlenia literka od której rozpoczynają się nazwy użytkowników {USERLIST_LISTA} – definiowana w konstruktorze tabela ze spisem użytkowników. Blok userinfo_page_male oraz userinfo_page_female Oba bloki są identyczne z tym że *_male dotyczy wyświetlania strony z profilem użytkownika który zdefiniował swą płeć jako męską, zaś *_female żeńską. Zmienne są dobrze opisane w samym pliku dlatego nie będę wyjaśniał ich wartości. Większośc stosowanych tu zmiennych przenosi czysty tekst z wyjątkiem {USERINFO_MAIL} {USERINFO_LINK_PUBLIST} które przenoszą adresy URL oraz {USERINFO_GFX} która przenosi pełny tag Blok loginform: Blok ten określa wygląd strony logowania/autoryzacji użytkowników w serwisie. Znajduje się tu tylko jedna zmienna {LOGIN_REF} która podstawiona jest do tagu < INPUT TYPE="hidden"> a która przenosi adres URL strony do której powinno się przerzucić użytkownika po prawidłowym zalogowaniu. Zazwyczaj jest to poprzednia w historii strona. Blok add_comment : (! Ostrożnie ze zmianami w tym bloku !) Blok ten określa wygląd strony z formularzem komentarza do wybranego obiektu. Zmienna {ADD_COMMENT_WHERE} przenosi czysty tekst który określa który obiekt jest komentowany. {LAST_LOGED} – przenosi czysty tekst który wstawiamy w tag , a który zawiera login zarejestrowanego w serwisie użytkownika. Zmienna ustawiana jest w celu odciążenia zarejestrowanych użytkowników od wpisywania danych. {ADD_COMMENT_WHAT} {ADD_COMMENT_REFFER} {ADD_COMMENT_ID} zawierają dane potrzebne do poprawnego dodania opinii do bazy. Proszę nigdy nie zmieniać linii zawierających te zmienne gdyż spowoduje to niewłaściwe działanie systemu komentarzy. Blok list_comment : Blok definiuje wygląd strony ze spisem opinii dołączonych do obiektu. {OPINIA_LIST_TITLE} przenosi czysty tekst i określa nazwę obiekty którego dotyczy lista. {OPINIA_LIST} przenosi kod HTML tabeli ze spisem opinii definiowanej w konstruktorze. Blok wizard : (! Ostrożnie ze zmianami w tym bloku !) Blok ten określa wygląd pomocnika publikacji. Proszę uważać na zmiany w tym bloku gdyż nieodpowiednia definicja sekcji może uniemożliwić korzystanie z wizarda publikacji. {WIZARD_SECSEL} – przenosi kod HTML z pełnym tagiem zawierającym spis kontenerów podstawowych. {WIZARD_SUBPARENTSEL} – przenosi kod HTML z pełnym tagiem Blok query: (! Ostrożnie ze zmianami w tym bloku !) Blok query definiuje wygląd strony z przeszukiwarką serwisu. Zmienna {QUERY_ERROR} przenosi potencjalny błąd wyszukiwania który ma postać czystego tekstu. Zmienna {QUERY_RESULT} zawiera kod HTML, definiowany w konstruktorze, ze spisem wyników przeszukiwania serwisu. 3. Obsługa programu 3.1 [Przygotowanie serwisu] Przygotowanie serwisu do poprawnego funkcjonowania zacząć należy od logicznego rozplanowania jego struktury. Program Poema pozwala na elastyczne budowanie struktury serwisu w oparciu o działy główne, kontenery na publikacje które osadzane są w działach głównych i zagnierzdzane same w sobie oraz wreszcie na pojedynczych publikacjach które umieszczane są w działach lub kontenerach. Poniżej przedstawiam przykładowy układ serwisu : STRONA GŁÓWNA | |---DZIAŁ 1 | |---- publikacja 1.1 |---- kontener 1 | |---- publikacja 1.1.1 | |---- publikacja 1.1.2 |---- kontener 2 |---- kontener 2.1 |---- kontener 2.2 |---- publikacja 1.1.2.2.1 |---- publikacja 1.1.2.2.2 Zbudowanie logicznej struktury polega zatem na odpowiednim rozplanowaniu działów i kontenerów. 3.2 [Użytkownicy] Program Poema jest programem wieloużytkownikowym co oznacza że na jego strukturę oraz zawartość może mieć wpływ każdy zarejestrowany użytkownik. Użytkownicy mogą się rejestrować samemu co czyni serwis internetowy budowany w oparciu o Poemę otwartym lub być rejestrowani przez uprzywilejowaną grupę co pozwala dobierać współpracowników. Rodzaj rejestracji nowych użytkowników definiujemy w pliku konfiguracyjnym (patrz 2.4) Aby przeprowadzić rejestracje użytkownika konieczne jest otwarcie strony i wypełnienie formularza. Podstawowymi danymi są : - Dane personalne użytkownika (tak będą podpisywane jego publikacje) - Adres e-mail (potrzebny do innych funkcji programu) - Login (nazwa używana do autoryzacji w programie) - Hasło (hasło używane do autoryzacji w programie) Dodatkowo mamy do dyspozycji pola : - Płeć - Plik z grafiką (zdjęcie) w formacie JPG - Dwa pola na podanie dowolnej treści Koniecznym jest także wstępne skonfigurowanie parametrów konta użytkownika takich jak : - zezwolenie na publiczną prezentację swoich danych - zezwolenie na automatyczną subskrypcję listy e-mail (plugin) - zezwolenie na otrzymywanie komentarzy do własnych obiektów (plugin) Po wypełnieniu formularza rejestracyjnego rozpoczyna sie weryfikacja wprowadzonych danych i rejestracja konta. Jeśli wszystko przebiegnie poprawnie nowy użytkownik dostaje e-mail z potwierdzeniem. Dane użytkownika prezentowane są na spisie użytkowników dostępnym pod adresem gdzie wyświetlana jest lista użytkowników podzielonych alfabetycznie wg. danych personalnych. Po kliknięciu na wybranego użytkownika otrzymujemy jego pełne dane (chyba że zablokował możliwość ich prezentacji). Na tej stronie mamy również możliwość edycji lub usunięcia danych użytkownika. Wystarczy wybrać odpowiednią opcję z panelu administracyjnego. (prawa dostępu omówiono w ) 3.3 [Obsługa działów] Aby dodać nowy dział główny należy przejść na stronę główną serwisu i z panelu administracyjnego wybrać opcję "nowy dział". W tym momencie jesteśmy przerzucani do formularza nowego działu. Podstawowymi danymi są : - Nazwa działu - nazwa wyświetlana jako tytuł działu oraz na spisie - Wprowadzenie - krótkie wprowadzenie wyświetlane na spisie - Opis - opis zawartości działu. - Grafika - grafika dołączona do działu, umieszczona tak jak określono w szablonie (2.5) - Prawa grup do tworzenia nowych kontenerów (4.4, 4.5) - Prawa grup do publikowania bezpośrednio w dziale (4.4, 4.5) Dodatkowo można wprowadzić elementy które definiują wygląd działu oraz wszystkich jego obiektów podrzędnych (kontenerów i publikacji) czyli są dziedziczone we wszystkich obiektach : - Grafika górna - grafika która wyświetlana będzie jako nagłówek - Grafika dolna - grafika która wyświetlana będzie jako stopka - Górny Kod html - kod html który umieszczony będzie na początku szablonu działu (zaraz przed tytułem) - Dolny Kod html - kod html który umieszczony będzie na końcu szablonu działu (po wyświetleniu wszystkich listingów i paneli) W momencie przesłania formularza i pod warunkiem wypełnienia niezbędnych pół nowy dział zostaje utworzony i pojawia się na liście. Po kliknięciu na nazwę otwieramy jego zawartość. Na tej stronie mamy w panelu administracyjnym opcje umożliwiające edycję lub usunięcie działu. 3.4 [Obsługa kontenerów] O ile działy główne stanowią podstawowy podział witryny o tyle kontenery są miejscami w których grupowane sa publikacje na określony temat. Rozróżniamy tutaj pojęcie kontenera podstawowego, czyli pierwszego kontenera utworzonego bezpośrednio w dziale oraz kontenera użytkownika czyli kontenera utworzonego w istniejącym kontenerze podstawowym. Kontenery użytkownika służą do logicznego grupowania publikacji w zbiory. Ilość zagnierzdzeń kontenerów jest ograniczona długością pola w bazie SQL (255 znaków) co przy długości ID kontenera 11 znaków daje około 20 zagłębień poniżej kontenera podstawowego. Aby dodać kontener (podstawowy lub użytkownika) koniecznym jest wywołanie pliku sub.php3 z odpowiednimi parametrami. Kontenery tworzymy w stosunku do działów głównych i innych kontenerów. Aby utworzyć kontener wymagane jest podanie informacji o nowym obiekcie takich jak : - kod HTML na górę strony - kod HTML który zostanie umieszczony przed nazwą kontenera. - dziedziczenie kodu HTML po dziale głównym - określa czy kod HTML działu na być wyświetlany przed kodem HTML kontenera. - Nazwa kontenera - nazwa która będzie wyświetlana na spisie - Prawo do modyfikacji/usunięcia - określa użytkownika lub grupe która jest właścicielem kontenera - Prawo do publikacji - określa użytkownika/grupę która ma prawo do publikacji pojedynczych artykułów w kontenerze 5. [Dodatkowe moduły i ich konfiguracja] 5.1 [Hosty wirtualne] Dzięki specyficznej konfiguracji serwera DNS, serwera HTTP oraz uaktywnieniu modułu hostów virtualnych w PWB możemy tworzyc aliasy dla obiektów definiowanych w poemie. Np mamy serwis www.mojserwis.pl w którym robimy sobie dział nowości. Dostęp do działu odbywa sie poprzez podanie adresu do skryptu lub symlinka. Dzięki modułowi wirtualek możemy zaaliwsować adres działu w ten sposób iz przyjmie on postać news.mojserwis.pl Kożyści są oczywiste. Zaczynamy od konfiguracji serwera DNS (na podstawie Bind 9.2.0) W pliku strefy dla domeny dodajemy linie : alias IN A numer.ip.serwera.www *.alias IN A numer.ip.serwera.www Następnie po przeładowaniu Binda do pliku konfiguracyjnego Apache dodajemy nową sekcję wskazującą na ten sam katalog w którym znajduje sie oryginalny serwis WWW. Dodatkowo do tejże sekcji dodajemy opcję : ServerAlias alias.mojserwis.pl *.alias.mojserwis.pl Po przeładowaniu Apache możemy przystąpić do konfiguracji PWB - przechodzimy do panelu administracuhnego, tam do działu "Konfiguruj opcje programu" i zmieniamy opcję use_vhosts na TRUE oraz opcję vhost_prefix na alias Słowo alias jest tu opcjnalne - służy jedynie do odseparowania adresów aliasowanych od samego serwisu. Popularnym prefiksem aliasów jest np 'w' (wojaczek.w.poema.art.pl) -- Ostatnia aktualizacja : $Id: manual.txt,v 1.3 2003/08/22 08:01:12 arkadiusz Exp $ Copyright (c) 2000-2002 PWB Developers Team http://pwb.sourceforge.net