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 • 17 years web development experience • 3 years of Drupal • k2@hook42.com • www.drupal.org/u/kristink2 • @K2Hook42 answers@hook42.com answers@hook42.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! • hook42.com • @hook42inc Small but strong! answers@hook42.com answers@hook42.com
Starting out in Drupal When I asked other developers what words stood out for them when they first started using Drupal Drupal Taxonomy Entities ● ● ● CMS Context Hook ● ● ● Core “Don’t Hack Core” Features Webform (instead ● ● ● Modules Config Settings of just a form on ● ● Themes Permissions the web) ● ● Contrib Form API ● ● Custom ● Drupal.org ● infrastructure (well Panels ● Content Types organized with all Display Suite ● ● Node (s) projects there) View Modes ● ● Views d.o. & g.d.o. ● ● Block Patch ● ● Beans Release ● ● rtbc ● RC1 ● answers@hook42.com answers@hook42.com
What we’re going to do Just the next 40 or so minutes... I’m the boss! ● Define terms ● Perhaps talk to people ● Learn about roles ● Share knowledge D7 D8 answers@hook42.com answers@hook42.com
Don’t hack core! ● Site Architect Core is just the start, but keep it clean. ● Lead Developer ● Core Specifically refers to the ● Drupal Developer code base you download from https://www.drupal.org/start ● What Core Is: ● What Core Is Not: ○ Custom Themes ○ D7 or D8 - Core is ○ Custom Modules the base code, and ○ Custom anything really a specific set of ○ The fun stuff modules and themes. answers@hook42.com answers@hook42.com
Set of Functionality = Module Makes it easier to turn functionality on and off. ● Creator ● Maintainer Modules / Extend (D8) ● Contributor ● Back-end ● PHP Code Developers ● Site Architects ● JS and CSS (Libraries in 8) ● Includes and Feature information answers@hook42.com answers@hook42.com
Which Modules do I need? That depends on what you want to do... Common Modules ● 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... answers@hook42.com answers@hook42.com
What’s in a Theme? Can I put this in a theme? ● Front-end Themes / Appearance Developer ● Themer ● 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 answers@hook42.com answers@hook42.com
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@hook42.com answers@hook42.com
Two sets of users, two themes Think intranet and internet... Admin Themes ● Theme ● Admin Theme ○ Admin Theme is usually “ Seven ” (also in D8) answers@hook42.com answers@hook42.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@hook42.com answers@hook42.com
Woo Hoo - Let’s Review You’ve learned a lot already. ● Site Architect • Drupal ● Lead Developer • CMS ● Drupal Developer ● Creator • Core “Don’t Hack Core” ● Maintainer • Modules ● Contributor • Themes ● Back-end • Tipple Fip (tpl.php) Developers • Twig ● Site Architects • Admin Theme ● Front-End • Contrib Developer ● Themer • Custom answers@hook42.com answers@hook42.com
Good Job! Here’s a picture of a kitten. Awwww….. answers@hook42.com answers@hook42.com
Ok Break’s Over! Get Back to Work! answers@hook42.com answers@hook42.com
Now we need content. Content types, node(s), views, and blocks Content Types and Fields ● Content Types are Sets of fields ● Site-Builder ● Examples: Blog, Article, News, List of Contacts, Etc. ● Example Article Content Type ○ Title ○ Picture ○ Body answers@hook42.com answers@hook42.com
Example Press Content Type answers@hook42.com answers@hook42.com
Content and Nodes One set of content becomes a node. Nodes Article Content Type ● Each time you create a new piece of content, it becomes a Article Article Article Node Node Node 1 2 3 node ● Each Node has a unique ID Press Content Type Press Press Press Node Node Node 4 5 6 answers@hook42.com answers@hook42.com
Views let you do more This is where Drupal gets powerful. Views Press Content Type ● Create lists of data Press Press Press Node Node Node ● Pull from Content Types, Fields, 4 5 6 Users, etc. View of Press Links ● Want to show your site information in a specific way? Press Node 4 Link Press Node 5 Link Make a view! Press Node 6 Link answers@hook42.com answers@hook42.com
Example of a View 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 answers@hook42.com answers@hook42.com
Example of Blocks and Regions answers@hook42.com answers@hook42.com
Other ways to do layouts Terms for Themers and Front-end Devlopers ● Panels ● Themer ● Front-end ● Display Suite Developer ● View Modes answers@hook42.com answers@hook42.com
Make your site work. Drupal standards, these also come in core. ● Menus (navigation) ● Taxonomy (tagging) ● Site-Builder ○ Vocabularies ● Configuration (setting / preferences) 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!) answers@hook42.com answers@hook42.com
Woo Hoo - Let’s Review You’ve learned a lot already! • Content Type • Context • Field • Features • Node • Permissions • View • Token • Block • Admin Menu • Regions • Pathauto • Beans • Menus • Taxonomy • Vocabularies • Configuration answers@hook42.com answers@hook42.com
Good Job! Here’s a picture of a puppy. Awwww….. answers@hook42.com answers@hook42.com
Ok Break’s Over! Get Back to Work! answers@hook42.com answers@hook42.com
Hooks Hooks are the design and the building blocks, 42 is the answer. ● Basic Code Design Pattern ● Back-end of Drupal PHP Developer ● The way PHP Functions are (usually) called in Drupal ● Defined set of parameters answers@hook42.com answers@hook42.com
Examples of a hook Hooks are the building blocks. modulename_hookname($variables) { themename_hookname($variables) { // php code // php code } } 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) answers@hook42.com answers@hook42.com
Example of using Form API In the theme! We can do that! answers@hook42.com answers@hook42.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@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 answers@hook42.com answers@hook42.com
You learned a lot! The list from the beginning, now making more sense! Drupal Taxonomy Entities ● ● ● CMS Context Hook ● ● ● Core “Don’t Hack Core” Features Webform (instead ● ● ● Modules Config Settings of just a form on ● ● Themes Permissions the web) ● ● Contrib Form API ● ● Custom ● Drupal.org ● infrastructure (well Panels ● Content Types organized with all Display Suite ● ● Node (s) projects there) View Modes ● ● Views d.o. & g.d.o. ● ● Block Patch ● ● Beans Release ● ● rtbc ● RC1 ● answers@hook42.com answers@hook42.com
Now, Get a Job! You now know what to call your skill set. We Need More People ● Site Builder ● Site Architect ● Back-end Developers ● Lead Developer ● Front-End Developer ● Drupal Developer ● Themer ● Creator ● Content Manager ● Maintainer ● Content Creator ● Contributor answers@hook42.com answers@hook42.com
Recommend
More recommend