SlideShare uma empresa Scribd logo
1 de 50
Baixar para ler offline
Decoupled Drupal:
What It Means for Developers
Preston So, Development Manager,
Acquia Labs, Acquia
Welcome!
→ Preston So (@prestonso) has designed websites since 2001
and built them in Drupal since 2007. He is Development
Manager of Acquia Labs at Acquia and co-founder of the
Southern Colorado User Group.
preston.so

drupal.org/u/prestonso

preston.so@acquia.com

pso@post.harvard.edu
What we’ll cover
What is decoupled Drupal?

Motivating decoupled Drupal

Getting started with decoupled

Integrating with clients

The future of the front end
1
2
3
4
5
What is decoupled Drupal?
The history of content management

Microservices and API-first
methodology

The decoupled front end
 1	
  
Web 1.0
Server
(flat assets)
Client
(browser display)
index.html index.html
Web 2.0
Server
(MySQL)
Client
(browser display)
index.html
CMS
(Drupal, PHP)
rendered
index.html
data template
engine
Web 2.0
Server
(MySQL)
Client
(browser display)
index.html
CMS
(Drupal, PHP)
rendered
index.html
data template
engine
AJAX request
Web 2.0
Server
(MySQL)
Client
(browser display)
index.html
CMS
(Drupal, PHP)
rendered
index.html
data template
engine
AJAX request
AJAX response
Web 2.x
Server
(MySQL)
Client
(browser display)
index.html
data
AJAX request
AJAX response
AJAX response
AJAX response
AJAX request
AJAX request
“Web 3.0”
Server / CMS
(MySQL, Drupal)
Client
(JS, app, anything)
client data
API
(REST)
data
HTTP response
HTTP request
“Web 3.0”
Server / CMS
(MySQL, Drupal)
client data
API
(REST)
data
HTTP response
HTTP request
client data
client data
JSON
→ Package data as JSON or XML instead.
[{
"nid": [{
"value": "1"
}],
"uuid": [{
"value": "0b65effd-c1fd-426a-b708-8fe43d3d66b1"
}],
"vid": [{
"value": "1"
}],
"type": [{
"target_id": "article"
}],
JSON
→ Package data as JSON or XML instead.
"langcode": [{
"value": "en"
}],
"title": [{
"value": "NEDCamp 2015"
}],
"uid": [{
"target_id": "1"
}],
"status": [{
"value": "1"
}],
The history of content management
→ Content management systems have historically been
monolithic.
→ Server-side decoupling involved the separation of structure
and presentation in content delivery.
→ Today, content management systems are becoming
increasingly decoupled on the client side.
Full-featured
CMS
(Drupal 6)
Monolithic content management
Full-featured
CMS
(Drupal 6)
Monolithic content management
Front end
(theme layer)
Monolithic content management
→ The boundary between the theme layer and functional
layer is “highly permeable” (Josh Koenig, Amitai
Burstein).
→ “Drupalisms leak to the front end”
Decoupled content management
Full-featured
CMS
(Drupal 6)
Front end
(theme layer)
Front end
(templates, CSS)
Web editing tool
(Create.js)
Web framework
(Drupal)
Content
repository
(PHPCR)
Microservices
→ Independent, encapsulated functional components
→ Do one thing, and do it well
Client-side framework with CRUD
Full-featured
CMS
(Drupal 6)
Front end
(theme layer)
Front end
(templates, CSS)
Web editing tool
(Create.js)
Web framework
(Drupal)
Content
repository
(PHPCR)
Front end
(Angular.js)
Back end
(Drupal)
API-first methodology
→ Front end and back end interact via REST API
→ Design API first (within Drupal), then write your client-
side app
→ Laravel (Symfony), Flatiron, Sails.js (Node.js)
Multiple clients
Client-side
framework
Angular app
Back end
(single Drupal installation)
Other clients
Internet of things
Other Drupals
Native mobile
application
iOS app
Headless or decoupled?
→ “Headless software is software capable of working on a
device without a graphical user interface.”
→ … Drush?
Motivating decoupled Drupal
Separation of concerns

Write once, publish everywhere

Implications on projects and teams



2	
  
Motivating decoupled Drupal
→ Separation of concerns
→ Structure vs. presentation and model, view, controller
(MVC)
→ Write once, publish everywhere (content syndication)
Problems of decoupled Drupal
→  Much of Drupal’s robustness is lost
→  Cross-origin requests and security
→  Authentication and passwords
→  Form validation
→  Search engine optimization
Problems of decoupled Drupal
→  Content workflow and management
→  Layout management
→  Multilingual and localization
→  Accessibility
→  User experience
Decoupled Drupal and teams
→ Teams will decouple as well, diversifying to work at two
different velocities
→ Generalists will disappear in favor of specialists, jeopardizing
breadth of knowledge
→ Multidisciplinary teams will have front-end developers without
Drupal knowledge
Decoupled Drupal and projects
→ Easier front-end redesigns
→ Offline-first applications (PouchDB, Hood.ie)
→ Further granularization of page elements
When should you decouple Drupal?
→  A site powering one or more other sites
→  A site powering one or more applications
→  A site powering multiple things
→  Standalone applications
→  Standalone websites
Getting started with

decoupled Drupal
Decoupling Drupal 6 and 7

Decoupling Drupal 8
3	
  
Decoupled Drupal 6 and 7
→ Off-the-shelf Drupal 7 has no opinionated REST layer
→ Services module (demo)
§  Built-in REST and XML-RPC interfaces
§  Exposes nodes, users, taxonomies, and other core
data at custom endpoints
§  Services Entity extends Services to work with all
entity types
Decoupled Drupal 6 and 7
→ restWS exposes any Drupal entity on its existing path
based on headers.
→ Restful is entity-centric but allows developers to define
what data ought to be sent in response to a request.
Decoupled Drupal 8
→ WSCCI (Web Services and Context Core Initiative)
incorporated Web Services into Drupal 8 core.
→ Web Services (core) allows for all core entities to be
exposed as JSON+HAL; Views natively supports “REST
export” as a new display type.
Decoupled Drupal 8
Decoupled Drupal 8
→ RELAXed Web Services (contrib) extends the core REST
API to include revisions and file attachments.
→ RELAXed’s mission aligns with movement in content
staging and offline-first applications.
Integrating with clients
Native mobile applications

Single-page applications



 4	
  
Client-side frameworks
→ Angular.js relies on directives declared in templates to
provision MVC relationships and provide two-way data
binding
→ Ember.js is highly opinionated, less flexible, and based
on the fluctuating Web Components standard
→ React.js uses a Virtual DOM, JSX as syntactic sugar,
and robust state system
Isomorphic JavaScript
→ An isomorphic framework can be used both on the
client side and server side
→ Node.js: Integration of front-end and back-end
elements; testing framework
→ MEAN stack: MongoDB, Express.js, Angular.js, Node.js
Single-page applications
→ Web Services has a built-in CORS Domains UI
→ Angular.js: Retrieve JSON using $rootScope and
$http
→ Ember.js: Retrieve JSON using $.getJSON on a new
route
Native mobile applications
→ Services Views, Views Datasource (D6 and D7)
→ Titanium (write JS, compile Java or Objective-C)
→ Drupal iOS SDK
→ DrupalCloud (Android)
The future of the front end
The Drupal theme layer

Web Components and the DOM

Discussion
5	
  
Is theming dead?
→ Morten’s “Angry Themer” efforts
→ Does this solve divitis and over-Drupalistic markup?
→ Accessibility and user experience (ARIA, etc.)
→ Is the Drupal theme layer better off coupled?
Pseudo-decoupling
→ Exposing front-end logic from Drupal such as layout
configuration to the client-side app
→ Duplication of functionality
→ Circular dependencies
Progressive decoupling
→ Decouple only components of the page
→ Maintain Drupal functionality such as site building tools,
security, accessibility, and layout management
→ “The future of decoupled Drupal” by Dries
§  buytaert.net/the-future-of-decoupled-drupal
Is Drupal at risk?
→ “We can make Drupal a weapon of choice for the
emerging front-end development community. We can
become good partners with them in open source. It’ll
take us into new markets, it’ll take us into new use
cases.”

—Josh Koenig
Food for thought
→ How do we make front-end developers excited about
using Drupal as a back end? (GraphQL)
→ “What back end are you using?”
→ Content and site REST API for Drupal
→ A better way of provisioning APIs in Drupal
Food for thought
→ What if you could manipulate Drupal content and site
configuration as easily as we can with Drush?
→ Drupal admin UI as a single-page app
→ Big plus: Optimistic feedback
Food for thought
→ What is the future of Drupal against the backdrop of
decoupled Drupal?
→ What is the future of the Drupal front-end community
against the backdrop of decoupled Drupal?
→ What is the future of decoupled Drupal?
Thank you!
→ Preston So (@prestonso) has designed websites since 2001
and built them in Drupal since 2007. He is Development
Manager of Acquia Labs at Acquia and co-founder of the
Southern Colorado User Group.
preston.so

drupal.org/u/prestonso

preston.so@acquia.com

pso@post.harvard.edu

Mais conteúdo relacionado

Mais procurados

Dreamweaver Application
Dreamweaver ApplicationDreamweaver Application
Dreamweaver ApplicationSarah Hall
 
Vitali zaidman Do You Need Server Side Rendering? What Are The Alternatives?
Vitali zaidman Do You Need Server Side Rendering? What Are The Alternatives?Vitali zaidman Do You Need Server Side Rendering? What Are The Alternatives?
Vitali zaidman Do You Need Server Side Rendering? What Are The Alternatives?CodeValue
 
Mule 4 meetup @Hyderabad
Mule 4 meetup @HyderabadMule 4 meetup @Hyderabad
Mule 4 meetup @HyderabadVijay Reddy
 
Flex vs. HTML5 for RIAS
Flex vs. HTML5 for RIASFlex vs. HTML5 for RIAS
Flex vs. HTML5 for RIASPamela Fox
 
Building Drupal 8 Sites
Building Drupal 8 SitesBuilding Drupal 8 Sites
Building Drupal 8 SitesExove
 
Managing Translation Workflows in Drupal 7
Managing Translation Workflows in Drupal 7Managing Translation Workflows in Drupal 7
Managing Translation Workflows in Drupal 7Suzanne Dergacheva
 
Drupal 8 Development at the Speed of Lightning (& BLT)
Drupal 8 Development at the Speed of Lightning (& BLT)Drupal 8 Development at the Speed of Lightning (& BLT)
Drupal 8 Development at the Speed of Lightning (& BLT)Acquia
 
A new tool for measuring performance in Drupal 8 - DrupalCamp London
A new tool for measuring performance in Drupal 8 - DrupalCamp LondonA new tool for measuring performance in Drupal 8 - DrupalCamp London
A new tool for measuring performance in Drupal 8 - DrupalCamp LondonLuca Lusso
 
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...Heiko Voigt
 
Opening the mobile web mozilla and firefox os-chit thiri maung
Opening the mobile web   mozilla and firefox os-chit thiri maungOpening the mobile web   mozilla and firefox os-chit thiri maung
Opening the mobile web mozilla and firefox os-chit thiri maungChit Thiri Maung
 
Drupal 7 for Government Case Study: Presentation at DrupalCamp Montreal 2012
Drupal 7 for Government Case Study: Presentation at DrupalCamp Montreal 2012Drupal 7 for Government Case Study: Presentation at DrupalCamp Montreal 2012
Drupal 7 for Government Case Study: Presentation at DrupalCamp Montreal 2012Suzanne Dergacheva
 
AN INTRODUCTION TO APACHE FLEX
AN INTRODUCTION TO APACHE FLEXAN INTRODUCTION TO APACHE FLEX
AN INTRODUCTION TO APACHE FLEXJoseph Labrecque
 
React with rails a perfect combination to build modern web application
React with rails a perfect combination to build modern web applicationReact with rails a perfect combination to build modern web application
React with rails a perfect combination to build modern web applicationKaty Slemon
 
Migrate for Site Builders from MidCamp 2016
Migrate for Site Builders from MidCamp 2016Migrate for Site Builders from MidCamp 2016
Migrate for Site Builders from MidCamp 2016Suzanne Dergacheva
 
Drupal's competition
Drupal's competitionDrupal's competition
Drupal's competitionAngela Byron
 
Building a REST API for Longevity
Building a REST API for LongevityBuilding a REST API for Longevity
Building a REST API for LongevityMuleSoft
 
Lightning In The Clouds
Lightning In The CloudsLightning In The Clouds
Lightning In The Cloudsgeorge.james
 
Open Source examples from Adobe : Oscon kiosk
Open Source examples from Adobe : Oscon kioskOpen Source examples from Adobe : Oscon kiosk
Open Source examples from Adobe : Oscon kioskDave McAllister
 

Mais procurados (20)

Dreamweaver Application
Dreamweaver ApplicationDreamweaver Application
Dreamweaver Application
 
Mvc webforms
Mvc webformsMvc webforms
Mvc webforms
 
Vitali zaidman Do You Need Server Side Rendering? What Are The Alternatives?
Vitali zaidman Do You Need Server Side Rendering? What Are The Alternatives?Vitali zaidman Do You Need Server Side Rendering? What Are The Alternatives?
Vitali zaidman Do You Need Server Side Rendering? What Are The Alternatives?
 
Mule 4 meetup @Hyderabad
Mule 4 meetup @HyderabadMule 4 meetup @Hyderabad
Mule 4 meetup @Hyderabad
 
Flex vs. HTML5 for RIAS
Flex vs. HTML5 for RIASFlex vs. HTML5 for RIAS
Flex vs. HTML5 for RIAS
 
Building Drupal 8 Sites
Building Drupal 8 SitesBuilding Drupal 8 Sites
Building Drupal 8 Sites
 
Managing Translation Workflows in Drupal 7
Managing Translation Workflows in Drupal 7Managing Translation Workflows in Drupal 7
Managing Translation Workflows in Drupal 7
 
Drupal 8 Development at the Speed of Lightning (& BLT)
Drupal 8 Development at the Speed of Lightning (& BLT)Drupal 8 Development at the Speed of Lightning (& BLT)
Drupal 8 Development at the Speed of Lightning (& BLT)
 
A new tool for measuring performance in Drupal 8 - DrupalCamp London
A new tool for measuring performance in Drupal 8 - DrupalCamp LondonA new tool for measuring performance in Drupal 8 - DrupalCamp London
A new tool for measuring performance in Drupal 8 - DrupalCamp London
 
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
 
Opening the mobile web mozilla and firefox os-chit thiri maung
Opening the mobile web   mozilla and firefox os-chit thiri maungOpening the mobile web   mozilla and firefox os-chit thiri maung
Opening the mobile web mozilla and firefox os-chit thiri maung
 
Drupal 7 for Government Case Study: Presentation at DrupalCamp Montreal 2012
Drupal 7 for Government Case Study: Presentation at DrupalCamp Montreal 2012Drupal 7 for Government Case Study: Presentation at DrupalCamp Montreal 2012
Drupal 7 for Government Case Study: Presentation at DrupalCamp Montreal 2012
 
AN INTRODUCTION TO APACHE FLEX
AN INTRODUCTION TO APACHE FLEXAN INTRODUCTION TO APACHE FLEX
AN INTRODUCTION TO APACHE FLEX
 
React with rails a perfect combination to build modern web application
React with rails a perfect combination to build modern web applicationReact with rails a perfect combination to build modern web application
React with rails a perfect combination to build modern web application
 
Migrate for Site Builders from MidCamp 2016
Migrate for Site Builders from MidCamp 2016Migrate for Site Builders from MidCamp 2016
Migrate for Site Builders from MidCamp 2016
 
Drupal's competition
Drupal's competitionDrupal's competition
Drupal's competition
 
Headless Drupal 8
Headless Drupal 8Headless Drupal 8
Headless Drupal 8
 
Building a REST API for Longevity
Building a REST API for LongevityBuilding a REST API for Longevity
Building a REST API for Longevity
 
Lightning In The Clouds
Lightning In The CloudsLightning In The Clouds
Lightning In The Clouds
 
Open Source examples from Adobe : Oscon kiosk
Open Source examples from Adobe : Oscon kioskOpen Source examples from Adobe : Oscon kiosk
Open Source examples from Adobe : Oscon kiosk
 

Destaque

Applied progressive decoupling weather.com, angular, and drupal
Applied progressive decoupling  weather.com, angular, and drupalApplied progressive decoupling  weather.com, angular, and drupal
Applied progressive decoupling weather.com, angular, and drupalAcquia
 
What Is a Cloud-first Headless CMS
What Is a Cloud-first Headless CMSWhat Is a Cloud-first Headless CMS
What Is a Cloud-first Headless CMSKentico Software
 
Drupal 8: The Foundation for Digital Experience and Digital Business
Drupal 8: The Foundation for Digital Experience and Digital BusinessDrupal 8: The Foundation for Digital Experience and Digital Business
Drupal 8: The Foundation for Digital Experience and Digital BusinessAcquia
 
What is headless drupal?
What is headless drupal?What is headless drupal?
What is headless drupal?ValueCoders
 
RE-ASSIGNMENT OF EXCESS TEACHERS
RE-ASSIGNMENT OF EXCESS TEACHERSRE-ASSIGNMENT OF EXCESS TEACHERS
RE-ASSIGNMENT OF EXCESS TEACHERSIndanan South
 
RESTful in Drupal 8 and Services module - New`n`Tasty!
RESTful in Drupal 8 and Services module - New`n`Tasty!RESTful in Drupal 8 and Services module - New`n`Tasty!
RESTful in Drupal 8 and Services module - New`n`Tasty!Dmytro Olaresko
 
What is Drupal? And Why is it Useful? Webinar
What is Drupal? And Why is it Useful? WebinarWhat is Drupal? And Why is it Useful? Webinar
What is Drupal? And Why is it Useful? WebinarSuzanne Dergacheva
 
CMS web publishing solution for a travel related website using Drupal
CMS web publishing solution for a travel related website using DrupalCMS web publishing solution for a travel related website using Drupal
CMS web publishing solution for a travel related website using DrupalInfoBeans Technologies Ltd.
 
[HKDUG] #20160626 - HKOSCon 2015 - Website DIY with Drupal 8
[HKDUG] #20160626 - HKOSCon 2015 - Website DIY with Drupal 8[HKDUG] #20160626 - HKOSCon 2015 - Website DIY with Drupal 8
[HKDUG] #20160626 - HKOSCon 2015 - Website DIY with Drupal 8Wong Hoi Sing Edison
 
Developing a Communication & Knowledge management Strategy - my experience at...
Developing a Communication & Knowledge management Strategy - my experience at...Developing a Communication & Knowledge management Strategy - my experience at...
Developing a Communication & Knowledge management Strategy - my experience at...Jacqueline Nyagahima
 
The Wonderful World of Drupal 8 Multilingual
The Wonderful World of Drupal 8 MultilingualThe Wonderful World of Drupal 8 Multilingual
The Wonderful World of Drupal 8 MultilingualSuzanne Dergacheva
 
Drupal: My Search for a CMS
Drupal: My Search for a CMSDrupal: My Search for a CMS
Drupal: My Search for a CMSJim Heil
 
Introduction to Drupal features
Introduction to Drupal featuresIntroduction to Drupal features
Introduction to Drupal featuresStijn De Meyere
 
Content Staging in Drupal 8
Content Staging in Drupal 8Content Staging in Drupal 8
Content Staging in Drupal 8Dick Olsson
 
Use Content to Enhance Your Commerce Experience
Use Content to Enhance Your Commerce ExperienceUse Content to Enhance Your Commerce Experience
Use Content to Enhance Your Commerce ExperienceAcquia
 
Headless Drupal, Singapore Drupal Meetup
Headless Drupal, Singapore Drupal MeetupHeadless Drupal, Singapore Drupal Meetup
Headless Drupal, Singapore Drupal MeetupPratomo Ardianto
 
Introducing Acquia Content Hub: Take Control of Your Content Chaos
Introducing Acquia Content Hub: Take Control of Your Content ChaosIntroducing Acquia Content Hub: Take Control of Your Content Chaos
Introducing Acquia Content Hub: Take Control of Your Content ChaosAcquia
 

Destaque (20)

Applied progressive decoupling weather.com, angular, and drupal
Applied progressive decoupling  weather.com, angular, and drupalApplied progressive decoupling  weather.com, angular, and drupal
Applied progressive decoupling weather.com, angular, and drupal
 
What Is a Cloud-first Headless CMS
What Is a Cloud-first Headless CMSWhat Is a Cloud-first Headless CMS
What Is a Cloud-first Headless CMS
 
Drupal 8: The Foundation for Digital Experience and Digital Business
Drupal 8: The Foundation for Digital Experience and Digital BusinessDrupal 8: The Foundation for Digital Experience and Digital Business
Drupal 8: The Foundation for Digital Experience and Digital Business
 
What is headless drupal?
What is headless drupal?What is headless drupal?
What is headless drupal?
 
HeadLess Drupal
HeadLess DrupalHeadLess Drupal
HeadLess Drupal
 
RE-ASSIGNMENT OF EXCESS TEACHERS
RE-ASSIGNMENT OF EXCESS TEACHERSRE-ASSIGNMENT OF EXCESS TEACHERS
RE-ASSIGNMENT OF EXCESS TEACHERS
 
RESTful in Drupal 8 and Services module - New`n`Tasty!
RESTful in Drupal 8 and Services module - New`n`Tasty!RESTful in Drupal 8 and Services module - New`n`Tasty!
RESTful in Drupal 8 and Services module - New`n`Tasty!
 
What is Drupal? And Why is it Useful? Webinar
What is Drupal? And Why is it Useful? WebinarWhat is Drupal? And Why is it Useful? Webinar
What is Drupal? And Why is it Useful? Webinar
 
CMS web publishing solution for a travel related website using Drupal
CMS web publishing solution for a travel related website using DrupalCMS web publishing solution for a travel related website using Drupal
CMS web publishing solution for a travel related website using Drupal
 
[HKDUG] #20160626 - HKOSCon 2015 - Website DIY with Drupal 8
[HKDUG] #20160626 - HKOSCon 2015 - Website DIY with Drupal 8[HKDUG] #20160626 - HKOSCon 2015 - Website DIY with Drupal 8
[HKDUG] #20160626 - HKOSCon 2015 - Website DIY with Drupal 8
 
Developing a Communication & Knowledge management Strategy - my experience at...
Developing a Communication & Knowledge management Strategy - my experience at...Developing a Communication & Knowledge management Strategy - my experience at...
Developing a Communication & Knowledge management Strategy - my experience at...
 
The Wonderful World of Drupal 8 Multilingual
The Wonderful World of Drupal 8 MultilingualThe Wonderful World of Drupal 8 Multilingual
The Wonderful World of Drupal 8 Multilingual
 
Drupal: My Search for a CMS
Drupal: My Search for a CMSDrupal: My Search for a CMS
Drupal: My Search for a CMS
 
Drupal8 + AngularJS
Drupal8 + AngularJSDrupal8 + AngularJS
Drupal8 + AngularJS
 
Introduction to Drupal features
Introduction to Drupal featuresIntroduction to Drupal features
Introduction to Drupal features
 
Content Staging in Drupal 8
Content Staging in Drupal 8Content Staging in Drupal 8
Content Staging in Drupal 8
 
Mb Portfolio 20091201
Mb Portfolio 20091201Mb Portfolio 20091201
Mb Portfolio 20091201
 
Use Content to Enhance Your Commerce Experience
Use Content to Enhance Your Commerce ExperienceUse Content to Enhance Your Commerce Experience
Use Content to Enhance Your Commerce Experience
 
Headless Drupal, Singapore Drupal Meetup
Headless Drupal, Singapore Drupal MeetupHeadless Drupal, Singapore Drupal Meetup
Headless Drupal, Singapore Drupal Meetup
 
Introducing Acquia Content Hub: Take Control of Your Content Chaos
Introducing Acquia Content Hub: Take Control of Your Content ChaosIntroducing Acquia Content Hub: Take Control of Your Content Chaos
Introducing Acquia Content Hub: Take Control of Your Content Chaos
 

Semelhante a Decoupled Drupal: What This Means for Developers

Decoupled drupal DcRuhr
Decoupled drupal DcRuhrDecoupled drupal DcRuhr
Decoupled drupal DcRuhrAhmad Hassan
 
Building Websites of the Future With Drupal 7
Building Websites of the Future With Drupal 7Building Websites of the Future With Drupal 7
Building Websites of the Future With Drupal 7Jay Epstein
 
Building Websites of the Future With Drupal 7
Building Websites of the Future With Drupal 7Building Websites of the Future With Drupal 7
Building Websites of the Future With Drupal 7Jay Epstein
 
Viridians on Rails
Viridians on RailsViridians on Rails
Viridians on RailsViridians
 
Drupal 8 and iOS - an Open Source App
Drupal 8 and iOS - an Open Source AppDrupal 8 and iOS - an Open Source App
Drupal 8 and iOS - an Open Source ApplittleMAS
 
Spark: Authoring Experience++ in Drupal 7, 8, and Beyond
Spark: Authoring Experience++ in Drupal 7, 8, and BeyondSpark: Authoring Experience++ in Drupal 7, 8, and Beyond
Spark: Authoring Experience++ in Drupal 7, 8, and BeyondAngela Byron
 
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8Acquia
 
The Guide to becoming a full stack developer in 2018
The Guide to becoming a full stack developer in 2018The Guide to becoming a full stack developer in 2018
The Guide to becoming a full stack developer in 2018Amit Ashwini
 
Decoupling Drupal - Drupal Camp Toronto 2014
Decoupling Drupal - Drupal Camp Toronto 2014Decoupling Drupal - Drupal Camp Toronto 2014
Decoupling Drupal - Drupal Camp Toronto 2014Alex De Winne
 
Semantic content management: consuming and producing RDF in Drupal
Semantic content management: consuming and producing RDF in DrupalSemantic content management: consuming and producing RDF in Drupal
Semantic content management: consuming and producing RDF in DrupalThom Bunting
 
Drupal & AngularJS - DrupalCamp Spain 2014
Drupal & AngularJS - DrupalCamp Spain 2014Drupal & AngularJS - DrupalCamp Spain 2014
Drupal & AngularJS - DrupalCamp Spain 2014Juampy NR
 
Above the cloud joarder kamal
Above the cloud   joarder kamalAbove the cloud   joarder kamal
Above the cloud joarder kamalJoarder Kamal
 
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx75waytechnologies
 
10 Best Web Development Frameworks for Your Business Needs
10 Best Web Development Frameworks for Your Business Needs10 Best Web Development Frameworks for Your Business Needs
10 Best Web Development Frameworks for Your Business NeedsSofiaCarter4
 
2.28.17 Introducing DSpace 7 Webinar Slides
2.28.17 Introducing DSpace 7 Webinar Slides2.28.17 Introducing DSpace 7 Webinar Slides
2.28.17 Introducing DSpace 7 Webinar SlidesDuraSpace
 
Sunshine consulting mopuru babu cv_java_j2ee_spring_bigdata_scala
Sunshine consulting mopuru babu cv_java_j2ee_spring_bigdata_scalaSunshine consulting mopuru babu cv_java_j2ee_spring_bigdata_scala
Sunshine consulting mopuru babu cv_java_j2ee_spring_bigdata_scalaMopuru Babu
 
DrupalDeveloper
DrupalDeveloperDrupalDeveloper
DrupalDeveloperRaju J
 
How To Build An Accessible Web Application
How To Build An Accessible Web ApplicationHow To Build An Accessible Web Application
How To Build An Accessible Web ApplicationDennis Lembree
 
Website and it's importance
Website and it's importanceWebsite and it's importance
Website and it's importanceRobinSingh347
 

Semelhante a Decoupled Drupal: What This Means for Developers (20)

Decoupled drupal DcRuhr
Decoupled drupal DcRuhrDecoupled drupal DcRuhr
Decoupled drupal DcRuhr
 
Building Websites of the Future With Drupal 7
Building Websites of the Future With Drupal 7Building Websites of the Future With Drupal 7
Building Websites of the Future With Drupal 7
 
Building Websites of the Future With Drupal 7
Building Websites of the Future With Drupal 7Building Websites of the Future With Drupal 7
Building Websites of the Future With Drupal 7
 
Viridians on Rails
Viridians on RailsViridians on Rails
Viridians on Rails
 
Drupal 8 and iOS - an Open Source App
Drupal 8 and iOS - an Open Source AppDrupal 8 and iOS - an Open Source App
Drupal 8 and iOS - an Open Source App
 
Spark: Authoring Experience++ in Drupal 7, 8, and Beyond
Spark: Authoring Experience++ in Drupal 7, 8, and BeyondSpark: Authoring Experience++ in Drupal 7, 8, and Beyond
Spark: Authoring Experience++ in Drupal 7, 8, and Beyond
 
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8
 
The Decoupled CMS in Financial Services
The Decoupled CMS in Financial ServicesThe Decoupled CMS in Financial Services
The Decoupled CMS in Financial Services
 
The Guide to becoming a full stack developer in 2018
The Guide to becoming a full stack developer in 2018The Guide to becoming a full stack developer in 2018
The Guide to becoming a full stack developer in 2018
 
Decoupling Drupal - Drupal Camp Toronto 2014
Decoupling Drupal - Drupal Camp Toronto 2014Decoupling Drupal - Drupal Camp Toronto 2014
Decoupling Drupal - Drupal Camp Toronto 2014
 
Semantic content management: consuming and producing RDF in Drupal
Semantic content management: consuming and producing RDF in DrupalSemantic content management: consuming and producing RDF in Drupal
Semantic content management: consuming and producing RDF in Drupal
 
Drupal & AngularJS - DrupalCamp Spain 2014
Drupal & AngularJS - DrupalCamp Spain 2014Drupal & AngularJS - DrupalCamp Spain 2014
Drupal & AngularJS - DrupalCamp Spain 2014
 
Above the cloud joarder kamal
Above the cloud   joarder kamalAbove the cloud   joarder kamal
Above the cloud joarder kamal
 
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
8 Node.js Frameworks Every Developer Should Know [UPDATED].pptx
 
10 Best Web Development Frameworks for Your Business Needs
10 Best Web Development Frameworks for Your Business Needs10 Best Web Development Frameworks for Your Business Needs
10 Best Web Development Frameworks for Your Business Needs
 
2.28.17 Introducing DSpace 7 Webinar Slides
2.28.17 Introducing DSpace 7 Webinar Slides2.28.17 Introducing DSpace 7 Webinar Slides
2.28.17 Introducing DSpace 7 Webinar Slides
 
Sunshine consulting mopuru babu cv_java_j2ee_spring_bigdata_scala
Sunshine consulting mopuru babu cv_java_j2ee_spring_bigdata_scalaSunshine consulting mopuru babu cv_java_j2ee_spring_bigdata_scala
Sunshine consulting mopuru babu cv_java_j2ee_spring_bigdata_scala
 
DrupalDeveloper
DrupalDeveloperDrupalDeveloper
DrupalDeveloper
 
How To Build An Accessible Web Application
How To Build An Accessible Web ApplicationHow To Build An Accessible Web Application
How To Build An Accessible Web Application
 
Website and it's importance
Website and it's importanceWebsite and it's importance
Website and it's importance
 

Mais de Acquia

Acquia_Adcetera Webinar_Marketing Automation.pdf
Acquia_Adcetera Webinar_Marketing Automation.pdfAcquia_Adcetera Webinar_Marketing Automation.pdf
Acquia_Adcetera Webinar_Marketing Automation.pdfAcquia
 
Acquia Webinar Deck - 9_13 .pdf
Acquia Webinar Deck - 9_13 .pdfAcquia Webinar Deck - 9_13 .pdf
Acquia Webinar Deck - 9_13 .pdfAcquia
 
Taking Your Multi-Site Management at Scale to the Next Level
Taking Your Multi-Site Management at Scale to the Next LevelTaking Your Multi-Site Management at Scale to the Next Level
Taking Your Multi-Site Management at Scale to the Next LevelAcquia
 
CDP for Retail Webinar with Appnovation - Q2 2022.pdf
CDP for Retail Webinar with Appnovation - Q2 2022.pdfCDP for Retail Webinar with Appnovation - Q2 2022.pdf
CDP for Retail Webinar with Appnovation - Q2 2022.pdfAcquia
 
May Partner Bootcamp 2022
May Partner Bootcamp 2022May Partner Bootcamp 2022
May Partner Bootcamp 2022Acquia
 
April Partner Bootcamp 2022
April Partner Bootcamp 2022April Partner Bootcamp 2022
April Partner Bootcamp 2022Acquia
 
How to Unify Brand Experience: A Hootsuite Story
How to Unify Brand Experience: A Hootsuite Story How to Unify Brand Experience: A Hootsuite Story
How to Unify Brand Experience: A Hootsuite Story Acquia
 
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CXUsing Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CXAcquia
 
Improve Code Quality and Time to Market: 100% Cloud-Based Development Workflow
Improve Code Quality and Time to Market: 100% Cloud-Based Development WorkflowImprove Code Quality and Time to Market: 100% Cloud-Based Development Workflow
Improve Code Quality and Time to Market: 100% Cloud-Based Development WorkflowAcquia
 
September Partner Bootcamp
September Partner BootcampSeptember Partner Bootcamp
September Partner BootcampAcquia
 
August partner bootcamp
August partner bootcampAugust partner bootcamp
August partner bootcampAcquia
 
July 2021 Partner Bootcamp
July  2021 Partner BootcampJuly  2021 Partner Bootcamp
July 2021 Partner BootcampAcquia
 
May Partner Bootcamp
May Partner BootcampMay Partner Bootcamp
May Partner BootcampAcquia
 
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASYDRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASYAcquia
 
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead MachineWork While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead MachineAcquia
 
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B LeadsAcquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B LeadsAcquia
 
April partner bootcamp deck cookieless future
April partner bootcamp deck  cookieless futureApril partner bootcamp deck  cookieless future
April partner bootcamp deck cookieless futureAcquia
 
How to enhance cx through personalised, automated solutions
How to enhance cx through personalised, automated solutionsHow to enhance cx through personalised, automated solutions
How to enhance cx through personalised, automated solutionsAcquia
 
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...Acquia
 
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021Acquia
 

Mais de Acquia (20)

Acquia_Adcetera Webinar_Marketing Automation.pdf
Acquia_Adcetera Webinar_Marketing Automation.pdfAcquia_Adcetera Webinar_Marketing Automation.pdf
Acquia_Adcetera Webinar_Marketing Automation.pdf
 
Acquia Webinar Deck - 9_13 .pdf
Acquia Webinar Deck - 9_13 .pdfAcquia Webinar Deck - 9_13 .pdf
Acquia Webinar Deck - 9_13 .pdf
 
Taking Your Multi-Site Management at Scale to the Next Level
Taking Your Multi-Site Management at Scale to the Next LevelTaking Your Multi-Site Management at Scale to the Next Level
Taking Your Multi-Site Management at Scale to the Next Level
 
CDP for Retail Webinar with Appnovation - Q2 2022.pdf
CDP for Retail Webinar with Appnovation - Q2 2022.pdfCDP for Retail Webinar with Appnovation - Q2 2022.pdf
CDP for Retail Webinar with Appnovation - Q2 2022.pdf
 
May Partner Bootcamp 2022
May Partner Bootcamp 2022May Partner Bootcamp 2022
May Partner Bootcamp 2022
 
April Partner Bootcamp 2022
April Partner Bootcamp 2022April Partner Bootcamp 2022
April Partner Bootcamp 2022
 
How to Unify Brand Experience: A Hootsuite Story
How to Unify Brand Experience: A Hootsuite Story How to Unify Brand Experience: A Hootsuite Story
How to Unify Brand Experience: A Hootsuite Story
 
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CXUsing Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
 
Improve Code Quality and Time to Market: 100% Cloud-Based Development Workflow
Improve Code Quality and Time to Market: 100% Cloud-Based Development WorkflowImprove Code Quality and Time to Market: 100% Cloud-Based Development Workflow
Improve Code Quality and Time to Market: 100% Cloud-Based Development Workflow
 
September Partner Bootcamp
September Partner BootcampSeptember Partner Bootcamp
September Partner Bootcamp
 
August partner bootcamp
August partner bootcampAugust partner bootcamp
August partner bootcamp
 
July 2021 Partner Bootcamp
July  2021 Partner BootcampJuly  2021 Partner Bootcamp
July 2021 Partner Bootcamp
 
May Partner Bootcamp
May Partner BootcampMay Partner Bootcamp
May Partner Bootcamp
 
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASYDRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
 
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead MachineWork While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
 
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B LeadsAcquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
 
April partner bootcamp deck cookieless future
April partner bootcamp deck  cookieless futureApril partner bootcamp deck  cookieless future
April partner bootcamp deck cookieless future
 
How to enhance cx through personalised, automated solutions
How to enhance cx through personalised, automated solutionsHow to enhance cx through personalised, automated solutions
How to enhance cx through personalised, automated solutions
 
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
 
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
 

Último

Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 

Último (20)

Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

Decoupled Drupal: What This Means for Developers

  • 1. Decoupled Drupal: What It Means for Developers Preston So, Development Manager, Acquia Labs, Acquia
  • 2. Welcome! → Preston So (@prestonso) has designed websites since 2001 and built them in Drupal since 2007. He is Development Manager of Acquia Labs at Acquia and co-founder of the Southern Colorado User Group. preston.so drupal.org/u/prestonso preston.so@acquia.com pso@post.harvard.edu
  • 3. What we’ll cover What is decoupled Drupal? Motivating decoupled Drupal Getting started with decoupled Integrating with clients The future of the front end 1 2 3 4 5
  • 4. What is decoupled Drupal? The history of content management Microservices and API-first methodology The decoupled front end 1  
  • 5. Web 1.0 Server (flat assets) Client (browser display) index.html index.html
  • 6. Web 2.0 Server (MySQL) Client (browser display) index.html CMS (Drupal, PHP) rendered index.html data template engine
  • 7. Web 2.0 Server (MySQL) Client (browser display) index.html CMS (Drupal, PHP) rendered index.html data template engine AJAX request
  • 8. Web 2.0 Server (MySQL) Client (browser display) index.html CMS (Drupal, PHP) rendered index.html data template engine AJAX request AJAX response
  • 9. Web 2.x Server (MySQL) Client (browser display) index.html data AJAX request AJAX response AJAX response AJAX response AJAX request AJAX request
  • 10. “Web 3.0” Server / CMS (MySQL, Drupal) Client (JS, app, anything) client data API (REST) data HTTP response HTTP request
  • 11. “Web 3.0” Server / CMS (MySQL, Drupal) client data API (REST) data HTTP response HTTP request client data client data
  • 12. JSON → Package data as JSON or XML instead. [{ "nid": [{ "value": "1" }], "uuid": [{ "value": "0b65effd-c1fd-426a-b708-8fe43d3d66b1" }], "vid": [{ "value": "1" }], "type": [{ "target_id": "article" }],
  • 13. JSON → Package data as JSON or XML instead. "langcode": [{ "value": "en" }], "title": [{ "value": "NEDCamp 2015" }], "uid": [{ "target_id": "1" }], "status": [{ "value": "1" }],
  • 14. The history of content management → Content management systems have historically been monolithic. → Server-side decoupling involved the separation of structure and presentation in content delivery. → Today, content management systems are becoming increasingly decoupled on the client side.
  • 16. Full-featured CMS (Drupal 6) Monolithic content management Front end (theme layer)
  • 17. Monolithic content management → The boundary between the theme layer and functional layer is “highly permeable” (Josh Koenig, Amitai Burstein). → “Drupalisms leak to the front end”
  • 18. Decoupled content management Full-featured CMS (Drupal 6) Front end (theme layer) Front end (templates, CSS) Web editing tool (Create.js) Web framework (Drupal) Content repository (PHPCR)
  • 19. Microservices → Independent, encapsulated functional components → Do one thing, and do it well
  • 20. Client-side framework with CRUD Full-featured CMS (Drupal 6) Front end (theme layer) Front end (templates, CSS) Web editing tool (Create.js) Web framework (Drupal) Content repository (PHPCR) Front end (Angular.js) Back end (Drupal)
  • 21. API-first methodology → Front end and back end interact via REST API → Design API first (within Drupal), then write your client- side app → Laravel (Symfony), Flatiron, Sails.js (Node.js)
  • 22. Multiple clients Client-side framework Angular app Back end (single Drupal installation) Other clients Internet of things Other Drupals Native mobile application iOS app
  • 23. Headless or decoupled? → “Headless software is software capable of working on a device without a graphical user interface.” → … Drush?
  • 24. Motivating decoupled Drupal Separation of concerns Write once, publish everywhere Implications on projects and teams 2  
  • 25. Motivating decoupled Drupal → Separation of concerns → Structure vs. presentation and model, view, controller (MVC) → Write once, publish everywhere (content syndication)
  • 26. Problems of decoupled Drupal →  Much of Drupal’s robustness is lost →  Cross-origin requests and security →  Authentication and passwords →  Form validation →  Search engine optimization
  • 27. Problems of decoupled Drupal →  Content workflow and management →  Layout management →  Multilingual and localization →  Accessibility →  User experience
  • 28. Decoupled Drupal and teams → Teams will decouple as well, diversifying to work at two different velocities → Generalists will disappear in favor of specialists, jeopardizing breadth of knowledge → Multidisciplinary teams will have front-end developers without Drupal knowledge
  • 29. Decoupled Drupal and projects → Easier front-end redesigns → Offline-first applications (PouchDB, Hood.ie) → Further granularization of page elements
  • 30. When should you decouple Drupal? →  A site powering one or more other sites →  A site powering one or more applications →  A site powering multiple things →  Standalone applications →  Standalone websites
  • 31. Getting started with
 decoupled Drupal Decoupling Drupal 6 and 7 Decoupling Drupal 8 3  
  • 32. Decoupled Drupal 6 and 7 → Off-the-shelf Drupal 7 has no opinionated REST layer → Services module (demo) §  Built-in REST and XML-RPC interfaces §  Exposes nodes, users, taxonomies, and other core data at custom endpoints §  Services Entity extends Services to work with all entity types
  • 33. Decoupled Drupal 6 and 7 → restWS exposes any Drupal entity on its existing path based on headers. → Restful is entity-centric but allows developers to define what data ought to be sent in response to a request.
  • 34. Decoupled Drupal 8 → WSCCI (Web Services and Context Core Initiative) incorporated Web Services into Drupal 8 core. → Web Services (core) allows for all core entities to be exposed as JSON+HAL; Views natively supports “REST export” as a new display type.
  • 36. Decoupled Drupal 8 → RELAXed Web Services (contrib) extends the core REST API to include revisions and file attachments. → RELAXed’s mission aligns with movement in content staging and offline-first applications.
  • 37. Integrating with clients Native mobile applications Single-page applications 4  
  • 38. Client-side frameworks → Angular.js relies on directives declared in templates to provision MVC relationships and provide two-way data binding → Ember.js is highly opinionated, less flexible, and based on the fluctuating Web Components standard → React.js uses a Virtual DOM, JSX as syntactic sugar, and robust state system
  • 39. Isomorphic JavaScript → An isomorphic framework can be used both on the client side and server side → Node.js: Integration of front-end and back-end elements; testing framework → MEAN stack: MongoDB, Express.js, Angular.js, Node.js
  • 40. Single-page applications → Web Services has a built-in CORS Domains UI → Angular.js: Retrieve JSON using $rootScope and $http → Ember.js: Retrieve JSON using $.getJSON on a new route
  • 41. Native mobile applications → Services Views, Views Datasource (D6 and D7) → Titanium (write JS, compile Java or Objective-C) → Drupal iOS SDK → DrupalCloud (Android)
  • 42. The future of the front end The Drupal theme layer Web Components and the DOM Discussion 5  
  • 43. Is theming dead? → Morten’s “Angry Themer” efforts → Does this solve divitis and over-Drupalistic markup? → Accessibility and user experience (ARIA, etc.) → Is the Drupal theme layer better off coupled?
  • 44. Pseudo-decoupling → Exposing front-end logic from Drupal such as layout configuration to the client-side app → Duplication of functionality → Circular dependencies
  • 45. Progressive decoupling → Decouple only components of the page → Maintain Drupal functionality such as site building tools, security, accessibility, and layout management → “The future of decoupled Drupal” by Dries §  buytaert.net/the-future-of-decoupled-drupal
  • 46. Is Drupal at risk? → “We can make Drupal a weapon of choice for the emerging front-end development community. We can become good partners with them in open source. It’ll take us into new markets, it’ll take us into new use cases.” —Josh Koenig
  • 47. Food for thought → How do we make front-end developers excited about using Drupal as a back end? (GraphQL) → “What back end are you using?” → Content and site REST API for Drupal → A better way of provisioning APIs in Drupal
  • 48. Food for thought → What if you could manipulate Drupal content and site configuration as easily as we can with Drush? → Drupal admin UI as a single-page app → Big plus: Optimistic feedback
  • 49. Food for thought → What is the future of Drupal against the backdrop of decoupled Drupal? → What is the future of the Drupal front-end community against the backdrop of decoupled Drupal? → What is the future of decoupled Drupal?
  • 50. Thank you! → Preston So (@prestonso) has designed websites since 2001 and built them in Drupal since 2007. He is Development Manager of Acquia Labs at Acquia and co-founder of the Southern Colorado User Group. preston.so drupal.org/u/prestonso preston.so@acquia.com pso@post.harvard.edu