265 videos, 7h 23m

How to change the order of fields in a content creation form and change select boxes to checkboxes

Show videos in one column
Show videos in split view
Mark multiple complete (member-only)
Add multiple to a playlist (member-only)
Change speed.5x1x1.5x2x3x


  1. 13:17Introduction
    1. 3:53Welcome to "Drupal 8 Site Building"
    2. 3:23What makes Drupal different than other site building tools
    3. 1:19How we're going to deal with updates to Drupal 8 and contributed modules
    4. 1:07About the web site we're about to build
    5. 1:41How to install a new Drupal 8 site with Dev Desktop
    6. 1:17How to set up a Drupal installation
    7. 0:37How to log in and log out, even if the log in link is hidden
  2. 31:36How to work with modules, improve navigation and add site branding
    1. 1:49How to change the logo and header background colors
    2. 1:33What a "theme" is and how to hide the site title
    3. 1:55How to use the administration menus and add shortcuts
    4. 1:29What a "module" is and how to install and uninstall modules
    5. 1:37Why some very useful modules are not part of core Drupal
    6. 4:27How to evaluate the health of a contributed module for use in a project
    7. 0:35How development (dev) releases of modules work
    8. 1:27What "alpha," "beta," "rc" and "stable" releases are and their security implications
    9. 1:05How to install and enable a contributed module through the user interface
    10. 0:53Why the terms "install" and "enable" might be confusing when it comes to modules
    11. 2:09How to apply our module assessment checklist to the Coffee module
    12. 1:11How to manually install a contributed module
    13. 0:45How to jump to any administration page using the Coffee module
    14. 1:29Quiz and challenges origin story
    15. 1:17Quiz for chapter 2 of "Drupal 8 Site Building"
    16. 0:45Challenges for chapter 2 of "Drupal 8 Site Building"
    17. 7:10Solutions for chapter 2 of "Drupal 8 Site Building"
  3. 37:55 How to set up content types, create content and create simple views
    1. 3:07How to create content and what the content creation form settings mean
    2. 0:33How to edit content in-place and through the content edit form
    3. 0:59What the term "node" means and why "content" gets used more in the interface
    4. 0:57How to change the default home page
    5. 1:27Adding our "About us" page
    6. 1:03Reviewing our "tour type" and "tour types" wireframes
    7. 1:55The benefits to modeling data instead of using flat HTML
    8. 0:55What a CSV file is and how to view it as a spreadsheet
    9. 2:43How to add and configure a custom content type
    10. 1:35How to change the label and settings on a default "body" field
    11. 1:27Overview of textual field types
    12. 1:17The pros and cons of reusing fields across multiple content types
    13. 0:49Adding a plain textarea field
    14. 0:35Adding our first tour type content
    15. 1:43How to change field order and position field labels
    16. 0:27How to hide the "submitted by" text on a content page
    17. 0:31How the "Back to site" link works
    18. 0:43Adding our other tour type content in
    19. 3:49How to add a view, and what settings the Views wizard affects
    20. 1:11How to add fields to a view
    21. 1:55How to change the HTML element used for fields and field labels in a view
    22. 0:33Reflecting on the value of data modeling versus flat HTML now that we've used Views
    23. 1:35Quiz for chapter 3 of "Drupal 8 Site Building"
    24. 0:41Challenges for chapter 3 of "Drupal 8 Site Building"
    25. 5:25Solutions for chapter 3 of "Drupal 8 Site Building"
  4. 5:56How to back up and restore a Drupal site and start from a chapter snapshot
    1. 0:43Why it's useful to know how to back up and restore a site
    2. 0:47How to back up a Drupal site's files
    3. 0:57How to back up a Drupal site's database
    4. 0:57How to restore a Drupal site's files from a backup
    5. 0:21How to restore a Drupal site's database from a backup with phpMyAdmin
    6. 2:11How to restore a snapshot for any chapter in this series
  5. 19:34How to work with users and permissions
    1. 1:49How to add a new user
    2. 1:25How to use Masquerade to log in as any user and how to log in as two users at once
    3. 2:13How roles and permissions work, and what the anonymous, authenticated and administrator roles are for
    4. 1:55How to add a role and why to keep permissions to a minimum
    5. 0:13How to assign a role to a user
    6. 0:53How to assign a user authorship of content so they can edit it
    7. 2:03Assigning authorship of our tour type content to allow creators to edit them
    8. 0:49How to add a field to users
    9. 2:01What an entity is, the difference between user and node entities and how the Profile module works
    10. 1:17Quiz for chapter 5 of "Drupal 8 Site Building"
    11. 0:19Challenges for chapter 5 of "Drupal 8 Site Building"
    12. 4:37Solutions for chapter 5 of "Drupal 8 Site Building"
  6. 38:17How to use reference fields, views relationships and image styles
    1. 3:09Options for merging multiple fields automatically into a node's title, and creating our "staff" content type
    2. 1:42How to add a select box or list field to a content type or other entity
    3. 4:26How to add an image field, what "machine name" means and comparing private and public files
    4. 1:51How to change the order of fields in a content creation form and change select boxes to checkboxes
    5. 2:37Adding our staff content
    6. 1:11How to merge a field with multiple values in a view and what "delta" means
    7. 3:09How to use image styles to render an image at any size and shape
    8. 0:17Adding a body field to our view
    9. 1:21How the personal contact form works, and how to create a user-based view
    10. 0:55Explaining why we need a reference field and adding another user
    11. 4:57How to add a reference field and a relationship to connect two entities and pull data from both into a view
    12. 4:03How to rewrite the output of a field in a view to include content from multiple fields
    13. 0:39Reviewing our view an an anonymous user and how to log out via a URL
    14. 1:03How the anonymous and authenticated roles don't stack, and how to give permission to use the personal contact form
    15. 1:17Quiz for chapter 6 of "Drupal 8 Site Building"
    16. 0:31Challenges for chapter 6 of "Drupal 8 Site Building"
    17. 5:09Solutions for chapter 6 of "Drupal 8 Site Building"
  7. 44:58How to debug email and fight spam
    1. 1:33How to prevent email from being accidentally sent by using Maillog
    2. 0:39Why to create a list of tasks to execute before going live
    3. 0:45How to get to a module's configuration page
    4. 1:35How to configure Maillog and how to review sent messages
    5. 1:55How the user registration form works and options for combatting spam
    6. 0:41How to unblock or approve a user account
    7. 1:07What a new user will see when logging into a site for the first time
    8. 4:01How to hide the user registration form and a walkthrough of user account settings
    9. 1:25How and why to install the Honeypot module
    10. 1:35How to configure Honeypot to protect a form
    11. 1:29How to verify the Honeypot module is working for a form
    12. 3:25How to install and configure the CAPTCHA module to deter spam
    13. 0:41How to add a CAPTCHA to a form
    14. 1:53How to install and configure reCAPTCHA
    15. 0:43Why a CAPTCHA can result in frustrated users
    16. 1:45How and why to set up a Mollom account for spam filtering
    17. 3:55How to install and configure the Mollom module
    18. 0:55How to uninstall modules that are dependencies of other modules
    19. 1:07Why it makes sense to completely uninstall unused modules
    20. 1:59How the built-in flood control protection for the log in form works
    21. 0:53How to log in when your account has been blocked for too many failed login attempts
    22. 1:51Quiz for chapter 7 of "Drupal 8 Site Building"
    23. 0:23Challenges for chapter 7 of "Drupal 8 Site Building"
    24. 8:43Solutions for chapter 7 of "Drupal 8 Site Building"
  8. 42:15How to use taxonomy and comments
    1. 2:33Reviewing our blog entry and blog listing wireframes
    2. 0:31Configuring our blog entry content type
    3. 1:39What the terms "taxonomy," "vocabulary" and "term" mean
    4. 1:09How to add terms directly to a vocabulary and view a term page
    5. 1:17How to add a taxonomy reference field (i.e. tagging) to a content type
    6. 1:19Adding a blog entry and testing out our tag field
    7. 1:05How to change a taxonomy field to use a more tag-like input mechanism
    8. 2:43How to add an image field and display it as a thumbnail
    9. 2:01How to use the Colorbox module to provide a photo gallery overlay
    10. 1:55How to find documentation on a contributed module when it doesn't quite work right
    11. 0:35How to set up the "libraries" folder and add a jQuery plugin
    12. 1:37How to flush Drupal's cache and why we would need to clear it
    13. 1:01How to add multiple images at once and view multiple images in Colorbox
    14. 2:25How to add commenting via a comment field
    15. 1:25Testing our comment field and an overview what we need to do to make our comment form public
    16. 0:53How to allow anonymous users to add moderated comments
    17. 1:09How to moderate unpublished comments
    18. 1:47How to allow anonymous users to post unmoderated comments and protect our comment form
    19. 1:47The pros and cons of using a third-party service like Disqus or Facebook for comments
    20. 0:33How to set up a Disqus account
    21. 3:17How to install and configure the Disqus module
    22. 1:11Quiz for chapter 8 of "Drupal 8 Site Building"
    23. 0:33Challenges for chapter 8 of "Drupal 8 Site Building"
    24. 7:50Solutions for chapter 8 of "Drupal 8 Site Building"
  9. 37:08How to add CSS, edit date formats, modify view modes, and use Display Suite
    1. 1:29What CSS is and how we'll use it to fix a layout issue
    2. 1:21How to use a browser to discover which element's CSS you need to modify
    3. 0:55Comparing adding CSS via a module like Asset Injector and creating a custom theme
    4. 3:03How to inject CSS through the user interface with the Asset Injector module
    5. 1:39How to troubleshoot issues with CSS from Asset Injector not working
    6. 0:59How to add CSS to display image field images in a row
    7. 0:37Where to find the CSS we use and reassurance that CSS is tricky
    8. 0:39Reviewing the differences between our wireframe and the default "Submitted by" line
    9. 1:37How to modify the date format used in the "Submitted by" line
    10. 1:01How to add a custom date format
    11. 2:03Installing Display Suite and Token and how to tell when a module has dependencies
    12. 1:45How to use Display Suite to adjust page layout and give greater control over fields
    13. 2:37How to add a custom field in Display Suite to replace the "Submitted by" line and how Token works
    14. 2:33What view modes are and how to modify hidden view modes
    15. 2:05How to add a custom view mode and use it in a view
    16. 2:37How to modify the teaser view mode
    17. 1:17Modifying our CSS injector rules and selectors to apply our CSS to the new view
    18. 1:07Quiz for chapter 9 of "Drupal 8 Site Building"
    19. 0:27Challenges for chapter 9 of "Drupal 8 Site Building"
    20. 7:17Solutions for chapter 9 of "Drupal 8 Site Building"
  10. 32:55How to set up paths and redirects, and working with blocks and block types
    1. 1:11The benefits of using a readable url and how Pathauto can help
    2. 1:11How to install Pathauto and why Drush is useful for installing modules with dependencies
    3. 1:21How to configure a pattern in Pathauto to automatically generate URL aliases for new content
    4. 0:53How to bulk generate aliases for existing content with Pathauto
    5. 0:57Creating Pathauto patterns and bulk generating aliases for tour types and blog entries
    6. 1:31How we can use the Redirect module to prevent duplicate URLs and why that's important
    7. 1:47Demonstrating how Redirect adds redirects from old URLs and what a 301 redirect is
    8. 0:29How to browse URL redirects and change the redirect status code
    9. 1:45How to use the Diff module to see the differences between content revisions
    10. 0:33Reviewing a message from our boss
    11. 1:29What "blocks" and "regions" are and how to hide a block
    12. 1:13Overview of enabled blocks and a more detailed explaination of blocks and regions
    13. 0:45How to add a module-supplied block to a region and create a copy of an existing block
    14. 1:07Two approaches we can take to creating a custom block
    15. 1:55How to create a custom block type
    16. 0:25How to adjust how fields in a custom block type are displayed and ordered
    17. 1:23How to create a custom block of a particular custom block type
    18. 1:13How to place an instance of a custom block and making some minor adjustments to the block
    19. 1:27Adding a "featured adventurer" content type
    20. 1:37How to create and place a Views block
    21. 1:57When it makes sense to use a content type instead of a custom block type
    22. 0:59Quiz for chapter 10 of "Drupal 8 Site Building"
    23. 0:25Challenges for chapter 10 of "Drupal 8 Site Building"
    24. 5:22Solutions for chapter 10 of "Drupal 8 Site Building"
  11. 36:26How to use exposed filters and contextual filters in views
    1. 3:49Adding our "tour" content type with a date field, number field and content reference fields
    2. 0:29How to switch a reference field input to use a select box instead of an auto-complete in
    3. 0:59Why we're going to use a view to filter out options for a reference field input
    4. 1:45How you can use "displays" to share common configuration between views
    5. 1:39How to filter options that display in an entity reference field using a view and what "delta" means
    6. 1:05Adding our tour nodes
    7. 1:11How to quickly add multiple fields from the same content type to a view
    8. 0:53How to customize the date format in a views field
    9. 1:01Finishing the process of configuring and reordering our fields in the calendar view
    10. 0:47How to prevent past events from displaying in a calender-type view
    11. 0:45How to make columns sortable in a table-style view
    12. 0:57How to add a form (exposed filter) to a view to allow users to filter results
    13. 1:51How to add an exposed filter for a reference field in views using a relationship
    14. 1:47How to make a views exposed filter a dropdown with grouped filters
    15. 0:27How to change the text in the "apply" button for an exposed filter
    16. 0:59How to turn on Ajax reloading for views and the advantages of leaving it off
    17. 1:07How to hide the title of a filter and horizontally align an exposed filter's "apply" button
    18. 1:03How to add content above a view with a views header
    19. 2:23Adding a second views display for our calendar block and placing an instance of the block
    20. 1:55What a contextual filter is and how to show content that references the current page's node
    21. 1:05How to roll back a change applied to all views displays that should only apply to one
    22. 1:17How to display custom content in a view when there are no matching results
    23. 0:47Quiz for chapter 11 of "Drupal 8 Site Building"
    24. 0:29Challenges for chapter 11 of "Drupal 8 Site Building"
    25. 5:56Solutions for chapter 11 of "Drupal 8 Site Building"
  12. 24:15How to create custom forms and manage menus
    1. 0:59Reviewing our contact form and submission confirmation wireframes
    2. 2:09How contact forms work, what the configuration options means and how to use "weight"
    3. 0:23Reviewing what elements we need to change to make the default contact form match the wireframe
    4. 0:53How to change the contact form subject text input to a dropdown of options
    5. 1:13How to add a short text field with a placeholder to a contact form
    6. 0:15How to reorder fields in a contact form
    7. 0:39How to hide the "send yourself a copy" checkbox on a contact form and set a field to be required
    8. 1:05How to use the Contact Storage module to change the submit button text and hide the preview button on contact forms
    9. 1:57How to redirect to a custom page after a contact form is submitted
    10. 0:31How to review saved contact form submissions with the Contact Storage module
    11. 0:47Changes that will likely take place in future versions of the Contact module
    12. 1:37How to add a menu item to a menu directly and review our menu wireframe
    13. 0:39How to reorder menu items and add a menu item from the content edit form
    14. 0:45How to add a link to a views page to a menu
    15. 1:15Adding our calendar, blog and contact menu items and how we have to add contact form links manually
    16. 0:55How to move menus and how menus display as blocks
    17. 0:55How to add a menu, place a menu as a block, and delete a menu
    18. 1:11Quiz for chapter 12 of "Drupal 8 Site Building"
    19. 0:23Challenges for chapter 12 of "Drupal 8 Site Building"
    20. 5:44Solutions for chapter 12 of "Drupal 8 Site Building"
  13. 23:15How to customize search, run cron and improve performance
    1. 0:39Review of our search requirements and wireframe
    2. 1:03Demonstrating how search works by default and how to narrow down results by content type
    3. 1:57How cron works, what a cron job is and how to run cron tasks manually
    4. 1:43Overview of configuration options for search
    5. 1:53How to replace the default search with a more configurable view
    6. 1:51How to display an exposed filter as a block to create a search form block
    7. 1:43Removing the label, changing the button text and adding no results text for our views search
    8. 2:11How CSS and JavaScript aggregation work to speed up page load times
    9. 2:11How caching and cache tags work in Drupal 8
    10. 1:37How the BigPipe module works and what experimental modules are
    11. 1:29Quiz for chapter 13 of "Drupal 8 Site Building"
    12. 0:27Challenges for chapter 13 of "Drupal 8 Site Building"
    13. 4:31Solutions for chapter 13 of "Drupal 8 Site Building"
  14. 28:39How to evaluate the security of your site and configure text formats
    1. 1:57How to review permissions manually for security risks and installing the Security Review module
    2. 1:13How to check the security of permissions with the Security Review module
    3. 2:23Reviewing additional Security Review notices around trusted hosts and writable files
    4. 0:45What a text format is, and a review of its configuration
    5. 3:29How each text format filter works and how managed files are tracked in a database
    6. 2:07How text formats strip unallowed HTML upon viewing on a page or in a Wysiwyg
    7. 1:01Why the order of text format filters matter
    8. 0:59Reviewing our "callout" style wireframe
    9. 1:53How to add a CSS style dropdown to the Wysiwyg
    10. 0:31Applying our new callout style to the About page mission statement
    11. 2:33How to use the IMCE module to share images between users
    12. 1:27How to configure permissions for IMCE to prevent destructive actions
    13. 0:57Explaining the security implications of allowing the "img" HTML tag in a text format
    14. 0:55How to use the "Recent log entries" page to discover possible security and performance issues
    15. 0:35How to use the "top page not found" page to fix broken links
    16. 1:23Quiz for chapter 14 of "Drupal 8 Site Building"
    17. 0:27Challenges for chapter 14 of "Drupal 8 Site Building"
    18. 4:04Solutions for chapter 14 of "Drupal 8 Site Building"
  15. 13:16How to translate content and the interface
    1. 1:11How we're about to translate the interface, translate content and override specific interface text
    2. 1:15How to download and enable a new language for the Drupal interface
    3. 0:51How to remove the default language two letter prefix from URLs
    4. 1:11How to allow users to set their preferred language
    5. 2:15How to translate content into multiple languages
    6. 1:11How to replace nearly any text in the interface with your own text
    7. 1:05Quiz for chapter 15 of "Drupal 8 Site Building"
    8. 0:17Challenges for chapter 15 of "Drupal 8 Site Building"
    9. 4:00Solutions for chapter 15 of "Drupal 8 Site Building"
  16. 14:01How to update Drupal and contributed modules
    1. 0:43What we are about to do and how to restore a snapshot to practice upgrading
    2. 2:15How to update a contributed module
    3. 1:51How to update core Drupal from one minor or patch version to another
    4. 9:12Credits for "Drupal 8 Site Building"


Add to playlist

Add to , or

Add to new playlist:

Add to playlist
This is a member-only feature
But, it's easy to become a member

Add to cart:

Add to playlist

Add to , or

Add to new playlist:

Add to playlist
Contact us

Below are the supported keyboard shortcuts for our video player.

Start / stop video
Go to next video
Go to previous video
Increase or decrease player speed by 20%
Skip ahead or go back by 15 seconds
Jump to a percentage (2 is 20%, for example)
Toggle full screen
Videos Pricing More Search
BuildAModule Logo Icon BuildAModule Logo Icon
Become a member!
1 month
6 months
10% off
12 months
20% off
All memberships come with the following:
24 / 7 access to the entire 1800+ video library
An innovative video player with a rolling transcript
Extensive Drupal and cross-platform training
A thorough and thoughtful training style
Progress tracking
Take notes on specific video sections
Intuitive multi-user management
How many users?
Go solo with a single user, or give multiple team members access through one account and get discounts by bundling multiple users into a single membership.