MODULÁRNÍ REDAKČNÍ SYSTÉM (CMS), SE ZAMĚŘENÍM PRO FIREMNÍ PREZENTACI Petr Minařík 2.2.2010 ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
ZADÁNÍ PRÁCE Seznámení se s současnými redakčními systémy vyuţívanými pro firemní prezentace Zhodnotit výhody a nevýhody současných řešení Navrhnout a implementovat v jazyce PHP vlastní redakční systém 2
SROVNÁNÍ REDAKČNÍCH SYSTÉMŦ Především open-source produkty Komerční systémy nepříliš vhodné pro srovnávání Nepřístupný kód aplikace Často ţádné nebo velmi limitované testovací verze Hlavní kriteria pro srovnání: Podpora vícejazyčnosti Rozšiřitelnost a struktura aplikace Snadnost úpravy CMS: Joomla, Drupal, Mambo 3
POŢADOVANÉ VLASTNOSTI APLIKACE Vytvoření CMS s jednodušší, lehce upravitelnou strukturou pro konkrétní případ nasazení Modularita Od počátku podpora vícejazyčného obsahu i rozhraní aplikace 4
NÁVRH APLIKACE Technologické zázemí PHP MySQL Vyuţití Zend Framework Enterprise framework Jednoduše upravitelný Snadno rozšiřitelný Rozsáhlá komunita Podrobný manuál 5
IMPLEMENTACE Aplikační jádro Společné nastavení systému Inicializace modulŧ Moduly Funkční části aplikace 6
IMPLEMENTACE JÁDRO SYTÉMU Zajišťuje zavedení celé aplikace Soustředěno v /application/bootstrap.php Zajišťuje: Načtení konfiguračních souborŧ Inicializaci systémového logu Inicializaci routeru Inicializaci zobrazení Inicializaci cache Inicializaci modulů Zavedení rozšíření pro front contoroller aplikace 7
IMPLEMENTACE MODULY Zajišťují jednotlivé funkce aplikace Implementované moduly: Default výchozí modul, konfigurace aplikace Languages správa jazykových verzí aplikace Users správa uţivatelŧ Authorization autentizace a autorizace, nastavení práv Navigation sestavení navigace prezentační části Pages základní modul pro tvorbu obsahových částí 8
IMPLEMENTACE ZJEDNODUŠENÝ RELAČNÍ DIAGRAM 9
IMPLEMENTACE DALŠÍ ROZVOJ Při vývoji dalších modulŧ nutno dodrţovat základní adresářovou strukturu pro moduly Dále jmennou konvenci: Controller pro administraci AdminController Soubor s konfigurací config.xml Jazykové soubory modul_kod-jazyku.csv Při dodrţení výše zmíněného budou prostředky pro kaţdý modul zavedeny automaticky Dle vygenerované dokumentace 10
ZHODNOCENÍ PRÁCE Provedeno srovnání několika CMS Navrhnuto a implementováno vlastní řešení Vyuţití známého frameworku usnadňující další rozvoj Implementováno jádro zajišťující běh aplikace Implementovány moduly pro základní funkce redakčního systému Moţnosti budoucího rozvoje Vývoj dalších modulŧ Rozšiřování funkčnosti současných 11
1) VYSVĚTLETE ROZDÍL MEZI E-MAIL A EMAIL Rozdíl nevidím, pouze rozdílně napsané 12
2) ZHODNOŤTE, ZDA Z POHLEDU POTENCIÁLNÍHO ZÁKAZNÍKA JE SNÁZE NASADITELNÉ, SPRAVOVATELNÉ, UDRŢOVATELNÉ, ROZŠIŘITELNÉ A ROBUSTNĚJŠÍ VAŠE ŘEŠENÍ, NEBO NĚKTERÝ BĚŢNĚ POUŢÍVANÝ OPEN-SOURCE CMS, RESP. WIKI? Záleţí na potřebách zákazníka Současná open-source řešení Dlouhodobý vývoj V rámci svého účelu propracovaná řešení Často sloţité úpravy, vzhledem k zaměření Mé řešení Jednoduše upravitelné a rozšiřitelné přímo pro dané potřeby Jedná se o mladý systém, co do mnoţství funkcí a komplexnosti nemŧţe být srovnáván se zaběhlými CMS 13
3) JE MOŢNÉ, ABY MĚL JEDEN UŢIVATEL V APLIKACI VÍCE ROLÍ? POKUD ANO, JAK JE TO MOŢNÉ NASTAVIT? BUDE TOTO NASTAVENÍ BRÁT AUTORIZAČNÍ KÓD V POTAZ? V současné verzi toto moţné není V případě rozšíření DB a editace rolí bude jíţ autorizační kód brát toto v potaz automaticky 14
4) JAKOU METODIKU JSTE POUŢIL PŘI TESTOVÁNÍ KOMPATIBILITY VÁMI VYTVOŘENÉ APLIKACE VE ZVOLENÝCH PROHLÍŢEČÍCH? Testování funkčnosti Srovnání s referenčním zobrazením 15