Drupal 8 Informatiesessie Fedict 2009. All rights reserved
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) Fedict 2009. All rights reserved p. 2
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 Fedict 2009. All rights reserved p. 3
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 Fedict 2009. All rights reserved p. 4
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 Fedict 2009. All rights reserved p. 5
Gebruikerservaring WYSIWYG in Core, Afbeeldingen in text Fedict 2009. All rights reserved p. 6
Gebruikerservaring In-line editeren Fedict 2009. All rights reserved p. 7
Gebruikerservaring Echte inhoud-preview Fedict 2009. All rights reserved p. 8
Gebruikerservaring Mobile-first Fedict 2009. All rights reserved p. 9
Gebruikerservaring Core themes responsive, HTML5 Fedict 2009. All rights reserved p. 10
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
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
Ontwikkelaars-ervaring Nieuwe veldtypes Entity Reference Date/Datetime Link Phone Email Fedict 2009. All rights reserved p. 13
Ontwikkelaars-ervaring Nieuw Theming Framework - Twig Fedict 2009. All rights reserved p. 14
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
Meertaligheid Engels is nu *optioneel* Fedict 2009. All rights reserved p. 16
Meertaligheid Ingebouwde vertaaldownloads Vertaalfuncties in theming en javascript Nagenoeg alles vertaalbaar (bvb ook blocks) Fedict 2009. All rights reserved p. 17
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
Moderne software architectuur Symfony2 framework HttpFoundation HttpKernel Dependency Injection EventDispatcher Routing Yaml Fedict 2009. All rights reserved p. 19
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
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
Moderne software architectuur RESTfull Webservices standaard Fedict 2009. All rights reserved p. 22
Configuratiesysteem Textfile-gebaseerde configuratie (YAML) 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. Fedict 2009. All rights reserved p. 23
Configuratiesysteem Textfile-gebaseerde configuratie (YAML) Fedict 2009. All rights reserved p. 24
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 codestack complexer maakt. Merk wel : als op dezelfde manier gebruikt Fedict 2009. All rights reserved p. 25
Performantie-mogelijkheden D8 ondersteunt PHP7 performantiemetingen tonen 2x verbetering in performantie vs PHP5.x voor zelfde workload. D8 biedt veel intelligentere cachingfunctionaliteiten, 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
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
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
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
What s next? D9? Grote verandering tss D7 & D8: we zullen niet langer in een quasi volledige functionaliteitsfreeze 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
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
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-tuinkeuken-cmsje dat iedereen zelf effe op een server kan kwakken. Fedict 2009. All rights reserved p. 32
Wanneer wordt Drupal 8.0.0 gereleased? Fedict 2009. All rights reserved p. 33
VANDAAG!!!!! Fedict 2009. All rights reserved p. 34
Fedict 2009. All rights reserved Questions & Answers
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 info@fedict.belgium.be www.fedict.belgium.be Fedict 2009. All rights reserved
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