Hoppa till huvudinnehåll
Menu

Den här sidan använder cookies. Om du fortsätter använda sidan så accepterar du användandet av cookies. Läs mer om cookies

Jag förstår

Drupal 8 - en disruptiv förändring?

Jag tror Drupal 8 innebär en disruptiv förändring för oss som arbetar med Drupal. Här förklarar jag varför.

När en ny release av en produkt lanseras är det traditionsenligt den s.k. "feature listan" som lyfts fram. Ofta blir reaktionen blandad där upprörda röster pratar om saknade funktioner och där funktioner synas i detalj mot andra produkter. På andra sidan står evangelisterna som närmast religiöst hyllar de mest banala förbättringarna.

Ibland nämns att Drupal 8 har över 200 nya funktioner och förbättringar. Men är man insatt i agil produktutveckling så vet man att det inte är funktionerna i sig som är viktiga, utan den förändring dessa funktioner möjliggör som är värdefull. Det är från det perspektivet vi skall titta på Drupal 8 och varför Drupal 8 gör skillnad på riktigt för produktägare på företag och organisationer.

Proudly found elsewhere

Drupal utvecklas och förvaltas av världens största communtiy för öppen källkod. Till Drupal 8 har över 3 300 utvecklare bidragit med kod. Självklart får inte alla exakt som de vill och inför utvecklingen av en ny version fattas beslut om vad man vill uppnå på ett övergripande plan, s.k. initiativ. Det utses en eller ett par ansvariga för varje initiativ som får styra utvecklingen inom respektive initiativ med ett par vägledande principer som guidning.

En vägledande princip har varit "proudly found elsewhere". Med det menas att vid all utveklingen av Drupal ska man när så är möjligt använda andra framgångsrika öppen källkodsprojekt som drivs av starka, etablerade communityn. Vi har till exempel fått nya lekkamrater i form av Twig, Guzzle och Symfony.

Fördelarna med det är många. Drupals utvecklarcommunity slipper uppfinna hjulet på nytt samtidigt som man drar nytta av hela den innovationskraft som finns i de andra communityna. Man kan istället fokusera på det som verkligen är unikt för Drupal. Dessutom breddar man basen av utvecklare som får upp ögonen för Drupalprojektet och det blir många fruktbara utbyten av ideer och önskemål mellan de olika communityna.

Symfony ger nya möjligheter

Symfony är ett PHP-baserat webbapplikationsramverk som ursprungligen helt sponsades av Amazon. En intressant detalj är att de delar som bytts ut i Drupal och ersatts av Symfony hade utvecklats och förvaltats av ca 200 personer från Drupalcommunityn, medans Symfony-projektet har haft omkring 2 000 utvecklare involverade.

Separationen av funktionalitet kommer också innebära större möjligheter att förändra Drupal framöver. Tidigare var den mesta utvecklingen Drupalspecifik och det var svårt att rakt av använda andra komponenter från PHP världen. Drupal blir en attraktivare produkt med Symfony, eftersom utvecklare nu kan jobba med anpassningar i ett format som ligger i teknikens framkant.

Twig gör Drupal enklare och säkrare

Historiskt sett så har front-end utvecklare i Drupal varit en helt egen genre av utvecklare, med en helt unik kompetens. Grunden i Drupals ursprungliga temalager är framtaget under Drupals tidiga versioner och ses i dag som omoderna. När de togs fram var de ett strukturerat sätt att lösa det på med de förutsättningar som PHP gav på den tiden, men det har lett till att vi haft onödigt komplicerade rutiner för att göra vissa typer av förändringar i vår HTML-output. Vi har tidigare också haft möjligheten att skriva PHP direkt i temalagret, vilket dels varit en säkerhetsrisk men också har inneburit att frontend utvecklarna varit tvunga att kunna PHP + Drupals API:er för att kunna göra till synes ganska enkla ändrigar.

Det skall poängteras att vana utvecklare gjort detta både snabbt och effektivt, men det har inneburit en lång startsträcka för nya utvecklare och det har varit svårt att attrahera generalister bland frontend-utvecklare till Drupal. Det har också varit ett återkommande problem att ovana frontend-utvecklare skrivit PHP-kod vilket har lett till prestanda och säkerhetsproblem för enskilda projekt. Med Twig blir temalagret extremt mycket enklare att lära sig och utvecklarna får tillgång till fler moderna arbetsredskap. Lär du dig Twigg är din kunskap inte heller Drupalspecifik.

Guzzle och andra mindre kända bubblare

Min kollega Pontus Nilsson berättade också om Guzzle som också är en nyhet som kommer att ge Drupalutvecklare modernare verktyg för integrationer och andra lågnivå rutiner. Guzzle är ett http request bibliotet som ersätter funktioner som tidigare var Drupalspecifika. 

Här hittar du alla tilläg som Drupal numera använder. 

En ny värld av tillgängliga tilläggsmoduler

Skillnader i hur man arbetar med Drupal 8 jämfört med Drupal 7.

Ofta lyfts tilläggsmodulerna fram som en stor fördel med Open Source jämfört med proprietär mjukvara. För Drupals communityn öppnas nu en värld av nya möjligheter tack vare att vi använder Twig, Symfony och andra tillägg. Vi har tidigare mest varit "begränsade" till contrib moduler och teman som varit Drupalspecifika. Det har förvisso inte varit brist på moduler, men vi som arbetar professionellt med Drupal vet att mängden moduler som man normalt använder i sina projekt är långt i från de 30.000 som finns tillgängliga. Det rör sig snarare om något hundratal som används ofta och ytterligare ett hundratal som återkommer då och då. 

Den kanske viktigaste förändringen ur detta perspektiv tror jag Symfony kommer att ge. Symfony ger en direktåtkomst till komponenter som är anpassade för helt andra andamål än det som normalt legat inom Drupals område. När vi tidigare kanske sagt att detta kanske inte är ett Drupalprojekt, kan vi nu snarare se det som en styrka i att vi fortfarande kan dra nytta av ramverket i Drupal som Symfony saknar. Det är saker som robust användarhantering, vältestad behörighetshantering, språkstöd, översättingar och anpassningsbar informationsmodell samtidigt som vi kan använda Symfony till mer avancerade, skräddarsydda funktioner 

Vilka nya områden täcker Drupal 8 in?

Till att börja med blir målbilden för vad som kan skapas med Drupal mycket större. Utvecklare som tidigare ratat Drupal kommer upptäcka att Drupal är ett fantastiskt komplement till projekt som tidigare varit mer renodlad PHP-utveckling. Tidigare var Drupal mycket mer låst och specifikt, men nu kan man använda ramverket.

Vidare kommer de Open Source-projekt som inkluderats i Drupal 8 få en enorm tilväxt i form av nya utvecklare, eftersom tusentals Drupalutvecklare kommer att engagera sig i dem. På samma sätt kommer det bli en tilstömmning av resurser till Drupal från dessa projekt.

Utveckling av nya frontend-ramverk går blixtsnabbt just nu. Vi ser en enorm sprindning av nya ramverk som tex React, Angular, Polymer, Aurelia m.f.l. Med Drupal 8 är det helt upp till dig vilket ramverk du vill bygga din frontend i med. På ett par timmar kan du bygga enklare innehållstjänster som du gör tillgängliga via ett öppet API där du samtidigt har ett redaktionellt backend och allt med endast konfiguration av Drupal 8. Du är sedan fri att utveckla frontend precis som du vill, med vilka ramverk du vill!

Vi kommer också få se nya tjänster för drift, support och devops kopplat till Drupal eftersom plattformen fått så mycket modernare teknik i botten. Vi kommer att kunna välja bland fler verktyg i absolut framkant, vilket återigen kommer att göra Drupal till ett attraktivt ramverk att arbeta med. Exakt vilka ramverk och förändringar vi kommer att se är svårt att förutse, men användandet open source-projekt som Docker, Heruku, DEIS, Open Stack etc kommer att bli standard för alla Drupalprojekt inom ett par år. Och det kommer att finnas färdiga lösningar och massor av dokumentation tilhandahållna av communityn för best practices. Det kommer även att dyka upp massor av Paas-erbjudanden (Platform as a Service) för oss som arbetar med Drupal för att göra vårt arbete med framtidens webb ännu efektivare.

Sammantaget kan det vara svårt ibland att se en stor förändring när man befinner sig precis mitt i den. Men lyfter man blicken finns tecknen där på att Drupal 8 innebär en disruptiv förändring i hur vi utvecklar och förvaltar våra webbplatser i framtiden.

Vi på Wunderkraut är med på resan, är du?

Vi hjälper dig nå resultat. Kontakta oss Ring direkt på 08-20 90 04.

Cache in Drupal 8: How it worked, and what we wanted to be solved in D8

If you just want your content to be cached before Drupal 8, there were almost no problems, just turn on caching for anonymou…
MDN

Cache in Drupal 8: Introduction

In a series of blog posts we will go through how caching works in Drupal 8, to try to demystify the caching layer in Drupal …
MDN

Updating taxonomy term name in Drupal 8

Here you can read how to use hook update for updating taxonomy terms in Drupal 8.