►
From YouTube: Decoupled Drupal on DDEV
Description
As microservices and decoupled architectures continue to mature it becomes increasingly important to be able to work efficiently between local and live environments across the entire stack. What does it take to build a decoupled interface against a Drupal backend and how can we share the work with others?
A
It's
a
small
group,
I'm
gonna,
make
this
way
more
interactive,
so
definitely
appreciate
your
attention.
A
little
bit
and
I
kind
of
started
with
George
over
here,
but
I'm
gonna
switch
over
to
this
side
of
the
room.
Just
asking
you
guys
kind
of
wait.
What
do
you
think
you're
looking
for
from
this
presentation?
Let
me
make
sure
that
I
have
on
target
with
what
I'm
talking
about
and
giving
you
something
this
one
returns.
So
maybe.
B
B
A
It's
an
amazing
thing
to
get
involved
as
they
dealing
with
micro
services
and
working
the
API
aspect.
It's
going
to
be
something
that
I
think
is
very
future
proof
as
far
as
career
development
concern.
So
that's
where
that
you,
which
is
what's
your
name,
Michael
Michael
nice,
to
meet
you
I'm
Ken,
and
how
much
you
mark.
A
Need
to
die
yeah,
it
should
be
a
good
introduction.
I
think
that's
super
useful
for
these
kinds
of
things.
When
you
can
use
other
systems
as
well,
I,
don't
land
those
out
there
there's
a
couple
of
alternatives
when
it
comes
to
some
of
these
types
of
approaches.
But
you
know
I
like
this.
One
works
pretty
well
for
me
and
how.
B
A
A
Actually
when
it
comes
to
the
macula,
it's
a
type
of
file
system
that
Macs
have
we've
done
a
lot
of
work
within
us
lately
to
be
able
to
kind
of
reduce
that
pretty
significantly
you're
going
to
get
the
best
performance
hands
down
off
of
a
mix
machine
second,
best
performance
off
of
a
Windows
machine.
If
you
can
believe
that
and
worst
performance
off
of
a
Mac,
so
by
default
we
were
kind
of
hampered,
but
I.
A
C
A
Yeah
I
specialize
in
that
so
hopefully
I
can
give
you
a
little
bit
of
information
there
well
yeah.
Let's
just
go
ahead
and
dive
in
and
kind
of
see
where
it
takes
us
so
basically
to
introduce
the
company
I.
You
know
we
D
dev
I'm
one
of
the
founders
of
d/deaf,
and
you
know
it's
I,
think
really
important
that
help
people
understand
what
we're
trying
to
do
with
this
tool.
It's
a
free
and
open-source
tool,
but
our
vision
is
really
its
consume
and
not
so
simple.
A
At
the
same
time,
that's
basically
advancing
developer
communities,
so
I
grew
up
in
open-source
I've
spent
a
lot
of
time
in
open-source
I've
been
involved
in
Drupal
for
I.
Think
like
ddoddo
profiles,
somewhere
around
14
or
15
years
now
so
have
literally
gone
from
moving
my
computer
to
a
newspapers
office
and
explaining
what
WW
meant
to
having
to
you
know
you
work
with
people
like
Corey
to
do
some
massive
infrastructure
changes
at
very
large
established
editorial
companies
to
slowly
introducing
Drupal
as
a
household
word
in
the
enterprise,
space
and
I.
A
Think
that's
a
really
important
part
of
this
conversation
for
me
is
there's
a
lot
of
complexity.
That's
represented
on
some
of
these
backend
systems
that
exist
in
business
logic
that
exist
in
enterprise
systems
that
is
very
difficult
to
represent
in
some
of
these
modern
deployment
systems.
So,
for
example,
you
know
well
we'll
get
to
that
in
a
little
bit,
but
we're
basically
a
thriving
part
of
the
developer
community
working
to
advance
developers
and
their
communities
beyond
where
they
are.
Today.
Together,
we
can
paint
a
picture
of
what
tomorrow
can
and
should
be
like.
A
So
for
us,
it's
not
just
about
Drupal.
We
have
very
common
patterns
in
the
Drupal
space
that
are
represented
in
other
CMS
spaces
like
Magento
or
typo3
or
Gatsby,
or
any
of
these
other
modern
frameworks,
and
we
have
the
ability,
as
a
result,
of
doing
the
open
source
work
that
we
do
to
be
able
to
help.
People
understand
how
to
help
their
community
be
more
successful
of
what
it
does.
A
So
we
create
tools
that
empower
communities,
we
believe
in
a
world
where
developers
are
helping
each
other
grow
stronger,
build
faster
and
achieve
solutions
in
a
collaborative
way.
That's
what
he
does
so
for
us.
It's
all
about
the
collaboration
is
all
about
the
feedback.
It's
all
about
making
sure
that
we're
building
tools
that
are
useful
for
people.
So
if
you
have
any
ideas
or
suggestions
or
thoughts,
definitely
share
them.
A
Today's
DEP
deploy
a
problem.
You
know
it's
always
good
to
start
this
by
explaining
why
we're
actually
doing
what
we're
doing
so
web
hosting
was
easier
when
sites
were
simpler.
Okay
sites
have
always
been
dynamic.
There's
always
been
interfaces.
I,
remember
like
in
the
early
90s,
there
was
a
site
out
there
called
mass
script
Archive
and
that's
had
all
of
your
little
Perl
scripts
on
it
or
your
CGI
scripts,
and
you
know
way
back
in
the
day
it
was
okay,
I'm
gonna
create
a
login
form
for
this
website.
A
How
do
I
go
about
doing
that
and
go
through
learned
some
parole
learned.
Some
me
borrow
some
scripts
from
here
there
and
basically,
what
I'm
identifying
is
that
smart
people
work
off
of
understanding,
that
there
are
patterns
out
there
and
that
there
are
smarter
people
than
themselves
out
there.
So
for
me,
what
that
means
is
I
could
do
something
like
a
login
form,
maybe
a
hundred
times
before
I
realized.
Well,
maybe
there's
a
better
way
of
doing
that.
A
That's
what
Drupal
ended
up
being
for
me
very
early
on
was
a
very
smart
collective
group
of
people
that
had
the
ability
to
represent
the
patterns
that
I
was
currently
working
on.
We
do
that
a
lot
with
V
def.
We
do
it
both
in
the
infrastructure
side.
We
participate
in
other
open-source
projects
like
kubernetes.
We
are
very
interested
in
cloud
native
concepts,
so
for
what
that
means,
it
represents
to
us.
Is
that
there's
an
ideal
way
of
doing
things
that
larger
and
larger
organizations
are
starting
to
participate
in.
A
So
that's
a
huge
part
of
what
we
do
now
that
sites
are
interactive
a
whole
new
set
of
technical
challenges
have
been
created
from
development
to
deployment
to
maintenance,
and
there
needs
to
be
much
much
more
integrated
approach.
So
it's
very
easy
to
develop
a
site,
it's
very
easy
to
stand
up
a
site
and
then
go
drink.
Champagne,
because
you
achieved
a
massive
project,
possibly
gets
a
little
bit
more
difficult
a
year
later,
when
you
have
to
do
security
updates
to
that
site,
or
it's
suddenly
getting
traffic
that
it
was
never
accounted
for.
So.
A
A
maintenance
aspect:
everything
here:
we
like
the
ability
to
be
able
to
snapshot
things,
move
forward
in
time
and
then
backwards
in
time
with
our
development
environments
and
our
deployment
systems.
The
people
that
feel
this
pain,
the
most
or
web
application
developers,
agency
owners
and
business
managers
owning
digital
experiences,
I
mean
I.
Think
that's
a
pretty
obvious
statement
for
this
particular
group
of
people.
A
Modern
solutions
are
designed
to
restrict
your
freedom.
So
basically,
what
we're
getting
at
here
is
that
modern
solutions
are
evolving
and
we
need
to
really
ask
ourselves.
Why
do
we
want
to
reconsider
the
approaches
that
we
currently
use
if
they're
currently
working
most
of
them
are
designed
in
some
way
shape
or
form
to
lock
you
into
a
platform
or
to
remove
complexity
from
you
in
a
way
that
stops
you
from
being
able
to
have
to
troll
of
it?
A
So,
for
example,
you
might
be
using
a
system
that
works
primarily
off
the
static
content
and
then
does
something
fancy
like
provide
a
server-side
interface
for
a
contact
form.
You
don't
actually
have
control
of
what
that
contact
form.
Is
you
can't
bring
that
contact
form
locally?
And
if
you
ever
have
to
scale
horizontally
to
different
systems,
or
you
have
to
deal
with
internal
installation
of
something
it
becomes
more
difficult.
As
you
get
more
and
more
involved
in
enterprise
level
work,
you
have
to
deal
with
larger
and
larger
organizations.
Those
organizations
sometimes
have
gdpr
requirements.
A
They
might
exist
in
a
country
that
does
not
want
to
utilize
some
of
the
cloud
servers
that
we
have
in
the
United
States
they
might
have
different
requirements
or
different
needs.
There
might
be
HIPAA
requirements
in
place
in
all
of
those
edge.
Cases
are
things
that
you
also
need
to
consider
as
you're
evaluating
your
tools.
A
We
want
things
to
be
as
portable
as
possible
and
as
flexible
as
possible
in
a
very
open
and
shareable
way,
so
open
source
and
cloud
native
concepts
recognize
that
modern
applications
require
a
broad
of
service
and
architectures
that
depart
from
traditional
enterprise
application
design.
The
enterprise
I
think
as
a
result
of
accepting
open-source
has
come
to
understand
that
the
world
is
changing
it's
changing
very
rapidly
and
that
there's
new
ways
of
doing
things.
The
concept
of
micro
services
moving
away
from
monolithic
applications
is
very
important.
A
In
the
world,
but
you
have
to
be
of
a
certain
size
organization
to
be
able
to
do
that
efficiently
unless
there's
tools
to
help
you
do
that,
that's
kind
of
what
we're
proposing
here
and
showing
off
a
little
bit.
We
also
like
to
provide
freedom
and
technical
choices
and
simplification
and
managing
those
choices
as
an
imperative
for
success.
So
what
that
means
is
that
as
a
developer,
I
should
have
the
freedom
to
use
any
hosting
provider.
A
So
if
I'm
in
a
team,
I
should
be
able
to
go
to
the
JavaScript
person
and
say:
hey
I
need
help
with
this
specific
task,
because
I'm,
a
back-end
person
I,
understand
that
world
really
well,
but
I
can't
do
this
very
rapidly
and
that
person
should
be
able
to
switch
gears
almost
instantaneously
help
you
out
and
then
go
back
to
what
they're
doing
we've
seen
this
work
in
agencies.
So,
for
example,
you
know
a
typical
use
case
and
some
of
the
agencies
that
we've
dealt
with
is
they
are
doing
a
lot
of
Drupal
development.
A
They
also
have
a
lot
of
WordPress
development.
That's
coming
in.
They
might
have
some
Magento
development
or
some
side
projects
that
require
different
skill
sets
and
in
the
old
way
of
doing
things,
and
you
have
basically
a
subject
matter,
Drupal,
expert
or
subject
matter
wordpress
expert
and
they
never
cross
paths
into
a
new
way
of
doing
things.
They're
both
PHP
developers,
a
PHP
developer.
It
can
help
another
PHP
developer
if
they
can
get
on
the
same
page
regardless
at
the
project.
So
that's
a
key
component
of
what
we're
talking
about
here.
A
So
basically,
what
we're
going
to
do
is
we're
going
to
walk
through
a
decoupled
tuple
site,
we're
going
to
use
a
team
of
personas
here-
and
you
know
this
to
me-
is
the
typical
representation
of
what
you
might
find
an
agency
or
in
an
enterprise
we
have
Julie.
Who
is
our
front-end
experience
designer
Julie's,
a
creative?
She
is
really
good
at
that
and
I'll
get
into
each
of
them
individually.
A
A
C
A
So
this
is
Julie.
You
know,
she's
our
front-end
experience,
designers,
we've
already
colored
covered
she's,
a
talented
designer
who
has
an
eye
for
user
experience,
primarily
works
by
ingesting
services
to
display
to
the
end
user.
So
this
might
be
somebody
that
might
have
come
out
of
a
boot
camp
might
have
come
from
a
graphical
background.
It
really
likes
that
interface.
Experience
would
rather
focus
on
creating
the
front
end.
Then
beep
we
got
debugging
a
development
environment
or
deployment
issue.
A
So,
as
things
get
more
and
more
complicated
on
the
server
side,
Julie
isn't
really
comfortable
might
have
different
things.
She'd
rather
work
on
then
try
and
solve
some
complicated
server
problem.
Dwayne's
our
back-end
developer.
He
enjoys
building
api's
that
work
with
server-side
data
and
processing
as
a
laser
focused
on
data
structures
and
services.
I'mso
understands
the
micro
service
conversation
pretty
well
and
how
to
implement
that.
He
might
need
to
use
interfaces
created
by
Julie
to
validate
a
service
or
user
experience
being
driven
by
business.
A
A
Duane
is
more
comfortable
developing
on
a
local
environment
than
working
with
servers
would
rather
the
dev
to
deployed
just
works.
So
basically,
you
know
a
typical
I
assume
PHP
developer,
not
really
comfortable
mucking
around
on
servers.
If
you're
dealing
with,
for
example,
a
server,
that's
got
a
10,000
dollar
a
minute.
Downtime
cost
probably
gets
a
little
bit
nervous
when
a
production
level
issue
there
might
not
be
the
right
person
to
solve
it.
Then
we
have
an
AR
mythical,
full
stack.
A
Unicorn
Anne
has
a
thorough
understanding
of
the
front
end
and
the
back
end
has
significant
experience
in
all
aspects
of
development
to
deployment
pipelines,
blogs,
helping
and
teaching.
So
typically,
when
you
have
a
unicorn
like
this,
this
is
somebody
that
you
might
find
in
the
open-source
community.
That's
very
active
likes,
write
books,
maybe
get
out
there
and
just
teach
or
present
or
really
help
people
come
to
the
next
level
or
raise
their
skill
sets.
So
it's
a
good
way
to
give
back.
A
So
I
think
these
three
personas
kind
of
paint
the
picture
of
a
typical
team
that
you
might
find
out
there
and
is
a
very
particular
use
case,
because
what
you
also
need
to
be
aware
of
when
you
have
somebody
like
Anna
on
your
team,
is
that
and
as
a
bottleneck
and
a
bottleneck
waiting
to
happen,
because,
ultimately,
what
ends
up
happening?
Is
you
get
into
more
and
more
advanced
complex
scenarios
that
this
person
receives
the
lion's
share
of
the
work?
A
A
So
these
tools
help
to
enable
that,
if
Ann
can
be
on
the
same
page
as
Julie
or
Dwayne
and
switch
between
those
two
personas
very
quickly
from
a
technical
perspective
than
Ann
can
get
feedback
to
those
people,
they
can
teach
those
people
and
they
can
help
out
in
a
different
way
than
they're
accustomed
to.
If
you
insert
somebody
like
Ann
into
a
problem,
space
and
Han
solves
all
the
problems
they're
going
to
get
stuck
there
and
that's
something
that,
as
your
projects
increase
in
complexity,
you
will
likely
have
to
deal
with
at
some
point.
A
So
basically,
how
do
we
help
this
team?
The
goal
is
just
to
lay
the
context
out
a
little
bit
more,
so
we're
gonna
stand
up
a
Drupal
umami
Site
umami
is
a
site
profile
that
was
put
together.
It
represents
a
bunch
of
recipes.
Really
cool
pictures
shows
off
some
of
the
features
of
Drupal
8
and
we're
going
to
task
this
team
to
do
that.
A
For
us
we're
going
to
talk
a
little
bit
about
how
this
team
interacts
as
they
go
along
and
do
that
and
then
we're
going
to
give
you
some
very
specific
technical
examples
of
how
to
use
deed
up
local
to
handle
the
Drupal
side
and
gasps
PJs
to
handle
the
front-end
side
so
basically
meet
dev
local.
It's
a
unified
solution
for
PHP.
It's
an
open-source
local
PHP
development
environment.
That's
built
on
docker.
There
are
a
couple
of
other
ones
out
there.
It
really
doesn't
matter
which
one
you
ultimately
use.
For
example,
lando
exists.
A
Lando's
a
great
tool
has
a
lot
of
integrations
I
like
to
think
of
it
a
little
bit
like
like
Linux
versus
McIntosh.
Honestly,
so
something
like
Lando
is
going
to
be
a
little
bit
more
of
a
linux
experience.
You
can
get
a
lot
of
amazing
things
out
of
there,
but
you're
gonna
have
to
get
your
hands
dirty.
You're
gonna
have
to
get
involved
in
logs
you're
going
to
have
to
do
some
configuration
and
you
will
end
up
with
a
good
system,
but
you're
gonna
have
to
put
some
time
into
it.
A
D2L,
on
the
other
hand,
is
a
bit
more
like
Macintosh,
it's
designed
to
just
work,
so
it
has
a
lot
of
opinionated
choices
in
there
that
are
specific
to
Drupal
developers
that
understand
the
way
that
Drupal
developers
work
and
it
makes
those
assumptions
off
the
bat.
So
basically,
DITA
enables
configuring
multiple
projects
with
unique
requirements.
This
means
you
can
run
a
Drupal
7
site.
You
can
run
a
Drupal
8
site.
You
can
do
Drupal,
9
development,
you
can
run
a
Drupal
6
site.
You
can
run
a
Magento
site.
You
come
on
a
typo3
site.
A
You
can
run
jas
if
you
choose
to
do
that.
There's
a
lot
of
different
options
here
and
you
completely
switch
back
and
forth
between
them.
So
the
way
that
d
death
is
structured,
it
does
things
like
it'll
keep
the
database
static,
it'll,
keep
the
file
static.
So
you
have
the
ability
to
clean
up
your
system
along
the
way,
delete,
containers,
restart
containers,
get
things
moving
in
a
very
good
fashion,
check
into
version
control
and
quickly
share
across
your
entire
team
on
Linux
windows.
Omar
Saudi
dev
is
tested,
complete
test
coverage
across
multiple
OSS.
A
We
do
Windows,
we
do
Linux
and
we
do
Mac,
OS
I
think
that's
a
pretty
unique
and
important
aspect
of
what
we
do
and
you
have
the
ability,
the
extended
of
what
commands
with
a
robust
hook
system.
So
what
that
means
is
you
can
get
into
some
pretty
complicated
configuration
options
and
extend
it
in
any
way
that
you
see
fit.
Ultimately,
it's
doctor
underneath
and
what
we're
moving
towards
as
far
as
an
industry
is
concerned,
is
back
to
those
patterns
that
I
was
talking
about
with
the
login
form.
So
what
you
have
is
you
know.
A
We
know
that
this
is
going
to
be
a
commodity.
At
some
point,
a
login
form
is
a
commodity.
At
this
point,
it's
very
easy
to
implement
a
login
form
in
today's
world,
because
the
industry
has
been
doing
it
for
20
plus
years
and
understands
what
a
login
form
is
these
local
development
environments,
the
portability
of
docker
you're,
going
to
see
the
same
thing
happen
over
the
course
of
time.
Eventually,
it's
not
going
to
be
a
decision
point
to
be
able
to
spin
up
a
docker
container
or
some
type
of
a
containerized
way
of
doing
things.
A
It's
just
going
to
be
something
that
happens
naturally
and
you
can
work
inside
the
container
with
developer
tools
like
drush,
my
sequel,
client
and
composer,
which
I'm
going
to
illustrate
here
in
a
little
bit,
there's
a
lot
of
things
that
are
inherent
in
Dida
that
sometimes
take
a
little
bit
of
configuration
on
the
user
side
so
composer,
which
is
going
to
be
the
example
that
we
use
here
is
a
prime
one.
There's
some
configuration
that
needs
to
happen
there.
A
You
need
to
install
your
own
local
PHP
version
when
you
use
tools
like
this,
you
don't
have
to
worry
about
that.
The
my
sequel,
client!
You
know
databases
are
a
very
important
part
of
this
type
of
development,
especially
as
you
move
further
and
further
into
the
enterprise.
So
databases
need
tools
that
people
like
jewelry
you're,
going
to
be
able
to
use
very
rapidly
so,
for
example,
in
a
deed
of
configuration
or
a
deed
of
installation,
Julie
can
run
the
dev
sequel
Pro,
which
is
another
open
source
project
out
there.
A
A
So
basically
we're
going
to
just
dive
right
into
some
code.
The
Internet's
a
little
spotty
here
so
I
did
spend
some
time.
Recording
this
beforehand.
Apologies
if
it's
not
in
sync
I,
haven't
actually
done
it
this
way,
but
I
think
it's
a
good
approach.
What
I'm
about
to
show
you
is
how
to
install
docker
we're
gonna
use
homebrew
to
do
it.
A
Homebrew,
if
you
don't
know,
is
a
Mac
OS
package
manager,
it's
very
good
with
D
dev,
because
it
manages
your
upgrades,
for
you
keeps
you
up
to
date,
we're
going
to
add
D
dev
to
homebrew
we're
gonna,
install
D,
dev
and
we're
gonna.
Do
something
called
mixer,
so
basically
deal
with
SSL
Certificates
and
then
we're
going
to
verify
the
entire
installation,
and
this
is
kind
of
what
that
looks
like.
A
A
Oh
it's
playing
up
there,
but
not
here,
I
see
what's
happening.
Okay,
so
I
won't
pretend
like
I'm,
actually
typing
and
I'll
just
read
from
the
screen
I,
so
basically
going
to
go
through
to
an
install
if
he
does
local,
it's
pretty
quick
and
simple,
but
we
have
install
instructions
for
Windows
and
Linux.
If
that's
mac,
OS
isn't
really
your
thing.
Dw
read
the
docs
org
is
where
a
lot
of
our
documentation
happens,
we're
very
public
about
how
we
do
these
things.
A
There's
a
lot
of
different
ways
of
doing
it,
we're
going
to
go
through
and
install
homebrew
from
scratch.
So
this
is
just
basically
a
command
that
does
that
for
us,
homebrew
is
now
installed
piece
of
cake,
nice
and
easy,
and
then
we're
gonna
switch
over
to
a
d/deaf
install
with
a
little
bit
of
a
pause
for
dramatic
effect.
A
So
now
we're
gonna
add
the
d-dad
repositories
in
the
homebrew,
and
this
makes
it
very
easy
to
handle
installations
as
well
as
the
upgrades
like
I
said,
it's
a
simple
command
to
tap
drug
d/deaf.
It's
an
established
project,
so
it
should
plug
right
in
there
now
that
homebrew
is
aware
of
what
we
have
we're
going
to
go
ahead
and
do
an
installation.
A
Superduper
complicated
at
this
point
so
brew
install
tea,
Bev,
very
simple,
very
straightforward.
The
prerequisite
for
this
is
that
you
have
docker
installed.
There's
a
docker
format,
client
there's
a
back
here
for
Windows,
client
and
docker
for
Linux
as
well.
So
he
will
need
that
to
be
able
to
do
these
steps
and
then
we're
gonna
do
a
one-time
command.
So
we
do
SSL,
Certificates
natively
in
here.
It's
good
to
have
a
certificate
authority
on
the
local
machine.
Mixer
is
a
great
option
for
that.
A
A
Do
that
with
a
d/deaf
version
and
what
you're
going
to
get
from
deep
diversion
is
not
only
that
it's
installed
and
what
version
you're
on,
but
some
of
the
containers
that
you
use
and
you'll
milk
that,
for
example,
committed
yeah
well,
the
DB,
the
DBA,
the
router
and
the
web.
These
are
all
configurable
docker
containers,
so
you
have
the
ability
to
customize
these
swap
these
out.
You
can
work
with
the
D
dev
configs
to
put
in
any
combination
of
this
that
you
want.
A
So
if
you
have
a
sequel,
Lite
database
that
you're
working
with
or
something
other
than
the
Rio
de
that
you'd
like
on
the
TV
side,
it's
very
simple
to
point
that
at
a
container
follow
some
parameters
that
we
have
in
place
in
that
documentation
and
get
up
and
running.
Really
quick
next
is
where
the
fun
starts
to
happen.
We're
going
to
install
Drupal
8
using
composer
because
we
like
to
enable
developers
to
work
the
way
that
they
like
to
work.
It's
a
very
important
aspect
back
to
that
freedom.
A
A
So
in
this
example,
we're
going
to
go
through
and
install
our
Drupal
site
as
an
API.
So
we're
going
to
install
Drupal
8
we're
going
to
enable
some
modules
inside
of
Drupal
8
to
enable
the
JSON
API
and
some
extras
associated
with
that
we're
going
to
make
it
directory
to
store
all
of
our
files,
create
a
generic
DDF.
Php
application
d/deaf
does
much
more
than
just
rupal.
So
it's
a
good
idea,
because
we
don't
have
composer
on
the
machine
natively
we're
going
to
use
the
dev,
create
a
generic
PHP
application
and
then
use
the
composer.
A
That
comes
with
that.
To
be
able
to
complete
these
steps,
we're
going
to
use
composer
to
install
Drupal
8
and
then
we're
going
to
change
the
basic
generic
PHP
type
to
a
Drupal
type
so
that
we
can
create
a
settings
file
and
that
we
understand
what's
being
installed
and
then
we're
going
to
use
composer
additionally
to
pull
down
some
modules
and
then
start
up
ooh
mommy
site.
B
B
A
Show
you
that
separately,
so
basically
there's
a
d/deaf
config
file
inside
of
each
repository,
you're
going
to
get
a
deed
of
folder,
and
inside
of
there
is
a
some
example.
Config
files,
one
of
those
has
a
line
specifically
for
PHP
version,
and
you
can
just
set
it
to
six
or
seven
point.
Two
or
whatever
you
want.
We
start
your
containers
and
boom
you've
got
a
totally
different
PHP
version.
It's
a
super
simple
process.
C
A
Is
the
right
one
I've
got
it
dialed
in
this
time
install
Drupal
8!
So
there
we
go
again
going
through
the
steps
that
I
just
outlined,
we're
going
to
use
D
dev
to
tap
into
composer.
First
we're
going
to
start
by
making
it
directly
to
the
sort
of
site
and
then
move
into
it.
So,
starting
with
a
completely
clean
installation.
You
can't
just
as
easily
pull
down
an
existing
repository
from
here,
we're
going
to
pause
for
dramatic
effect.
A
Super
simple
we're
going
to
finish
tight:
it
pass
it
a
flag
of
project
type
PHP
you'll,
see
that
the
project
was
created,
no
settings
paths
configured.
So
there
was
no
settings
file,
we're
still
thinking
it's
a
generic
application.
At
this
point
now
we're
going
to
use
CDF
to
perform
a
composer
install
so
from
a
clean
directory.
We're
going
to
use
composer
to
install
Drupal
8.
A
We
do
it
very
simply
by
doing
d/deaf
composer,
which
means
that
the
depths
going
to
run
whatever
you
type
in
next
has
that
code,
composer
command
standard,
composer,
create
ripple
from
the
Drupal
repositories,
passing
and
stability,
flag,
no
interaction
and
preferred
disk.
So
here
we
have
three
main
components
that
are
happening
with
DITA.
We
have
the
database,
that's
being
created,
database
administration,
that's
being
committed,
created
a
web
server
and
a
router,
and
that
router
basically
manages
all
your
SSL
connections.
This
is
probably
the
fastest
composer
installed.
Drupal
core.
A
A
Really
simple
from
here
we
go
through
and
it
recreates
the
docker
containers
that
were
in
place,
because
now
it
knows
what
kind
of
site
it
is,
so
it
might
do
some
v8
magic
there,
but
we've
got
our
database.
We've
got
our
web
and
then
some
administrative
tools
that
are
in
place
and
then
we
restart
the
router
from
there.
You
have
a
project
that
can
be
reached
at
a
URL.
We
called
it
the
directory,
my
Drupal
8
site,
because
we
didn't
specify
anything.
So
we
have
that
as
part
of
the
URL.
A
Now
we're
going
to
go
through
and
pull
down
those
extra
modules
that
I
talked
about
there's
two
of
them,
specifically
the
Jason
API
extras
module
is
necessary
to
do
some
of
the
Gatsby
stuff.
I,
don't
know
if
that's
completely
true
anymore,
it
might
have
been
moved
into
core
a
little
bit
but
we're
doing
a
deed
of
exec,
which
means
we
can
exec
any
command
that
we
want
inside
the
container.
A
We're
going
to
do
a
composer
require
of
drupal
json
api
extras,
that's
going
to
pull
down
that
module
and
it
automatically
goes
in
the
right
place
for
us.
We
don't
have
to
worry
about
any
configuration
or
anything
like
that
super
simple
to
try
out
or
basically
work
with
new
concepts.
New
ideas
try
new
things
very
rapidly.
A
Once
all
that's
in
place,
we're
going
to
validate
that,
we
do
in
fact
have
a
clean
installation
of
Drupal
we're
going
to
do
that
by
noting
that
it
redirects
as
Drupal,
does
when
it
has
a
clean
database.
So
we're
going
to
use
curl
to
basically
call
the
front
page
and
it
should
give
us
302,
redirect
I
believe
yeah
302,
redirected,
location
court
install
that
PHP.
So
we
do
have
a
new
core
Drupal
8
site.
A
There
was
very
little
effort
there
and
it's
a
fully
functional
site
as
you'll
see
in
the
next
set
of
slides,
we're
going
to
go
through
and
do
to
describe
from
the
D
dev
perspective
and
see
a
lot
of
information
here
there
you
have
the
PHP
version,
that's
running
so
usually
config
for
the
mo
file
switch,
the
PHP
version,
restart
D,
dev
and
you'll
have
a
new
version
of
PHP
running
this
site.
There's
a
URLs
we've
got
defaulting
to
SSL,
so
those
SSL
certificates
are
automatically
generated.
A
Your
browser
will
accept
them
most
things
accept
them
until
they
get
to
a
point
where
they
validate
against
known
certificate
authorities,
and
so
sometimes
you
might
hit
some
snags
there,
but
usually
it
works
pretty.
Well,
you
have
all
your
credentials
for
your
your
database
username
password
the
hosts
that
it's
running
on
and
gives
you
some
examples
of
how
to
use
my
sequel
client
to
actually
connect
to
that
database.
So
you
can
work
with
these
natively
inside
of
your
computer.
A
If
you
already
have
that
set
up
to
work
natively
or
you
can
use
the
tools
that
we
provide,
we
give
a
couple
of
sample
tools
to
be
able
to
work
with.
So
one
of
the
things
that
developers,
PHP
developers,
Drupal
developers
specifically
has
to
deal
with
is
email.
We
put
mail
hog
on
here,
mail
hog
captures
email.
A
So
if,
let's
say
for
example
and
I
know,
I've
never
done
this,
so
hey,
that's
that's
not
totally
true,
but
pull
down
at
a
production
level
site
and
suddenly
use
CIN
emails
to
a
production
level
set
of
email
addresses
because
you're
working
on
something
I've
done
that
and
it's
been
a
little
embarrassing.
So
mail
hog
jumps
in
there
and
kind
of
grabs
that
traffic
so
that
it
doesn't
get
an
external
but
allows
you
to
still
develop
against
email.
Php
myadmin
is
just
a
very
basic
way
of
getting
into
the
interface.
Maybe
you.
A
It
from
a
different
perspective
and
then
we'll
move
on
now
that
we
have
a
core
install
of
Drupal
8,
we're
going
to
enable
the
decoupled
Umami
version
I'm
going
to
leave
the
interface
running
on
this
and
I
call
this
time
to
click
some
buttons.
You
can
totally
do
this
through
a
through
hole,
install
profile
or
a
site
profile
and,
in
fact,
and
in
our
example,
would
really
encourage
you
to
do
that.
A
A
A
A
So
yeah
I
mean
that's
essentially
it
we
have
now
the
beginnings
of
our
umami
site
that
we're
going
to
basically
use
as
an
API,
but
first
we're
going
to
need
to
configure
a
couple
modules
enable
the
modules.
Essentially
there
is
little
configuration
that's
necessary
to
do
this
here.
We
load
on
the
page
to
get
rid
of
the
translation
notifications.
A
A
A
A
A
So
now
we're
going
to
just
validate
it
anytime
that
you're
making
a
call
to
a
decoupled,
Drupal
site
you're
going
to
want
to
pass
in
that
accept
header,
so
application
VMD
is
json
typed
it
through
a
program
called
JQ,
which
shows
us
that
we
have
some
JSON
on
place,
and
this
is
a
JSON
representation
of
an
actual
node.
It's
the
first
one
that
it
found
in
the
database,
and
here
you'll
start
to
see
the
node
body
come
into
play
some
familiar
fields.
A
All
of
these
translate
very
well
to
graph
QL,
so
you
have
the
ability,
as
we
get
into
the
Gatsby
side,
to
to
pull
out
the
pieces
of
information
that
you
need.
Everything
that
you
would
get
from
PHP
is
represented
and
available
for
a
decoupled
interface,
and
now
you
know
now
that
the
teams
got
the
Drupal
side
in
place.
Really
wasn't
all
that
complicated
we're
gonna
switch
over
to
Gatsby
j/s
Gatsby's
amazing,
it
is
a
static
site
generator.
You
can
pull
data
anywhere,
including
CMS's
markdown
and
data
services.
A
So
what
that
means
is
that
you
can
work
from
existing
CMS's.
You
can
work
from
raw
markdown
files
and
then
you
can
use
things
like
lambda
functions.
You
can
use
things
like
complex
services
that
Dwayne
and
our
example
might
have
written
and
needs
to
stand
up
for
some
business
need
Julie,
basically
just
likes
cats,
because
because
it's
super
simple
to
use
so
from
Julie's
perspective,
she
has
raw
access
to
HTML,
CSS
and
react.
She
can
do
some
amazing
things
very
quickly
without
worrying
about
it.
A
I've
seen
instances
where
we've
taken
a
Julie
in
a
web
agency
and-
and
you
know
typical
web
agency-
might
have
a
week
to
two-week
onboarding
process
for
somebody
before
they
can
contribute.
Billable
code
back
to
the
organization
we've
been
able
to
enable
people
like
Julie
to
walk
in
and
before
lunch
time,
be
able
to
be
up
and
running
at
the
same
speed
as
the
rest
of
the
team
and
contribute
billable
code
directly
to
the
agency.
So
they
have
seen
dramatic
improvement
as
a
result
of
this
process.
A
Duane
likes
cats
be
because
the
decouple
nature
allows
him
to
think
about
without
a
micro
service
or
with
a
micro
service
bias.
So
what
that
means
is
now
Duane
doesn't
have
to
worry
about
the
UI.
It
doesn't
have
to
worry
that
a
block
is
off
by
three
pixels
and
the
title
needs
to
be
shifted
or
something
like
that.
A
He
can
hand
that,
off
to
somebody
like
Julie
who
can
work
on
that
interface,
because
he
knows
that
those
data
structures
are
already
defined
and
in
place
and
that's
something
that
Julie
should
be
able
to
handle
very
quick
and
easy.
So
it
makes
the
team
more
extensible
and
Ian
likes
Gatsby,
because
it's
easy
to
keep
a
live
on
the
internet
and
protect
it
in
ties
directly
into
CI
CD
concepts
if
you
do
it
properly.
A
So
what
that
means
is
that
the
cheapest
easiest
way
of
doing
hosting
on
the
Internet
is
to
do
it
in
a
static
fashion.
As
long
as
you
can
manage
the
complexity
of
the
services
that
you
deal
with
and
that's
where
the
real
gotcha
exists,
when
you
have
an
interface
like
this,
you
can
do
something
like
tie
it
into
a
CI
CD
process.
You
can
manage
cron
jobs
to
generate
your
content
on
a
regular
basis.
You
can
have
that
content
pushed
up
to
a
static
site
and
then
have
that
refresh.
A
So
it
almost
gives
the
appearance
of
a
dynamic
site,
especially
if
you
have
a
large
editorial
team
or
a
huge
amount
of
people's
doing
content
generation
on
the
backend.
It
all
kind
of
ties
together
pretty
well
so
similar
process.
This
might
be
a
little
bit
redundant,
but
it's
the
gasps
PJs
way
of
installing
things.
We're
going
to
use
NPM
again
like
we
have
docker
as
a
prerequisite
for
DW
have
NPM,
is
a
prerequisite
for
Gatsby
we're
gonna
clone
the
you
mommy
UI
from
gasps
PJs.
A
So
if
you
go
to
the
Gatsby
project,
you
look
at
it
on
github
I,
believe
it's
Gatsby,
slash,
gasps
PJs
inside
of
that
repository,
there's
an
examples
folder
inside
of
that
examples.
Folder
is
a
using
Drupal
or
WordPress
or
any
number
of
other
things,
and
inside
there
is
the
exact
code
that
we're
going
well.
Almost
the
exact
code
that
we're
going
to
run
here
turns
out
that,
since
that
site
was
launched,
it
basically
has
changed
a
little
bit
on
the
API
side.
A
A
A
So
one
of
the
things
that
you'll
note
here,
which
is
pretty
interesting
and
I'm
gonna
talk
about
a
little
bit,
is
request
for
somebody
looking
for
a
good
job,
it's
important
to
help
the
open
source
community.
So
we
have
to
point
these
things
out.
So
now
we're
going
to
clone
that
repository
directly
from
my
repository
so
I,
just
forked,
the
Gatsby
repo-
and
you
can
see
this
thing
at
cyber
SWAT
on
github,
so
creating
the
directory
doing
the
clone.
A
A
So
there
we
go,
we've
got
this
Gatsby
code
in
place,
we're
going
to
go
into
it
and
kind
of
take
a
look
at.
What's
there
and
check
out
the
branch
that
I
have
it's
decoupled
deaf
days,
29
I,
guess
a
couple
days,
2019
these
these
days
so
going
to
move
into
there
and
basically
change
our
gatsby
config
to
point
to
the
deed
of
local
site
that
we
just
started
up.
So
this
is
the
directory
structure
that
I
was
talking
about
inside
of
examples.
There's
a
using
Drupal
one.
It's
very
simple,
very
straight
floor.
A
A
A
A
A
Some
really
amazing
resources
out
there
as
far
as
they're
concerned
and
I
want
to
end
with
this,
because
I
think
it's
really
important
as
the
creators
of
D
dev
and
some
of
these
tools
we're
here
to
encourage
people
that
become
part
of
a
conversation.
If
we
solve
common
challenges
together,
we
can
do
a
lot
of
good
for
a
lot
of
people
very
quickly.
So
to
that
end,
basically,
what
we're
doing
with
D
dev
and
the
products
that
we
create
is
we're
incredibly
excited
to
build
a
program
that
helps
grow.
A
The
open-source
community
we're
going
to
commit
a
percentage
of
our
gross
revenue
towards
quarterly
donations
of
the
open
source
projects
that
you
choose
and
we
will
donate
to
a
selection
of
open
source
projects
on
behalf
of
our
deed,
live
early
adopters,
basically
we're
in
the
process
of
rolling
out
a
hosting
platform.
It's
been
six
years
in
the
making
it's
a
very
impressive
platform.
The
people
that
come
to
talk
to
us
at
our
table
that
sign
up
for
a
golden
ticket
thing
will
be
able
to
have
free
early
access
to
that.
A
If
you
provide
feedback
as
you
go
through,
that
experience
will
donate
to
open
source
in
your
name
and
I
apologize
for
running
a
little
bit
late.
But
thank
you
very
much
for
your
time.
If
you
have
any
questions,
definitely
let
me
know
and
I
can
take
a
deeper
dive.
I
have
all
this
running
on
my
laptop
and
you
can
hack
away
at
it.
So
again,
thank
you
and
I
hope.