Documente Academic
Documente Profesional
Documente Cultură
Delegatie
Majoritatea softurilor de tip CMS permit aplicarea unor privilegii limitate pentru o
varietate de grupuri de utilizatori, impartind responsabilitatea de administrare a
continutului pe roluri. Aceasta inseamna de fapt, crearea de tipuri diferite de utilizatori
cu acces limitat la anumite zone sau functionalitati ale aplicatiei.
Administrare de documente
Softul CMS poate pune la dispozitia unui utilizator autentificat o copie virtuala a
intregului website, a setului de documente si/sau a codului de baza, permitand astfel ca
schimbarile in multiplele resurse interdependente sa fie vazute si/sau executate in
continut inainte de a fi prezentate.
Clasificare
Exista trei tipuri de CMS: cu procesare offline, cu procesare online si sisteme hibride.
Acesti termeni descriu modul in care CMS prelucreaza sabloanele prezentarii pentru a fi
aplicate informatiei din bazele de date, realizand astfel paginile web din continutul
structurat.
Seth Gottlieb a folosit termenii de "baking , "frying si respectiv "parbaking pentru a
descrie cele trei tipuri e sisteme CMS.
Procesare Offline
Aceste sisteme preproceseaza intreg continutul, aplica sabloanele inainte de a fi
publicate pentru a genera pagini Web (CMS de tip Vignette sau Bricolage), din
moment ce sistemele de preprocesare nu au nevoie de un server pentru a aplica
sabloanele la un moment dat in timp, ele pot exista pur si simplu ca instrumente de
design in timp real (de exemplu Adobe Contribute).
Procesare online
Sabloanele se aplica la cerere. Codul/paginile HTML pot fi generate cand un utilizator
viziteaza pagina sau pot fi scoase din cache.
Cateva din cele mai cunoscute sisteme open source care produc pagini la cerere sunt:
Mambo, Joomla!, Drupal, Magento, TYPO3, Zikula si Plone.
DotNetNuke (DNN) este un sistem CMS partial open source care ruleaza pe Asp.net si se
poate descarca si instala gratuit. DNN produce pagini la cerere dar nivelurile si tipurile de
caching pot fi modificate, de asemenea exista multe module aditionale gratuite care pot
fi instalate pentru a extinde functionalitatea DNN-ului dupa nevoi.
Majoritatea framework-urilor aplicatiilor web utilizeaza procesarea de sabloane in modul
descris mai sus, dar ele nu incorporeaza neaparat functiile administrarii continutului. De
exemplu, wiki-urile (cum ar fi MediaWiki si TWiki) urmaresc in general un model online
dar nu ofera un control al procesului de publicare a documentelor (document workflow).
Sisteme hibride
Aceste sisteme combina abordarea offline si online; unele sisteme proceseaza coduri
executabile (JSP, ASP, PHP, ColdFusion, Perl) si nu doar HTML static, astfel incat
platforma CMS in sine nu are nevoie sa fie instalata pe fiecare server web; alte sisteme
de genul Blosxom sunt capabile sa opereze fie online, fie offline, la alegere.
Modelul MVC
Majoritatea CMS-urilor existente la ora actuala folosesc asa numitul model MVC (Model-
View-Controller). Este mai degraba o paradigma de programare, decat un set de reguli
stricte de urmat si are rolul de a separa cele trei nivele din culisele unei aplicatii web:
lucrul cu baza de date, procesarea informatiei si afisarea acesteia.
Un Model este o portiune din aplicatie (de obicei, cateva fisiere) care se ocupa in mod
exclusiv cu rularea interogarilor adresate bazelor de date si returnarea rezultatelor
acestor interogari, fara prelucrarea datelor obtinute.
Un Controller este "creierul" operatiunii, el efectuand toate instructiunile principale,
pregatind informatia pentru afisare. Atunci cand un controller necesita informatie din
baza de date, apeleaza un model, in loc sa faca aceasta operatiune in mod direct,
urmand apoi sa proceseze informatiile returnate.
Dupa ce efectueaza toate operatiunile necesare crearii paginii de afisat, controllerul
apeleaza un View pentru a aplica toate prelucrarile de ordin grafic si a trimite clientului
paginile finale.
Aceasta "filozofie" de programare accentueaza marele beneficiu al flexibilitatii unui
sistem de management al continutului web, facilitand modificarea si adaptarea codului.
De exemplu, un controller poate apela un model care pentru o aplicatie lucreaza cu
MySQL, iar pentru alta, cu Oracle. Controllerul nu se modifica deloc, schimbandu-se doar
instructiunile din model. Similar, modificarea designului implica doar modificarile view-
urilor, fara a afecta controllerul si deci functionalitatea.
Concluzii
flexibilitate
Extensiile (plugins) disponibile practic pentru toate CMS-urile extind functionalitatea
acestora, ajungand intr-un final sa indeplineasca aproape toate nevoile celui mai exigent
tip de site.
adaptabilitate
Pornind de la design, insa continuand cu functionalitatea, un CMS poate fi adaptat
oricaror cerinte, un acelasi tip de platforma putand acomoda o larga varietate de tipuri
de aplicatii.
gestiune eficienta si facila a continutului
Prin intermediul interfetei web, un utilizator autentificat care are privilegiile necesare,
poate adauga/modifica/sterge continut fara a fi nevoie de nici un fel de cunostinte de
programare web (desi de obicei, aceste cunostinte pot ajuta).
controlul accesului
Toate CMS-urile moderne au un sistem robust de autentificare si ierarhizare a
utilizatorilor, facilitand gestiunea accesului la informatiile si operatiunile restrictionate ale
aplicatiei.
delegarea procesului de publicare
Prin controlul procesului de publicare (workflow), responsabilitatea gestionarii
continutului se imparte intre mai multi utilizatori, evitandu-se astfel eventuale probleme
de securitate sau supraincarcare cu sarcini.
Dezavantaje
specializarea codului
Majoritatea extensiilor/modulelor/pluginurilor sunt create pentru un anume CMS,
posibilitatea de a le utiliza in alte tipuri de aplicatii neexistand intotdeauna. Similar,
forme mai complexe de continut (care depasesc structura unor pagini web simple), vor fi
cu greu exportate pentru a fi utilizate in alta platforma.