12 belangrijke veranderingen in Drupal 8

08 Jun 2015

Joris Snoek - Business Dev
+31 (0)20 - 261 14 99

Drupal 8 staat voor de deur, de nabije stabiele release zal een feest waard zijn! Mocht je de Beta versie nog niet bekeken hebben, hierbij een voorproefje wat er te wachten staat in Drupal 8.

1) Content management

Veel wijzigingen in Drupal 8 op gebied van content management is voortgekomen uit de Spark distributie. Spark is een Drupal 7 distributie waarin veel best practices zijn doorgevoerd. Ook is aandachtig gekeken naar andere systemen: zowel licentie systemen als open source,  zoals: Tridion, Wordpress en Joomla!.

Het invoeren van content is sterk vereenvoudigd: het is niet meer één lange pagina waar je veel moet scrollen, maar een overzichtelijk geheel ingedeeld in bruikbare responsive panelen:

 


 

2) Makkelijk afbeeldingen toevoegen in content

 

3) Wijzigen van content mbv 'snel bewerken'

Live en direct wijzigen van content. Dus niet via een administratie scherm:
 

 

4) Mobile first

Drupal 8 is geoptimaliseerd voor mobiele apparaten. Als je scherm groter wordt (desktop), dan wordt die extra ruimte op effectieve wijze benut. Enkele kenmerken:

  • Toolbar bovenin, flipt automatisch naar links
  • Responsive afbeeldingen
  • Responsive tabellen
  • Niet-belangrijke data valt weg
  • 'Snel bewerken' werkt ook op mobiele apparaten

Ook content administratie op mobiele apparaten is nu goed mogelijk:
 

 

5) Views in Core

Views is een zeer populaire Drupal module, die sinds Drupal 8 in de core is opgenomen. Met Views kan je zonder coderen onder andere:

  • Contentlijsten maken, bijvoorbeeld een overzicht met laatste Blog-items
  • Lijsten maken voor content managers of administrators
  • Contentlijsten maken om in zijbalken te plaatsen
  • Afbeeldingen gallerijen genereren
  • Slideshows maken
  • XML/JSON output genereren.

6) Beter Blocks systeem

Het Drupal blocks systeem is verbeterd, lering is getrokken uit onder andere de Context module in Drupal 7. Enkele verbeteringen:

  • Het is nu mogelijk om Drupal blocks in meerdere regio's te plaatsen (i.p.v maar één regio in Drupal 7)
  • Het Blocks beheer is eenvoudiger en meer overzichtelijk gemaakt.
  • Je kunt nu zelf custom blocks toevoegen, waarin je dezelfde functies hebt als bij een content item. Je kunt nu bijvoorbeeld ook revisies aanmaken in blocks:

 

7) Extra Drupal fields

Een aantal fields die in Drupal 7 installeerbaar waren als module bleken erg populair. Daarom zijn deze toegevoegd in de Drupal 8 core:

  • Link
  • telefoon
  • E-mail
  • Entity referentie
  • Reacties

 

 

8) Meertaligheid

In Drupal 8 kan je tijdens installatie meteen gewenste taal kiezen, eenmaal geïnstalleerd updaten de vertalingen nu automatisch. Drupal 7 is ook meertalig, maar veel onderdelen moet je via extra modules vertaalbaar maken. Nu is álles vertaalbaar in Drupal 8 core: 

  • Content
  • Blocks
  • Menu’s
  • User profiles
  • Views
  • Taxonomy
  • Image styles
  • Text formats
  • Comments
  • Feeds

9) Configuration management

Een big issue in voorgaande Drupal installaties: content en instellingen staan in één database. In die standaard is een OTAP-straat en Continuous integration niet implementeren.

Gelukkig is daar sinds Drupal 6 deels een oplossing voor in de vorm van de Features module. Die module zorgt ervoor dat de instellingen uit je Drupal database worden geconsolideerd in code. Zodat de instellingen in versiebeheer (Git) gezet kunnen worden én het mogelijk is consistent te stagen van bijvoorbeeld Acceptatieserver naar Productieserver.

In Drupal 8 is dit principe opgenomen in de core, in de vorm van configuration management: dit systeem neemt je instellingen op in Yaml files. Die files kan je exporteren in naar een gzip bestand en vervolgens importeren op een andere Drupal omgeving, waardoor alle instellingen consistent overgezet kunnen worden.

Er is Drush support voor al deze bewerkingen in Drupal 8.

10) Front-end: theming & HTML / JS

Er is hard gewerkt om het frontend te verberen, enkele onderdelen van dit initiatief:

  • Drupal 8 is volledig HTML5 compatible, waardoor ook mobiele interactie verder geoptimaliseerd is.
  • PHPTemplate is vervangen door Twig
  • PHP code is door invoer van Twig strikt gescheiden van HTML. Dit maakt het werk voor front-enders makkelijker.
  • Veiliger, tevens door invoer van Twig
  • Geen IE 6, 7 en 8 support meer :D

11) Web services

Drupal 8 kent standaard een RESTful API, waar wij erg enthousiast over zijn. Waarom? Lees deze blogs:

12) Getting off the island: OO code

Drupal 7 en voorgaande versies zijn redelijk geïsoleerd van andere soortgelijke platformen. T/m Drupal 7 werden veel code en principes op een eigenzinnige manier geïmplementeerd. In Drupal 8 zijn de initiatieven aangehouden: 'getting of the island' en 'proudly invented elsewhere'. Wat inhoudt dat Drupal 8 meer naar globale, universele standaarden is gaan werken.

Enkele voorbeelden van dit 'moderne PHP':

En er zijn teven externe 'best of breed' libraries ingezet:

  • PHPUnit
  • doctrine
  • Composer
  • Backbone.js 
  • Underscore.js

Wrap up

Alright, that's it for now. Voor een compleet overzicht, zie hier. Vragen of feedback, let me know!

Comments

Nóg meer
kennis nodig?

Check ons ons blog archief >