ccms - fileshare.cqproject.netfileshare.cqproject.net/files//ccms_new.docx · web viewmendelova...
TRANSCRIPT
Mendelova univerzita v Brně
Provozně ekonomická fakulta
Semestrální práce do předmětu Výpočetní technika II
CCMS
Vypracoval: Aleš Procházka
Brno 2010
1. Úvod...............................................................................................................................................3
2. Cíl práce..........................................................................................................................................4
3. Současný stav.................................................................................................................................5
4. Návrh řešení...................................................................................................................................6
5. Implementace................................................................................................................................7
5.1 Instalace.................................................................................................................................8
5.2 Administrace...........................................................................................................................9
5.3 Menu....................................................................................................................................10
5.4 Odkazy..................................................................................................................................11
5.5 Uživatelé...............................................................................................................................12
5.6 Oprávnění.............................................................................................................................13
5.7 Obsah...................................................................................................................................14
5.8 Vlastní stránky......................................................................................................................15
5.9 Nastavení systému................................................................................................................16
5.9.1 Panely...........................................................................................................................17
5.9.2 Nastavení systému........................................................................................................18
5.9.3 Správce souborů...........................................................................................................19
5.10 Databáze...............................................................................................................................20
6. Příklady použití.............................................................................................................................21
7. Diskuze a závěr.............................................................................................................................23
2
1. Úvod
Potřeba internetové prezentace jednotlivce nebo firem v posledních letech vytrvale stoupá, což vytváří velkou poptávku po kvalitních webových aplikacích, které umožní nasazení a správu webové prezentace. Počet dostupných komerčních i nekomerčních aplikací, které se tuto poptávku snaží uspokojit, také roste.
Pojem „kvalitní webová aplikace“ sice nelze jednoznačně definovat, požadavky pro jednotlivá nasazení aplikací se liší, co si ale budoucí návštěvník prezentace zapamatuje velmi dobře, je celkový dojem z rychlosti a přehlednosti navštíveného webu.
3
2. Cíl práce
Cílem bylo vytvořit takovou webovou aplikaci, která umožní vytvoření přehledné prezentace za pomoci různých jejích součástí a současně vytvoření rychlého a robustního systému, který zvládne nasazení i tam, kde se předpokládá velmi vysoký objem návštěvníků.
4
3. Současný stav
Jak již bylo uvedeno výše, v současné době existuje mnoho aplikací stejného zaměření, jako CCMS, jmenovitě například United-Nuke, phpRS a Drupal. Tyto systémy jsou bezesporu velmi kvalitní a vzhledem k množství různých doplňků, které lze do nich nainstalovat, i velmi variabilní.
Obrovská univerzálnost těchto systémů je zároveň jejich největší problém. Systém, který po obrazném vybalení z krabice, lze ihned, bez dalších úprav, použít pro několik různých typů prezentací, je zpravidla velmi komplexní a složitý na ovládání a případné drobné kosmetické úpravy.
Z pohledu uživatele, který do takovéhoto systému chce vložit například nový článek, je pak nepochopitelné, proč musí krom názvu článku a samotného textu vyplnit i políčka jako je kategorie, obrázek článku, viditelnost pro návštěvníky a další položky, bez kterých výše uvedené systémy nepovolí vložení článku do systému, protože na ně pravděpodobně navazuje nějaký modul, o kterém daný uživatel nemusí vůbec vědět.
5
4. Návrh řešení
Jednoduchý a rychlý systém by se měl omezit pouze na základní funkce, ty implementovat zcela a beze zbytku do jakési „základní instalace“ a další funkce poskytovat přes jednoduše zapnutelné moduly a nezatěžovat uživatele s nepřeberným množstvím funkcí hned na úvodní obrazovce.
Protože žádné dvě prezentace nejsou zcela shodné, je vhodné, aby se prezentace samotná dělala vždy na míru, tedy i její funkce, a její administrace byla na ní nezávislá, leč s ní pevně svázána.
6
5. Implementace
CCMS, neboli Celebrant's Content Management System, je webová aplikace napsaná ve skriptovacím jazyku PHP. Cílem bylo vytvořit rychlý, jednoduchý a vícejazyčný systém, který zastane všechny pokročilé funkce webových portálů. Od prosté prezentace statických stránek, přes systém vkládání článků, registraci uživatelů, diskusního fóra, galerii obrázků až po internetový obchod.
Vývoj začal před dvěma lety rychlostí odpovídající možnostem studenta střední školy a zdaleka není ukončen. V současné době CCMS prochází přípravami na integraci dvou z výše zmiňovaných modulů, tedy diskusního fóra a galerie obrázků. Nejintenzivněji vyvíjenou částí systému je administrace, právě její popis bude tvořit podstatnou část tohoto dokumentu.
Sytém byl upraven tak, aby jeho výstupní HTML kód administrace odpovídal webovému standardu HTML 4.0 a CSS styly pro definování vzhledu systému byly validní podle definice CSS 2.1.
7
5.1 Instalace
Obrázek 1 – Instalace systému
Požadavky PHP 5 a novější MySQL 5 a novější
CCMS pro svůj běh vyžaduje umístění všech souborů z instalačního balíčku s názvem ve tvaru ccms_dd-mm-rrrr.rar, ze složky www, do příslušného adresáře na webovém serveru. Typicky se jedná o adresář /var/www pro linuxové servery a c:\apache\www pro servery běžící pod Windows.
Nyní ve webovém prohlížeči otevřete instalační skript http://cesta_k_instalaci/admin/install.php a instalátor Vás provede instalačním procesem. Po dokončení instalace soubor install.php z bezpečnostních důvodů smažte.
8
5.2 Administrace
Obrázek 2 – Úvodní stránka administrace
Pro administraci byl zvolen jednoduchý vzhled se snadným přístupem k hlavním ovládacím prvkům. Každý odkaz v nabídce zastupuje jeden modul systému. Takzvané pluginy jsou moduly, které nejsou v základní instalaci CCMS obsaženy.
Minimalizace grafických prvků v administraci umožňuje jednak snazší orientaci a také podstatně zmenšuje objem přenesených dat a tím pádem i rychlost odezvy systému.
Na obrázku výše je zobrazena přihlašovací stránka do administračního rozhraní. Celá stránka je rozdělena opticky rámečky. Nad vůbec prvním rámečkem lze vidět dvě vlajky, každá z nich zastupuje jazykovou mutaci administrace. Anglický překlad v současné době není kompletní, popis administrace bude proveden na české verzi.
CCMS není omezen počtem jazykových mutací, systém automaticky prohledává složku „langs" v kořenovém adresáři instalace a po té nabídne její použití zobrazením ikonky jazyka. Omezení plyne pouze z použité znakové sady UTF-8.
9
5.3 Menu
Obrázek 3 – Modul menu
Stěžejní částí každé webové prezentace je navigace, tedy menu. Každé položce lze přiřadit textový popis, případně i obrázek pro grafické menu, a lze ji libovolně posunovat vpřed či vzad pomocí zelených šipek ve sloupci Akce.
10
5.4 Odkazy
Obrázek 4 – Modul odkazy
Odkazy jsou v podstatě to samé, co menu, nabízejí ovšem navíc možnost jejich organizace do kategorií. Snímek ukazuje výpis kategorií, ve kterém se setkáváme s dosud neobjasněným sloupcem WebFriendlyTitle. Zkráceně nazýván jako WFT, je důležitou součástí SEO optimalizace (optimalizace pro vyhledávače). Jak lze vypozorovat, WFT je upravený původní název položky zbavený velkých písmen, diakritiky, mezer a dalších pro web nebezpečných znaků. Toto opatření umožňuje použití takového názvu i v hypertextovém odkazu. Jako názorná ukázka poslouží následující dvojice odkazů:
http://www.cqproject.net/portal/page.php?p=kontakthttp://www.cqproject.net/portal/page.php?id=18
První z dvojice uvedených odkazů umožňuje snazší orientaci i podle URL dokumentu a také indexaci vyhledávači.
Obrázek 5 –Pohled do kategorie odkazů
11
5.5 Uživatelé
Obrázek 6 – Modul uživatelé
Možnost registrace uživatelů je pro různé webové systémy velmi důležitá. Její integraci byla tedy provedena důkladně, dávajíc tak CCMS schopnost řadit uživatele do skupin a těmto skupinám dávat oprávnění. V okamžiku registrace uživatele systém ještě nepovolí přihlášení nového uživatele, čeká na potvrzení uživatelovi identity kliknutím na vygenerovaný odkaz, který mu bude zaslán e-mailem. Plánovaným rozšířením tohoto modulu je automatické přeřazování uživatelů na základě stanovených kritérií do jiných skupin, podobně, jak lze sledovat u diskusních systémů.
Obrázek 7 – Výpis uživatelů
12
5.6 Oprávnění
Obrázek 8 – Modul oprávnění
Tento modul je nedílnou součástí celého systému. Umožňuje upravit oprávnění jednotlivých skupin uživatelů. Například lze vytvořit nové oprávnění „správce uživatelů“, který by měl práva do modulů manage_right a manage_users.
Obrázek 9 – Nastavení oprávnění
13
5.7 Obsah
Obrázek 10 – Modul obsah
Obsah, jádro webových stránek. Obsah lze třídit do kategorií a pohodlně upravovat ve WYSIWYG editoru TinyMCE, který velmi věrohodně napodobuje prostředí známé z textových editorů jako je MS Word nebo Writer z kancelářského balíku OpenOffice.
Dále lze nastavit přesný čas vystavení a stažení článku z webu a možnost vypnout komentáře.
Obrázek 11 – Úprava článku
14
5.8 Vlastní stránky
Obrázek 12 – Modul vlastní stránky
Tento modul je mírnou raritou mezi běžnými CMS. Umožňuje totiž snadnou tvorbu stránek s vlastním rozvržením prvků přímo v PHP za přímého použití vestavěných funkcí CCMS. Takto byla vytvořena úvodní stránka na adrese http://www.cqproject.net/portal/. K takto vytvořené stránce se po té dostanete zadáním parametru skriptu page.php, např.: page.php?cp=index.
15
5.9 Nastavení systému
Obrázek 13 – Nastavení vzhledu
První část modulu umožňuje volbu vzhledu portálu. Systém prohledává složku templates v kořenovém adresáři. Každá položka u volby "Skin" zastupuje jednu složku, která musí obsahovat alespoň 4 soubory tvořící vzhled portálu a složku panels, která obsahuje v jednotlivých souborech jednoduché funkce, které lze jako panely vkládat na předem připravená místa ve skinu.
16
5.9.1 Panely
Obrázek 14 – Panely
Odkaz "Nastavení panelů" ve spodním rámečku nás dovede na stránku vyobrazenou výše. Zde můžeme jednoduše přidávat, měnit a odebírat panely, které se na portálu zobrazí. Na obrázku níže lze vidět nastavení použité pro zobrazení panelu s odkazy na portálu http://www.cqproject.net/portal/.
Obrázek 15 – Nastavení panelu
17
5.9.2 Nastavení systému
Obrázek 16 – Nastavení systému
Nastavení systému ovlivňuje některé důležité aspekty systému. Jednak údaje potřebné pro korektní odesílání různých e-mailů systémem a po té míra zobrazování práce MySQL databáze. Položky začínající na "MySQL:" toto přímo ovlivňují.
Zobrazit příkazy – pokud zapnuto, zobrazí v modrém rámečku všechny příkazy poslané MySQL serveru
Počet ovlivněných řádků zobrazí číselnou hodnotu vyjadřující počet ovlivněných řádků například příkazy pro upravení hodnoty nějaké položky
Zobrazení chyb je velice užitečná pomůcka pro odhalení chybné struktury databáze CCMS. Na obrázku níže lze vidět chybové hlášení upozorňující na chybějící tabulku v databázi.
Obrázek 17 – Zobrazování chyb
Zobrazit info – v zeleném rámečku zobrazí statistické informace o provedeném příkazu Zobrazit insert id – zobrazí unikátní číslo přiřazené právě vložené položce do databáze
18
5.9.3 Správce souborů
Obrázek 18 – Správce souborů
Správce souborů je nejnovější modul v CCMS. Jeho možnosti by měly být dostatečné pro běžně potřebné operace se soubory na serveru bez přímého přístupu k těmto souborům například pomocí FTP klienta. Dovoluje správci nahrávat soubory, vytvářet složky, měnit názvy souborů a složek a také kompletní vymazání adresářů nebo souborů.
19
5.10 Databáze
Obrázek 19 – Kontrola databáze
Funkce obsažené v této části jsou mezi ostatními redakčními systémy do jisté míry unikátem. Samotné zálohování obsahu databáze je obsaženo i v konkurenčních systémech, ale unikátní implementace zálohování databáze v CCMS umožňuje zálohovat i obnovovat nejen data, ale i kompletní strukturu databáze, kterou systém používá ke svému běhu. Po obnovení je pak systém ve stavu zcela shodném s tím, v jakém byl v době vytvoření zálohy.
Modifikovaná verze tohoto skriptu pak uživatele provází instalací systému, kdy vlastně jde o obnovu struktury a dat ze zálohy.
Poslední nepopsanou funkcí je kontrola databáze a s ní související možnost pohodlné a zcela automatické aktualizace struktury databáze. Databázi kontroluje poměrně složitý skript, který porovnává strukturu uloženou v souborech na disku se strukturou, která se aktuálně nachází na serveru. V případě rozdílů, ji automaticky upraví tak, aby odpovídala výchozím souborům.
Toho lze využít dvěma způsoby. Jednak pro kontrolu, že databáze nebyla například po pádu serveru poškozena a pak také pro aktualizaci databáze, pokud se s aktualizací zdrojových kódů systémů nese i nová struktura databáze.
Dále je kontrola databáze je nezbytná, pokud systém zobrazí chybu při provádění nějakého příkazu v MySQL databázi. Skript automaticky projde strukturu celé databáze a podle předdefinovaných parametrů opraví chyby v databázi, zásah uživatele není nutný. Chybné tabulky se zobrazí červeně. Absence červené barvy značí, že databáze je v pořádku.
20
6. Příklady použití
Obrázek 20 – CQProject.Net
Obrázek 21 – effectiva.cz
21
Obrázek 22 – effectiva.cz, vnořená stránka
Systém CCMS v současné době běží na dvou výše zobrazených doménách.
Prvním použitím je CQProject.net, což je osobní portál založený mnou a mým spolužákem Vítězslavem Ferkem. CCMS je zde v základní edici a portál užívá základních funkcí v CCMS.
Druhý web je prezentace společnosti Effectiva solutions s.r.o. Systém zde byl upraven tak, aby vyhovoval požadavkům společnosti. Byl přidán modul „Galerie referencí" a vzhled úvodní stránky byl koncipován odlišně od ostatních vnořených stránek prezentace.
22
7. Diskuze a závěr
Výše popsaný systém má zcela jistě jak mnoho kladů, tak i mnoho záporů. Bezesporu vyniká ve snadnosti obsluhy, šetrnosti k systémovým prostředkům, unikátním systémem záloh a nativní podporou jazykových mutací. Největším jeho negativem ale je jedna jeho vlastnost a to nutnost tvorby funkcí a vzhledu prezentace na míru. Pokud budoucí administrátor prezentace nemá čas nebo znalosti pro vytvoření vlastního vzhledu, je pro něj CCMS nevhodný systém a lépe mu poslouží některé z konkurenčních řešení. Toto je v současné době předmětem dalšího vývoje a v budoucnu by měl být k dispozici přepracovaný systém šablon vzhledu prezentace s dokumentací.Vzhledem k vytečeným cílům, tedy vytvoření rychlého a robustního systému se snadnou obsluhou, je ale funkčnost dostatečná a vyhovující.
23