Conversational Drupal A Crash Course in Drupal Jargon











































- Slides: 43
Conversational Drupal A Crash Course in Drupal Jargon Stanford Drupal Camp 2016 http: //tiny. cc/drupaljargon Kristin Bradham kbradham @hook 42. com answers@hook 42. com
About K 2 - Kristin Bradham • • • Front End Developer 17 years web development experience 3 years of Drupal k 2@hook 42. com www. drupal. org/u/kristink 2 • @ K 2 Hook 42 answers@hook 42. com
Hook 42 A boutique Drupal agency • • San Francisco, California Kristen Pol & Aimee Degnan ~3 years, 10 employees Focus Areas: SEO, Multilingual, Complex Drupal projects • Like Douglas Adams Say hello! • hook 42. com • @hook 42 inc answers@hook 42. com Small but strong!
Starting out in Drupal When I asked other developers what words stood out for them when they first started using Drupal • • Drupal CMS Core “Don’t Hack Core” Modules Themes Contrib Custom • • • Content Types Node (s) Views Block Beans answers@hook 42. com • • • Taxonomy Context Features Config Settings Permissions • Drupal. org infrastructure (well organized with all projects there) • d. o. & g. d. o. • Patch • Release • rtbc • RC 1 ● Entities ● Hook ● Webform (instead of just a form on the web) ● Form API ● Panels ● Display Suite ● View Modes
What we’re going to do Just the next 40 or so minutes. . . • • Define terms Perhaps talk to people Learn about roles Share knowledge D 7 D 8 answers@hook 42. com I’m the boss!
Don’t hack core! Core is just the start, but keep it clean. • Core Specifically refers to the code base you download from https: //www. drupal. org/start ● Site Architect ● Lead Developer ● Drupal Developer • What Core Is: ● What Core Is Not: • D 7 or D 8 - Core is ○ Custom Themes the base code, and ○ Custom Modules a specific set of ○ Custom anything really modules and ○ The fun stuff themes. answers@hook 42. com
Set of Functionality = Module Makes it easier to turn functionality on and off. Modules / Extend (D 8) • PHP Code • JS and CSS (Libraries in 8) • Includes and Feature information answers@hook 42. com Creator Maintainer Contributor Back-end Developers ● Site Architects ● ●
Which Modules do I need? That depends on what you want to do. . . Common Modules • Views (core in D 8) • CTools (core in D 8) • Token • Pathauto (core in D 8) • Libraries API(core in D 8) • Entities API(core in D 8) • Admin Menu • Webform • Etc. , Etc. . . answers@hook 42. com
What’s in a Theme? Can I put this in a theme? Themes / Appearance • HTML markup templates • D 7 - tpl. php (Tipple Fips!) • D 8 - Twig files • CSS, Sass, Less, etc. • Most of the Javascript • template. php / mytheme • Grunt, Gulp, Composer, etc. files answers@hook 42. com ● Front-end Developer ● Themer
How can we make this faster? Use a base theme to get going quickly. Common Base Themes • Open Framework (Bootstrap based Stanford theme!) • Zen • Omega • Adaptive Theme • Zurb Foundation answers@hook 42. com
Two sets of users, two themes Think intranet and internet. . . Admin Themes • Theme • Admin Theme is usually “Seven” (also in D 8) answers@hook 42. com
Contrib and Custom Yours, mine and ours. . . Modules and Themes • 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…) answers@hook 42. com
Woo Hoo - Let’s Review You’ve learned a lot already. • • • Drupal CMS Core “Don’t Hack Core” Modules Themes Tipple Fip (tpl. php) Twig Admin Theme Contrib Custom answers@hook 42. com Site Architect Lead Developer Drupal Developer Creator Maintainer Contributor Back-end Developers ● Site Architects ● Front-End Developer ● Themer ● ● ● ●
Good Job! Here’s a picture of a kitten. Awwww…. . answers@hook 42. com
Ok Break’s Over! Get Back to Work! answers@hook 42. com
Now we need content. Content types, node(s), views, and blocks Content Types and Fields • Content Types are Sets of fields • Examples: Blog, Article, News, List of Contacts, Etc. • Example Article Content Type • Title • Picture • Body answers@hook 42. com ● Site-Builder
Example Press Content Type answers@hook 42. com
Content and Nodes One set of content becomes a node. Nodes • Each time you create a new piece of content, it becomes a node • Each Node has a unique ID Article Content Type Article Node 1 Article Node 2 Article Node 3 Press Content Type Press Node 4 answers@hook 42. com Press Node 5 Press Node 6
Views let you do more This is where Drupal gets powerful. Views Press Content Type • Create lists of data • Pull from Content Types, Fields, Users, etc. • Want to show your site information in a specific way? Make a view! answers@hook 42. com 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
Example of a View answers@hook 42. 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 theme answers@hook 42. com
Example of Blocks and Regions answers@hook 42. com
Other ways to do layouts Terms for Themers and Front-end Devlopers ● Panels ● Display Suite ● View Modes answers@hook 42. com ● Themer ● Front-end Developer
Make your site work. Drupal standards, these also come in core. ● Menus (navigation) ● Taxonomy (tagging) ○ Vocabularies ● Configuration (setting / preferences) answers@hook 42. com ● Site-Builder
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!) answers@hook 42. com
Woo Hoo - Let’s Review You’ve learned a lot already! • • • Content Type Field Node View Block Regions Beans Menus Taxonomy Vocabularies Configuration answers@hook 42. com • • • Context Features Permissions Token Admin Menu Pathauto
Good Job! Here’s a picture of a puppy. Awwww…. . answers@hook 42. com
Ok Break’s Over! Get Back to Work! answers@hook 42. com
Hooks are the design and the building blocks, 42 is the answer. ● Basic Code Design Pattern of Drupal PHP ● The way PHP Functions are (usually) called in Drupal ● Defined set of parameters answers@hook 42. com ● Back-end Developer
Examples of a hook Hooks are the building blocks. modulename_hookname($variables) { // php code } answers@hook 42. com themename_hookname($variables) { // php code }
More Terms for Back-end 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) answers@hook 42. com
Example of using Form API In theme! We can do that! answers@hook 42. com
There is so much help! Drupal. org, Groups. drupal. org, IRC • Drupal. org infrastructure (well organized with all projects there) • d. o. & g. d. o. • IRC answers@hook 42. 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”) ● RC 1 - release candidate 1 answers@hook 42. 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 answers@hook 42. com • • • Taxonomy Context Features Config Settings Permissions • Drupal. org infrastructure (well organized with all projects there) • d. o. & g. d. o. • Patch • Release • rtbc • RC 1 ● Entities ● Hook ● Webform (instead of just a form on the web) ● Form API ● Panels ● Display Suite ● View Modes
Now, Get a Job! You now know what to call your skill set. We Need More ● Site Builder ● Back-end ● People Site Architect ● ● ● Developers Lead Developer Drupal Developer ● Front-End Developer Creator ● Themer Maintainer ● Content Manager Contributor ● Content Creator answers@hook 42. com
Good Work Today! Here’s a picture of a forest Forest Chibi Dragon Spirit. Awww. . . answers@hook 42. com Lisa. Toms. diviantart. com
So long and thanks for all the fish! Questions? I know I had many…. Have more questions? Email us at: answers@hook 42. com
Buzz - Frontend Gossip, gossip ● Headless Drupal ● RESTful API ● Decoupled ● Node. js ● angularjs ● Grunt ● Gulp answers@hook 42. com
Buzz - Back-end Gossip, gossip ● Stack ● Git ● Varnish ● New Relic ● No. SQL ● Redis, Mongo. DB, Solr answers@hook 42. com
Buzz - Testing Gossip, gossip ● Behat ● CI (continuous integration) ● Selenium ● Saucelabs answers@hook 42. 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_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 answers@hook 42. 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%3 Atheme ● Nodes and Content Types in Drupal - https: //www. drupal. org/node/717120 ● Most used themes - https: //www. drupal. org/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%21 module. 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=8 q. Iyd. Hdx. Nx 0 answers@hook 42. com ● Behat - http: //docs. behat. org/en/v 2. 5/quick_intro. html











































