Headless Drupal - Wat, Waarom, Hoe & Uitdagingen
-
Upload
luciuswebsystems -
Category
Software
-
view
634 -
download
1
Transcript of Headless Drupal - Wat, Waarom, Hoe & Uitdagingen
Waarom Headless?
OpenLucius.com - Drupal Social Intranet
Waarom Headless Drupal? Onafhankelijke teams, ook zonder Drupal kennis.
Waarom Headless?
OpenLucius.com - Drupal Social Intranet
Waarom Headless Drupal? “I love CSS” - No backend developer ever.
Waarom Headless?
OpenLucius.com - Drupal Social Intranet
Waarom Headless Drupal? “I love to style Drupal markup” - No frontend developer ever.
Waarom Headless?
OpenLucius.com - Drupal Social Intranet
Waarom Headless Drupal? 100-miljoen-miljard apparaten en schermen.
Waarom Headless?
OpenLucius.com - Drupal Social Intranet
Waarom Headless Drupal? 100-miljard-miljoen apps.
Waarom Headless?
OpenLucius.com - Drupal Social Intranet
Waarom Headless Drupal? Makkelijker beheer en onderhoud.
Waarom Headless?
OpenLucius.com - Drupal Social Intranet
Waarom Headless Drupal? ‘Applicatie experience’.
Waarom Headless?
OpenLucius.com - Drupal Social Intranet
Hoe Headless | Drupal 7 - Modules: Services, RestWS, Restful - Custom endpoint gefaciliteerd door Service module
Waarom Headless?
OpenLucius.com - Drupal Social Intranet
Hoe Headless | Drupal 8 - REST API in core & Services module. - REST UI & Views - Custom endpoints middels core REST API + services.
Headless uitdagingen - Search, Pager, Views exposed filters, Meta tags, OpenGraph, - Google Analytics (bv events), Preview, Edit in place, Toolbar, - Image styles, Block management, Paragraphs, XML Sitemap, etc etc - Site name, logo & site slogan
⁃ Logging en error reporting
Go for headless? - Meerdere onafhankelijke development teams? - Rigide front-end requirements? - Multi channel publishing?
Go for headless? - Mate van Drupal ervaring bij front-enders? - Data van verschillende bronnen? - Dev team site builders of API devs?
API Design - REST: Representational State Transfer - Roy Fielding - “Architectural Styles and the Design of Network-based Software Architectures”
API Design - Richardson Maturity Model: - Level 0: the swamp of POX (single endpoint: /content?type=article) - Level 1: Resources (multiple endpoints: /articles, /articles/1, and /articles/1/delete) - Level 2: HTTP verbs (endpoint per content type faciliteert GET, POST, DELETE, PATCH) = RESTful
API Design - Object schema bepalen - Repeatable proporties en field names - Juiste data types: b.v. integers voor nummers i.p.v strings
API tools - swagger.io (Designing, traffic inspector, documentation) - Postman Chrome plugin (Testing) - Apiary (Designing)
API tools - API Blueprint (Designing) - Jsonapi.org (Designing) - Dredd (Testing) - Aglio (Documentation)
Voorbeeld | Drupal 7 Services of RESTful module: • Standaard endpoints met (te) veel voorgedefinieerd Drupal
style output.
Voorbeeld | Drupal 7 custom endpoints m.b.v. Services: Bepaal geheel zelf de output m.b.v. custom queries ==> Zie voorbeeld code
Voorbeeld|Drupal 8 custom endpoints: http://enzolutions.com/articles/2014/12/16/how-to-create-a-rest-resource-in-drupal-8/