Demystifying Decoupled Drupal with Contenta CMS Bayo Fodeke & - - PowerPoint PPT Presentation

demystifying decoupled drupal with contenta cms
SMART_READER_LITE
LIVE PREVIEW

Demystifying Decoupled Drupal with Contenta CMS Bayo Fodeke & - - PowerPoint PPT Presentation

Demystifying Decoupled Drupal with Contenta CMS Bayo Fodeke & Mark Shropshire Todays Agenda I. Whats Decoupled Drupal? II. Why Decouple Drupal? III. Whats Contenta CMS? IV. Contenta CMS Features V. Contenta CMS Demos VI.


slide-1
SLIDE 1

Demystifying Decoupled Drupal with Contenta CMS

Bayo Fodeke & Mark Shropshire

slide-2
SLIDE 2

| 2

Today’s Agenda

I. What’s Decoupled Drupal? II. Why Decouple Drupal? III. What’s Contenta CMS? IV. Contenta CMS Features V. Contenta CMS Demos VI. Q&A

slide-3
SLIDE 3

| 3

Today’s Team

Mark Shropshire

Director of Development

Bayo Fodeke

Senior Drupal Developer

slide-4
SLIDE 4

| 4

About Mediacurrent

slide-5
SLIDE 5

| 5

Who We Are

Mediacurrent is a full-service digital agency that implements world class open source software development, strategy, and design to achieve defined goals for enterprise organizations seeking a better return on investment.

slide-6
SLIDE 6

| 6

What’s Decoupled Drupal?

slide-7
SLIDE 7

| 7 Source: Acquia.com

Decoupled Drupal (or headless Drupal) allows the developer to utilize any technology to render the front-end experience in lieu of the theming and presentation layers in Drupal.

slide-8
SLIDE 8

| 8

Fully Decoupled Drupal

Drupal 8 Backend Client: browser, native mobile app, digital signage, etc. Decoupled Frontend

slide-9
SLIDE 9

| 9

Progressively Decoupled Drupal

Drupal 8 Backend and Frontend Client: browser, native mobile app, digital signage, etc. JavaScript Framework rendering portions of the page

slide-10
SLIDE 10

| 10

Why Decouple Drupal?

slide-11
SLIDE 11

| 11

Reasons to Decouple Drupal

  • Content can be delivered to many different devices
  • Ability to replace the frontend without affecting the backend
  • Developer experience
  • Security
slide-12
SLIDE 12

| 12

Drupal Decoupling Tech

JSON::API REST API GraphQL

slide-13
SLIDE 13

| 13

JSON:API lands in Drupal core!

Drupal 8.7.x | May 2019

slide-14
SLIDE 14

Call for papers The Decoupled Days 2019 call for papers is extended until May 3, 2019 at 11:59pm EST. Sponsorships For sponsorship information, reach out to our team at decoupleddays@gmail.com. @decoupleddays Follow us on Twitter to stay updated on important announcements. #decoupleddays • decoupleddays.com • @decoupleddays

slide-15
SLIDE 15

| 15

Traditional Drupal Approach

There is nothing wrong with a standard Drupal approach where the Drupal instance provides the backend and frontend experience.

Great read on making the decision to decouple Drupal (when and how): https://dri.es/how-to-decouple-drupal-in-2018

slide-16
SLIDE 16

| 16

What’s Contenta CMS?

slide-17
SLIDE 17

| 17

Contenta is an API-First Drupal distribution.

It provides a standard platform that is API ready along with demo content and example front-end

  • applications. Contenta

intends to ease the pain of using, or simply trying, decoupled Drupal.

Source: ContentaCMS.org

Contenta CMS

slide-18
SLIDE 18

| 18

Contenta CMS Features

slide-19
SLIDE 19

| 19

Contenta CMS Features

JSON API Example Consumers GraphQL Oauth Drupal 8 OpenAPI Open Source Example Content

slide-20
SLIDE 20

| 20

ContentaJS

A nodejs server that proxies to Contenta CMS and holds custom code

slide-21
SLIDE 21

| 21

Contenta CMS Demos

slide-22
SLIDE 22

| 22

Stockwatch Tech Stack

slide-23
SLIDE 23

| 23

Demos

  • Contenta CMS Installation

○ https://www.contentacms.org

  • Contenta CMS (stockwatch-api)

○ https://github.com/shrop/stockwatch-api ○ Creating content models ○ API options ■ JSON API endpoint ○ Oauth

slide-24
SLIDE 24

| 24

Demos

  • React Frontend (stockwatchapp)

○ https://github.com/shrop/stockwatch-react ○ CORS (Cross-Origin Resource Sharing) ○ Oauth (implicit grant) ■ Login ○ Reading JSON API data ■ Filtering

slide-25
SLIDE 25

| 25

Demos

  • Gatsby Frontend (stockwatch)

○ https://github.com/shrop/stockwatch-gatsby ○ Access control in Drupal to allow Basic Pages to be public ■ Node View Permissions ○ Gatsby setup

slide-26
SLIDE 26

Friday, April 12, 2019

#DrupalContributions

Contribution Opportunities

9:00-18:00 Room: 602

Mentored Contribution First Time Contributor Workshop

9:00-12:00 Room: 606

General Contributions

9:00-18:00 Room: 6A

Join Us!

slide-27
SLIDE 27

Thank you!

@mediacurrent

What did you think?

Locate this session at the DrupalCon Seattle website: http://seattle2019.drupal.org/schedule Take the Survey! https://www.surveymonkey.com/r/DrupalConSeattle