Drupal - hvorfor al den snak om Drupal?

Content management systemet Drupal har vind i sejlene. Men hvad er det, som er godt ved Drupal i forhold til andre systemer, hvad er det mindre godt til, og hvordan ser fremtiden ud for Drupal?

Drupal er open source

Drupal er gratis og kan frit hentes ned fra nettet.

Det kan du også med mange proprietære produkter. Eksempelvis tilbyder Microsoft produktet Sharepoint i en gratis udgave. Men du skal da senere betale, hvis du vil have produktet i en udgave med flere funktioner. Sådan er det ikke med Drupal. Der har du adgang til det hele, uden at du skal til lommerne. Og du kan kigge ned i koden. Som slutbruger er det lige meget, men som webprogrammør er det en fordel at kunne se præcis, hvordan systemet er bygget op.

Du kan også frit hente mange moduler til Drupal - dem er der ca. 10.000 af. Man kan sammenligne dem med Lego-klodser, som kan få dit website til at gøre mange forskellige ting. Eksempelvis hvis du vil have en webbutik på dit eget site.

Alle kan skrive et modul til Drupal, og derfor er der både gode og dårlige moduler. Nogle moduler er uundværlige. Andre moduler kan være en genvej til at løse et problem, fordi man kan tage udgangspunkt i dem og forbedre dem - i stedet for at starte fra bunden. Endelig er der en masse moduler, som man slet ikke skal røre ved, fordi de ikke er tilstrækkeligt gennemarbejdede.

Drupal har en åben og fleksibel struktur

Teknisk set har Drupal et fortrin ved at være fleksibelt opbygget. Med meget få liniers kode kan man ændre i, hvordan selv meget centrale dele af systemet opfører sig.

Lad os tage et eksempel. Du ønsker at give dine brugere valget mellem at oprette sig med en simpel eller avanceret brugerprofil. Den første kan være på en enkelt side, mens den sidste betyder, at de skal gennem flere sider, hvor de afgiver forskellige oplysninger. I mange systemer vil det være kompliceret at kode, fordi brugerregistreringen er låst til en bestemt formular. Med Drupal har du let adgang til at ændre i formularen og tilføje din egen logik. Og derfor kan du nøjes med få liniers kode, hvor det i andre systemer ville blive en meget omfattende opgave.

Det gælder ikke kun formularer. Det meste af kernen i Drupal er moduler. Eksempelvis styres alt omkring brugere af et bruger-modul. Så når du udbygger Drupal med dine egne moduler, sker det på præcis samme måde, som Drupal selv er bygget op.

Drupal bygger på traditionel open source teknologi

Drupal er skrevet i programmeringssproget PHP, og kører normalt med en MySQL database. PHP er det mest anvendte open source programmeringssprog i verden; MySQL er den mest anvendte open source database. Det er med andre ord et par gamle kendinge.

Fordele ved PHP og MySQL:

  • meget stor udbredelse
  • veludbygget funktionalitet.

Ulemper:

  • der findes mere raffinerede måder at gøre tingene på,
  • til websites med meget stor trafik eller med meget store datamængder kan det være en udfordring at opnå tilstrækkelig hastighed med PHP/MySQL.

Drupal er svært at programmere

Mange webprogrammører har fået sved på panden, da de skulle lære Drupal. Det går nemt at komme igang med at installere Drupal; det går også nemt at lave enkle justeringer af design. Men når man skal i gang med at kode kompleks funktionalitet, bliver det udfordrende. Drupal har et raffineret, men ikke altid overskueligt system for hvordan man udbygger med nye moduler. De fleste kommer til at angribe opgaven lidt forkert første gang, og begår forskellige fejl som fx at hacke Drupal kernen (hvilket er en rigtig dårlig idé).

Drupal 7 var et stort skridt fremad for brugervenligheden

I starten af 2011 blev Drupal 7 lanceret. Der er sket meget siden Drupal udkom i version 6 i 2008. Først og fremmest er der en hel masse små og store ting i Drupals brugerflade, som er blevet mere enkle og smidige at bruge. Og det er ikke uden grund - arbejdet med Drupal 7 har især fokuseret på at skabe en bedre brugeroplevelse. Der er stadig masser af muligheder for forbedringer på den front, men Drupal er godt med.

Drupal 8 har en bedre teknisk struktur

Med Drupal 8 blev en stor del af kernen i Drupal skiftet ud med dele fra andre open source projekter, især fra Symfony platformen. Det har styrket Drupal, fordi teknikken er blevet mere velstruktureret, og fordi Drupal dermed nyder godt af de fortsatte forbedringer i Symfony - også fra ikke-Drupal udviklere.

Integration med andre systemer kræver specialistkompetencer

Ønsker du at bruge Drupal til et website, hvor du skal integrere med andre systemer, som bygger på Microsoft .net? Eller ønsker du at udveksle data med SOAP webservices? Så får du formentlig brug for specialister til at hjælpe dig.

Ja, der findes Drupal-moduler, som kan klare integration med SOAP webservices og Sharepoint. Men formentlig kan de ikke helt de ting, som du har brug for. Og dermed er du tvunget til at købe konsulenttimer for at få modulerne til at matche dine behov.

Bedre skalerbarhed forude

Med Drupal 8 bliver det nemmere at skalere Drupal, så det kan køre hurtigere, selv om dit website har rigtig mange besøgende eller skal jonglere med meget store mængder data.

Drupals community har det godt

Medio 2015 er der masser af momentum i Drupals community. Så i skrivende stund ser fremtiden lys ud for Drupal. Hvornår tiderne vender, og andre systemer viser sig at kunne løfte opgaven bedre end Drupal - det ved vi ikke.

Kommentarer

christian@infinito.dk

Kommentar: 

Hej,

Synes det er en fin tekst men

"Alle kan skrive et modul til Drupal, og derfor er der både gode og dårlige moduler. Nogle moduler er uundværlige. Andre moduler kan være en genvej til at løse et problem, fordi man kan tage udgangspunkt i dem og forbedre dem - i stedet for at starte fra bunden. Endelig er der en masse moduler, som man slet ikke skal røre ved, fordi de ikke er tilstrækkeligt gennemarbejdede."

og

"Drupal er svært at programmere

Mange webprogrammører har fået sved på panden, da de skulle lære Drupal. Det går nemt at komme igang med at installere Drupal; det går også nemt at lave enkle justeringer af design. Men når man skal i gang med at kode kompleks funktionalitet, bliver det udfordrende. Drupal har et raffineret, men ikke altid overskueligt system for hvordan man udbygger med nye moduler. De fleste kommer til at angribe opgaven lidt forkert første gang, og begår forskellige fejl som fx at hacke Drupal kernen (hvilket er en rigtig dårlig idé)."

står lidt i kontrast til hinanden.

Hej Christian

Kommentar: 

Hej Christian

Hænger det ikke meget godt sammen?

At på den ene side kan alle og enhver lave et Drupal modul, men at det er meget krævende at lave et godt Drupal modul?

Uddyb gerne, hvad du mener.

Venlig hilsen
Bjørn Axelsen