we're on so yeah welcome for coming in
for my talk you are here exploring the
most magical CMS on earth
I'm Lisa McCray I'm a web developer and
instructor at debug Academy so this for
this talk I'm hoping to I'm aiming to
give a high-level overview of how Drupal
potentially surprising ways that Drupal
is like Disney World when you go
somewhere that's new and large you know
maybe you get a little disoriented at
first you're not quite sure where you
are and then you find a map that has the
you are here sticker on it and you're
like okay that helps out a lot now I
understand where I am in relation to
everything else that's sort of what I'm
hoping to do with this kind of an
orientation
get my buttons on the right eye in here
there we go alright so a little bit
about me I'm a longtime IT person I've
had lots of different roles I've worked
in different technologies a few years
ago after some company reorg zai decided
it was time to switch tech stacks I
found Drupal and debug Academy I took
there three months the part-time fully
remote accessible course and joined the
ranks of the Drupal ist's and I'll throw
in a little next semester starts June
more information but anyway for the
purposes of the talk today the the
points about communicates too much at
her table or tells more stories than
your grandmother I mean that's kind of
where I'm coming from I like to talk and
I like to tell stories and make them fun
and interesting I love a good analogy so
here's the overview of the overview
here's the general stuff that we're
gonna cover while we go through the talk
just like getting into Drupal then a
little bit about Drupal core theming
modules and web for web frameworks and a
smidgen about symphony itself this is
all pretty high level so don't get
scared if you're not you know if you're
not familiar with any of that I came
into the Drupal community from a
background in development and technical
consulting focused primarily on portal
software and knowledge management so I'm
very comfortable with the concept of
modular software you can assemble it
however you like to meet your
information needs potentially with a lot
without a lot of custom code so when I
first encountered Drupal I felt like it
would be pretty easy to get a grip on
but yeah it kind of wasn't I felt you
know Drupal's kinda extra there are a
lot of parts to it and a lot of things
going on
taking individually there are a lot of
pieces that look like components that I
knew from some other software but then
I'd sort of lose the threat of how the
pieces went together I saw lots of
references to Drupal core but then it
wasn't always clear to me what the core
was like what was included in it and
what did it do and then I tried to read
some documentation or find a blog post
and I frequently find something that did
explain things but tend to be the parts
that I already knew and it left out the
stuff that I was looking for and I
should probably mention I'm trying to
remember to identify the pictures as I
go through but I was having so much fun
with my pictures I forgot to do that so
this is my my silly little example of
some slides from the movie airplane
where they ask him about an airplane and
you get they get a very silly answer
what kind of plane is it it's a big
pretty white plane
or and here's a here's another picture I
have an example of some text talking
about math problems hand waving the
tough parts that if the blog post didn't
sometimes they would only deal with the
very basic level stuff and that was
frustrating or they would get into
something that really okay yeah this is
gonna be good but they would look like
they were talking about what I wanted to
know they skipped over the basics and
went straight into the detail and like
wait there's something in the middle
there I'm not quite sure how to connect
those two things so the more I thought
about it the more I realized that what I
really wanted was a map something that
would visually identify how the
different pieces fit together and help
me understand why they were there and
what they were for I looked around a
little
I was surprised there wasn't really
anything like that already or at least
nothing that I could find so I tried to
build my own I'm not a designer so I
knew that what I wanted to do was find
some other way to connect it maybe an
analogy or something that I could
compare it to that would sort of help me
understand and then I hit upon the idea
of using something I definitely did know
Walt Disney World and I am a big Disney
geek you can ask me all kinds of things
specifically about the parks I know a
lot about the parks and specifically the
Magic Kingdom so not this is actually
going to focus on the one in Florida not
the one in California despite the fact
that and Disney geeks will recognize
that I said most magical in the title
slide technically the one in Disney
world does anybody know the one in
Florida is anybody know what that one's
actually called that yeah the Magic
Kingdom itself it's actually the
happiest place on earth
there actually is a difference
California is magical Florida is happy
surprisingly you can make some pretty
strong parallels between the way the
magic kingdom works and the way drew
blade works this is sort of started out
as more of a thought experiment for
myself to see if I really understood how
the pieces work together but I thought
it'd be fun to share with others so here
we have a fairly iconic park map I've
just got a shot of this is basically the
paper that they hand you when you walk
in the Magic Kingdom probably looks
pretty familiar to a lot of people it's
pretty interesting just looking at it as
an infographic because there's a lot of
information that they put on there but
it's still pretty useful and attractive
but the part I mostly want to focus on
today is the center section so I have a
picture zoomed into the middle area
right in front of the castle and that is
known as the hub when Disneyland opened
in 1955 it was one of the first
amusement parks to use the hub and spoke
design most parks built prior to
Disneyland tended to have just sort of
happened more organically they weren't
really planned out so much there wasn't
a lot of thought behind their
organization so the hub-and-spoke design
was an innovation and it was instantly
successful and became a planning concept
that was reused in a lot of places
including of course Disney World when
that opened in 1971 there's a ton of
really interesting stuff you can learn
just about like how the hub design works
in terms of traffic flow and patterns of
people moving through but for today I
want to highlight the idea of the hub as
the center holding everything together
and providing the foundation that the
rest of the system relies on so in
Drupal World the hub is Drupal core
so let's talk a little bit about how
Drupal and the hub are similar the core
is required without Drupal core nothing
else works you have to go through an in
Disney World you have to go through the
hub to get to the rest of the Magic
Kingdom
similarly you can't run a Drupal site
without the core there are both visible
and hidden parts to what's happening in
the core it's not always immediately
obvious in Drupal what the core is doing
for you you know it's there it's working
maybe you're not always clear what it's
specifically doing and important
functionality is happening kind of
behind the scenes so let's talk about
the visible core and Disney the castle
is the most obvious visible element in
the hub it's the biggest thing that
you're going to see when you're in there
and it itself serves multiple purposes
within the park there's basic theme park
functions like you know food service
there's a restaurant in there
merchandising of course character
meetings happen inside the castle in the
restaurant and around it and a large
portion of park entertainment happens
directly in front of it in the castle
forecourt oh yeah here's a trivia
questions is it so since we're talking
about Magic Kingdom in Florida does
anybody know whose castle this is
it is Cinderella's castle that's right
and again I many people probably didn't
even realize there was a difference but
in Disneyland Sleeping Beauty's castle
it's two different castles
so here now let's talk about Drupal core
and drupal's the visible parts of Drupal
core so I've made my lovely diagram I've
got a little icon for a castle and
that's what I'm pointing at that's like
the center of the core and how you can
see it is the active theme that's what
it currently looks like and then I've
got some little icons indicating that
custom and contributed modules are
attached or integrated with the core
come off like the spokes then there are
other themes poor themes that you could
use those in a little tiny castles down
the corner they're not currently active
but they're there you could switch to
them if you wanted and then we have
other core modules that if I didn't have
custom themes so yeah I've got I
mentioned the themes built in options
for how the site would look the core
modules are your built in functionality
that will always be present in the
Drupal site you've got contributed and
custom modules that are connected
together through the core they provide
additional needed functionality but they
rely on the core modules to end
components and they can't run them by
themselves and contributed and custom
themes yes I didn't really show that in
this picture but those would provide
additional flexibility of design so you
can switch your presentation and these
are the things that are visible tend to
be things that are more easily
understood so let's start our
exploration of Drupal core but take a
quick look at themes and modules
so theming is a concept that's probably
pretty well understood you're changing
up the look without rebuilding the guts
one thing I learned when I got into
Drupal was that theming was more than
just skinning you weren't just changing
the look of stuff that was on the page
that's kind of how I had thought of it
initially I mean when you're developing
the theme you're also making decisions
about which pieces of content should be
on the page in the first place put a
block there maybe this is part of your
theme you know without a theming system
it was always possible to create
beautiful sites using HTML and CSS so
here we have a lovely castle it's
beautifully themed it looks great but
it's a lot of work up front and when you
need to make changes that's also a lot
of work it's kind of hard so if you have
a web framework that gives you great
base functionality it doesn't typically
give you that much on the front end
Drupal uses the web framework
infrastructure and adds on extra
capabilities through the theming system
you can now change up the look and feel
without requiring a change to the
underlying site's structure so you still
might end up with presentation code
stuck in with business logic which makes
it tough to maintain and it's still a
little bit slow to modify if you go with
that route and for my illustration here
I have this was a thing that actually
happened in the 90s I forget which
birthday it was it was one of the
birthdays of the Magic Kingdom they
actually physically went out and dressed
up the castle to look like a birthday
cake so somebody actually had to go out
there and like hang all these
decorations on it to make it look like a
birthday cake
with Drupal 8 we brought in the use of
twig templates which allow you to load
in data from the business logic and
supply markup when and where you want
this is an instance of separation of
concerns keeping presentation and
implementation logic separated this
allows you to be extremely flexible in
terms of customizations you can have
some visually complicated changes that
can be accomplished with relatively
simple template changes and this picture
now I have an example of the projection
shows and they do this nightly now at
the Magic Kingdom they actually aren't
changing the physical castle at all they
just apply a new theme essentially
they're applying this template and poof
they instantly have this display and if
they decide no we're done with this one
we want to go on to the next one pretty
quick just change that template and now
it looks like this so now I have an
example of the castle showing a
wreckit-ralph overlay from a projected
projection show
and you might wonder why I have pictures
of trash cans in my presentation and
what that has to do with Drupal um so if
design is important to you you make sure
that everything works in the place where
it is nothing takes you out of the scene
or the mood that you're building you're
trying to make sure that all your design
components go together powerful and
usable theming capabilities let you take
care of even the smallest details so you
can make sure that everything fits now
at Disney this concept is embraced the
sense of place always serves the story
from the large-scale where they they put
a lot of effort into making sure that
when you're standing in a certain land
you actually can't see into the next one
you have to go around some trees or
there's something that visually blocks
you so if I'm in if I'm in futureworld
I should say Tomorrowland since we're
talking about Magic Kingdom if I'm in
Tomorrowland I actually can't really see
Fantasyland it's a different area
there's you have to go down paths
there's trees they put a lot of thought
into separating those and even the trash
cans the smallest details they think
about even the trash cans are aligned
with the story environment they're in so
here I have pictures of trash cans from
three different technically I'm cheating
a little bit because these are I'll give
you a hint these are not all actually in
the same park they're not all in Magic
Kingdom but I don't know does anybody
want to take any guesses about where
these trash cans are from oh so this one
is actually in Toy Story land so this is
in the studio's park the one on the
bottom right and I've got a vaguely
spaced feel that's in the animal kingdom
that's in the area that they seemed
after the Avatar movies Pandora and then
the one up at the top it's actually a
little hard to see I think in this
picture it's a little dark that is
actually us goes with Star Wars in the
Star Wars launch Bay I think is what
that area is called which is also in the
Studios
so getting to the highly themed
exquisitely designed sights remains a
task unique to each application Drupal
expects that and provides a small number
of themes included with core some of
them like Bartok seven and stark shown
here are visible and selectable from the
admin interface others like classy and
stable are intended to be used only as a
base on which to build up sub-themes
they provide a common starting point
that will remain up to date with any
core changes
now let's switch focus and talk a little
bit about modules modules are pieces of
new functionality packaged up into
discrete components that can be attached
to a drupal instance the ability to add
on new capabilities to drupal without
rewriting everything that's gone before
is a huge benefit Disney doesn't have
quite the flexibility that Drupal does
but they do occasionally create
conceptually similar additions to the
park that don't change the existing
functionality a recent example is the
sorcerer zuv the Magic Kingdom game if a
couple pictures here one of them is just
an advertising poster says sorcerer is
needed I have two example cards in the
middle and I have a picture of a kid who
actually is playing the game in the
Magic Kingdom park guests travel to
different magic portals and they look
like the one that the boy is standing in
front of throughout the park and they
use the spell cards that they've
collected to defeat an assortment of
Disney villains so it's like it's a
storyline with a collectible interactive
game it's an entirely new park activity
didn't exist a couple years ago but it
doesn't change any of the pre-existing
attractions it's just an add-on
as with themes it's quite common to
develop custom modules for use in your
application it's not quite as Universal
however there's a large and growing
collection of contributed modules so
that means if you need new capabilities
in your web application it may have
already been written
my I took a screenshot of the search for
modules just for Drupal 8 this was the
screenshots actually a couple months old
so I think as of Thursday we're up to a
six thousand eight hundred and thirty
modules that pop up so yeah there's a
lot out there and some modules get added
back into core one of the benefits of
working with open source software is the
recognition that good ideas can come
from anywhere
Drupal core is guided but not dictated
by the core contributors so if an idea
and an implementation fit with the
overall goals of Drupal contributed
modules can then be added into Drupal
core the focus is to identify good ideas
and powerful features incorporate them
into core to better serve the users so
if they're a Disney example for this -
you've been and I'm going to talk about
the redesign and expansion of the Magic
Kingdom hub area in 2015 so here I have
a picture like a drone overhead view of
the central part of the hub from around
from when it opened up until about 2015
so you have this is actually the castle
is over the top and you have this
in from the bottom of view new main
entrance as you walk in the park and
then you've got the spokes leading off
to the different different lands and you
have the one single rain in the center
um after 2015 this is a similar overhead
shot of what the redesign looked like so
the there's more space in the central
area they spread it out a little bit
especially on the walkways around the
pavement so there's more room for people
to stand there because they added these
great new projection shows on the castle
so in addition to watching the fireworks
which I already had now they have these
projection shows so there's even more
people that want to stay in there right
in front of the castle and just not go
anywhere so they gave them more space
and then they added the second ring of
walkways around it so you've got all
these people who want to stay in there
and watch it and all the other people
who what maybe they have kids like mine
who really were terrified of fireworks
when they were younger so when you're in
the park and it's close to nine o'clock
you're like get me now before the booms
start because it will be bad so now we
have the second ring so there's a lot
more mobility people who don't want to
be standing there can actually get out
and you can move your your crowds around
more easily more safely
unlike with core themes the number of
core modules is pretty large and keeps
growing this list probably out of date
already there's a lot of them it's
pretty easy to find out about them
obviously there's a page that I put the
page alone yeah so you just go look up
the different core modules on that on
the website and find out what they are
and what they do so if you looked at
themes modules and the visible layer of
Drupal core so we'll look a little bit
into the parts we don't usually notice
which is what I'll call the hidden core
and I've highlighted that in my diagram
I'm talking about the core components
the part that's underneath there Disney
has a hidden core as well lots of the
work to create the guests Park
experience happens in back-of-house
areas that guests never see one of the
more famous examples of this is the
utili door system so I have here a
picture and you can see Mickey Mouse hat
police dragged me down some very
utilitarian looking corridor utila doors
are literally utility corridors they're
a set of underground tunnels connecting
different parts of the park to each
other they have supplies break rooms
employee cafeterias workshops people and
materials can be moved from place to
place without interfering with Park
guests or requiring work to be done like
after Park hours
and here's a diagram that it's a
theme-park
diagram I showed before but I've drawn
in yellow a rough map of where the
utility ORS are against the surface
structures above them so you can see
there's a whole separate layer of
functionality that's essential to making
the park work that's hidden under the
surface so drupal's hidden layer of core
components works in a similar fashion in
the bottom layer of my diagram I'm
talking about these hidden parts the
core components contain libraries and
utility functions as well as the basic
infrastructure required to make a web
application work this is one of the
pieces I struggled with while trying to
comprehend the Drupal 8 architecture
I saw articles telling me that Drupal 8
was now based on symphony yay but I
didn't they didn't really explain then
why that was a good thing or what that
actually meant and maybe you've wondered
the same thing so we'll take a quick
look at what we mean when we say web
framework what symphony is and what it's
doing for us so framework as a term gets
thrown around a lot we'll just go ahead
and do a quick overview if you were
building a car there are certain
features you need no matter what you
know a way to make it go place to ride a
way to steer it way to stop it beyond
that there's many custom features you
could add building web applications
works the same way there are basic
functions every web application has to
perform since everybody has to do those
same things why not build a set of
building blocks that can handle those
common tasks and make them generic
enough that anybody can put them in
their custom application so that's the
purpose of a web framework they provide
a common tested solid state of
application building blocks that you can
build on so just within the PHP
community alone there's a lot of
different web frameworks they all
provide support for common web
activities but they've been designed and
optimized to handle different problems
so this is a vast simplification but
Symphony provides a very one of the most
commonly used set of
opponents and even other frameworks use
symphonies components laravel uses
symphony to support building PHP
applications that follow the
model-view-controller architectural
pattern other frameworks such as slim
are intentionally pared down offering
fewer features but very fast execution
so there's a lot of options to pick from
Drupal is characterized by its broad set
of capabilities and extensibility so
migrating a lot of Drupal 8 space
functionality to use Symphony components
was a natural fit so we've talked about
rep web framework but symphony offers
we'll take a quick look at Drupal 8
score components I'm not going to talk
about them in detail I'm just gonna I
have a very simplified drawing so this
is essentially my bottom layer from the
slides with the castle atop and I'm just
sort of showing you that the central
area here is what we're getting the
modules that were pulling from symphony
so those ones we basically just picked
up and incorporated those into Drupal
and the theme the items in the ring
around the outside are unique to Drupal
kernel obviously that's unique whereas
symphony routing you know is providing
the routing module Forest
so what else can Drupal 8 learn from
Disney I just have a few like two more
things really now that we've completed
our look at the Drupal 8 core and how
core interacts with themes and modules
we'll wrap it up with a few quick
thought about other aspects that can
tell us something interesting about
Drupal so here I have a picture of a
steam train Walt Disney loved trains and
especially steam trains and so it was
kind of a no-brainer that he'd put one
in his theme park and it was one of the
opening day attractions at both Disney
Land and the Magic Kingdom but it's not
just there for nostalgia it's actually
serving a useful purpose it visually and
physically separates the park from the
outside world it's big ring around the
whole park it also moves people from one
part of the park to the other and it
serves as a people eater ride because
you can get like 2,000 passengers an
hour on a typical day riding one of
these trains so contributions back to
Drupal can be viewed in a similar way
people create features and functions for
Drupal that they love or that they need
and even changes that only help out a
niche audience they're valuable to
projects that can create something that
make you happy and that helped out many
other people magical and this is the
last thing remember the weenie the
weenie in this case is an architectural
concept describing visual magnets that
draw guests from one area to another and
the story is that when Walt Disney was
originally designing Disneyland he'd get
home late at night and he'd grab a hot
dog to eat and he called them weenies
that was his nickname for them and he'd
be eating it and he'd share some with
his dog
and he realized that when he had his
hotdog in his hand
he'd go anywhere in the house and the
dog would follow him because the dog was
like ooh I might get some food and he
took that idea to his Imagineers who
were helping design the park and he he
said he wanted them to create visual
weenies with inside the park to draw
visitors toward certain features and
keep them moving through the park space
so everybody didn't get all clogged up
in one area so when you're thinking
about your website you know what draws
users in to your site what catches their
attention and keeps them moving forward
toward their goal that is your site
Sweeny and I'm just that is the wrap up
of my of my view of Drupal and Magic
Kingdom so if anybody has any questions
I'd love to talk about that at any of
the parks are just Magic Kingdom Magic
Kingdom yeah no you know what I like a
lot of the different rides um the ones I
like the most tend to be the ones that I
don't have to stand in line for forever
they actually just create it's like a
really simple thing but they created a
under the sea ride a couple of years ago
and it's not even all that fancy it's
very basic like dark ride you get in the
thing and you ride through and there's
shows and things like that and it's
really cute and my kids love it and I
can get through that that cue like
nothing that's one thing that I really
enjoy I don't know if that's my favorite
but you know top of mind right now
so what's your biggest difference piece
underneath
you know I didn't really think about
that that much I when I switched into
Drupal I immediately started looking at
Drupal 8 so I probably don't have the
best perspective on on differences I'd
have to think about that question and I
guess before we go I should mention if
you want to do feedback you can go to
this this link mid camp slash 263
that'll be feedback for this specific
talk and contribution day is tomorrow
from 10:00 to 4:00 you don't have to
know code to contribute there's a new
contributor training from 10:00 to noon
with the excellent Amy June so if you
can even get sort of our boost to get
started if you want and yeah that's my
last thing
thank you very much