Symboler för olika versioner av Drupal ligger jämte varandra

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 (publiceringsverktyg) 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 fördelarna verkligen märks: skalbarheten, flexibiliteten, säkerheten. Den tekniska arkitektur och community-drivna open source-baserade (öppen källkod) 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 funktioner. Det gör man med så kallade moduler. Med dem bygger man ut med funktioner som e-handel, nyhetsbrevshantering, medlemsinloggning, diskussionsforum, chatfunktioner, etc. Idag finns det över 40 000 tillgängliga. 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 tredjepartsfunktioner. 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 säkerhetsprocessen är att distributionen 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 i communityt granskar och bekräftar kodens integritet.

Och apropå Peer-review: ytterligare en säkerhetsaspekt handlar om 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 CMS:et.

Hur är det med användarvänligheten?

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 man dock arbetat med gränssnittet och de nyare versionerna är betydligt 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 på utvecklare är lite mindre, inte minst jämfört med mängden som finns till WordPress. 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 ä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 ä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 skillnad i totalkostnaderna.

Sammanfattningsvis

Drupal är en mångsidig och licensfri open source-plattform. Det 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. Utvecklar-communityt ä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: Sedan 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 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 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.

Så arbetar vi på Oxys webbyrå med Drupal CMS

Oxys är en webbyrå i Stockholm som är specialister på Drupal med lång erfarenhet och otaliga webbplatser i portföljen. Utöver webbutveckling så har vi blivit specialister i bevakning och säkerhetsuppdateringar av CMS, teman och plugins. Vi använder optimerade hosting-tjänster och har färdiga serviceavtal med tillhörande SLA för löpande drift och support av våra kunders webbplatser.

Mer under #webbutveckling