Conversational Drupal A Crash Course in Drupal Jargon Stanford - - PowerPoint PPT Presentation

conversational drupal
SMART_READER_LITE
LIVE PREVIEW

Conversational Drupal A Crash Course in Drupal Jargon Stanford - - PowerPoint PPT Presentation

Conversational Drupal A Crash Course in Drupal Jargon Stanford Drupal Camp 2016 http://tiny.cc/drupaljargon Kristin Bradham kbradham@hook42.com answers@hook42.com answers@hook42.com About K2 - Kristin Bradham Front End Developer


slide-1
SLIDE 1

answers@hook42.com answers@hook42.com

Conversational Drupal

A Crash Course in Drupal Jargon

Stanford Drupal Camp 2016 http://tiny.cc/drupaljargon

Kristin Bradham

kbradham@hook42.com

slide-2
SLIDE 2

answers@hook42.com answers@hook42.com

About

  • Front End Developer
  • 17 years web development experience
  • 3 years of Drupal
  • k2@hook42.com
  • www.drupal.org/u/kristink2
  • @K2Hook42

K2 - Kristin Bradham

slide-3
SLIDE 3

answers@hook42.com answers@hook42.com

Hook 42

  • San Francisco, California
  • Kristen Pol & Aimee Degnan
  • ~3 years, 10 employees
  • Focus Areas: SEO, Multilingual,

Complex Drupal projects

  • Like Douglas Adams

A boutique Drupal agency

Say hello!

  • hook42.com
  • @hook42inc

Small but strong!

slide-4
SLIDE 4

answers@hook42.com answers@hook42.com

Starting out in Drupal

  • Drupal
  • CMS
  • Core “Don’t Hack Core”
  • Modules
  • Themes
  • Contrib
  • Custom
  • Content Types
  • Node (s)
  • Views
  • Block
  • Beans

When I asked other developers what words stood out for them when they first started using Drupal

  • Taxonomy
  • Context
  • Features
  • Config Settings
  • Permissions
  • Drupal.org

infrastructure (well

  • rganized with all

projects there)

  • d.o. & g.d.o.
  • Patch
  • Release
  • rtbc
  • RC1
  • Entities
  • Hook
  • Webform (instead
  • f just a form on

the web)

  • Form API
  • Panels
  • Display Suite
  • View Modes
slide-5
SLIDE 5

answers@hook42.com answers@hook42.com

What we’re going to do

  • Define terms
  • Perhaps talk to people
  • Learn about roles
  • Share knowledge

D7 D8

Just the next 40 or so minutes...

I’m the boss!

slide-6
SLIDE 6

answers@hook42.com answers@hook42.com

Don’t hack core!

  • What Core Is:

○ D7 or D8 - Core is the base code, and a specific set of modules and themes.

Core is just the start, but keep it clean.

  • What Core Is Not:

○ Custom Themes ○ Custom Modules ○ Custom anything really ○ The fun stuff

  • Core Specifically refers to the

code base you download from https://www.drupal.org/start

  • Site Architect
  • Lead Developer
  • Drupal Developer
slide-7
SLIDE 7

answers@hook42.com answers@hook42.com

  • PHP Code
  • JS and CSS (Libraries in 8)
  • Includes and Feature

information

  • Creator
  • Maintainer
  • Contributor
  • Back-end

Developers

  • Site Architects

Modules / Extend (D8) Set of Functionality = Module

Makes it easier to turn functionality on and off.

slide-8
SLIDE 8

answers@hook42.com answers@hook42.com

Which Modules do I need?

  • Views (core in D8)
  • CTools (core in D8)
  • Token
  • Pathauto (core in D8)
  • Libraries API (core in D8)
  • Entities API (core in D8)
  • Admin Menu
  • Webform
  • Etc., Etc. Etc...

That depends on what you want to do...

Common Modules

slide-9
SLIDE 9

answers@hook42.com answers@hook42.com

What’s in a Theme?

  • HTML markup templates

■ D7 - tpl.php (Tipple Fips!) ■ D8 - Twig files

  • CSS, Sass, Less, etc.
  • Most of the Javascript
  • template.php / mytheme.theme
  • Grunt, Gulp, Composer, etc. files

Can I put this in a theme?

Themes / Appearance

  • Front-end

Developer

  • Themer
slide-10
SLIDE 10

answers@hook42.com answers@hook42.com

How can we make this faster?

  • Open Framework (Bootstrap

based Stanford theme!)

  • Zen
  • Omega
  • Adaptive Theme
  • Zurb Foundation

Use a base theme to get going quickly.

Common Base Themes

slide-11
SLIDE 11

answers@hook42.com answers@hook42.com

Two sets of users, two themes

  • Theme
  • Admin Theme

○ Admin Theme is usually “Seven” (also in D8)

Think intranet and internet...

Admin Themes

slide-12
SLIDE 12

answers@hook42.com answers@hook42.com

Contrib and Custom

  • Modules and Themes can be:

○ In Core (you just get them when you download) ○ Contrib - Downloaded from Drupal.org ○ Custom - Written by you, custom for your site! ■ (You might want to turn around and contribute this…)

Yours, mine and ours...

Modules and Themes

slide-13
SLIDE 13

answers@hook42.com answers@hook42.com

Woo Hoo - Let’s Review

  • Drupal
  • CMS
  • Core “Don’t Hack Core”
  • Modules
  • Themes
  • Tipple Fip (tpl.php)
  • Twig
  • Admin Theme
  • Contrib
  • Custom

You’ve learned a lot already.

  • Site Architect
  • Lead Developer
  • Drupal Developer
  • Creator
  • Maintainer
  • Contributor
  • Back-end

Developers

  • Site Architects
  • Front-End

Developer

  • Themer
slide-14
SLIDE 14

answers@hook42.com answers@hook42.com

Good Job! Here’s a picture

  • f a kitten.

Awwww…..

slide-15
SLIDE 15

answers@hook42.com answers@hook42.com

Get Back to Work!

Ok Break’s Over!

slide-16
SLIDE 16

answers@hook42.com answers@hook42.com

Now we need content.

Content types, node(s), views, and blocks

  • Content Types are Sets of fields
  • Examples: Blog, Article, News, List of

Contacts, Etc.

  • Example Article Content Type

○ Title ○ Picture ○ Body

Content Types and Fields

  • Site-Builder
slide-17
SLIDE 17

answers@hook42.com answers@hook42.com

Example Press Content Type

slide-18
SLIDE 18

answers@hook42.com answers@hook42.com

Content and Nodes

One set of content becomes a node.

  • Each time you create a new

piece of content, it becomes a node

  • Each Node has a unique ID

Nodes

Article Content Type

Article Node 1 Article Node 2 Article Node 3

Press Content Type

Press Node 4 Press Node 5 Press Node 6

slide-19
SLIDE 19

answers@hook42.com answers@hook42.com

Views let you do more

This is where Drupal gets powerful.

  • Create lists of data
  • Pull from Content Types, Fields,

Users, etc.

  • Want to show your site

information in a specific way? Make a view!

Views

Press Content Type

Press Node 4 Press Node 5 Press Node 6

View of Press Links

Press Node 4 Link Press Node 5 Link Press Node 6 Link

slide-20
SLIDE 20

answers@hook42.com answers@hook42.com

Example

  • f a

View

slide-21
SLIDE 21

answers@hook42.com answers@hook42.com

Blocks and Regions

Content placed in a region.

  • Simple HTML (add > block)
  • Blocks can be made by,

menus, views, search, etc.

  • Blocks are placed in

regions ○ Regions are defined in the theme

slide-22
SLIDE 22

answers@hook42.com answers@hook42.com

Example

  • f

Blocks and Regions

slide-23
SLIDE 23

answers@hook42.com answers@hook42.com

Other ways to do layouts

Terms for Themers and Front-end Devlopers

  • Panels
  • Display Suite
  • View Modes
  • Themer
  • Front-end

Developer

slide-24
SLIDE 24

answers@hook42.com answers@hook42.com

Make your site work.

Drupal standards, these also come in core.

  • Menus (navigation)
  • Taxonomy (tagging)

○ Vocabularies

  • Configuration (setting /

preferences)

  • Site-Builder
slide-25
SLIDE 25

answers@hook42.com answers@hook42.com

Drupal Goodies!

A Few Other Things you should know about!

  • Context (if this then that)
  • Features (settings in code)
  • Permissions (who can do what)
  • Token (%field)
  • Pathauto (URLS)
  • Admin Menu (clicky clicky!)
slide-26
SLIDE 26

answers@hook42.com answers@hook42.com

Woo Hoo - Let’s Review

  • Content Type
  • Field
  • Node
  • View
  • Block
  • Regions
  • Beans
  • Menus
  • Taxonomy
  • Vocabularies
  • Configuration

You’ve learned a lot already!

  • Context
  • Features
  • Permissions
  • Token
  • Admin Menu
  • Pathauto
slide-27
SLIDE 27

answers@hook42.com answers@hook42.com

Good Job! Here’s a picture

  • f a puppy.

Awwww…..

slide-28
SLIDE 28

answers@hook42.com answers@hook42.com

Get Back to Work!

Ok Break’s Over!

slide-29
SLIDE 29

answers@hook42.com answers@hook42.com

Hooks

Hooks are the design and the building blocks, 42 is the answer.

  • Basic Code Design Pattern
  • f Drupal PHP
  • The way PHP Functions are

(usually) called in Drupal

  • Defined set of parameters
  • Back-end

Developer

slide-30
SLIDE 30

answers@hook42.com answers@hook42.com

Examples of a hook

Hooks are the building blocks. modulename_hookname($variables) { // php code } themename_hookname($variables) { // php code }

slide-31
SLIDE 31

answers@hook42.com answers@hook42.com

More Terms for Back-end Developers.

Developers throw these around...

  • Features (configuration in code)
  • Entities (content types, users, forms, etc.)
  • Form API
  • Entityform
  • Webform (instead of just a form on the web)
slide-32
SLIDE 32

answers@hook42.com answers@hook42.com

Example of using Form API

In the theme! We can do that!

slide-33
SLIDE 33

answers@hook42.com answers@hook42.com

There is so much help!

Drupal.org, Groups.drupal.org, IRC

  • Drupal.org

infrastructure (well

  • rganized with all

projects there)

  • d.o. & g.d.o.
  • IRC
slide-34
SLIDE 34

answers@hook42.com answers@hook42.com

And you can help too!

Contributing, patches, peer reviews.

  • Patch
  • Release
  • rtbc - “reviewed and tested by the

community” (used to be “ready to be committed”)

  • RC1 - release candidate 1
slide-35
SLIDE 35

answers@hook42.com answers@hook42.com

You learned a lot!

The list from the beginning, now making more sense!

  • Drupal
  • CMS
  • Core “Don’t Hack Core”
  • Modules
  • Themes
  • Contrib
  • Custom
  • Content Types
  • Node (s)
  • Views
  • Block
  • Beans
  • Taxonomy
  • Context
  • Features
  • Config Settings
  • Permissions
  • Drupal.org

infrastructure (well

  • rganized with all

projects there)

  • d.o. & g.d.o.
  • Patch
  • Release
  • rtbc
  • RC1
  • Entities
  • Hook
  • Webform (instead
  • f just a form on

the web)

  • Form API
  • Panels
  • Display Suite
  • View Modes
slide-36
SLIDE 36

answers@hook42.com answers@hook42.com

Now, Get a Job!

You now know what to call your skill set.

  • Site Architect
  • Lead Developer
  • Drupal Developer
  • Creator
  • Maintainer
  • Contributor
  • Site Builder
  • Back-end Developers
  • Front-End Developer
  • Themer
  • Content Manager
  • Content Creator

We Need More People

slide-37
SLIDE 37

answers@hook42.com answers@hook42.com

Good Work Today! Here’s a picture of a forest Forest Chibi Dragon Spirit.

Awww... LisaToms.diviantart.com

slide-38
SLIDE 38

answers@hook42.com answers@hook42.com

So long and thanks for all the fish!

Questions? I know I had many….

Have more questions?

Email us at: answers@hook42.com

slide-39
SLIDE 39

answers@hook42.com answers@hook42.com

Buzz - Frontend

  • Headless Drupal
  • RESTful API
  • Decoupled
  • Node.js
  • angularjs
  • Grunt
  • Gulp

Gossip, gossip, gossip

slide-40
SLIDE 40

answers@hook42.com answers@hook42.com

Buzz - Back-end

  • Stack
  • Git
  • Varnish
  • New Relic
  • NoSQL
  • Redis, MongoDB, Solr

Gossip, gossip, gossip

slide-41
SLIDE 41

answers@hook42.com answers@hook42.com

Buzz - Testing

  • Behat
  • CI (continuous integration)
  • Selenium
  • Saucelabs

Gossip, gossip, gossip

slide-42
SLIDE 42

answers@hook42.com answers@hook42.com

But wait, there’s more...

Some great sites are out there to help.

  • Everything! - https://www.drupal.org/
  • Drupal Community - https://www.drupal.org/community
  • Drupal Groups - https://groups.drupal.org/
  • IRC - https://www.drupal.org/irc
  • Most used modules - https://www.drupal.org/project/usage
  • Most used themes - https://www.drupal.org/project/project_theme
  • Quickly install and test something - https://simplytest.me/
  • Good tutorials - http://buildamodule.com/
  • Some more good tutorials - https://drupalize.me/
  • Hosting and dev tools - Pantheon, Acquia, Bluehost, Blackmesh
  • And so many more….
slide-43
SLIDE 43

answers@hook42.com answers@hook42.com

Just for Reference...

Sites I used to make this presentation - good references.

  • Drupal Background - https://www.drupal.org/about/history
  • Drupal Core - https://www.drupal.org/start
  • Drupal Module Usage - https://www.drupal.org/project/usage
  • Drupal Responsive Themes - https://www.drupal.org/search/site/responsive?f[0]=ss_meta_type%3Atheme
  • Nodes and Content Types in Drupal - https://www.drupal.org/node/717120
  • Most used themes - https://www.drupal.org/project/project_theme
  • Taxonomies - https://www.drupal.org/documentation/modules/taxonomy
  • CTools - https://www.drupal.org/node/2356405
  • Hooks - http://alanstorm.com/drupal_module_hooks
  • Hooks - https://api.drupal.org/api/drupal/includes%21module.inc/group/hooks/7
  • Hooks - http://www.webomelette.com/top-10-drupal-hooks-contrib
  • Hooks - http://websmiths.co/blog/very-introduction-drupals-hookformalter
  • Entities - https://www.drupal.org/node/1261744
  • Webform - https://www.youtube.com/watch?v=8qIydHdxNx0
  • Behat - http://docs.behat.org/en/v2.5/quick_intro.html
  • Continuous Integration - https://www.thoughtworks.com/continuous-integration