Drupal for utviklere

Hva må jeg kunne for å jobbe med Drupal

Man kan bygge fantastastiske sider uten å skrive en eneste linje kode! Hvis du trenger funksjonalitet som du ikke finner i eksisterende moduler er PHP språket du jobber med siden Drupal er skrevet i PHP. Drupal jobber alltid mot en database, f.eks. MySQL, PostgreSQL, MondoDB eller Microsoft SQL Server. Man trenger imidlertid ikke kunne SQL for å utvikle for Drupal på grunn av Drupals databaseabstraksjon som lar deg jobbe opp mot ulike typer databaser, og du kan gjøre kall via PHP objekter uten å en eneste linje SQL.

Produkt eller rammeverk?

Drupal er på på mange måter BÅDE et produkt og rammeverk. Drupal gir masse funksjonalitet rett ut av boksen, med et kraftfullt brukersystem med registrering og rettigheter, et fleksibelt menysystem, avansert administrativt grensesnitt bare for å nevne noe. Drupal har et veldokumentert API med eksempler, og det finnes knapt en eneste funksjon som ikke omhandles i en bloggpost som kan finnes med litt Google-fu. 

Contrib

Der Drupal virkelig skinner er når man trenger å utvide standardfunksjonalitet og her kommer Drupals kraftige modulsystem inn i bildet.

Contrib er Drupal lingo for brukergenererte moduler. Det finnes contribmoduler for et stort antall funksjoner, enten det er å koble seg opp mot Facebook eller å implementere et stilig Javascript bibliotek.

Diskusjoner og utvikling i Drupal foregår i de ulike modulenes sakskøer (issue queues). Aktive moduler har alltid en eller flere vedlikeholdere (maintainers) som har et særskilt ansvar for å svare på henvendelser fra brukere, enten det gjelder bugs eller ønsker for fremtidig funksjonalitet. Vedlikeholdere har også et ansvar for å videreutvikle modulen, men hvem som helst kan sende inn patcher med kodeendringer som etter testing av andre brukere kan bli lagt til modulen. Drupal Contrib moduler blir utgitt under GPL lisensen på samme måte som Drupal selv.

Lag moduler selv

Selv om man kan får gjort utrolig mye kun ved hjelp av allerede eksisterende moduler, vil det også være mange situasjoner der man må kunne legge til sin egen kode. Takket være Drupals hooksystem kan man skrive sine egne funksjoner som kan kommunisere med eventer i Drupalsystemet.  [Et par eksempler]

Ressurser

Drupal.org er selve hjertet i Drupalfellesskapet, hvor man kan laste ned Drupal, finne contribmodulene man trenger, samt finne dokumentasjon, spørre om hjelp eller hjelpe andre.

Det finnes ellers en stor flora av ressurser for utvikling med Drupal. Både bøker, screencasts og aktive IRC kanaler kan være gode hjelpemidler på veien. I tillegg finnes også smarte moduler som examples og devel som hjelper deg med å komme fort i gang med modulutvikling, samt kunne feilsøke og undersøke elementer på sidene dine. Det er også mulig å bruke en IDE som Eclipse, Komodo eller Netbeans, og feilsøkingsverktøy som xdebug der du kan blandt annet gå igjennom koden steg for steg, undersøke variabler og mye mer.

Drush er et hendig program for utviklere som lar deg gjøre svært mange drupal oppgaver via kommandolinjen. Du kan for eksempel laste ned moduler, lage backuper eller oppdatere siden ved hjelp av enkle kommandoer.

Drupal veikart

Drupal er nå i versjon 7, og forventet lansering av versjon 8 er sommeren 2013. Ved hver oppdatering må imidlertid moduler tilpasset endringer i API'et, og det er derfor en nokså lang overlappingsprosess mellom ulike versjoner. Det er fortsatt mange sider som kjører Drupal 6 og fungerer veldig bra med det, men de aller fleste nye sider blir nå utviklet med Drupal 7 og slik vil det nok være frem til 2014. Drupals kjerneutviklere har startet et samarbeid med utviklerne av Symfony. Dette vil knytte Drupal nærmere til resten av PHP-miljøet og Drupal vil få direkte nytte av av teknologiske nyvinninger på en annen måte enn før.