LINUXSOFT.cz Přeskoč levou lištu
Uživatel: Heslo:  
   CZUKPL

> MoinMoin

Podíváme se na MoinMoin - jeden z nejpopulárnějších wiki enginů.

2.3.2007 06:00 | Radim Kolář | Články autora | přečteno 11324×

Wiki

Před pár lety, přibližně okolo roku 2002, nastal boom wiki. Všichni byli z Wiki nadšení a každý kdo ještě ho neměl nebyl patřičně IN. Tyto nadšené doby sice už minuly, ale Wiki je stále velmi užitečným nástrojem.

Wiki je web aplikace typu groupware, která umožňuje uživatelům spolupracovat na editaci hypertextových dokumentů. Skládá se ze systému pro správu verzí, markup systému (nepoužívá se HTML) a vyhledávacího engine. Klíčovým rysem Wiki technologie je umožnit komukoliv (nebo alespoň registrovaným uživatelům) měnit obsah většiny stránek.

Wiki lze využít mnoha způsoby. Nejčastější využití je knowledge base typu WikiPedia, ale vzhledem k snadné editaci se Wiki používají i jako blogy, CMS, databáze nebo CRM. Osobně používám wiki jako poznámkový bloček kombinovaný s TODO listem a Bug/installation tracking systémem. Hezky se při tom využije jedna ze základních vlastností wiki - ukládání komentované historie změn.

Proč zrovna MoinMoin

MoinMoin má mnoho pokročilých vlastností. Stránky lze hierarchicky uspořádat, používat šablony a kategorie, full text search, sledovat úplnou historii změn, generovat grafy počtu změn a přístupů. Markup jazyk podporuje renderování tabulek včetně custom HTML atributů, syntax highlighting, smajlíky, makra, attachmenty, inline HTML, generování slide show, plná podpora Unicode a I18N, export změn ve formě RSS, rozesílání změn emailem, WYSIWYG editace, XMLRPC podpora, ACL listy, Antispam systém, podpora DocBook a ReStructuredText.

Instalace MoinMoin

MoinMoin je naprogramováno v jazyce Python, což je pro někoho dobrá a pro někoho zase špatná zpráva. Já osobně jsem si před léty MoinMoin nainstaloval jelikož jsem příznivcem programovacího jazyka Python. Jelikož je Python multiplatformní, MoinMoin běhá i pod Windows. Ačkoliv minimální podporovanou verzí je Python 2.3, doporučuji minimálně díky bugfixům a memory leakům interpretru nainstalovat Python 2.4.4.

Administrátory jistě potěší, že kromě Pythonu už není nic jiného zapotřebí. Není potřeba ani PHP, ani Apache, ani SQL databáze. MoinMoin umí běžet i v prostředí twisted, mod_python, CGI, FastCGI, WSGI, ale nejrychleji běhá v jako standalone aplikace, což se i nejsnáze konfiguruje.

Instalaci lze provádět i z balíčku, pokud pro vaše distro existuje, ale vzhledem k rychlosti aktualizace většiny dister (pravda jsou i vyjímky jako FreeBSD nebo Gentoo) je lepší instalovat ručně, abychom měli rychlejší přístup k bugfixům.

K instalaci je použit standardní Python modul distutils. Osobně instaluji s těmito přepínači:

 
python setup.py --quiet install --install-data='/usr/local' --record=install.log 

Instalace instance

Druhým krokem je vytvoření instance. To už je trošku složitější, podívejte se do instalačního návodu V našem případě to bude vypadat takto:

mkdir -p /usr/local/www/wiki
cd /usr/local/www/wiki
cp -R /usr/local/share/moin/data .
cp -R /usr/local/share/moin/underlay .
cp /usr/local/share/moin/config/wikiconfig.py .
cp /usr/local/share/moin/server/moin.py .
cp /usr/local/share/moin/server/moin .

Pro adresář instance je vhodné nastavit restriktivnější přístupová práva, neboť kromě stránek (což jsou veřejná data) obsahuje i databázi registrovaných uživatelů.

chown -R www-data /usr/local/www/wiki
chmod -R u+rwX /usr/local/www/wiki
chmod -R g-w /usr/local/www/wiki
chmod -R o-rwx /usr/local/www/wiki

Konfigurace

Počáteční konfigurace je jednoduchá. V souboru /usr/local/www/wiki/moin, který slouží ke startování / zastavování wiki, doplňte dráhu k moin.py takto:

# Add the path to moin.py directory
sys.path.insert(0, '/usr/local/www/wiki')

Standalone server se konfiguruje v souboru moin.py. Upravte cestu ke konfiguraci wiki stejně jako v předchozím prípadě a nastavte cestu k statickým komponentům docs = '/usr/local/share/moin/htdocs'. V moin.py lze nakonfigurovat port a uživatele pod kterým wiki server běží.

Konfigurace vlastního wiki je v souboru wikiconfig.py. V konfiguraci není třeba provádět moc změn. Většinou změníte jen jméno wiki a případně startovací stránku. Je potřeba použít unicode Stringy (prefix u).

sitename = u'Retro Wiki' 
page_front_page = u"Start". 

Nejdůležitější část konfigurace se nachází v sekci Critical setup a obsahuje nastavení datových adresářů v našem případě bude následující

data_dir = data_dir = '/usr/local/www/wiki/data/'
data_underlay_dir = '/usr/local/www/wiki/underlay/'

Upgrade z předchozích verzí

Čas od času se změní formát datových souborů a kromě aktualizace vlastního MoinMoin software je potřeba překonvertovat i stávající data. Od verze MoinMoin 1.5.3 se data konvertují snadno. Zastavte wiki server a proveďte následující příkazy

sudo -u www-data sh
moin --config-dir=/usr/local/www/wiki migration data

Migrace z verzí starších než 1.5.3 je složitější, podrobnější informace se dozvíte v souboru docs/README.migration.

Start

Wiki server se spouští scriptem /usr/local/www/wiki/moin s parametrem start a zastavuje obdobně s parametrem stop. Je vhodné zajistit jeho spuštění při startu systému.

Většina administrátorů preferuje wiki zaintegrované do jmenného prostoru serveru. (Lepší GoogleRank, ušetří se jedna IP adresa a některé firewally nepovolují HTTP komunikaci na jiném portu než 80. Nejjednodušší je použít proxy modul z Apache. Podrobnosti o nastavení najdete zde.

Používání Wiki

MoinMoin, ostatně jako většina wiki, se používá snadno. Hlavním problémem začínajících uživatelů je vypořádat se s markupem stránek, který se liší podle použitého wiki engine. MoinMoin uživatelům v tomto pomáhá. Jednak je při editaci zobrazeno kratičké připomenutí základní syntaxe (dokonce i v češtině, pokud ji máte nastavenou v prohlížeči) a od verze 1.5 lze použít GUI (WYSIWYG) editor stránek, který sice neumí všechny markup finesy, ale pro většinu editací plně postačí. Vytváření nových stránek je také snadné, stačí zadat jméno požadované stránky do browseru jako URL a MoinMoin nabídne její vytvoření, při kterém je možné použít některou z připravených šablon.

Markup

MoinMoin používá tradiční wiki CamelCase linky. Každé slovo CamelCase slovo se automaticky stává hyperlinkem na stejnojmennou stránku. Pokud chcete CamelCase slovo aniž by se stalo linkem je třeba vložit do slova nějakou prázdnou formátovací sekvenci např. Camel``Case. Jména stánek jsou case-sensitive.

V MoinMoin se pro hypertextové odkazy používají hranaté závorky, které lze u CamelCase či URL odkazů vynechat. Odkaz na wiki stránku se píše do uvozovek ["stranka"], u externích odkazů link text následuje URL: [http://moinmoin.wikiwikiweb.de/ Domovská stránka MoinMoin] se zobrazí jako Domovská stránka MoinMoin.

MoinMoin podporuje také InterWiki linky. Před jméno stránky stačí napsat jméno Wiki oddělené dvojtečkou např. WikiPedia:Linux. Jména ostatních wiki a jejich URL jsou uloženy v adresáři instance v souboru data/intermap.txt, který v současné době obsahuje 131 záznamů.

Nadpisy se zapisují pomocí = t.j. = nadpis první úrovně =, == nadpis druhé úrovně == atd. Co se týče ostatního nejpoužívanějšího markupu, kurzíva se píše do ''dvojitých uvozovek'' a tučný text do '''trojitých'''. Docela hezkým trikem je zapisovat email adresy pomocí makra MailTo [[MailTo(hsn AT SPAMFREE sendmail DOT cz)]], které je pak ukáže jen přihlášeným uživatelům.

Skinování MoinMoin

MoinMoin se dá velice dobře nejen skinovat, ale také rozšiřovat pomocí pluginů a maker. Popis tvorby těchto rozšíření však přesahuje rozsah tohoto článku a tak se alespoň můžete inspirovat v galerii screenshotů, kde najdete obrázky z několika známých wiki používající MoinMoin engine.

MoinMoin VS MediWiki

Dalším známým wiki enginem zejména díky projektu WikiPedia je MediaWiki. MediaWiki je zaměřeno zejména na větší projekty s důrazem na výkon a škálovatelnost. MoinMoin nebylo navrženo pro wiki obsahující statisíce stránek, osobně bych MoinMoin nepoužil pro wiki čítající více než několik málo tisíc stránek, většina wiki je však mnohem menší, průměrná wiki obsahují maximálně pár set stránek. Srovnání MediaWiki VS MoinMoin je k dispozici zde a zde.

Na závěr

Jak již jsem napsal v úvodu, Wiki (zejména doupravované) se dají použít pro široké spektrum web aplikací na kterých není použití wiki engine na první pohled vůbec poznat. MoinMoin se snadno upravuje a data jsou uložena v jednoduchém formátu, takže je není problém do tohoto formátu vyexportovat.

Verze pro tisk

pridej.cz

 

DISKUZE

Nejsou žádné diskuzní příspěvky u dané položky.



Příspívat do diskuze mohou pouze registrovaní uživatelé.
> Vyhledávání software
> Vyhledávání článků

13.9.2017 8:00 /František Kučera
Máš rád svobodný software a hardware nebo se o nich chceš něco dozvědět? Zajímá tě DIY, CNC, SDR nebo morseovka? Přijď na sraz spolku OpenAlt – tentokrát netradičně v pondělí: 18. září od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5).
Přidat komentář

3.9.2017 20:45 /Redakce Linuxsoft.cz
PR: Dne 21. září 2017 proběhne v Praze konference "Mobilní řešení pro business". Hlavní tématy konference budou: nejnovější trendy v oblasti mobilních řešení pro firmy, efektivní využití mobilních zařízení, bezpečnostní rizika a řešení pro jejich omezení, správa mobilních zařízení ve firmách a další.
Přidat komentář

15.5.2017 23:50 /František Kučera
Máš rád svobodný software a hardware nebo se o nich chceš něco dozvědět? Zajímá tě DIY, CNC, SDR nebo morseovka? Přijď na sraz spolku OpenAlt, který se bude konat ve čtvrtek 18. května od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5).
Přidat komentář

12.5.2017 16:42 /Honza Javorek
PyCon CZ, česká konference o programovacím jazyce Python, se po dvou úspěšných ročnících v Brně bude letos konat v Praze, a to 8. až 10. června. Na konferenci letos zavítá např. i Armin Ronacher, známý především jako autor frameworku Flask, šablon Jinja2/Twig, a dalších projektů. Těšit se můžete na přednášky o datové analytice, tvorbě webu, testování, tvorbě API, učení a mentorování programování, přednášky o rozvoji komunity, o použití Pythonu ve vědě nebo k ovládání nejrůznějších zařízení (MicroPython). Na vlastní prsty si můžete na workshopech vyzkoušet postavit Pythonem ovládaného robota, naučit se učit šestileté děti programovat, efektivně testovat nebo si v Pythonu pohrát s kartografickým materiálem. Kupujte lístky, dokud jsou.
Přidat komentář

2.5.2017 9:20 /Eva Rázgová
Putovní konference československé Drupal komunity "DrupalCamp Československo" se tentokrát koná 27. 5.2017 na VUT FIT v Brně. Můžete načerpat a vyměnit si zkušenosti z oblasti Drupalu 7 a 8, UX, SEO, managementu týmového vývoje, využití Dockeru pro Drupal a dalších. Vítáni jsou nováčci i experti. Akci pořádají Slovenská Drupal Asociácia a česká Asociace pro Drupal. Registrace na webu .
Přidat komentář

1.5.2017 20:31 /Pavel `Goldenfish' Kysilka
PR: 25.5.2017 proběhne v Praze konference na téma Firemní informační systémy. Hlavními tématy jsou: Informační systémy s vlastní inteligencí, efektivní práce s dokumenty, mobilní přístup k datům nebo využívání cloudu.
Přidat komentář

15.4.2017 15:20 /František Kučera
Máš rád svobodný software a hardware nebo se o nich chceš něco dozvědět? Zajímá tě IoT a radiokomunikace? Přijď na sraz spolku OpenAlt, který se bude konat ve středu 19. dubna od 18:30 v Šenkovně (Sokolská 60, Praha 2).
Přidat komentář

5.3.2017 19:12 /Redakce Linuxsoft.cz
PR: 23. března proběhne v Praze konferenci na téma Cloud computing v praxi. Hlavními tématy jsou: Nejžhavější trendy v oblasti cloudu a cloudových řešení, Moderní cloudové služby, Infrastruktura současných cloudů, Efektivní využití cloudu, Nástrahy cloudových řešení a jak se jim vyhnout.
Přidat komentář

   Více ...   Přidat zprávičku

> Poslední diskuze

18.9.2017 14:37 / Rojas
high security vault

15.9.2017 7:33 / Wilson
new zealand childcare jobs

31.8.2017 12:11 / Jaromir Obr
Re: ukůládání dat ze souboru

30.7.2017 11:12 / Jaromir Obr
Národní znaky

27.7.2017 12:24 / Jaromir Obr
Cteni/zapis

Více ...

ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2017) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze