38

Using deploy in drupal 8

Embed Size (px)

Citation preview

Using Deploy in

Drupal 8

Tim Millwood

Dick Olsson

Abhishek Kumar

Agenda❖ Introductions

❖ History of Deploy

❖What Deploy does in Drupal 8

❖ New concepts

➢Workspaces

➢Endpoints

❖ Use cases / Demo

❖ Installation

❖ Dependencies

❖ Questions?

Tim MillwoodAppnovation Technologies

❖ Started with Drupal: 2008

❖Worked at:

➢Mark Boulton Design

➢Acquia

➢Appnovation

Technologies

❖ Core & Contrib

maintainer

❖ Twitter: timmillwood

❖ D.O: timmillwood

Dick OlssonPfizer

❖ Started with Drupal: 2008

❖Worked at:

➢Node One

➢Al Jazeera

➢Pfizer

❖ Core contributor &

Contrib maintainer

❖ Twitter: dickolsson

❖ D.O: dixon_

Abhishek Kumar

❖ Google Summer of Code

❖ PHP CouchDB Replicator

Deploy: 2008Greg Dunlap❖ Original author of the

Drupal 6 version

❖ CMI initiative lead

❖ Then at Palantir

❖ Now at Lullabot

Deploy: 2011Dick Olsson❖ Drupal 7

❖ Co-maintainers

➢Dave Hall

➢Chad DeGroot

Deploy: 2015Tim Millwood❖ Drupal 8

❖ Co-maintainers

➢Andrei Jechiu

What Deploy does

❖Make all content entities revisionable

❖Replication of content between sites

❖Allows staging content

❖Using standard protocol for

replication

Workspaces

❖Collection of all site content

❖One site can have many workspaces

❖Similar to “site version” or “branch”

Multiversion

Site A

stage prod

Stage

stage

Production

prod

Stageeditor 1 Production

liveeditor 2

editor 3

chief

Site A

live

Site B

live

Site C

live

Site D

live

❖Endpoint concept will change

❖The URL to deploy from or two

❖Can be an external site

❖Can be defined via a plugin

EndpointsRelaxed

Drupal to DrupalOriginal Deploy use case

Single site

content staging

Drupal to CouchDBCreate a Content Hub

Installation❖ Drupal dependencies

➢Key Value Extensions

➢Multiversion

➢RELAXed Web Services

❖ External dependencies

➢ relaxedws/replicator

■ Composer Manager

■ `composer require relaxedws/replicator`

Configuration

Dependencies

Key Value Extensionsd.o/project/key_value

❖Extends core key-value API

❖Adds lists

❖Adds sorted sets

Multiversiond.o/project/multiversion

❖Extends revisions for content entities

❖Introduces workspaces

❖Revision tree

Relaxed Web Servicesd.o/project/relaxed

❖RESTful API for content entities

❖Replication.io protocol

❖Bi-directional replication

PHP Replicatorgithub.com/relaxedws/couchdb-

replicator

❖Implementation of standard protocol

❖CouchDB replicator written in PHP

❖A Google Summer of Code project

Google Summer of CodeAbout the GSoC project

❖Pick an org, pick a project, code!

❖Why Drupal?

❖My Project: Replicator

PHP ReplicatorTechnical details

❖Composer, PHP: 5.6

❖Replication task

❖Replicator

Replication process

❖Check source and target exists

❖Get peer information and generate ID

❖Read change log

❖Transfer missing revisions

CouchDB ClientOur contributions

❖CouchDB Client is a Doctrine project

❖PHP wrapper for CouchDB HTTP API

❖Supports streaming and other features

By the way...Decoupled Drupal is hot

❖Use Relaxed together with PouchDB

❖Decoupled front-end app

❖Offline capability

Thank you!

Questions?

ReferencesLinks we’ve talked about

● https://www.drupal.org/project/key_value

● https://www.drupal.org/project/multiversion

● https://www.drupal.org/project/relaxed

● https://github.com/relaxedws/couchdb-replicator

● https://github.com/doctrine/couchdb-client

● https://www.youtube.com/user/timmillwood1/videos

asia2016.drupal.org/sched

uleasia2016.drupal.org/schedule