Přejít k navigační liště

Zdroják » PHP » Seznámení s redakčním systémem MODX CMS

Seznámení s redakčním systémem MODX CMS

Články PHP

Co je redakční systém? Čím je zajímavý MODX a proč jej zvolit? Jaké jsou požadavky na jeho provoz a co je MODX Cloud? Kde hledat radu a pomoc? Na všechny tyto otázky nalezne čtenář odpověď v úvodním dílu seriálu článků, jehož cílem je seznámení s problematikou instalace a konfigurace systému pro moderní internetovou prezentaci.

  1. Úvod
  2. Přednosti
  3. Evolution vs. Revolution
  4. MODX Cloud hosting
  5. Použité technologie
  6. Požadavky pro běh
  7. Dokumentace
  8. Česká komunita
  9. Shrnutí

1. Úvod

Snad celou dobu, co existuje internet, je zde i snaha vytvořit takzvaný „redakční systém“, který by poháněl internetové prezentace od těch nejmenších produktových stránek a blogů až po rozsáhlé korporátní a městské portály. Smyslem takové aplikace je zprostředkování možnosti publikace obsahu na internetu pro běžného uživatele, bez jinak potřebné znalosti programování.

Vzniklo mnoho více či méně použitelných nástrojů. Mnoho z nich se dostalo do všeobecné povědomosti (jako například WordPress nebo Drupal), jiné zůstaly na okraji zájmu, ačkoliv jsou v určitém smyslu přelomové (jako například Fork CMS nebo CouchCMS). Jedním z méně známých, ale rozhodně zajímavých, je open-source redakční systém MODX vydaný pod licencí GNU GPL 2.0.

2. Přednosti

Mezi přednosti této aplikace patří jednoduché a relativně přehledné rozhraní s možností širokého přizpůsobení, schopnost řídit přístup více uživatelů skrze role a jejich oprávnění, nebo možnost instalace a aktualizace rozšíření za pomoci vestavěného správce balíčků. Celé administrační rozhraní je plně lokalizováno do českého jazyka díky výborné práci lidí ze společnosti COEX, a tak jej lze použít i pro klienty bez znalosti anglického jazyka.

Náhled administračního rozhraní redakčního systému MODX

Samozřejmostí je správa dokumentů, obrazových i video souborů, formátování dokumentů pomocí šablon nebo použití rozličných vizuálních či technických komponent (takzvaných „snippetů“). Systém také pamatuje na často skloňovanou SEO optimalizaci, za pomoci takzvaných „Template variables“, kterými je možné do výsledného kódu umístit nastavení zvlášť pro každý dokument. Mezi zajímavosti patří možnost kompletní změny vzhledu jednotlivých „snippetů“ díky technologii „chunků“, kterými je možné řídit výstupní kód. Lze proto jednoduše použít stávající komponentu a nastavit jí nový vzhled bez nutnosti komponentu přeprogramovat a dále udržovat.

Rovněž je možné vytvářet vlastní komponenty (nazývané „Extras“) a šířit je za pomoci veřejného zdroje balíčků, nebo si vytvořit vlastní „repository“. Systém je tímto připraven pro použití v komerčním sektoru, kde může firma pohodlně šířit svá rozšíření za pomoci neveřejného kanálu přímo ke klientským aplikacím při zachování pohodlné aktualizace nebo případné statistiky stahování. Přehled dostupných rozšíření MODXu je na webové prezentaci stejnojmenného „repository“.

Ocenění redakčního systému MODX „Critic's choice“ za nejlepší redakční systém roku 2012

Bez povšimnutí by něměla zůstat také zajímavost, že byl MODX zvolen jako „Critic’s Choice“ nejlepší redakční systém roku 2012 na konferenci CMS Expo.

3. Evolution vs. Revolution

Na oficiálních stránkách projektu jsou dostupné dvě verze systému nazývané „Evolution“ a „Revolution“. První verze je historicky první a dnes se udržuje převážně jen bezpečnostními aktualizacemi pro starší projekty. Pokud se čtenář se systémem seznamuje, je mu doporučena právě verze „Revolution“, které se věnuje většina stávajícího vývoje.

4. MODX Cloud hosting

Zajímavou možností je vyzkoušení systému MODX v cloudovém řešní nabízeném komunitou zcela zdarma pro vývojové účely, nebo za cenu od 24$ měsíčně pro účely produkční. Samozřejmě je možné provozovat systém i na vlastním hostingu.

5. Použité technologie

Technologie použité v redakčním systému MODX jsou následující, avšak běžný klient jejich znalost nebude nutně potřebovat. Výstupní kód je zcela řízen šablonou požadovaného dokumentu a tak může splňovat formát HTML5 či XHTML, ale také XML, JSON nebo jakýkoliv jiný v případě potřeby. Samotná aplikace je naprogramována v objektově orientovaném PHP při dodržení metodiky vzoru MVC. Pro komunikaci s SQL databází se využívá XPDO 2.x nadstavba nad PDO vrstvou, která zajišťuje ORM pomocí návrhového vzoru Active Record. Vzhled administračního rozhraní je řízen a sjednocen díky knihovně ExtJs.

6. Požadavky pro běh

Kompletní přehled požadavků je možné najít na oficiálních manuálových stránkách projektu. Jsou však natolik mírné, že by je měl v dnešní době splnit snad každý slušný hosting. Pro samotný běh redakčního systému MODX je zapotřebí:

7. Dokumentace

Na oficiálních stránkách projektu je možné nalézt odkaz na dokumentaci k projektu v anglickém jazyce, která pokrývá nejen problematiku instalace a následné konfigurace. Obsahuje také podrobný návod na vývoj vlastních rozšíření včetně popisu jednotlivých vnitřních technologií aplikace. Momentálně však není dostupná jiná lokalizace.

8. Česká komunita

Na pomoc může přijít vhod česká komunita uživatelů a vývojářů, která na svých stránkách www.modx.cz nabízí přehled novinek, plánovaných společných akcí a diskusní fórum. Zde se může každý zdarma zaregistrovat a následně požádat o radu či o pomoc, případně se dočíst odpovědi na často kladené otázky. V době psaní tohoto článku vzniká také konferenční místnost (Jabber Multi User Chat) hostovaná zdarma společností Jabbim.cz, které tímto děkujeme. Na chat je možné se připojit jakýmkoliv oblíbeným jabber klientem (Pidgin, Adium, Psi, Trillian, …) případně přes webový klient.

místnost:
modx@conf.netlab.cz
jméno:
modx
server:
conf.netlab.cz

9. Shrnutí

Pokud čtenář hledá moderní redakční systém s nároky na přehlednost, modularitu a jednoduchost, je aplikace MODX správnou volbou. Tento seriál jej následně provede jeho instalací a konfigurací pro moderní internetovou prezentaci. V dalším dílu se čtenář dozví, jak nainstalovat redakční systém MODX na svůj hosting.

Komentáře

Subscribe
Upozornit na
guest
32 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
View all comments
Martin Kubát @COEX

http://srazy.info/prazske-modx-pivo-2/3880

10.10.2013 se koná další MODx pivo.
Přijďte si předat zkušenosti a popovídat si s dalšími MODXáři a pivem v ruce. Probereme co je nového, co se chystá a nezávazně poklábosíme o aktuálním dění.

bazo

nastastie som s touto hrozou robit nemusel, ale kolegovia ano. nic ine ako nadavky som od nich nepocul. prekvapuje ma, ze sa tu o tom pise…

Martin Hassman

Zkusím napovědět, možná o tom píšeme, aby kolegové už příště nemuseli nadávat. 8-)

Ivos Gajdorus

Na MODX jsme za posledni leta spustili desitky projektu a ve srovnani s dalsimi ho povazujeme velmi dobry open source CMS. Muzu se zeptat na konkretni pripominky – co se kolegum nezdalo, s cim maji zkusenost, s cim porovnavali atd?

Lamicz

Mnoho lidí považuje za velmi dobrý OS i třeba WordPress, ale osobně si nemyslím, že bych nutně na tom dělal dnes web a popisoval ho zde, protože zdejší čtenáří jsou podle mého schopni napsat lepší CMS. Nemají potřebu ho psát pro všechny, aby s ním jednoduše uměl i začátečník, ale pro sebe (komunitu, frmu) na určité úrovni.

Martin Hassman

Díky za názor, já jen dodám, že dobré články o WordPressu rozhodně vítáme, zájem o ně je.

Radek Pilmaier

Můžeš prosím rozvést v čem je to hrůza? Myslím, že by to celkově bylo prospěšné a mohlo otevřít zajímavou diskuzi. Jinak by tvůj příspěvek byl de facto bezcenným výkřikem. Díky!

Lamicz

Zdravím, stáhl jsem si zdrojáky, protože mne zajímá jak se co řeší „u sousedů“, ale v tomto případě tedy nevím… Všude plno require – chybí autoload,, soubory FW ve složce „model“, přiznám se, tam jsem je nehledal, MVC návrh se mi zdá divný. Hlavní třída FW dědí z PDO knihovny (xPDO)? WTF? To IMHO není v pořádku… Osobně mám DB jako samostatnou komponentu (službu), abych ji mohl zavolat kdekoliv. Taky mne zarazila velikost 106kB, proč? V neposlední řadě PHP 5.1 je už dnes hodně stará verze, asi nejvíc mi chybí NS.

kaktuss

Škoda len, že je Nette seriál na starú verziu Nette. Myslím, že vo verzii 2.0 sa toho veľa zmenilo a v tom prípade je ten seriál dosť zmätočný. Či?

Martin Hassman

Čím je prosím seriál zmatočný? Davídek nám aktualizaci přislíbil, ale nejsme dohodnuti na termínu.

kaktuss

Myslim, ze ak by niekto postupoval podla toho serialu s verziou 2.0, tak by mu to asi nefungovalo…

Martin Hassman

Tak to rozhodně nefungoval, to dá rozum, když byl napsán pro jedničkovou verzi. V čem je ale ten zmatek?

kaktuss

No v tom. Ked je niekto zaciatocnik, stiahne si Nette 2 a jediny uceleny serial, resp. „navod“ na Nette najde tento, tak mu to velmi nepomoze.

Martin Hassman

To neni pravda, na nette.org je dnes uz hromada navodu (v dobe psani serialu jeste nebyla).

kaktuss

OK, ale su to navody pre 2?

Martin Hassman

Určitě ano. V dostatečné míře.

kaktuss

Super :)

Karel

Nevím no, mě MODx přišel jako takové „CMS dodělej si sám“. Co jsem ho zkoušel zprovoznit, tak tam v podstatě nic nebylo a všude odkazovali na snippety a pluginy, které buď nefungovaly nebo nebyly dodělané nebo tam bylo rovnou napsané, že to je tak primitivní, že si to každý napíše sám :).
Ale nevím, možná jsem to jen blbě pochopil :).

Martin Hassman

Tak uvidíme, o to víc bude mít tenhle seriál smysl.

jjjjj

dakujem. presvedcilo ma :)

Tobiáš Potoček

Na MODXu stavím weby už nějakou tu dobu. S jinými redakčními systémy nemám srovnání, ale styl práce v MODXu mi velice vyhovoval. Je extrémně přizpůsobitelný, jak na straně frontendu, tak v administraci, a to bez nějakého šíleného tweakování. Když máte klienta, co si pořád vymýšlí, je to k nezaplacení.

Předchozí odstavec platí o MODX Evolutionu. Nedávno jsem si postavil web i na Revolutionu a musím říci, že jsem byl zklamán. Zásadní problém je v tom, že prostředí manageru je zoufale pomalé. Každé kliknutí způsobí překreslení celé stránky a vygeneruje k tomu pomalu desítky asynchronních requestů. Oproti tomu nemoderní „rámové“ prostředí Evolutionu je podstatně rychlejší a tedy i příjemnější na používání. No četl jsem, že to v nějaké nadcházející verzi plánují podstatně zrychlit, tak jsem na to zvědavý.

Martin Kubát @COEX

No nevím přesně (mé kroky řídí Python), ale kolegové v COEXu, co spolupracují na vývoji MODXu o výkonostních problémech celkem často hovořili a mám za to, že tento problém spěje k nějakému (pozitivnímu) závěru.
Nicméně přesnější informace budou k dispozici na zítřejším MODX pivu…

W

A já už se chtěl pustit do MODx místo Drupalu… jenže já potřebuju právě něco robustního, co zvládne desítky-stovku tisíc položek a tisíce uživatelů a ne, že se to začne zpomalovat až do stavu naprosté nepoužitelnosti, dokud to celé člověk nepřepíše… naivně čekám, že zrovna na zdrojáku by se tip na něco kvalitního konečně mohl objevit… ale je to marný, je to marný, je to marný

Jan Pobořil
Jirka

Pracuji s tímto systémem protože naše marketingová agentura firemní web spustila v tomto systému. O správu se stará markeťák, takže k ní jen poznámka, zdá se mi svou rozsáhlostí blízká Joomle.

Přestěhování webu v MODX s pluginy je neskutečný opruz … konfigurace je zapsaná v několika souborech v různém umístnění a navíc v absolutní odkazech do filesystému. Musel jsem si napsat návod:
—–
Při stěhování je nutné provést tyto kroky

1. vymazat obsah adresáře firma.cz/core/cache
2. změnit absolutní cestu k souborům v následujících souborech (v každém několikrát!) viz rámeček #1 a #2 níže
3. nastavit v konfiguraci databáze v firma.cz/core/config/config.inc.php podle #3

#1 core konfiguráky
firma.cz/connectors/config.core.php
firma.cz/core/config/config.inc.php
firma.cz/manager/config.core.php
firma.cz/config.core.php

#2 konfiguráky již nainstalovaných modulů, u nových si to systém nastaví snad sám
firma.cz/core/packages/*/preserved.php

skiper.skiprovic

MODx je velice zajimavy projekt. Vedome pisu projekt, protoze s MODx jsem prestal mit problem v okamziku, kdy jsem o nem prestal uvazovat jako o CMS/RS. Srovnavat ho s Joomlou, WordPressem, nebo i Drupalem je jako srovnavat, jestli je lepsi sroubovak a kladivo. MODx je takovy CodeIgniter na steroidech, respektive CI for Dummies s corporate level backendem. Pro stredne velkou agenturu, ktera ma houf kreativcu a designeru a/ale potrebuje jejich napady rychle a bezpecne rozchodit a privazat ke klientove databazi je MODx idealni. Kdyz rikam rozchodit myslim taky roky udrzovat a byt pripraveny na to, ze na strane klienta si x lidi ze sesti oddeleni bude CRUDovat zaznamy, na zaklade nastavenych prav. Jestli znate jine OS MVC reseni, bezici na LAMP/WAMP podobne velikosti, ktere jako sablonovaci jazyk pouziva ciste HTML, necham se rad poucit.
Komentare, ktere rozeznavaji PDO, ale z nejakeho duvodu netusi co je to xPOD doporucuju ignorovat. Na MODx jsem postavil responzivni, 8mi jazycny katalog s cca 6000 vyrobky (kazdy vyrobek mel jeste cca 10 rozmerovych variant), u kazdeho fotka, vykres, objednavkovej proces, atd, atp. Vyvijelo se to rovnou na vzdalenem serveru a vsechno behalo bajecne, rychle a bez problemu. Kdyz nekdo nedoctete dokumentaci a nezapne si cache, neni to problem frameworku.
MODx bez sablony produkuje JSON, takze ho pouzivam jako „API chudeho muze“ tam, kde je z nejakeho duvodu nemozne/drahe pouzit noSQL.

Guid33

Od jedne UK agentury pouzivajici na veskery development MODX, obrazek at si kazdy udela sam: http://www.adido-digital.co.uk/blog/2013/08/modx-v-wordpress-its-apples-and-oranges/

Enum a statická analýza kódu

Mám jednu univerzální radu pro začínající programátorty. V učení sice neexistují rychlé zkratky, ovšem tuhle radu můžete snadno začít používat a zrychlit tak tempo učení. Tou tajemnou ingrediencí je statická analýza kódu. Ukážeme si to na příkladu enum.