Vad är Drupal CMS? Och för vem passar plattformen bäst?
Drupal är ett kraftfullt webbpubliceringsverktyg, Content Management System (CMS). Det används av företag och organisationer över hela världen. Bland användarna finns Tesla, Nokia, Emmy award, Europakommissionen och australienska staten. I Sverige används det bland andra av Karolinska institutet, Grand Hotel och Lunds universitet.
Drupal TL;DR
Fördelar
- Kostnadsfritt (inga licensavgifter)
- Hög säkerhet
- Stor flexibilitet och skalbarhet
- Lätt att integrera med andra system
- Professionell hantering av många användare och administratörer med olika rättigheter
Utmaningar
- Admin-gränssnittet kan vara överväldigande
- Tillgången på utvecklare är mindre än för exempelvis Wordpress
Vad är Drupal?
Drupal är ett CMS som används över hela världen och som är känt för sin flexibilitet. Det kan visserligen användas till små och enkla webbplatser men det är framför allt i stora och mer komplexa webbapplikationer och intranät som Drupals fördelar verkligen märks: skalbarheten, flexibiliteten, säkerheten. Drupals tekniska arkitektur och community-drivna open source-baserade utvecklingsmodell gör Drupal till ett kraftfullt verktyg, både vid webbutveckling och vid publicering.
Drupals moduler
En av Drupals stora styrkor ligger i förmågan att också utöka och specialanpassa en sajts funktionalitet. Det gör man med så kallade moduler, eller funktionalitetsmoduler. Med moduler bygger man ut Drupal med funktioner som e-handel, nyhetsbrevshantering, medlemsinloggning, diskussionsforum, chatfunktioner, etc. Idag finns det över 40 000 tillgängliga moduler. De har skapats av Drupals community som idag består av omkring en miljon utvecklare runtom hela världen.
Mycket funktionalitet direkt out-of-the-box
Drupal kommer redan i grundinstallationen med ett robust bibliotek av moduler som gör det möjligt att bygga olika typer av system utan att behöva använda tredjepartsmoduler. Det här är naturligtvis en styrka, men också ett potentiellt problem: den som vill bygga en mindre komplex sajt riskerar att överväldigas. I det läget bör man därför lägga arbete på att dölja funktionalitet som inte ska användas.
Flerspråk? Yes, please!
Drupal stödjer flerspråkiga webbplatser utan begränsningar för hur många språk en webbplats kan ha – eller vilka språk det handlar om! Det finns färdiga översättningar av användargränssnittet på hundratals språk, från afrikaans till walesiska, via nordsamiska och esperanto.
Stort säkerhetsfokus
Drupal har en generellt mycket hög säkerhet på flera olika nivåer. Från hur Drupals hela organisation fungerar, via systemarkitekturen ända ner till hanteringen av användarnas olika rättigheter.
En unik aspekt av Drupals säkerhetsprocess är att distribution av Drupals grundinstallation, modulerna och alla säkerhetsuppdateringar sker genom en enda central plats: drupal.org. Och vid schemalagda tidpunkter. Man behöver alltså inte ha bevakning av olika platser för att vara garanterad att fånga upp säkerhetsuppdateringar. All distribution sker dessutom först efter en peer review-process. Det ökar tillförlitligheten eftersom många utvecklare i communityt granskar och bekräftar kodens integritet.
Och apropå Peer-review: ytterligare en säkerhetsaspekt handlar om Drupal-communityts incitamentsstruktur. Eftersom man inte får eller kan ta betalt för Drupal-moduler så finns det heller inte några ekonomiska incitament för modul-utvecklarna att dölja eventuella säkerhetshål. Den ideella formen för Drupal.org premierar den gemensamma drivkraften att hela tiden förbättra och optimera Drupal.
Hur är det med användarvänligheten?
Som så ofta är Drupal även här mycket flexibelt. Och även här har möjligheterna till speciallösningar en baksida. För webbredaktörer erbjuder Drupal mycket anpassningsbara redigeringsmöjligheter. Till det kommer en finkorniga hantering av administratörs- och redaktörsrättigheter. Men i andra änden finns risken för att komplexiteten blir överväldigande för en redaktör. Historiskt sett har också Drupal uppfattats som komplext och mindre användarvänligt. De senaste åren har dock Drupal arbetat med admingränssnittet och de nyare versionerna är lättare att använda.
Vilka är nackdelarna med Drupal?
Trots sina många fördelar finns det områden där Drupal kan vara svagare än konkurrenter som WordPress på vissa områden.
Tillgången på utvecklare
Tillgången till utvecklare är lite mindre, inte minst jämfört med mängden wordpress-utvecklare. Drupal är ett kompetent och därmed bitvis komplext system. Det gör att tröskeln för nya utvecklare att börja lära sig Drupal är högre.
Gränssnittet
Det omfattande admin-gränssnittet kan upplevas överväldigande för nya användare. Inte minst om man inte gör anpassningar och döljer den funktionalitet som man inte använder. Å andra sidan kan man i Drupal göra detaljerade anpassningar av gränssnittet, men det kräver med andra ord en viss arbetsinsats.
Högre instegskostnad
Installationstiden och därmed kostnaderna för grundinstallationen av Drupal är ofta högre än för mindre CMS. I stora projekt är detta lite av en icke-fråga, men vid små webbprojekt kan det här utgöra en påtaglig skillnad i totalkostnaderna.
Sammanfattningsvis
Drupal är en mångsidig och licensfri open source-plattform. Den kan specialanpassas närmast i oändlighet och passar både små och stora projekt – även om Drupals stjärna lyser som allra klarast vid mer komplexa projekt. Systemet har ett användargränssnitt som också kan specialanpassas i detalj, det har omfattande flerspråksstöd och hög säkerhet. Drupals utvecklar-community är globalt och omfattande vilket gör Drupal till ett pålitligt och framtidssäkrat val. Något som ledande företag och statliga organisationer över hela världen vittnar om.
(För tech-finsmakarna: tekniken bakom Drupal)
Programmeringsspråk: Drupal är huvudsakligen skrivet i programmeringsspråket PHP. Språket används för att skapa dynamiska webbsidor och är vanligt när man utvecklar webbapplikationer.
Databashanterare: Drupal använder sig primärt av databashanteraren MySQL eller MariaDB.
Modulsystem: En av Drupals stora styrkor är dess modulsystem. Moduler är små programtillägg som kan anpassa och utöka plattformens funktionalitet. Det finns tusentals moduler tillgängliga på Drupal.org.
Teman: Drupal använder ett temabaserat system för att separera design och innehåll. Teman styr webbplatsens visuella utseende och layout. Det finns möjlighet att skapa anpassade teman för att uppfylla specifika designkrav.
Entity-Field-View (EFV): Drupal använder en Entity-Field-View (EFV) arkitektur. Detta innebär att webbplatsens innehåll representeras som enheter (entities), och dessa enheter kan ha olika fält (fields) som innehåller information. Vy (view) används för att definiera hur denna information presenteras för användaren.
Symfony Framework: Drupals senaste version är Drupal 10. Från och med version 8 använder Drupal delar av Symfony Framework, ett PHP-baserat ramverk för webbutveckling. Symfony tillför moderna designprinciper och komponenter till Drupals arkitektur och underlättar integration med externa tjänster och bibliotek.
RESTful API: Drupal stödjer RESTful API (Application Programming Interface). Det gör det enklare att integrera CMS:et med andra webbtjänster och appar genom att utvecklare kan hämta och hantera data från Drupal-webbplatser på ett standardiserat sätt. Med REST-API:et kan man använda Drupals backendsystem i tandem med moderna frontend-ramverk som React eller Vue.
Twig Templating Engine: Drupal använder Twig som sin templating engine för att rendera sidor. Twig är en flexibel och kraftfull mallmotor som gör det möjligt för utvecklare och designers att skapa dynamiska och återanvändbara mallar.
Composer: Drupal använder Composer som packethanterare för installation och hantering av moduler. Fördelarna är att det gör det enkelt och säkert att hantera och uppdatera paketen (moduler, teman, patcher, etc) och deras beroenden i förhållande till varandra.