Feb 05

Dupa cum promiteam in unul din articolele trecute, acum venim cu un review al EponentCMS - unul dintre CMS-urile alese de noi pentru aceasta rubrica.

Modul de instalare a scriptului: A luat mai putin de 1 minut. Upload la toate fisierele, creat baza de date si rulat scriptul de instal. Documentatie de instalare puteti gasi aici.

Primele Impresii: Arata foarte curat. Nu exista panou de administrare, acesta este in schimb integrat in site-ul principal, foloseste acelasi layout. Activitatile de administrare se fac intr-un panou de administrare care este un modul ce poate fi adaugat oriunde in site.

Template-uri: Singura documentatie care exista pare sa fie cea de pe pagina de proiect Sourceforge Exponent Project Page. Citii pe acolo, si ar trebui sa stiti deja cum sa creati un template. Ce am facut, a fost sa iau un template deja existent, si si sa il modific. Prima oara numele (trebuie sa se termine in “theme”). Prima oara editati class.phg, gasiti linia class numelevechitheme si inlocuiti cu class numelenoutheme (trebuie sa fie acelasi cu numele directorului). Apoi, vine acelasi lucru ca peste tot, editati index.php si style.css pentru a crea templateul. Pentru a o activa, mergeti in panoul de administrare si click pe “Manage Themes”. Tema creata ar trebui sa se gaseasca in lista aceea. Faceti click pe “preview”, apoi mergeti iar la panoul de administrare, click pe “configure site” si click pe “edit”. In casuta de drop down, selectati tema. Savati si gata.

Potrivirea cu cerintele noastre:

  • Bazat pe pagini: Da, foarte simplu, mai usor decat multe alte CMS-uri
  • Ruleaza pe LAMP: Da
  • Editor WYSIWYG: Da, foloseste FCKEditor si iti da voie chiar sa selectezi ce butoane sa apara si ce nu (in general multe butoane la un WYSIWYG nu le folositi niciodata)
  • URL-uri Friendly: Exista, dar probabil este inca in stadiul beta, deoarece dupa ce selectati optiunea de url-uri friendly trebuie sa le definiti manual in .htaccess, macar de ar putea scrie singur regulile. Cu toate astea, am vazut ca a generat si ceva friendly fara sa scriu reguli in .htaccess, dar nu i-am dat de cap.
  • Meniuri usor configurabile: Chiar foarte usor.
  • Open Source: Este open source, si noi versiuni apar continuu. Exista si o comunitate de developeri unde puteti spune ce bug-uri intalniti si va vor ajuta.
  • Motor de template-uri usor de folosit: foloseste Smarty (sau PHP Template), nu stiu sigur, inclin sa cred ca foloseste cate putin din ambele. Oricum, una peste alta, va poate parea putin mai greu sa chemati functii ale modulelor care sunt ascunse destul de bine si in fisiere .tpl, in orice caz, probabil dupa al doilea site facut cu acest CMS asta va fi o problema mica.
  • Flexibilitate: Exista si e chiar foarte ok.
  • Module si aplicatii predefinite: Exista din belsug, multe preinstalate, multe se pot descarca de pe site-ul lor, altele de pe site-urile dezvoltatorilor.
  • Management pentru utilizatori: Aici e putin mai greu, ajunsesem la un moment dat de ascunsesem formularul de login pt admin si surpriza, nu ma mai puteam loga in site. La fel, dupa cateva miscari se face.
  • E-commerce: Am vazut ca este under development acest modul. Pana la aparitia lor, se poate folosi product catalog - un modul care va afisa numai prezentari ale produselor dumneavoastra.
  • XHTML/Conform standardelor: Am folosit XHTML si CSS pentru desing-ul paginilor asa ca as prefera ca si CMS-ul sa listeze codul valid. - Merge
  • Autogenerare a caii de navigare: Da
  • Panou de administrare usor de folosit:Excelent
  • Instalare simpla: dupa cum am zis intial, probabil si sub 1 minut.
  • Documentatie: Poate nu este destula, dar.. cautati, cautat, cautati
  • Management al limbilor: Exista, din pacate, pentru a beneficia de frumoasa limba romana in site-ul vostru tre sa traduceti cam 400 de fisiere php (is this a big deal?)

Pro :

Amin: simplu si puternic

Template-uri: usor de creat

Continut: foarte usor de adaugat exact acolo unde il vrei.

Contra :

Documentatie, URL-uri SEO friendly… what else?

Concluzia:

Dupa ce am vazut cum este acesta, are rost sa incerc altele?

Jan 22

CMS - inseamna Content Management System (Sistem de administrare a continutului).

In trecut, tot continutul unui site era stocat in pagini statice, HTML. Pentru a adauga o pagina in site trebuia creat un fisier nou, copiata structura HTML din alta pagina si apoi adaugat continutul. Daca voiai sa adaugi un link in meniu, sau un banner pe fiecare pagina, trebuia sa faci acest lucru manual, in fiecare pagina a site-ului. Programe de “search and replace” in toate fisiere dintr-un director au facut lucrurile mai usoare, dar nu mergea de fiecare data. Cel putin asa faceam eu pe primele site-uri create, acum multi ani, nici nu mai are rost sa spun ca site-urile nu erau prea mari si nici nu se schimbau prea des.

Urmatorul pas in experienta mea de web designer a fost SHTML. Acum puteam pune codul unui meniu intr-un fisier separat si apoi sa il includ in fiecare pagina. De fapt, tot layout-ul site-ului se putea stoca intr-un fisier si look-ul site-ului se putea schimba instantaneu. Acest lucru a ajutat, dar tot nu imi dadea puterea de care aveam nevoie.

Daca inca mai faceti aceste lucruri pentru a va actualiza website-ul, cred ca este momentul sa apelati la noi, vremurile s-au schimbat mult.

Apoi au venit PHP si MySQL. Cand le-am invatat au deschis cu totul o alta lume pentru mine. Acum puteam nu numai sa stochez layout-ul intr-un fisier, ci puteam sa schimb formatul continutului. Puteam stoca continutul intr-un tabel intr-o baza de date MySQL si apoi sa il introduc intr-o pagina oricum voiam. De-a dreptul amazing la acea vreme.

Ultimul pas? CMS-urile Open Source. Idea principala la aceste CMS-uri este ca sute de coderi experimentati care lucreaza impreuna pot crea ceva mult mai bun decat pot eu. Acum, un CMS nu va merge pentru fiecare site pe care il facem, dar se cauta ceva care va merge pe o mare majoritate a site-urilor.

Ca un avertisment: Alegerea CMS-ului este FOARTE importanta. Prin acesta site-ul creat va fi schimbat si continutul stocat. Daca te apuci de un CMS, mai tarziu va fi foarte greu sa treci la altul.

Avantajele unui CMS

  • Multe Addon-uri: Multe CMS-uri sunt Open Source, ceea ce inseamna ca oamenii creaza multe module, sau addon-uri care adauga functionalitati. Un CMS poate adauga butoane pentru o versiune PDF a paginii, printare a paginii, trimitere prin mail a paginii, scoatere in evidenta a cuvintelor cautate intr-un document, si sa ofere ajutor pentru prescurtari - toate in acelasi timp fara ca tu sa trebuiasca sa scrii aceste scripturi.
  • WYSIWYG - What You See Is What You Get: Tu sau clientul tau puteti edita contentul fara a trebui trebui sa va atingeti deloc de fisierele site-ului, si chiar puteti folosi un editor WYSISYG.
  • Template-urile - CMS-urile ajuta la separarea continului de layout, ceea ce inseamna ca daca vrei sa schimbi layout-ul site-ului, nu trebuie sa refaci fiecare pagina. Doar modificate cateva fisiere si gata.
  • Timpul Economisit - Daca veti face un site folosind un CMS, economiseste foarte mult timp sa luati cod deja scris.

Dezavantajele unui CMS

  • Flexibilitatea: Acesta este cel mai mare dezavantaj. Poate fi foarte dificil sa schimbati ceva cat de mic in cele mai multe CMS-uri. Si cu cat acestea devin mai complexe, cu atat va va fi mai greu sa schimbati ceva in el. Dar macar nu trebuie sa iti codezi propriul CMS.
  • Invatarea lui: Fiecare CMS este diferit si ia mult timp sa fie ivatat cum se foloseste. Unele sunt mai usor de invatat, altele mai greu, dar toate va vor lua ceva timp sa va obisnuiti cu ele.

CMS-ul Perfect: Ce ii trebuie?

Mai jos expun ce astept eu de la un CMS. Si toate review-urile viitoare pentru CMS-uri vor fi facute pe aceste cerinte. Va invit sa completati cu ce doriti voi de la un CMS

  • Bazat pe pagini: vreau un CMS bazat pe pagini, nu pe post-uri, ca si blog-urile.
  • Ruleaza pe LAMP: in caz ca nu stiti, LAMP inseamna Linux/Apache/ MySQL/ PHP: configutatie folosita de majoritatea serviciilor de hosting.
  • Editor WYSIWYG: clientii au nevoie sa poata adauga continut fara a-si murdari mainile.
  • URL-uri Friendly: acest lucru este absolut necesar in ziua de azi. Iti face site-ul mul mai prietenos pentru motoarele de cautare (ex: www.exemplu.ro/categorie/produs in loc de www.exemplu.ro/index.php?categoryid=5&product=10)
  • Meniuri usor configurabile: trebuie sa iti fie usor sa adaugi o pagina in meniu.
  • Open Source: Acest lucru este necesar, deoarece se va updata constant, sunt sute de oameni care programeaza la el. Daca va faceti unul la comanda, peste cat timp veti primi un update la el (in cazul nostru, odata pe an).
  • Motor de template-uri usor de folosit: un mod la indemana de a schimba infatisarea site-ului, un motor gen Smarty sau ceva care sa mearga brici.
  • Flexibilitate: sa imi pot integra propriile scripturi php si javascript in site.
  • Module si aplicatii predefinite: Sunt destue module si hack-uri (modificari de cod pentru a-ti indeplini cerintele) pentru un CMS? Cu cat este mai mare comunitatea de programatori cu atat este mai bun produsul, in general (in special la Open Source) ar trebui sa puteti adauga usor module de cautare, sondaje, chat etc.
  • Management pentru utilizatori: Este sistemul usor de integrat in scripturi custom? Poti pune permisii pe directoare?
  • E-commerce:  Este posibila integrarea unei solutii de e-commerce in site? Vine cms-ul predefinit cu solutii de e-commerce sau de catalog de prezentare?
  • XHTML/Conform standardelor: Am folosit XHTML si CSS pentru desing-ul paginilor asa ca as prefera ca si CMS-ul sa listeze codul valid.
  • Autogenerare a caii de navigare: acesta ar fi un lucru frumos, pe unele site-uri chiar trebuie, pe unele nu, asa ca trebuie sa fie optiune de enable/disable
  • Panou de administrare usor de folosit: vreau ca acesta sa fie usor de folosit, nu vreau clientii sa trebuiasca sa citeasca 300 de pagini de documentatie pentru a adauga o pagina in site-ul lor.
  • Instalare simpla: Cu cat mai usor timp petrec sa fac CMS-ul sa mearga, cu atat mai bine pentru mine si pentru clienti.
  • Documentatie: Cu cat mai multa cu atat mai buna.
  • Management al limbilor: Sistem de administrare a limbilor, sa pot face un site in mai multe limbi, sau numai intr-una, si acest lucru sa il aleg din panoul de administrare al site-ului

In curand vom adauga aici lista de CMS-uri pentru care vom scrie o revizie. Urmariti acest thread si de’asemena va invitam sa spuneti si pentru ce CMS-uri ati dori review.