July 2018 meetup

Error message

  • Notice: Undefined index: next_event in _get_latest_meetup_event() (line 39 of /home/webmonst/drupalyorkshire.org.uk/sites/all/modules/custom/latest_meetup_event/latest_meetup_event.module).
  • Notice: Undefined index: link in _get_latest_meetup_event() (line 43 of /home/webmonst/drupalyorkshire.org.uk/sites/all/modules/custom/latest_meetup_event/latest_meetup_event.module).
  • Notice: Undefined index: next_event in _get_latest_meetup_event() (line 45 of /home/webmonst/drupalyorkshire.org.uk/sites/all/modules/custom/latest_meetup_event/latest_meetup_event.module).
  • Notice: Undefined index: venue in _get_latest_meetup_event() (line 47 of /home/webmonst/drupalyorkshire.org.uk/sites/all/modules/custom/latest_meetup_event/latest_meetup_event.module).

John Cook built a website!!!

John explains the best tools and modules for building Drupal 8.


  1. Composer - Dependency manager. All drupal modules are available under the Drupal vendor prefix
  2. Composer project -  A composer template for Drupal https://github.com/drupal-composer/drupal-project, this allows you to create drupal projects with the following command composer create-project
  3. Drush - Command line shell for Drupal "It's a swiss army knife"
  4. Git - Version control mainly for keepiong config in now rather than code as composer sorts out all our dependencies.
  5. Demo Script - Install Drupal locally without a drupal dev environment but you must have a local version of PHP installed.


  1. Install profile generator - Creates in install profile based on the site builders configuration so it can be re-deployed . https://www.drupal.org/project/install_profile_generator
  2. Paragraphs - Helps editors create structured content, helps give consistent content model across the site.
  3. Leggodt - A set of predfined paragrpahs and some re-usable layouts.
  4. Default content - Ship default content with a site.
    • May need better normalizer
  5. Webform - Allows site users to create forms and use them in content, major re-write for D8 to change how it fundamentaly works.
  6. Field type modules
    • Block field - Allows blocks to used in feilds
    • Contact formatter - Feild formatter for rendering a contact form in an entity reference field.
    • video - Deliver videos in any format
    • video embed field - embed videos from external sources such as youtube and Vimeo.
  7. Seo stuff
    1. Meta tag - Automatic structured data for nodes including extras like open graph
    2. Pathauto - Autmatically generate paths for nodes using a pre-defined pattern
    1. Automplete filters - Autocomplete a views exposed filter with results returned from the view.
    2. Menu childeren filter - Grabs child nodes according to the menu structure that the parent node that has been returned in the current view.
  9. Otther stuff
    • Honeypot - Prevent spam without an ugly CAPTCHA
    • Config ignore - Ignore config to sync so that when users change config it doesn't get reverted back when new config is deployed.
    • Media core - Media in core whoop!

Slides attached