Drupal 9: Vad det är och vad det inte är

Drupal 9 släpptes 3 juni 2020, som en vidareutveckling av den nya utvecklingsprocess som etablerades i Drupal 8. Drupals medarbetare tog detta tillfälle i akt för att städa upp kodbasen och se till att Drupal stannar kvar på stödda versioner av tredjepartsberoenden.

Drupal 9 vill se till att hålla Drupals plattformen säker och koden uppdaterad. Drupal 9 reviderade vissa tredjepartsberoenden, inklusive Symfony 3 och Twig 1. Samtidigt togs utfasade lösningar, t.ex. de flesta jQuery UI-användargränssnitten, bort från Drupal core.

Organisationer som för närvarande använder Drupal 7 och Drupal 8 kommer vilja uppgradera till Drupal 9 av olika skäl, men framför allt för att få fortsatt support. Community-support för Drupal 8 kommer att upphöra i november 2021, eftersom det är beroende av Symfony 3, som efter den tidpunkten inte längre kommer att fungera. Community-support för Drupal 7 har förlängts till den 28 november 2022.

Den första utgåvan av Drupal 9 innehöll inga nya funktioner, men möjliggjorde ett smidigare och säkrare system, samt API:er som är lättare att arbeta med. Dessa förändringar är mest märkbara för utvecklare. Framtida versioner av Drupal 9 kommer att innehålla fler förbättringar samt nya funktioner. Detta kommer att ske efter den sex månader långa släpptidslinjen som fastställdes i och med Drupal 8.

Poängen med Drupal 9? Så här säger projektledaren Dries Buytaert: ”Den stora grejen med Drupal 9 är ... att det inte borde vara en stor grej.”

Från Drupal 8 till Drupal 9: En vidareutveckling

Nästa steg i Drupals utveckling, Drupal 9, byggdes i Drupal 8. Det innebär att alla de funktioner som gjorde Drupal 8 så kraftfull har bevarats i Drupal 9. Här är en snabb översikt över dessa funktioner:

Richer Media Management

Drupal har länge stött bilder och generiska filer, men i Drupal 9 har den här funktionen utökats med ett generiskt mediefält som stöder lokalt ljud, video, bilder och ytterligare filer.

Denna iteration av Drupal ger också användarna möjlighet att bädda in fjärrinnehåll som t.ex. YouTube- och Vimeo-videor. Dessutom har Drupal 9 en mediebiblioteksmodul som tillåter användare att lägga till befintliga mediatillgångar till en webbplats och ladda upp nya objekt direkt till biblioteket.

Innehållsarbetsflöde

Med arbetsflödesmodulen Workflows kan användare definiera flera arbetsflöden, samt visa deras tillstånd och de övergångar som tillåts mellan dem. Innehållsmodereringsmodulen Content Moderation tillåter användare att skapa innehållsrevisioner som inte är live ännu, men som har fått uppdateringar sedan den senaste versionen.

Slutligen möjliggör Workspaces – en lovande experimentell funktion som fortfarande är under utveckling – mellanlagring och publicering av flera innehållsändringar (artikeltext, sidofältblock, menyposter och så vidare) på en gång, samt möjlighet att förhandsgranska hur de kommer att se ut i sin helhet. Användare kan till och med förbereda webbplatsinnehåll för flera olika ”scenarier”, till exempel valresultat eller Oscarsvinnare, och publicera lämplig version när det är dags.

Layout Builder

Core-modulen Layout Builder erbjuder funktioner för innehållslayout. Layout Builder-modulen är unik i sitt sätt att erbjuda ett enda kraftfullt visuellt designverktyg för följande tre användningsfall:

  • Layouter för mallinnehåll
  • Anpassning för mallayouter
  • Anpassade sidor

BigPipe

En annan funktion som kommer att uppsattas av användarna är BigPipe, en modul som förbättrar sidvyer genom att skicka en sidas huvudsakliga ”innehåll” medan sidofält och annat hjälpinnehåll fortfarande håller på att genereras.

Flerspråkig kapacitet

  • Drupal har inte mindre än fyra moduler för språkstöd, var och en med sin specifika roll. Dessa moduler har möjliggjort följande funktioner:
  • Möjligheten att installera Drupal på 100 främmande språk redan från start
  • Översättning för innehållsobjekt, såsom noder, taxonomiska termer, menyalternativ och användarprofiler
  • Konfigurationsöversättning, som ger ett gränssnitt för att översätta webbplatskonfiguration till flera språk

Mobil upplevelse

De senaste versionerna av Drupal har utformats med mobilitet i åtanke, hela vägen från installationsprogram till modulsida. För att stödja det enorma utbudet av internetaktiverade enheter har alla Drupals funktioner en responsiv design.

Drupal har ett responsivt administrativt verktygsfält. På breda skärmar expanderar verktygsfältet automatiskt och orienterar sig horisontellt. På små skärmar krymper verktygsfältet ihop för att visa enbart ikoner och orienterar sig vertikalt.

HTML5-formelement gör datainmatningen i Drupal sömlös. Dessa element tillhandahåller anpassade fält för datum/tid, telefonnummer och e-postadresser på mobila enheter.

Bygga och hantera din webbplats

Drupal har också en mängd olika verktyg för skapa och hantera webbplatser.

Views i Core

Views-modulen är ett inbyggt frågebyggargränssnitt som används för att skapa dynamiska innehållsförteckningar i olika format. Modulen förbättrar hämtningen av innehåll från webbplatsdatabaser, vilket sedan kan visas i valfritt format eller språk.

Organisera sidor med hjälp av block

De flesta sidelement visas genom block, såsom navingeringssökvägar (”breadcrumbs”), webbplatsnamn och slogan. Det gör det enkelt att justera sidorganisationen i användargränssnittet och möjliggör redigering och kompatibilitet med Settings Tray.

Settings Tray gör det möjligt att ändra de vanligaste konfigurationerna vid front-end, vilket eliminerar behovet av att gå fram och tillbaka till back-end för att göra visuella ändringar. Block kan också återanvändas, både via Settings Tray och Layout Builder.

Strukturerat innehåll

Drupal bygger på idén om strukturerad datahantering. Exempel på olika enheter är innehåll, användarprofiler och kommentarer. Användare kan lägga till fält i alla enheter, inklusive referenser till andra enheter. Drupal 9 levereras med ett brett utbud av tillgängliga fält, inklusive fält för telefon, e-post, datum och tid.

Visningslägen och formulärlägen

När enheterna har konfigurerats med fält kan man i de olika visningslägena skapa flera visningsalternativ för innehåll beroende på sammanhang. Till exempel kan en miniatyrbild visas i innehållets förhandsvy, meden en bild i full storlek visas i standardvyn.

Formulärlägena gör det enkelt att skapa datainmatningsformulär. Dessa lägen möjliggör en större flexibilitet, med mer allmänt gällande komponenter.

Migrering

Drupal core har inbyggt stöd för datamigrering från tredjepartssystem (t.ex. WordPress), samt specifika lösningar avsedda att underlätta migrering från Drupal 6 och 7 till Drupal 9.

System för konfigurationshantering

Det här systemet gör det möjligt för webbplatser som har miljöer för ”utveckling”, ”mellanlagring” och ”produktion", att sömlöst flytta konfigurationer från en miljö till en annan.

Headless-support

Drupal levereras med en implementering av JSON:API-specifikationen, vilket gör det möjligt att använda Drupal som en central innehållsbutik på en decoupled front-end (mobilapp, JavaScript-ramverk, osv.).

Frontend-utvecklarupplevelse

Drupal innehåller många förbättringar för frontend-utvecklare, inklusive HTML5, ytterligare hjälpbibliotek, tillgänglighetsförbättringar, förbättrade grundteman, användargränssnittelement och bättre prestanda.

Backend-utvecklingsupplevelse

Drupal 8 innehåller många förbättringar för back-end-utvecklare, inklusive objektorienterad kod, förbättrad cachning, bättre integration med tredjepartstjänster och omfattande inbyggda webbtjänstfunktioner.

Drupal 8 till Drupal 9: Nyheter

Drupal 9 innehåller alla de ovan nämnda funktioner som även finns i Drupal 8. Men naturligtvis är Drupal 9 samtidigt en vidareutveckling av Drupal 8. Allt det här är nytt:

1. Drupal 9 förlitar sig till Symfony 4 och kräver minst PHP 7.3, vilket resulterar i förbättrad säkerhet och stabilitet

2. Drupal 9 har flyttat från Twig 1 till Twig 2

3. CKEditor 4 finns kvar i Drupal 9, men stöd för CKEditor 5 är planerat att läggas till vid ett senare tillfälle. När det sker kommer CKEditor 4 att börja fasas ut, för att sedan helt tas bort i Drupal 10

4. Drupal 9 förlitar sig fortfarande till själva jQuery, men de flesta jQuery-användargränssnittskomponenterna har tagits bort från core

5. Databasversionskraven har utökats för alla databas-back-ends som stöds inom Drupal 9

Varför inte Symfony 5?

Vissa medlemmar i Drupal-communityn har frågat varför Drupal 9 byggdes på Symfony 4 snarare än Symfony 5. Det har att göra med Symfonys releaseprocess. Mindre utgåvor av Symfony stöds inte lika länge som mindre utgåvor av Drupal. Den mer långsiktiga utgåvan av Symfony 5, version 5.4, släpps inte förrän i november 2021, vilket inte alls stämmer överens med Drupal 9:s utvecklingscykel.

Drupal 9.1 introducerar det experimentella front-end-temat Olivero. Det här temat är avsett att ersätta Bartik i en framtida Drupal 9-version. Bartik ska helt tas bort i Drupal 10. Olivero är ett mer modernt, renare tema med flera nya funktioner och ett större fokus på tillgänglighet.

Composer erbjuder den mest framtidskompatibla lösningen för att konstruera kodbasen för en Drupal 9-webbplats. Composer släppte själv version 2 den 24 oktober 2020. Denna nya version är en massiv förbättring när det gäller minnesanvändning och hastighet. Drupal 9.1 har fullt stöd för Composer 2. Vi rekommenderar att du övergår till den versionen så snart som möjligt.

Det experimentella administrationstemat Claro förbättras hela tiden. Uppdateringar i Drupal 9.1 inkluderar en ren modul-administrationssida, användargränssnittslayoter för views administration, statusrapportsida och uppdateringar av underhållssidor. Claro förväntas uppnå stabilitet i en framtida release av Drupal 9 och då ersätta Seven som standardadministrationstema. Seven kommer att tas bort helt i Drupal 10. Dessutom är Drupal 9.1 fullt kompatibel med den nyligen släppta PHP 8, inklusive beroenden.

Under de senaste tio åren har en uppgradering från en större utgåva Drupal till en annan inneburit så många förändringar att det ofta har krävts en fullständig ombyggnad av webbplatsen. I och med introduktionen av Drupal 8 ändrades detta, då uppgraderingsprocessen radikalt effektiviserades.


Vad behöver du göra för att förbereda inför en uppgradering till Drupal 9?

För Drupal 8-användare

Att uppgradera till Drupal 9 är relativt enkelt. Börja med att se till att din miljö uppfyller kraven för Drupal 9. De viktigaste sakerna att notera här är att Drupal 9 kräver PHP 7.3 eller högre, och att versionskraven har höjts för MySQL (till minst 5.7), MariaDB (till minst 10.2), PostgreSQL (till 9.6) och SQLite (till 3.26). Notera att, om du använder Drush, är det endast Drush 10 som är kompatibel med Drupal 9.

Uppdatera sedan Drupal core till den senaste versionen. Drupal 8:s senaste mindre utgåva (8.9.0) blev Drupal 9. Du bör också ta bort alla beroenden som du inte använder just nu.

Se till att alla dina medföljande moduler är uppdaterade. (Vi tar upp anpassade moduler nedan.) Från och med Drupal 8.7.7 kan alla moduler vara kompatibla med Drupal 8 och 9 samtidigt. Med andra ord kan du uppdatera moduler till deras senaste versioner på Drupal 8 och fortfarande ha en fullt fungerande webbplats med moduler som redan är kompatibla med Drupal 9. Du kan också använda Acquias sida ”Drupal 9 Deprecation Status” för att snabbt söka efter Drupal 9:s beredskapsstatus vad gäller medföljande moduler, samt hitta relaterade problem och patchar.

Uppgraderingsverktyg

För att säkerställa att du använder de senaste versionerna av medföljande moduler, ska du installera och aktivera uppgraderingsstatusmodulen. Den kan användas på Drupal-back end eller på kommandoraden tillsammans med Drush. Skanna dina medföljande moduler för att söka efter kompatibilitetsproblem och användning av utfasad kod. Om otillåtna patchar redan finns tillgängliga kan du använda cweagans/composer-patches för att applicera patchar på medföljande moduler, samt ge feedback till patchförfattare och modulunderhållare.

Du kan också använda Upgrade Status för att analysera dina anpassade moduler och teman. Att åtgärda problem som du upptäcker med hjälp av dessa verktyg kommer att resultera i kod som är kompatibel med både Drupal 8 och Drupal 9.

Naturligtvis måste inte alla problem åtgärdas manuellt. Du kan istället använda Drupal Rector direkt eller användargränssnittet Upgrade Rector för att generera patchar som löser kompatibilitetsproblem. De flesta utfasade API:er omfattas av Drupal Rector, så det kan vara bra att börja där.

Vid det här laget är din miljö lämplig för Drupal 9 och alla medföljande projekt har uppdaterats till Drupal 9-kompatibla versioner. Dina anpassade moduler och teman har också uppdaterats för att vara Drupal 9-kompatibla. Du har dock fortfarande en fullt fungerande Drupal 8-webbplats som du kan använda som den är.

Det sista steget är att uppdatera Drupal core till Drupal 9 och köra update.php.

Grattis! Du har nu gått över till den senaste versionen av Drupal! Du kommer troligen märka att uppgraderingen går avsevärt mycket snabbare än alla andra större Drupal-uppdateringar du har gjort de senaste tio åren.

För Drupal 7-användare

Att migrera från Drupal 7 till Drupal 9 kommer att kräva en ombyggnad. Det finns dock många verktyg som hjälper dig få rätt kod på plats och undvika migrationsutmaningar. Dessa verktyg inkluderar:

  • Upgrade Status (Drupal 7-version) – för att ta reda på om de medföljande moduler som du använder har Drupal 8/9-versioner eller ersättningar
  • Drupal Module Upgrader – för att generera ändringar för anpassad kod, vilket möjliggör Drupal 8/9-kompatibilitet
  • Core Migrate Suite – för att flytta innehåll. Verktyget har till och med stöd för Drupal 6-datakällor
  • Acquia Migrate Accelerate – för att göra migrationen från Drupal 7 till Drupal 9 upp till 50 % snabbare

Dessutom finns det ett antal community-tillägg i Migrate Tools and Migrate Plus project, samt en uppsättning kommandoradsverktyg (såsom Drush) som hjälper till att effektivisera utvecklingen.

För mer information om migration rekommenderar vi att du läser vår e-bok, Migrating to Drupal 8: It’s Time.

Läs mer om vad vi på Digitalist kan hjälpa till med när det kommer till Drupal!

Drupal 9 förväntas ha fem mindre utgåvor: 9.0 till 9.4.

Drupal 9.4 är planerad som ett långsiktig utgåva, med community-support fram till november 2023. Det datumet återspeglar supporttidslinjerna för Drupal 9:s beroenden, Symfony 4 och CKEditor 4. Projektledare Dries Buytaert tillkännagav följande initiativ avsedda att vidareutveckla viktiga delar av Drupal 9 i nästa större utgåva:

1. Beredskap för Drupal 10 för att hålla Drupal säker och uppdaterad med avseende på plattformskrav och tredjepartsberoenden

2. En enklare, användningsklar upplevelse som sömlöst integrerar Media Library och Layout Builder i standardupplevelsen och gör Claro till standardadministrationstemat

3. Ett nytt front-end-tema (Olivero) för att ersätta Bartik och bättre visa upp Drupals moderna funktioner

4. Automatiserade uppdateringar av säkerhetsreleaser, med förändringsdetektering och paketsignaturkontroll

5. Decoupled-menyer för att lösa ett av de svårare problemen med decoupled-integration och bana väg för ytterligare komponenter i framtiden

När släpps Drupal 10?

Drupal 10 är planerat att släppas tillsammans med Drupal 9.4 i juni 2022.

Drupal 10 förväntas vara baserat på Symfony 5 eller 6, och inkludera CKEditor 5 istället för 4. Funktionellt bör Drupal 10 vara identisk med Drupal 9.4.

Varför investera i en ny Drupal-version när dess livslängd blir så mycket kortare än tidigare versioner? Drupal 9:s mindre utgåvor förväntas erbjuda nya funktioner (inklusive ett avsevärt förbättrat administrationstema), utökat decoupled-stöd, samt innehållshanteringsfunktioner som är bättre integrerade från start. Uppgraderingen till Drupal 10 förväntas bli lika enkel (och förhoppningsvis ännu enklare) än flytten till Drupal 9.

Läs mer om Drupal

Vad är Drupal?

Drupal är ett mycket populärt och etablerat innehållshanteringssystem som passar för stora webbplatser med många administratörer och stora krav. Drupal finns i över en miljon installationer och är därmed ett av de största Content Management-systemen (CMS) i världen.

Fördelar med Drupal:

  • pris (inga licenskostnader)
  • popularitet (stort utvecklar- samt användarcommunity)
  • skalbarhet
  • integrationsmöjligheter
  • redaktörsmöjligheter med många språk och roller

Med fokus på öppen källkod, community och samarbete tillsammans med modultänkandet blir Drupal en effektiv plattform för både webbplats och intranät.

Drupal är alltså modulärt uppbyggt. Det innebär att om du exempelvis behöver skapa en bokningssystem eller ett nyhetsbrevsutskick  ofta färdiga moduler att utgå från, eller rent av använda som de är. Eftersom Drupal har många användare produceras och kvalitetssäkras hela tiden nya moduler och det är stor chans att det finns något som passar för just det du behöver.

Vad är öppen källkod?

Öppen källkod, öppen programvara eller öppenkod (engelska: open source), avser oftast datorprogram vars källkod inte är proprietär utan är tillgänglig att använda, läsa, modifiera och vidaredistribuera för den som vill. Detta gör att programutvecklare kan återanvända programkod som andra har utvecklat i egna projekt utan att betala licensavgifter till kodens ägare, och kan anpassa koden till sina användares behov utan att hindras av immaterialrättsliga restriktioner. Som motprestation erbjuder utvecklarna vanligen sina modifikationer tillbaka till den ursprunglige upphovspersonen eller till den som för tillfället underhåller programvarans officiella version, som kan välja att göra dem till en del av den officiella versionen. De mest framgångsrika öppen källkodsprojekten är vanligen uppbyggda kring en internet-community av ett stort antal bidragsgivare, som samverkar för att programvara och dokumentation ska utvecklas snabbt och testar och inspekterar koden för att säkerställa att den fungerar som tänkt. Exempel på öppen källkod projekt är Drupal och Matomo.

Hur söker man jobb hos er?

Enkelt! Klicka här och se vilka jobb som är lediga nu. Vi söker alltid talanger!