Hvad er drupal?

Meget forenklet kan man sige, at Drupal er et webbaseret system som brugerne (typisk webmastere, webjournalister, webredaktører m.m.) benytter når de skal lægge indhold ud på et websted. Systemet er lavet så brugerne blot skal udfylde nogle præ-definerede felter og formularer med indhold, som typisk vil være tekst og billeder.


Drupal – lidt mere i dybden
Drupal er et såkaldt open source (OS) Content Management Platform (CMP). Ordene content og management kender vi fra CMS (Content Management System), og ligesom ved CMS handler det da også om styring af indhold. Men i modsætning til et traditionelt CMS er Drupal en platform, som tilbyder en række moduler (som kan betragtes som en slags byggeklodser), hvormed man kan opbygge andre systemer.
De fleste omtaler Drupal som et CMS, hvilket ikke er helt korrekt. For at forstå dette skal vi kigge på begreberne CMP (Content Management Platform) og CMF (Content Management Framework).
CMF (Content Management Framework)
Et CMF er så low-level, som man umiddelbart kan forestille sig af et Content Management System. Et framework stiller en række basisfortolkere til rådighed, så man selv kan udvikle et CMS. Der findes typisk en række færdigudviklede moduler som kan tilføjes og evt. tilpasses efter behov.
Et eksempel på et framework er danske Sitecore, som absolut ingenting kan i sin reneste form. Til gengæld er det ”let” for en programmør at programmere sit eget CMS med Sitecore.

  • Målgruppe: Et CMF henvender sig til virksomheder, der ønsker fuld kontrol over systemet.
  • Fordele: Man kan få systemet konstrueret 100% som man vil ha’ det.
  • Ulemper:  Man starter fra bunden og det tager tid og ekspertise at programmere et CMS på et framework.

CMP (Content Management Platform)
I modsætning til et CMF så har et CMP (som f.eks. Drupal) allerede indbygget et CMS. Herudover findes en række færdigbyggede moduler, som kan udvide systemets funktionalitet. Da CMS’et allerede er indbygget, er programmeringserfaring i princippet ikke nødvendigt, hvis man kan acceptere systemet som det er og forefindes. Det sker dog kun sjældent og i praksis er det derfor nødvendigt med en vis form for programmeringserfaring.

  • Målgruppe: Et CMP henvender sig til virksomheder, der ikke ønsker at opfinde den dybe tallerken påny, og som – til en vis grad - ønsker at reducere omkostninger til programmører.
  • Fordele: Man får et standardsystem, som derefter kan tilpasses næsten efter behov.
  • Ulemper:  Man er er låst til nogle standardfunktionaliteter samt det niveau af brugerstyring og sikkerhed, som platformen har defineret.

CMS (Content Management System)
Et CMS er den færdige løsning, uanset om den kommer som et færdigt system, om den er sammensat af byggeklodser på en platform som Drupal, eller om den er programmeret på et framework som Sitecore. Køber man en færdig løsning, ligger vedligeholdelsen af systemet typisk eksternt, og man kan alene koncentrere sig om at lægge indhold ud på sit websted.

  • Målgruppe: Mindre og mellemstore virksomheder, som ikke har de tekniske kompetencer.
  • Fordele: Kræver ingen særlige tekniske kompetencer.
  • Ulemper: Man har kun i ringe grad mulighed for at tilpasse systemet til egne behov.

 

Grafik: Forklaring til CMS, CMP og CMF. 
Hvad er Open Source?
Som tidligere nævnt er Drupal baseret på Open Source (åben kildekode), som er en formel licenstype med en formel definition, der administrereres af en non-profit organisation ved navn Open Source Initiative.Open Source er en betegnelse der, kort fortalt, dækker over, at kildekoden skal være offentligt tilgængelig, og at andre gerne må ændre i kildekoden.
Ideen med Open Source er enkel: Når mange programmører kan læse, ændre og distribuere kildekoden til noget software, så udvikler softwaren sig. Med andre ord anvendes softwaren i mange sammenhænge, den forbedres, og fejl bliver rettet. Denne proces kan ske langt hurtigere, end det er tilfældet med kommercielle produkter, som typisk kommer med nye versioner med måneder eller års mellemrum.
Udover Drupal er også PHP, Apache og MySQL, som er henholdvis det programmeringssprog, den webserver og den database som benyttes i Drupal, baseret på Open Source. 
Hvad må jeg – og hvad må jeg ikke med Open Source?
Der findes en lang række Open Source licenser. Den mest udbredte og etablerede er dog GPL (GNU General Public License), som Drupal er frigivet under.
Koderne i en GPL licens er frit tilgængelige og man må ændre dem som man har lyst til - også uden at fortælle det til den oprindelige programmør. Herefter kan man uden videre videregive/sælge koden til tredje part. Betingelsen er dog, at hvis du sælger/videregiver den modificerede GPL kode, så skal GPL licensen medfølge kildekoden. Om modtageren så har lyst til at offentliggøre den modificerede kode eller beholde den for sig selv, er op til modtageren at bestemme. Modtageren har iøvrigt ret til at gøre det samme, altså ændre den modtagne kode og videredistribuere den på GPL betingelserne.
Når man downloader Drupal ligger GPL licensen som en fil med navnet license.txt. Husk at vedlægge denne fil når du overdrager eller sælger en løsning baseret på Drupal.Du kan læse mere om emnet på http://www.gnu.org/licenses/gpl-2.0.html.
Stor credit til Rolf for definitionen omkring reglerne vedr. open source.


Hvad kan Drupal bruges til?
Som nævnt, er Drupal en platform, som tilbyder en række moduler (som kan betragtes som en slags byggeklodser), hvormed man kan opbygge andre systemer. Det kan f.eks. være:

  • Communities, interesse-, entusiast- og discussion sites
  • Kommercielle og personlige websteder
  • Intranet applikationer
  • Blogs
  • E-handels applikationer
  • Vidensbaser
  • Social networking sites

Modulerne i Drupal
Drupal er en modulær platform. Kernen i systemet (core) består af nogle grundlæggende moduler (kaldet core moduler), som indeholder de funktionaliteter, der betragtes som essentielle for et Drupal-site. Udover de grundlæggende moduler findes der flere tusinde Drupal moduler (kaldet contributed modules), som kan betragtes som en slags byggeklodser, der kan sættes sammen på forskellig vis og dermed skabe meget forskelligartede systemer.
Platforme
Drupal kan køre på mange forskellige operativsystemer som bl.a. Windows, Linux og Mac OS X.
Webservere
Drupal skal afvikles på en webserver. Den mest anvendte webserver i forbindelse med Drupal er Apache, men også IIS kan benyttes. Apache er baseret på Open Source og er p.t. verdens mest udbredte webserver. 
Databaser
Ethvert CMS kræver en relationel database. Drupal understøtter MySQL og PostgreSQL og i de nyere versioner (Drupal 6+) er Oracles database-server også understøttet. Drupal kan også køre på en MSSQL-server, men det er ikke officielt understøttet. MySQL er baseret på Open Source og er langt den mest populære database i forbindelse med Drupal.