57
How to keep Drupal relevant in the Git-based and API-driven CMS era by Jesus Manuel Olivas / weKnow #BADCamp

How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

How to keep Drupal relevant in the Git-based and API-driven CMS era

by Jesus Manuel Olivas / weKnow#BADCamp

Page 2: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

$ whoami

Jesus Manuel Olivas [email protected]

jmolivas jmolivas drupal.org/u/jmolivas jmolivas.weknowinc.com

Page 3: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

MexicaliMexico + California

CalexicoCalifornia + Mexico

$ ifconfig

Page 4: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

weAre

Page 5: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

weKnow

Page 6: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

weGive

2,572,697

Page 7: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

Drupal … Drupal … Drupal

Page 8: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

When all you have is a hammer, everything looks

like a nail.

Page 9: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow
Page 10: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

Traditional Monolithic CMS

Page 11: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

Decoupling the frontend

Page 12: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

Traditional Monolithic CMS + Particle (Design System)

Page 13: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

The Traditional Headless

Page 14: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

Drupal Headless API + Front-end library

Fetch

Page 15: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

Symfony API + Front-end library

Fetch

Page 16: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

Challenges

Page 17: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

Challenges

> Performance

> Reliability

> Security

> Hosting

Page 18: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

Performance

Visitor Server CMS Database

Page 19: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

Reliability - The Traditional Stack

Page 20: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

Reliability - The Traditional Stack

Page 21: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

Reliability - The Headless Stack

Page 22: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

Reliability - A more advanced Stack

Page 23: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

Security

> System dependencies

> Stack dependencies

> Platform dependencies core

> Custom modules dependencies hosted

> Third party libraries hosted

Page 24: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

Hosting

> Managing a complicated stack is not easy.

> Requires knowledge of managing servers, databases, cache, DNS, backups, automation, and much more.

> The more complex your stack is to support your production site, the more expensive it becomes.

Page 25: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

PaaS Headless CMS

Page 26: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

Strapi, Contentful (PaaS) + Front-end library

Fetch

Page 27: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

Back to the flat-files

Page 28: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

Everything old is new again

Page 29: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

git-based

Page 30: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

Improving the UX providing a GUI

when using a Git-based CMS.

Page 31: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

git-based + UI using a PaaS

Page 32: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

GravCMS Flat Files + Particle (Design System)

Page 33: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

Using Drupal to provide a GUI and

content for a Git-based/API-driven CMS.

Page 34: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

Drupal CMS + Tome to export as Flat Files

+ ● Build

Page 35: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

Decoupling the

"Content Management GUI"

from the

“Production Environment".

Page 36: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow
Page 37: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

Blazing fast site generator for React

Page 38: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

The Content Mesh

● https://www.gatsbyjs.org/blog/2018-10-18-creating-compelling-content-experiences/

Page 39: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

Drupal API + GatsbyJS

● Build

Page 40: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow
Page 41: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow
Page 42: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

Getting Started

Page 43: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

● Build● API / GraphQL

Page 44: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

Feel free to turn off your Drupal after build

●https://twitter.com/ckaotik/status/647020262001614848

Page 45: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

Performance

Visitor CDN

Page 46: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

The API Driven CMS Stack

Page 47: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

Challenges

Page 48: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

Challenges

Page 49: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

Challenges

Page 50: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

Challenges

• Use a markdown editor with Drupal. (we wrote a module for that) • Preprocess inline-images on markdown. (we wrote a fix for that) • Deploy site from Drupal. (we wrote a module for that) • Learn Javascript • Learn ReactJS • Learn GraphQL

Page 51: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

What is Gone

• Twig • Render array • Theme layer • Theme preprocessing • *Views (use GraphQL instead)

• Data modeling. • Content editor capabilities,

revisions, moderation and scheduling.

• Pathauto • Site Settings

What to keep using

Page 52: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

Must have plugins

• gatsby-source-drupal • gatsby-transformer-remark • gatsby-remark-images • gatsby-remark-external-links • gatsby-plugin-sharp • gatsby-transformer-sharp • gatsby-plugin-react-helmet

Page 53: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

Choose the right tool for the job

Page 54: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

Design System - Atomic Design

Page 55: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

UI Development Environment

Page 56: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

https://events.drupal.org/seattle2019/sessions/how-keep-drupal-relevant-git-based-and-api-driven-cms-era

Want to see this talk at DrupalCon Seattle?, ask for it

Page 57: How to keep Drupal relevant in the Git-based and API ......How to keep Drupal relevant in the Git-based and API-driven CMS era #BADCamp by Jesus Manuel Olivas / weKnow

Thank you … Questions?

Feel free to ping me during the event, at the parties, after-parties, and twitter @jmolivas