Download: KnowHow_Wiki

Transkrypt

Download: KnowHow_Wiki
KNOW HOW
Wiki
MoinMoin Wiki
Wiki pędziwiatr
Członkowie zespołu pracującego
nad jakimś projektem mogą odnieść wiele korzyści dzieląc się swoimi pomysłami lub wyjaśniając
szczegóły i niejasności w centralnym miejscu zwanym repozytorium.
Strony programu Wiki są wprost
stworzone do tego zadania.
HEIKE JURZIK
J
eszcze na długo przed pojawieniem
się systemów zarządzania treścią,
umożliwiających zarządzanie stronami internetowymi, systemy Wiki dostarczyły swego rodzaju „furtki” do stron
HTML,
umożliwiając
każdemu
odwiedzającemu daną stronę internetową
edytowanie zawartości tej strony przy
pomocy jednego kliknięcia myszą.
„Wiki” to skrót od WikiWikiWeb – „wiki
wiki” to zwrot pochodzący z języka hawajskiego oznaczający „szybki” lub „szybko”.
SŁOWNICZEK
CGI: CGI to skrót od angielskiej nazwy
„Common Gateway Interface” (czyli „interfejs bram sieciowych”). Zapewnia on interfejs pomiędzy programami zewnętrznymi
(lub skryptami) a serwerem sieciowym. Strony HTML są statyczne, a CGI umożliwia
tworzenie zawartości stron w trakcie pracy.
Programy w katalogu serwera sieciowego
„cgi-bin” są uruchamiane automatycznie
przez serwer na żądanie przeglądarki. Przykładowo, skrypty CGI przetwarzają wprowadzone informacje do formy stron HTML.
54
Kwiecień 2004
A system jest naprawę szybki. Mechanizm
MoinMoin Wiki jest jednym z najlepszych
przykładów zastosowania tej technologii.
Użytkownicy za pomocą jednego kliknięcia myszą i wbudowanego edytora mają
dostęp do zawartości i struktury strony, którą
zamierzają edytować. Zwykle na stronie znajduje się odnośnik Edit, który umożliwia
edycję strony.
W porównaniu z „prawdziwym” językiem
HTML, w którym spotykamy znaczniki formatowania, strony Wiki są napisane specjalną składnią, do której potrzeba tylko
kilku rodzajów poleceń dla znaczników formatowania.
Gdyby strona Wiki została usunięta lub
uszkodzona, systemy kontroli wersji Wiki
pozwalają na odtworzenie starszych wersji
strony w dowolnym momencie. Ponadto system pozwala nadać specjalne prawa dostępu,
umożliwiające edycję strony tylko przez
zarejestrowanych użytkowników.
Pierwsza strona internetowa Wiki została
udostępniona publicznie w 1995 roku przez
Warda Cunninghama – strona jest nadal
dostępna w Internecie [1]. W tamtym czasie
www.linux-magazine.pl
Cunningham napisał wiadomość mówiącą
o stworzeniu przez niego nowego rodzaju
bazy danych, którą „umieścił na swoim serwerze (...). Jest to strona osób, projektów
i wzorców, do których dostęp można uzyskać
przy pomocy skryptu CGI.” [2].
Oznaczało to udostępnienie jego
własnych stron HTML szerokiej rzeszy
odbiorców. Nagłówek każdej strony Wiki
zawiera odnośnik kierujący użytkowników
do edytora, w którym możliwa jest zmiana,
dodanie lub usunięcie zawartości strony.
Oczywiście nie ma konieczności wpisywania
kodu HTML. Celem Cunninghama było
osiągnięcie prostoty i łatwiejsza składnia.
Mechanizm Wiki przechowuje wprowadzone dane w formacie tekstowym ASCII lub
też w zewnętrznych bazach danych typu
MySQL, Oracle czy PostgreSQL. Z tych
danych oprogramowanie Wiki generuje publiczne strony HTML.
Warto odwiedzić obecnie największą
stronę Wiki w sieci Internet – Wikipedia [3].
Znajduje się w niej mnóstwo artykułów
w wielu językach. Jest to doskonały przykład
organizacji informacji przy pomocy Wiki.
Wiki
/etc/init.d/apache restart dla Apache 1 oraz
/etc/init.d/httpd restart dla Red Hat Linux).
Jeżeli teraz podamy adres URL http://localhost/mywiki/ w naszej przeglądarce powinniśmy zobaczyć stronę powitalną Wiki
(Rysunek 1).
Jeżeli myślimy o uruchomieniu własnej
strony Wiki, może nas zaskoczyć ilość
dostępnego oprogramowania – istnieje
ponad 100 systemów Wiki [4], z których
większość to projekty typu Open Source.
W tym artykule skupimy swoją uwagę na
motorze MoinMoin oraz zajmiemy się jego
składnią.
Piaskownica
Zanim wzbijemy się
w powiet rze...
Przed instalacją Wiki sprawdźmy, czy
jesteśmy dobrze przygotowani i mamy uruchomione odpowiednie usługi na naszym
komputerze, np. Apache [5]. Większość obecnych dystrybucji zawiera pakiety z wersją
2 tego serwera. Nie będzie trzeba zatem
ręcznie kompilować źródeł programu.
MoinMoin [6] to Wiki oparty na języku
skryptowym Python [7], który musi być
obecny w systemie. Można to sprawdzić
wpisując polecenie python -V, jeśli nie jest
dostępny – zainstaluj pakiety Pythona z płyt
instalacyjnych dystrybucji Linuksa.
Źródła MoinMoin
Źródła MoinMoin można pobrać ze strony
projektu. Aby rozpakować archiwum, należy
wpisać tar xzvf moin-1.1.tar.gz, a następnie
przejść do utworzonego katalogu (cd moin1.1) i nadać sobie uprawnienia użytkownika
(root). Python może pomóc w instalacji oprogramowania. Poniżej podajemy następujące
polecenie:
huhnix:/moin-1.1 # python setup.py U
install --record=install.log
running install
running build
running build_py
creating build
creating build/lib
creating build/lib/MoinMoin
[...]
Parametr --record=install.log zapisuje przebieg wykonanych czynności w pliku
install.log. Następną czynnością jest odkrycie
identyfikatorów użytkownika i grupy,
z których korzysta serwer Apache. Można
w tym celu przetworzyć plik konfiguracyjny
Apache. W systemie SuSE Linux 8.2 wystarczy wpisać:
huhnix:/moin-1.1 # egrep „^UserU
|^Group” /etc/httpd/httpd.conf
User wwwrun
Group nogroup
KNOW HOW
Rysunek 1: Witamy! – MoinMoin krótko po
uruchomieniu.
Użytkownicy Red Hat Linux będą musieli
przetworzyć tutaj plik /etc/httpd/conf/
httpd.conf, a użytkownicy Debian Linux
– plik /etc/apache/httpd.conf.
Przejdźmy teraz do katalogu moin (cd
/usr/share/moin/
lub
cd
/usr/local/share/moin/), gdzie tworzymy nowe
wcielenie Wiki:
mkdir mywiki
cp -r data mywiki
cp cgi-bin/* mywiki
chown -R wwwrun.nogroup mywiki
chmod a+rx mywiki/*.cgi
Użytkownicy Debiana będą musieli ponadto
zmienić identyfikatory w chown na
www-data.www-data, a użytkownicy systemu
Red Hat Linux – na apache.apache. Następnie
potrzebujemy jeszcze dwóch wpisów w pliku
konfiguracyjnym Apache (czyli w /etc/httpd/
httpd.conf dla Apache 1 oraz /etc/apache2/
httpd.conf dla Apache 2 w systemie SuSE
Linux, /etc/apache/httpd.conf w Debianie
i /etc/httpd/conf/httpd.conf w Red Hat Linux):
Alias /wiki/ „/usr/share/moinU
/htdocs/”
ScriptAlias /mywiki „/usr/localU
/share/moin/mywiki/moin.cgi”
W pliku konfiguracyjnym potrzebujemy
tylko pierwszej linijki – druga jest wymagana dla każdego kolejnego przypadku
Wiki na serwerze (pamiętajmy, aby zmienić
ścieżkę dostępu i nazwę). Jeśli to możliwe,
nie nazywajmy naszej strony Wiki jako
wiki, gdyż prowadzi to do konfliktu nazw
w wewnętrznych składnikach oprogramowania.
Na koniec uruchamiamy ponownie serwer
sieci (/etc/init.d/apache2 restart dla Apache 2,
Podczas testów naszej nowej strony Wiki
warto zwrócić uwagę na tzw. „piaskownicę”, do której odnośnik znajdziemy na
stronie
powitalnej
(http://localhost/
mywiki/WikiSandBox). Klikamy odnośnik
Edit this page (edytuj stronę), co
spowoduje otwarcie nowego okna. Większość poleceń formatujących jest intuicyjna i łatwa do opanowania. W Tabeli
1 zamieściliśmy spis najważniejszych
poleceń.
Odnośniki można tworzyć na wiele
różnych sposobów. Aby odwołać się do obcej
strony internetowej, wystarczy podać adres
URL, nie zapominając jednak o wpisaniu
http://. Na przykład http://www.linux-magazine.pl jest prawidłowym adresem internetowym, ale www.linux-magazine.pl już nie.
Ponadto, aby dołączyć dodatkowy opis do
odnośnika, możemy użyć nawiasów
kwadratowych – [http://www.linux-magazine.pl Strona domowa Linux Magazine].
W języku HTML wyglądałoby to tak:
<a href='http://www.linux-magazine.pl'>
Strona domowa Linux Magazine</a>
Odnośniki wewnętrzne do stron Wiki wykorzystują tzw. zapis „CamelCase”. Zapis
wymaga użycia wielkich liter na początku
i gdzieś w środku nazwy odnośnika. Przykład: odnośnik LinuxMagazine będzie nas
kierował do strony http://localhost/mywiki/LinuxMagazine.
Jeżeli strona nie istnieje, MoinMoin pomoże nam ją stworzyć (Rysunek 2). Nawiasem mówiąc, jeśli dodamy przedrostek Moin-
Rysunek 2: Wykorzystanie MoinMoin jako
szablonu st rony.
www.linux-magazine.pl
Kwiecień 2004
55
KNOW HOW
Wiki
Moin: do odnośnika wewnętrznego,
mechanizm
Wiki utworzy odnośnik do
oficjalnej strony MoinMoin
Wiki. Zatem odnośnik MoinMoin:LinuxMagazine zaprowadziłby nas na stronę
http://purl.net/
wiki/moin/LinuxMagazine.
Pod maską
Katalog
/usr/share/moin/
htdocs/img/ zawiera wiele
plików graficznych w formacie GIF, z których korzysta Wiki. Są to między innymi wszelkiego rodzaju
ikonki obrazujące uczucia
(emotikony). Oprogramowanie Wiki korzysta z tych
Rysunek 3: Nasz własny znak firmowy.
plików w momencie pojawienia się określonych ciągów znaków
Umożliwia to oddanie indywidualnego
w tekście. Ponadto Wiki dodaje kilka swocharakteru firmy, organizacji lub osoby
ich własnych znaków, takich jak logo Pythopodczas projektowania strony wiki dla pona na każdej stronie, czy znak ostrzegawczy.
trzeb większego projektu lub sieci Intranet
Tabelka z dostępnymi uśmieszkami i spososwojej firmy.
bem ich wprowadzania znajduje się pod adDzięki edycji pliku /usr/share/moin/mywiresem http://localhost/mywiki/HelpOnSmiki/moin_config.py możemy zmienić nazwę
leys.
strony Wiki. Zastępujemy wartość domyślną, reprezentowaną przez zmienną sitename,
Katalog /usr/share/moin/htdocs/img/ zadowolnie wybraną nazwą, np. sitename =
wiera różne obrazy, takie jak logo MoinMo'Specjalne wydanie biuletynu. W ten sposób nain, moinmoin.gif. Jeżeli na stronach Wiki
zwa ta zostanie wyświetlona jako nagłówek
chcemy użyć własnego znaku firmowego
w przeglądarce internetowej.
lub pliku graficznego (Rysunek 3), zapisujemy po prostu plik obrazu w katalogu
/usr/share/moin/htdocs/img/ i dokonujemy
Wiki otwarte dla wszystkich?
edycji pliku /usr/share/moin/mywiki/moAdministratorzy Wiki mają kilka istotin_config.py. Wpis powinien mieć następunych zadań do wykonania; należy do nich
jącą postać:
między innymi obsługa i zarządzanie
stronami. Strony Wiki znajdują się w podkatalogu Wiki data/text/. Przy pomocy
logo_url = url_prefix + '/imgU
polecenia rm możemy usunąć zawartość
/Your_Imagefile'
bezpośrednio z serwera. Zwykli użytkownicy
Tabela 1: Składnia poleceń MoinMoin
nie mogą usuwać stron,
Składnia Wiki
Składnia HTML
Wyświetlane jako
chyba że zostaną im
''kursywa
<em>kursywa</em>
<I>kursywa<I>
wyraźnie nadane takie
'''pogrubienie
<b>pogrubienie</b>
<B>pogrubienie<B>
prawa w pliku konfigu##komentarz
<!-->komentarz<-->
nie wyświetlany na
racyjnym
/usr/shastronie
re/moin/
[[BR]]
<br>
hard newline
mywiki/moin_config.py.
Nowa linijka
<p>
Akapit
Jeżeli zamierzamy dać
= Nagłówek =
<h1>Nagłówek</h1>
Nagłówek
użytkownikom tę możli== Nagłówek sekcji ==
<h2>Nagłówek sekcji</h2>
Nagłówek sekcji
wość, powinniśmy dopi=== Poziom 3 ===
<h3>Poziom 3</h3>
Poziom 3
sać poniższą linijkę:
==== Poziom 4 ====
<h4>Poziom 4 </h4>
Poziom 4
===== Poziom 5 =====
<h5>Poziom 5</h5>
Poziom 5
---- (cztery myślniki)
<hr>
Linia pozioma
56
Kwiecień 2004
www.linux-magazine.pl
allowed_actions=U
['DeletePage']
Spowoduje to pojawienie
się odnośnika DeletePage
na stronie Wiki. Jeżeli ktoś
z użytkowników kliknie
myszą na ten odnośnik,
MoinMoin poprosi o potwierdzenie
wykonania
polecenia, a następnie
o podanie przyczyny takiego postępowania.
Aby zapobiec tajemniczemu znikaniu stron Wiki, oprogramowanie zachowuje kopie zapasowe usuniętych stron w katalogu
/usr/share/moin/mywiki/data/backup/. Ostatnie zmiany dokonane na stronie
można sprawdzić poprzez
kliknięcie odnośnika RecentChanges (ostatnie zmiany) znajdującego się na górze każdej strony
– w ten sposób możemy się dowiedzieć, nad
czym obecnie pracują użytkownicy.
Twórcy oprogramowania MoinMoin pracują obecnie nad uprawnieniami dostępu
opartymi na indywidualnych kontach użytkowników – funkcja ta dostępna jest już
w wersji 1.1 razem z obsługą ACL (listy kontroli dostępu).
Ogólnie rzecz biorąc, strony Wiki nie są
chronione żadnymi mechanizmami zabezpieczeń – administratorzy powinni być tego świadomi. Jeżeli zdecydujemy się na
prowadzenie otwartej strony w sieci Internet, prosimy w zasadzie o graffiti – każdy
może wszystko.
W wewnętrznej sieci Intranet Wiki może
okazać się przydatnym narzędziem. Prostota
obsługi i fakt, że użytkownicy nie muszą posiadać kont na serwerze, aby mieć możliwość
edytowania zawartości strony oznaczają, że
oprogramowanie Wiki jest całkiem rozsądną
alternatywą dla wszystkich użytkowników
nietechnicznych.
■
INFO
[1] WikiWikiWeb: http://c2.com/cgi/wiki
[2] Zapowiedź poczty elektronicznej:
http://c2.com/wiki/mail-history.txt
[3] Wikipedia: http://pl.wikipedia.org/
[4] Mechanizmy Wiki:
http://c2.com/cgi/wiki?WikiEngines
[5] Apache: http://www.apache.org
[6] MoinMoin: http://moin.sourceforge.net
[7] Python: http://www.python.org

Podobne dokumenty