Aproape un an de Drupal

Scris de  //  28.03.2011  //  9 comentarii

Acum aproape un an de zile căutam să învăț lucruri noi și tehnologii interesante. Am profitat de oportunitatea de a participa la un proiect nou bazat pe Drupal 6 și nu regret. Având în vedere mărimea și complexitatea proiectului, optimizarea aplicației era o necesitate.

Acesta a fost unul dintre motivele care m-a convins să accept “provocarea”. Fiind pasionat de optimizări și aplicații mari, am trecut peste ce zisesem cu un an înainte şi anume, că nu-mi plac framework-urile, mai ales când vine vorba de optimizare și am început să învăț Drupal 6. Acum, după ce aplicația este în stadiu de mentenanță, m-am gândit că ar fi interesant să fac un bilanț al experiențelor avute cu Drupal.

De ce recomand Drupal?

Pentru că e altfel. Nu seamănă cu niciun alt framework PHP și e mai mult decât un framework. Poate fi considerat “content management framework“, “web application framework” cât și CMS. E folosit de 1.5% din site-uri la nivel global și poate ţine în spate site-uri cu trafic foarte mare. Toate astea în condițiile în care și cineva care nu știe programare poate face site-uri în Drupal. Nu-i așa că pare interesant?

De unde să înveți?

Am început cu tutoriale și articole pe net. Apoi am vizionat rapid și câteva video-tutoriale de la Lullabot. Însă majoritatea tutorialelor te învață CCK și Views, module de care nu era nevoie în proiectul nostru (vroiam performanță cu orice preț).

Am descoperit apoi cartea “Pro Drupal Development, Second Edition” a celor de la Apress. Recomand cartea tuturor celor care vor să înceapă lucrul în Drupal (există și ediția a 3-a pentru Drupal 7).

În carte se găsesc toate explicațiile necesare pentru a învăța Drupal, de la module de bază, Form API, securitate și inclusiv exemple. Cu alte cuvinte, tot ce ai nevoie ca să începi să lucrezi în Drupal.

La ce probleme ar trebui să te aștepți?

În primul rând, la Drupal, începutul este greu. E faza în care trebuie să iei deciziile de implementare și nu ești niciodată sigur cum să faci asta cât mai bine. Chiar dacă știi mare parte din metode, hook-uri, o să trăiești cu impresia că există o altă soluție mult mai potrivită decât cea aleasă de tine (sau doar eu sunt perfecționist?). Ca să treci peste situațiile de genul ăsta, trebuie să cauți module pe net care fac ceva asemănător cu ce vrei tu și să te inspiri.

O altă variantă, mai rapidă și mai simplă, e să discuți cu cineva cu experiență. Dacă alegi totuşi să faci o analiză a modulelor deja existente, o să fii uimit de câte lucruri noi înveți și o să exclami de multe ori “oare de ce nu m-am gândit și eu la asta înainte!?”.

Tot aici o să apară și problemele tipice de dezvoltare. Golirea cache-ului atunci când modifici meniul sau tema sunt genul de greșeli care “îți scapă” și îți fac viața grea la început. O să te amuzi pe seama lor după ce apuci să capeți puțină experiență și o să ți se pară la fel de banale ca un semn “;” uitat  în PHP.

Dacă reușești să treci peste etapa de început, apoi deja lucrurile devin simple. O să acumulezi informații și experiență mult mai ușor și nu o să fie greu să ajungi să descoperi tot felul de trick-uri care la început ţi se păreau imposibile.

Te ajută comunitatea, modulele existente?

Răspunsul este, în mod sigur, da. Drupal.org anunță nu mai puțin de 8678 de module existente la ora actuală pentru Drupal. Multe din ele sunt incomplete sau cu erori, dar, totuși, foarte valoroase. Chiar dacă nu te ajută direct, te pot scoate din impas atunci când nu ai idee cum să implementezi un anumit feature sau pot fi un punct de plecare la modulele scrise de tine. Cele mai multe dintre erorile găsite în modulele din comunitate sunt foarte ușor de rezolvat.

Pe lângă cele obişnuite, adică cele cu mici erori, eventual chestii lipsă faţă de ce ţi-ai dori tu, mai există şi module care te scutesc de multe zile de lucru. Am răsuflat uşurat după ce am aflat că module ca Apache Solr sau CDN integration şi altele funcţionează exact aşa cum trebuie. Nici nu vreau să mă gândesc cât dura dezvoltarea de la zero a unor feature-uri asemănătoare.

Şi totuşi, merită să înveţi Drupal?

Eu zic da, este de viitor. Nu crezi?

Distribuie mai departe

  • AlexR

    Drupal sau Joomla? Care sunt diferentele?

    Alta intrebare ar fi legata de licente. Pot folosi Drupal/Joomla pentru a construi un site pentru o firma sau o institutie? Exista module cu licente mai restrictive?

  • Secan

    Diferente exista. Joomla e mai comercial, in ceea ce priveste modulele si API-urile, in plus consider ca e mai stufos si sofisticat. In schimb Drupal e mai lejer, desi nu are o gama atata de vasta si variata de module si API-uri precum Joomla. Pentru mine, personal nu prezinta o noutate niciuna dintre cele doua, dar cu acest post (al lui Calin), mi-a re-starnit (sa zic asa) interesul Drupal :D

  • http://112 Lucian Neag

    Pentru prima întrebare răspunsul ar fi foarte lung, și se poate scrie un articol întreg despre asta. Pot să-ți recomand să citești aici o comparație foarte bine făcută: http://goo.gl/wvSdk

    În legătură cu licențele, nu sunt probleme din câte știu eu. Poți să-l folosești la orice site-uri. Numai dacă vrei să publici module sau patch-uri trebuie să se publici sub aceiași licență ca și Drupal-ul (GPL v2+). Așadar toate modulele de pe drupal.org au licență GPL 2+

  • Pavel M.

    Drupal++

    Eu am inceput acum cateva luni cu el si sunt foarte impresionat. Se potriveste foarte bine, parerea mea, in special site-urilor (firmelor) care vor sa inceapa de jos, dar cu o posibilitate usoara/rapida de extindere.

    In ceea ce priveste Joomla – probleme de securitate si cod scris cu galetile, greu de descifrat.

  • http://www.jazio.net Farcas Ovidiu

    Lucian, si eu ma pregatesc pentru un proiect large scale pe Drupal si studiez intens. Sunt UI Developer pe Drupal.

    Imi place in mod deosebit integrarea cu Solr, extensibilitatea simpla prin custom modules si posibilitatea sa le afisezi in site prin blocks, iar in ce priveste partea de UI, solutiile oferite de Jake Strawn prin Omega Themes.

    M-ar interesa sa stiu de unde ai cumparat cartea Pro Developement si daca e de pe amazon cat a durat shipping-ul.

    De asemenea mi-as dori sa corespondam si sa schimbam impresii. Adresa mea e mai jos.

  • http://112 Lucian Neag

    Cartea a fost câștigată de către colegi la DrupalCamp Timișoara 2010. Se găsește și pe Amazon (http://goo.gl/SpXsX), însă nu știu nimic despre livrare.

    Tot ce pot să spun, e că de când am postat articolul am răsfoit și ediția a treia, despre Drupal 7, și sunt foarte dezamăgit. Am găsit tot felul de informații eronate și lucrurile nu mai sunt explicate în detaliu ca în ediția precedentă.

    Sincer nu auzisem până acum de Omega Themes, însă pare un proiect foarte interesant.

    Pentru schimb de impresii, mă găsești pe twitter (luxianm) sau celălalte rețele sociale.

  • http://www.it-ech.com Teodor Bita

    De curand am creat IT&Tech, un site cu tutoriale Drupal. Pentru cei care doresc sa se acolodeze cu acest CMS, poate fi un inceput. Succes!

    • http://www.it-ech.com/ Incepator Drupal

      Domnule Bita,

      Te lauzi de anul trecut cu acest site. Nu l-am vazut niciodata functional (The connection has timed out. The server at http://www.it-ech.com is taking too long to respond.), iar despre tutoriale – ZERO.
      Mai multa munca daca vreti sa oferiti ceva.

  • Pingback: Avantajele folosirii unui framework în PHP