Pogledajte određenu poruku
Staro 26. 09. 2007.   #31
Misha
profesionalac
Qualified
 
Avatar Misha
 
Datum učlanjenja: 20.06.2007
Lokacija: Beograd
Poruke: 189
Hvala: 17
14 "Hvala" u 11 poruka
Misha is on a distinguished road
Default

"Drupal.org is the official website of Drupal, an open source content management platform."

... je bukvalno prva recenica sa Drupal site-a jelte, dok sam ja moj komentar dao iz perspektive nekog ko je "malkice vise" zasao u Drupal pricu :-)

Da, kao sto vec rekoh Drupal je CMS koji je vremenom postao i strava framework. Inace dootzky, cinis golemu gresku sto Drupal stavljas u isti kos kao i Joomlu i phpNuke. To jednostavno ne mere ... phpNuke je pregazilo vreme i on vise nije u igri, a Joomla je toliko lose napisana da je sa stanovista programera al totalno neupotrebljiva.

Evo da potkrepim tvrdnju da Drupal jeste I framework sa nekoliko detalja:

- FORM API, deo Drupala koji olaksava pisanje custom formi, sve sa validacijama i custom logikom.

Ogromna stvar za mene je i sto postoji standardan nacin za pisanje custom form elemenata. Recimo za moj tekuci Drupal projekat sam napravio novi Drupal form element koji koristis iz FORM API-ja kao i sve ostale ugradjene elemente. Izgleda kao obican select element, stim sto ima <Other> opciju. Kad kliknes tu opciju pojavi se textbox desno od select elementa u koji mozes da uneses sta god hoces. Niste svesni koliko je lako ovo bilo napisati, a sad mogu da ga koristim na prirodan nacin i u buducim projektima. Isto tako sam napisao i svoj custom file upload, sa automatskim pravljenjem i prikazivanjem thumbnail-a za slike za neki raniji projekat, koji iskoristih i u ovom. Sto jebe kevu koliko je korisno moci raditi!

- TABLE f-ja, olaksava pisanje custom tabela sa podacima, sve sa sortiranjem i paggingom.

- DB abstraction layers, ima DB f-je koje automatski vrse zastitu od SQL injection napada, i koje su DB agnosticne. Znaci kad pozelis da predjes sa MySQLa na PostgreSQL to ti je poprilicno olaksano.

- HOOKS, za mene THE killer feature Drupala. Drupal dolazi sa 50-tak hookov-a, a i ti kao programer mozes da pises nove. Na primer postoji hook_form_alter(). Sa tim hook-om imas moc da izmenis BILO KOJU formu na site-u, Drupalovu ili iz nekog third party modula, sve jedno. Recimo mozes da izbacis/ubacis element iz forme, da ubacis dodatnu logiku koja ce se izvrsiti za zeljenu form operaciju, da ubacis dodatne validacije. U mom tekucem projektu sam zahvaljujuci ovome tako izmenio login/register forme Drupala da ih ne biste prepoznali (evo pogledajte: http://www.allamericanfootballleague.com/players/ , kliknite Yes za malo JS-a)

Kad sam istrazivao kojim putem da idem, vrlo ozbiljno sam seo i uporedio: CakePHP, Symfony, Rails, Django, Zend Framework i Drupal. Ispalo je da Drupal ima najbolji balans svega onoga sto ja mislim da framework treba da ima. A on cak i nije zapocet kao framework ... sto bi rekli izgleda smesno al deluje! :-)

Al niste svesni koliko je Drupal razvijena platforma! Jednostavno nema sanse da detaljnije opisem sve ono sto ima:

- TAXONOMY, ogroman pod API za kategorisanje bilo cega!
- SEARCH, ogroman pod API za indeksiranje i pretrazivanje bilo cega na site-e!
- LOKALIZACIJA I INTERNACIONALIZACIJA, i statickog i dinamickog sadrzaja.
- FILES, IMAGES, pod API-ji za rad sa file-ovima (private download ...) i slikama (resizing, croping ...)
- USERS & USERS AUTHENTICATION, ogroman pod API za rad sa korisnicima

Za mene isto golema stvar ... dokumentacija ... jedna od najboljih koje sam ikada video u open source svetu ... http://drupal.org/handbooks ... plus ima nekoliko knjiga, jedna od njih namenjena bas programerima, koju sam procitao i preporucujem: "Pro Drupal Development"

Da nisam naleteo na Drupal verovatno bih i ja pisao nesto od nule ... ovako pisem reupotrebljive module za Drupal koji odgovaraju mojim programerskim preferencama. Vec imam napisane module sa brdo dodatnih funkcionalnosti za rad sa bazom, file-ovima, stringovima i form-ama. Recimo za nekoliko sati sam uspeo da napisem formext modul, koji mi omogucava da preko web interface izgenerisem FORM API strukturu za bilo koju tabelu u bazi. Sad zahvaljujuci tome (i drugim nekim stvarima) mogu da napisem CRUD za bilo koju DB tabelu za nekih 2 minuta!

Tako da da ... definitivno preporucujem Drupal bas kao framework!
Misha je offline   Odgovorite uz citat