drupal 8 · d8 ondersteunt php7 performantiemetingen tonen 2x verbetering in performantie vs php5.x...

37
© Fedict 2009. All rights reserved Drupal 8 Informatiesessie

Upload: others

Post on 21-May-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Drupal 8 · D8 ondersteunt PHP7 performantiemetingen tonen 2x verbetering in performantie vs PHP5.x voor zelfde workload. D8 biedt veel intelligentere caching-functionaliteiten, waardoor

© Fedict 2009. All rights reserved

Drupal 8

Informatiesessie

Page 2: Drupal 8 · D8 ondersteunt PHP7 performantiemetingen tonen 2x verbetering in performantie vs PHP5.x voor zelfde workload. D8 biedt veel intelligentere caching-functionaliteiten, waardoor

© Fedict 2009. All rights reserved | p. 2

Wat is Drupal

Drupal is een CMS (“Content Management

System”)

Ontwikkeld in PHP

Het is Open Source software

Bestaat uit een kernsoftware (Drupal Core) en

een gigantisch ecosysteem van add-ons (Modules,

Themes, Libraries)

Page 3: Drupal 8 · D8 ondersteunt PHP7 performantiemetingen tonen 2x verbetering in performantie vs PHP5.x voor zelfde workload. D8 biedt veel intelligentere caching-functionaliteiten, waardoor

© Fedict 2009. All rights reserved | p. 3

Wie gebruikt Drupal?

Klein

– Volkssterrenwacht Mira vzw

Groot

– Weather.com

– Whitehouse.gov

– Universiteit van Oxford

100+ websites v/d Federale overheid

– Fedweb.belgium.be

– Mobilit.belgium.be

– Premier.be

– Fedict.belgium.be

Page 4: Drupal 8 · D8 ondersteunt PHP7 performantiemetingen tonen 2x verbetering in performantie vs PHP5.x voor zelfde workload. D8 biedt veel intelligentere caching-functionaliteiten, waardoor

© Fedict 2009. All rights reserved | p. 4

A Brief History of Drupal

Eerste versies geschreven 1999-2001 door Dries

Buytaert, op dat ogenblik student in Gent

– Versie 1.0.0 in 2001

– Versie 4.7.0 in 2005

– Versie 6.0 in 2008

– Versie 7.0 in 2011

– Versie 8.0 in 2015

Technologie sterk geëvolueerd in die 15 jaar,

Drupal is mee geëvolueerd

Page 5: Drupal 8 · D8 ondersteunt PHP7 performantiemetingen tonen 2x verbetering in performantie vs PHP5.x voor zelfde workload. D8 biedt veel intelligentere caching-functionaliteiten, waardoor

© Fedict 2009. All rights reserved | p. 5

Grote vernieuwingen in Drupal 8

Sterk verbeterde “out-of-the-box” ervaring,

zowel voor gebruikers als voor ontwikkelaars

Meertaligheid diep ingebakken in “Core”

Volledige ombouw van de architectuur, gebruik

van standaardcomponenten

Enterprise-ready configuratie-beheerssysteem

Performantie-verbeteringen

Vernieuwd upgrade-mechanisme

Page 6: Drupal 8 · D8 ondersteunt PHP7 performantiemetingen tonen 2x verbetering in performantie vs PHP5.x voor zelfde workload. D8 biedt veel intelligentere caching-functionaliteiten, waardoor

© Fedict 2009. All rights reserved | p. 6

Gebruikerservaring WYSIWYG in Core, Afbeeldingen in text

Page 7: Drupal 8 · D8 ondersteunt PHP7 performantiemetingen tonen 2x verbetering in performantie vs PHP5.x voor zelfde workload. D8 biedt veel intelligentere caching-functionaliteiten, waardoor

© Fedict 2009. All rights reserved | p. 7

Gebruikerservaring In-line editeren

Page 8: Drupal 8 · D8 ondersteunt PHP7 performantiemetingen tonen 2x verbetering in performantie vs PHP5.x voor zelfde workload. D8 biedt veel intelligentere caching-functionaliteiten, waardoor

© Fedict 2009. All rights reserved | p. 8

Gebruikerservaring Echte inhoud-preview

Page 9: Drupal 8 · D8 ondersteunt PHP7 performantiemetingen tonen 2x verbetering in performantie vs PHP5.x voor zelfde workload. D8 biedt veel intelligentere caching-functionaliteiten, waardoor

© Fedict 2009. All rights reserved | p. 9

Gebruikerservaring Mobile-first

Page 10: Drupal 8 · D8 ondersteunt PHP7 performantiemetingen tonen 2x verbetering in performantie vs PHP5.x voor zelfde workload. D8 biedt veel intelligentere caching-functionaliteiten, waardoor

Gebruikerservaring Core themes responsive, HTML5

© Fedict 2009. All rights reserved | p. 10

Page 11: Drupal 8 · D8 ondersteunt PHP7 performantiemetingen tonen 2x verbetering in performantie vs PHP5.x voor zelfde workload. D8 biedt veel intelligentere caching-functionaliteiten, waardoor

Ontwikkelaars-ervaring Views in Core, Core-UI met views

Niet alleen zit

de Views

module in Core,

een hele hoop

Core-UI is

gebouwd in

Views en dus

aanpasbaar!

© Fedict 2009. All rights reserved | p. 11

Page 12: Drupal 8 · D8 ondersteunt PHP7 performantiemetingen tonen 2x verbetering in performantie vs PHP5.x voor zelfde workload. D8 biedt veel intelligentere caching-functionaliteiten, waardoor

Ontwikkelaars-ervaring Meer Blocks, Fieldable Blocks

Meer componenten die als afzonderlijk “Block”

gedefinieerd zijn en dus vlot getuned kunnen

worden.

Blokken zijn entities en kunnen extra velden

krijgen

Eén blok kan meerdere keren op één pagina

geplaatst worden (super voor bvb herhalende

menu’s e.d.)

© Fedict 2009. All rights reserved | p. 12

Page 13: Drupal 8 · D8 ondersteunt PHP7 performantiemetingen tonen 2x verbetering in performantie vs PHP5.x voor zelfde workload. D8 biedt veel intelligentere caching-functionaliteiten, waardoor

Ontwikkelaars-ervaring Nieuwe veldtypes

Entity Reference

© Fedict 2009. All rights reserved | p. 13

Date/Datetime

Link

Phone

Email

Page 14: Drupal 8 · D8 ondersteunt PHP7 performantiemetingen tonen 2x verbetering in performantie vs PHP5.x voor zelfde workload. D8 biedt veel intelligentere caching-functionaliteiten, waardoor

Ontwikkelaars-ervaring Nieuw Theming Framework - Twig

© Fedict 2009. All rights reserved | p. 14

Page 15: Drupal 8 · D8 ondersteunt PHP7 performantiemetingen tonen 2x verbetering in performantie vs PHP5.x voor zelfde workload. D8 biedt veel intelligentere caching-functionaliteiten, waardoor

Ontwikkelaars-ervaring Drupal code Object-oriented

Er wordt expliciet gebruik gemaakt van

industrie-standaard PHP methodieken (PSR-4

voor classloading, PSR-3 voor logging)

Hoewel in D7 al OO code zat, is dit in D8 véél

en véél uitgebreider het geval, waardoor dit

ook voor extra modules zo zal zijn (Drupal-API’s

zullen grotendeels OO zijn)

© Fedict 2009. All rights reserved | p. 15

Page 16: Drupal 8 · D8 ondersteunt PHP7 performantiemetingen tonen 2x verbetering in performantie vs PHP5.x voor zelfde workload. D8 biedt veel intelligentere caching-functionaliteiten, waardoor

Meertaligheid Engels is nu *optioneel*

© Fedict 2009. All rights reserved | p. 16

Page 17: Drupal 8 · D8 ondersteunt PHP7 performantiemetingen tonen 2x verbetering in performantie vs PHP5.x voor zelfde workload. D8 biedt veel intelligentere caching-functionaliteiten, waardoor

Meertaligheid

Ingebouwde vertaaldownloads

Vertaalfuncties in theming en javascript

Nagenoeg alles vertaalbaar (bvb ook blocks)

© Fedict 2009. All rights reserved | p. 17

Page 18: Drupal 8 · D8 ondersteunt PHP7 performantiemetingen tonen 2x verbetering in performantie vs PHP5.x voor zelfde workload. D8 biedt veel intelligentere caching-functionaliteiten, waardoor

Moderne software architectuur Composer dependency-management

Drupal 7 gebruikte een eigen systeem (“drush

make”) om alle nodige componenten te

definiëren en automatisch te verzamelen.

Met de Composer-tool maakt men gebruik van

een standaardtool in de PHP-wereld.

Composer is een veel flexibeler en krachtiger

tool dan “drush make” ooit geweest is.

© Fedict 2009. All rights reserved | p. 18

Page 19: Drupal 8 · D8 ondersteunt PHP7 performantiemetingen tonen 2x verbetering in performantie vs PHP5.x voor zelfde workload. D8 biedt veel intelligentere caching-functionaliteiten, waardoor

Moderne software architectuur Symfony2 framework

HttpFoundation

HttpKernel

Dependency

Injection

EventDispatcher

Routing

Yaml

© Fedict 2009. All rights reserved | p. 19

Page 20: Drupal 8 · D8 ondersteunt PHP7 performantiemetingen tonen 2x verbetering in performantie vs PHP5.x voor zelfde workload. D8 biedt veel intelligentere caching-functionaliteiten, waardoor

Moderne software architectuur Symfony2 framework

Door een aantal Symfony2 componenten te

gebruiken kan men zich concentreren op pure

Drupal-functionaliteit.

HttpKernel & HttpFoundation componenten

maken het bvb. veel simpeler om RESTful

webservices te implementeren, terwijl de Twig

templating engine een directe verbetering

betekent op ‘t vlak van bescherming tegen

zaken als Cross-Site Scripting attacks.

© Fedict 2009. All rights reserved | p. 20

Page 21: Drupal 8 · D8 ondersteunt PHP7 performantiemetingen tonen 2x verbetering in performantie vs PHP5.x voor zelfde workload. D8 biedt veel intelligentere caching-functionaliteiten, waardoor

Moderne software architectuur Twig voor theming

Standaard front-end templating

voor PHP

Duidelijker afsplitsing tussen

PHP-code en theme-templating

vermindert de kans op (en de

nood voor!) “lelijke” hacks in

het theme (bvb ingebouwde

if/else logica zonder PHP)

Veel cleanere, lichtere

templates

© Fedict 2009. All rights reserved | p. 21

Page 22: Drupal 8 · D8 ondersteunt PHP7 performantiemetingen tonen 2x verbetering in performantie vs PHP5.x voor zelfde workload. D8 biedt veel intelligentere caching-functionaliteiten, waardoor

Moderne software architectuur RESTfull Webservices standaard

© Fedict 2009. All rights reserved | p. 22

Page 23: Drupal 8 · D8 ondersteunt PHP7 performantiemetingen tonen 2x verbetering in performantie vs PHP5.x voor zelfde workload. D8 biedt veel intelligentere caching-functionaliteiten, waardoor

Configuratiesysteem Textfile-gebaseerde configuratie (YAML)

© Fedict 2009. All rights reserved | p. 23

Drupal configuratie in D7 is een mix van

database tabellen, Drupal-variabelen, PHP in

settings.php en php-code in modules.

In D8 zit standaard de configuratie nog steeds in

de database, maar import/export van

configuratie en default-configuraties komen uit

.yml bestanden

Import/export functionaliteit gecombineerd

met file-versioning tools als GIT maken deploy

van wijzigingen tussen DEV en PROD veel

robuuster.

Page 24: Drupal 8 · D8 ondersteunt PHP7 performantiemetingen tonen 2x verbetering in performantie vs PHP5.x voor zelfde workload. D8 biedt veel intelligentere caching-functionaliteiten, waardoor

Configuratiesysteem Textfile-gebaseerde configuratie (YAML)

© Fedict 2009. All rights reserved | p. 24

Page 25: Drupal 8 · D8 ondersteunt PHP7 performantiemetingen tonen 2x verbetering in performantie vs PHP5.x voor zelfde workload. D8 biedt veel intelligentere caching-functionaliteiten, waardoor

Performantie-mogelijkheden

D8 heeft page-caching enabled by default –

nuttig voor onervaren gebruikers die dit

vergeten te activeren in D7

D8 is over ‘t algemeen véél trager dan D7 indien

op dezelfde manier gebruikt (!!!) – dit is o.a.

het gevolg van het gebruik van onderliggende

frameworks en meer OO-code, wat de code-

stack complexer maakt.

Merk wel : “als op dezelfde manier gebruikt”

© Fedict 2009. All rights reserved | p. 25

Page 26: Drupal 8 · D8 ondersteunt PHP7 performantiemetingen tonen 2x verbetering in performantie vs PHP5.x voor zelfde workload. D8 biedt veel intelligentere caching-functionaliteiten, waardoor

Performantie-mogelijkheden

D8 ondersteunt PHP7 performantiemetingen

tonen 2x verbetering in performantie vs PHP5.x

voor zelfde workload.

D8 biedt veel intelligentere caching-

functionaliteiten, waardoor bij een goede setup

op alle vlakken veel meer met cached content

gewerkt wordt goed geconfigureerd kan men

verwachten dat de eindperformantie van een D8

website beduidend *beter* zal zijn dan in D7

(D8 cached content zal sowieso sneller zijn dan

D7 uncached content)

© Fedict 2009. All rights reserved | p. 26

Page 27: Drupal 8 · D8 ondersteunt PHP7 performantiemetingen tonen 2x verbetering in performantie vs PHP5.x voor zelfde workload. D8 biedt veel intelligentere caching-functionaliteiten, waardoor

Performantie-mogelijkheden

Verandering die wellicht grootste impact zal

hebben op caching: Cache-tagging

Cache-tagging zorgt ervoor dat ieder gecachet

componentje “weet” op welke content of

configuratie het gebaseerd is

Als in die content of configuratie iets wijzigt, kan

Drupal dan enkel die gecachete componenten

updaten die er van afhangen ipv altijd héél de

cache leeg te maken

De “gebruiker” en de “rol” zijn ook cache-tags,

dus veel meer caching mogelijk voor ingelogde

gebruikers dan in D7

© Fedict 2009. All rights reserved | p. 27

Page 28: Drupal 8 · D8 ondersteunt PHP7 performantiemetingen tonen 2x verbetering in performantie vs PHP5.x voor zelfde workload. D8 biedt veel intelligentere caching-functionaliteiten, waardoor

Upgrade & Migratiepaden

Drupal upgrades tussen major versies zijn altijd

moeilijk geweest (met database-gefoefel,

moduleconflicten,…)

De “Migrate” module omzeilt dit door ipv een

site te upgraden, de content en configuratie te

“migreren” naar een nieuwe site.

In D8 zit het grootste deel van de bestaande

“Migrate” module in core, en wordt “migreren”

ook het standaard-upgrade-proces.

Migratie-paden standaard voorzien D6->D8 &

D7->D8

© Fedict 2009. All rights reserved | p. 28

Page 29: Drupal 8 · D8 ondersteunt PHP7 performantiemetingen tonen 2x verbetering in performantie vs PHP5.x voor zelfde workload. D8 biedt veel intelligentere caching-functionaliteiten, waardoor

Upgrade & Migratiepaden

Uiteraard gaat zo’n standaard migratie-proces

niet “vanzelf” werken voor sites die veel

modules gebruiken, maar D8-modules zullen

makkelijker zelf kunnen inhaken op die

migrate-API’s om upgrades van hun D6/D7

versies naar hun D8 versie te automatiseren.

Migrate was al de standaard tool om van andere

systemen naar Drupal te gaan (bvb. wij

migreren 100.000+ pagina’s aan content uit

Tridion naar Drupal7 via Migrate)

© Fedict 2009. All rights reserved | p. 29

Page 30: Drupal 8 · D8 ondersteunt PHP7 performantiemetingen tonen 2x verbetering in performantie vs PHP5.x voor zelfde workload. D8 biedt veel intelligentere caching-functionaliteiten, waardoor

What’s next? D9?

Grote verandering tss D7 & D8: we zullen niet

langer in een quasi volledige “functionaliteits-

freeze” zitten gedurende het leven van D8

Bug- en security fixes komen in 8.0.x versies

Iedere 6 maanden een 8.x.0 release waarin ook

extra functionaliteit toegevoegd wordt aan core

Pas als er voldoende veranderingen nodig lijken

die de compatibiliteit met 8.x breken zal er

begonnen worden aan een 9.x ontwikkeling.

© Fedict 2009. All rights reserved | p. 30

Page 31: Drupal 8 · D8 ondersteunt PHP7 performantiemetingen tonen 2x verbetering in performantie vs PHP5.x voor zelfde workload. D8 biedt veel intelligentere caching-functionaliteiten, waardoor

Wat met de extra modules?

Zeer veel “vaakgebruikte” functionaliteit zit

ingebouwd in D8-Core, het gemiddeld aantal

nodige extra modules zal zeker dalen tov. D7

Maar: absoluut niet alles zit in Core, belangrijke

extra modules zullen nodig blijven voor

“normale” websites

Er wordt hard gewerkt aan Drupal 8 versies van

veel modules maar het zal zeker nog enkele

maanden duren voor het ecosysteem echt

bruikbaar wordt voor complexere sites.

© Fedict 2009. All rights reserved | p. 31

Page 32: Drupal 8 · D8 ondersteunt PHP7 performantiemetingen tonen 2x verbetering in performantie vs PHP5.x voor zelfde workload. D8 biedt veel intelligentere caching-functionaliteiten, waardoor

Conclusies

D8 betekent een enorme sprong vooruit voor

Drupal, op vrijwel alle vlakken.

Initiële release zal voor de meeste projecten

nog niet bruikbaar zijn.

Optimaal gebruik zal wel een professionalisering

vergen van de developers en system

administrators, dit is niet langer een huis-tuin-

keuken-CMSje dat iedereen zelf effe op een

server kan kwakken.

© Fedict 2009. All rights reserved | p. 32

Page 33: Drupal 8 · D8 ondersteunt PHP7 performantiemetingen tonen 2x verbetering in performantie vs PHP5.x voor zelfde workload. D8 biedt veel intelligentere caching-functionaliteiten, waardoor

Wanneer wordt Drupal 8.0.0 gereleased?

© Fedict 2009. All rights reserved | p. 33

Page 34: Drupal 8 · D8 ondersteunt PHP7 performantiemetingen tonen 2x verbetering in performantie vs PHP5.x voor zelfde workload. D8 biedt veel intelligentere caching-functionaliteiten, waardoor

© Fedict 2009. All rights reserved | p. 34

VANDAAG!!!!!

Page 35: Drupal 8 · D8 ondersteunt PHP7 performantiemetingen tonen 2x verbetering in performantie vs PHP5.x voor zelfde workload. D8 biedt veel intelligentere caching-functionaliteiten, waardoor

© Fedict 2009. All rights reserved

Questions & Answers

Page 36: Drupal 8 · D8 ondersteunt PHP7 performantiemetingen tonen 2x verbetering in performantie vs PHP5.x voor zelfde workload. D8 biedt veel intelligentere caching-functionaliteiten, waardoor

© Fedict 2009. All rights reserved

Thank you

Fedict

WTC III

Simon Bolivarlaan 30 Bd Simon Bolivar

Brussel 1000 Bruxelles

TEL. +32 2 212 96 00 | FAX +32 2 212 96 99

[email protected] | www.fedict.belgium.be

Page 37: Drupal 8 · D8 ondersteunt PHP7 performantiemetingen tonen 2x verbetering in performantie vs PHP5.x voor zelfde workload. D8 biedt veel intelligentere caching-functionaliteiten, waardoor

References

https://www.drupal.org/drupal-8.0

Drupal 8 Preview Slideshow

https://events.drupal.org/barcelona2015

http://buytaert.net/making-drupal-8-fly

http://www.bluespark.com/status-top-100-

contributed-modules-drupal-8

http://hojtsy.hu/multilingual-drupal8

© Fedict 2009. All rights reserved | p. 37