Learn Drupal

August 5th, 2013

If you've been following along the last few weeks, you're probably feeling pretty comfortable with getting a basic Views Slideshow together. This week we wrap up our videos on slideshow creation by giving our slideshow a more refined look and feel - something more like what you'd see out in the real world. Next week we'll be looking at some additional techniques for grouping content together for slideshows with the Nodequeue module and displaying slideshows using Views attachments.

(FREE!) How to create a pager of thumbnail images in Views Slideshow - 4:02

In this video we go through the steps of creating a thumbnail pager in Views Slideshow. Once we get this squared away, you'll be able to tell that we're getting close!

How to display our Views Slideshow thumbnail pager inline - 3:42

Once we get a new image style and field set for our thumbnail view, we add a little styling to have them display horizontally instead of vertically. It's amazing with a little bit of CSS can do!

How to add a border around an active pager item - 1:55

In this video we add a little bit of additional styling so we can see exactly which thumbnail is active at any given time. Maybe this is a themer's job, but heck, we're amazing site builders by now and can make their job a little easier.

Fixing alignment, adding wireframe boxes and adding some spacing to our slideshow - 2:27

Here we add some wireframe-like boxes around the various components of our slideshow to make it clear where they start and end. This will give our themer a sense of what needs to happen to give them a look and feel that match the designs.

How to style a slideshow's next and previous buttons as images - 4:53

In this video we walk through the CSS styles you'll need to turn those bland textual controls into fantastic little arrows overlaying the slides. It's not to hard, but if you're new to CSS you'll probably learn a few tricks.

July 29th, 2013

Views Slideshow is one of several powerful tools at the disposal of a Drupal site builder, and this week we'll dig deeper into some of the ways we can refine the output of our slideshow to display only the things that we want, and in the ways that we want. Image styles will play a large role in that, allowing us to set templates for our images to make sure they always appear in the right size and scale, regardless of the picture that was uploaded.

5 NEW videos added in "Advanced Site Building in Drupal 7"

About the "Cycle options" available in Views Slideshow - 4:56

In this video we start working our way through the extensive settings exposed to use through Views Slideshow. First, we look at settings like transition time and slide duration (and a slew of others). Getting a sense of what's available here will let you make some creative choices down the road.

How the pager and controls widget settings work in Views Slideshow - 3:24

The next batch of settings we go through have to do with how the pager and control settings work in Views Slideshow. In this video we work through each of the settings so you know exactly what you're looking at.

What we need to do to complete our slideshow view - 1:44

At this point we have a functional slideshow, but there's still a good bit of work to be done to get it looking right. Here we do an overview of the additional steps we need to take.

(FREE!) Setting up our node display with custom image style for the slideshow - 4:46

In this video we build up our node display to show as a consistently-sized image and title.

How to add a views filter to show just nodes with images - 1:45

Not all of our blog entries have images, which makes them look a little bare when the slideshow rolls through them. So here we add a filter to just display nodes that have images associated with them.

July 23rd, 2013

A common method of avoiding information overload on a site is to use a slideshow on the home page to highlight featured content. This allows you to showcase several pieces of content in a way that actively engages your visitor. This week, we'll start taking a look at how we're going to approach building a slideshow on our main blog page, what role views attachments will play in this, and some of the pretty cool effects we can use to bring attention to our content.

5 NEW videos added in "Advanced Site Building in Drupal 7"

How we're going to approach building our slideshow - 1:00

Before we dive into building our slideshow, we do a quick overview of the tools and approach we're going to take.

How the Libraries and Views Slideshow modules work, and installing both - 3:50

In this video we install Views Slideshow, and along the way explore what the Libraries module does and how it helps centralize the use of third party scripts in Drupal.

(FREE!) How exposed filters and attachments work in Views - 2:24

For our slideshow, we're going to be using an 'attachment' type display. In this video we explain how these work and how multiple Views displays can share settings like exposed filters.

About using multiple displays in a single view, and about our slideshow components - 4:06

Throughout this series, we've used only used views that have a single display, and for good reason. Here we talk a bit about what we need to to look out for now that we're using a multi-display view, and also talk about the parts that go together to form our slideshow.

How to set up the jQuery Cycle plugin for Views Slideshow - 3:42

In this video we review how to get the jQuery Cycle plugin into our libraries folder, and along the way get to see some of Cycle's neat effects in action.

July 16th, 2013

We've recently been receiving a lot of overwhelmingly positive feedback from our in-person BuildAModule Mentored Trainings and how they're the perfect environment for learners to get the one-on-one help they need in order to discover solutions both in and out of the classroom. Because BuildAModule provides everything that you need for free, it's an easy and cost-effective way to train your organization, community, or Drupal user group!

Learn How to Organize a FREE Mentored Training Today!

Since the ever-growing video library at BuildAModule covers such a broad range of topics, it's very easy for people to create their own personal roadmap to success, whether they're new to Drupal or already an advanced developer. If every learning experience is an adventure, then a BuildAModule Mentored Training is like a guided group tour where everyone along for the ride is encouraged to interact with one another, ask questions, and socialize to expand their network.

The Juilliard School IT Department recently conducted a Mentored Training to get their staff and community up-to-speed after they transitioned their website to Drupal, DrupalCamp Colorado used one to help kick start their festivities last month, and the friendly folks at Advantage Labs are set to host a sold-out Mentored Training this week at DrupalCamp Twin Cities. Here are some of the things people had to say about our Mentored Training at this year's DrupalCon:

"This is the greatest way to learn a new CMS…"

"This training was perfect for my skill set."

"Great training format with a ton of hands on experience."

"The one to one interaction in this training cannot be compared to anything else. This was by far the best training I've been able to attend!"

"I'm not a web developer and from just a few hours watching Chris's videos and a few more minutes asking questions I know how to create a website w. event calendar!!! THANK YOU CHRIS AND EVERYONE! So excited :) :)"

For more information about how you can organize a Mentored Training, visit https://buildamodule.com/train and contact support@buildamodule.com with any additional questions.


5 NEW videos added in "Advanced Site Building in Drupal 7"

How to add our sub-theme CSS file, enable the theme and adjust its settings - 2:31

Now that we have our sub-theme built, we add our CSS file, enable the theme and tweak a couple of settings that we had already edited in our previous theme.

Summary of steps we took to create a sub-theme - 1:51

If you're the skip-ahead type, this video summarizes the steps you need to take to create most sub-themes, and in particular Bartik sub-themes. Looking at it as a bullet list should help illustrate how creating a sub-theme is nothing like rocket science.

How to add color selector integration into our Bartik sub-theme - 3:12

Since you might be a stickler for getting your theme that nice grey look we've been using this whole time, we cover how to leverage the Color module in your sub-theme to make it work just like the base Bartik theme for color-arranging.

(FREE!) How to add a CSS class to a Views field and float an image to the right - 2:21

Whew! Why did we build that sub-theme again? Oh yeah, to float our blog images to the right. In this video we do just that.

How to add a CSS class to a Views row and how the 'clearfix' class works - 1:15

Adding the image float to our blog post images kind of made things a little ugly, so in this video we demonstrate how to add one of Drupal's default classes for creating the right kind of spacing between our posts. When we're done, things start looking pretty again.

July 9th, 2013

This week, we'll be taking a look at what you can do when you expect a Views field to act a certain way, but it doesn't quite do what you thought it would. That's right, we're calling you out 'Add comment link!' We've also got the beginnings of a bare bones subtheme in the works, but more on that next week... For now:

5 NEW videos added in "Advanced Site Building in Drupal 7"

(FREE!) How the 'Add comment link' Views field is inflexible and why we'll need another approach - 3:06

Wouldn't it be nice if Views had a field we could use to add a custom 'add comment' link? Well, it kind of looks like it might, but it's all a trick (no, Michael, it's called an 'illusion'!). But, it's good to check out the low-hanging fruit to see what we get.

How to create a custom comment count and "Add comment" button in Views - 2:35

Here we demonstrate how easy it is to create custom 'add comment' button to a view, making it not such a bad thing that there wasn't anything ready for us out-of-the-box. Views is awesome, it's forgiven.

How to point a custom "Add comment" Views link to the comment form - 1:27

Now that we have our custom 'add comment' link, we look at an example to figure out how to point it directly to a comment form.

Cleaning up our blog view and backing up our work (Backup 15) - 1:37

If you're jumping into this series here, you can use the 15th backup in the backups folder of the resource back in order to bring it in line with the videos. You may also need to copy over some modules from the modules folder as well as image resources from the 'files' directory.

How to create a Bartik subtheme (bare bones version) - 3:21

It may seem like sub-theming is something you should leave for your themers, but in this video we expand your horizons a bit by showing you how easy it is to create a custom sub-theme to capture any CSS we can't add as configuration.

July 1st, 2013

How to add an image and body field to a blog post in a view - 2:19

In this video we continue the process of building our blog home page view by adding an image and body field.

Two approaches we can take to rewriting the "submitted by" section of a post using Views - 3:14

One common client request is to modify the default 'submitted by' section of a node. In this video we take about a couple methods that we can use with views to get 'er done.

How to add and position the 'username' part of our 'submitted by' area with Views - 0:59

Now that we have our username field squared away, we move it up the field ladder to get it positioned below the header.

(FREE!) How to use a custom date format in a Views 'post date' field - 4:15

A powerful little tool in Views is the ability to rewrite a date to virtually any format. In this video we explain how and show you a nice little page that will demonstrate exactly how to get those formats.

Wrapping up the creation of our custom 'submitted by' Views content - 1:06

In this video we wrap up our custom 'submitted by' line.

June 24th, 2013

Positioning our "top tags" view block with Context - 0:58

In this video we get our tags block positioned with Context. Not super new stuff, but you're probably getting really quick at it by now.

How to set up an "Also by this author" view block - 1:55

This next block that we're working on is going to be interesting. Through it we're going to learn how to use multiple relationships and contextual filters at one time. It could blow your mind, but it will definitely stretch your skills.

(FREE!) How to use a relationship within another relationship in Views - 4:50

In this video we build a relationship on another relationship in order to get information about nodes created by the same author of the node we're viewing. Wha-what?!

(FREE!) How to exclude the currently viewed node in a list of nodes using Views - 4:00

Probably the most tricky thing we're going to do with our "Also by this author" block is to hide the title of the node we're currently viewing in the list of node titles. If you can figure it out without watching the videos, I'll send you a pony.

Positioning our "Also by this author" view block with Context - 1:47

Hey, Context comes to the rescue again by letting use quickly position our block in a context we've already set up. Nice.

How to create and position a "Latest blog entries" views block - 1:51

Maybe it seems a little silly to leave the easiest block for last, but you deserve a break. Nice work if you've made it this far.

Backing up our work (Backup 14) - 0:29

If you're jumping into this series here, you can use the 14th backup in the backups folder of the resource back in order to bring it in line with the videos. You may also need to copy over some modules from the modules folder as well as image resources from the 'files' directory.

Why it sometimes makes sense to not make components re-usable - 2:46

One theme that keeps coming up in this video series is the idea of re-using components like view modes and custom formatters. In this video we look at the other side of the story, when building a reusable component really isn't all its cracked up to be.

How to fill out the Views wizard to start building a blog home page - 2:28

Can you believe that we've gone through this entire series so far without building an actual Views page? In this video we go through the process of setting up our Views-based blog page by starting with the Views wizard.

How to make a Views title a heading, and why we're going to build a sub-theme - 2:56

We continue from where we left off in the last video by converting our plain text title to a heading, and discuss why we're going to build a sub-theme to capture some CSS styling.

June 17th, 2013

BuildAModule 1000th Video Celebration

In September, 2009, BuildAModule launched with 13 videos on Drupal 6 development. Today, nearly 4 years later, we're releasing our 1000th video! I'm celebrating by writing a newsletter and John - who recently started working at BuildAModule - is celebrating by eating eggs. Why no dancers? Why no rooftop party? Because this is business a usual. This is what we do at BuildAModule, we create information packed videos that teach you stuff in a way that's so enjoyable that it feels less like traditional learning and more like Neo groking Kung Fu.

What we will be doing to celebrate is release all 10 of this weeks' videos completely FREE!!! Hopefully that will make a few of you conduct your own personal dance parties.

So, we now have over 1000 videos still relevant to today's Drupal landscape. Does that mean we're going to stop? Heck no! There's a lot more coming down the pikes.

What's A'comin?

This next year we have some exciting things planned. Drupal 8 will be coming out, our team will be getting bigger, and we have a whole slew of experiments that we try out on our viewers - I mean, that is, tons of amazing features we want to build to enhance your learning process! We've heard from you about topics you want covered, little additions you wouldn't mind seeing on the site, and in which remote regions of the world you'd like to have BuildAModule Mentored Trainings. We hope to make it all happen.

Thank you for being a member, a newsletter subscriber, or lurker, keep letting us know what we can do to make you happy.

Video 1000 FTW! (plus a few extras)

(FREE!) How to add a relationship in Panels and how modules share concepts - 3:31

Relationships aren't only for Views, they can also be used in Panels and in a super similar way. In this video we leverage a relationship in Panels to get access to some of our user data.

(FREE!) Adding our bio and homepage link, and how relationship-based substitution names work in Panels - 2:36

In this video we wrap up the re-creation of our "About the author" block in Panels by adding some additional fields. We also talk about how one of our earlier choices affects token-like substitutions.

(FREE!) How to disable a Panels variant - 0:35

Well, we did it. We recreated our block with Panels. Now we need to put it back, so in this short video we disable it to free up some space on the node page.

(FREE!) How to re-create our "About the author" block using a user-based view - 3:32

In this video we begin the process of re-building our "About the author" block using users as a base instead of nodes.

(FREE!) How to get node information in a user-based view using a relationship - 1:22

Here we create a relationship between an author and their content so we can make sure to display the right author on the node pages.

(FREE!) Adding the additional bio, image and homepage link to our user-based view - 2:02

We've done this before, where we flesh out our block by adding additional fields. Get some pretzels, sit back, and - hey, we're done!

(FREE!) Positioning our new "About the author" view block and making a backup (Backup 13) - 3:09

If you're jumping into this series here, you can use the 13th backup in the backups folder of the resource back in order to bring it in line with the videos. You may also need to copy over some modules from the modules folder as well as image resources from the 'files' directory.

(FREE!) How to set up a "top tags" block using a taxonomy-based view - 2:10

Now that we've completed the "About the author" block, we move onto our "Top tags" block, were we get to explore the aggregation tools of Views. Fun stuff!

(FREE!) How to add a relationship and turn on aggregation to allow a "count" field in our view - 3:46

In order to get aggregation to work on our tags block, we need to draw a relationship between the tags and their respective content. In this video we do that, and follow it up by turning on aggregation and adding a 'count' field, which, if I do say so, is pretty dang cool.

(FREE!) How to display views fields inline and sort by aggregated count - 3:19

To get our block looking right requires just a few cosmetic changes, and we tackle those in these video.

June 11th, 2013

Winners of the 'What do you want to learn?' contest get awarded!

Thank you so much for all your feedback this last week! We put out a call for suggestions for what to cover in future videos and heard back from tons of our viewers. We'll be awarding one 6-month pass and 3 1-month passes as soon as we send out this newsletter, and you could be one of the lucky winners!

Just in case you were curious, we heard a lot of requests for Drupal 8 development videos, coverage of Commerce and mapping. And it's not too late to get your suggestions in to influence what we cover next! We always want to hear about what you're interested in learning, and we definitely take your suggestions to heart.

Thank you again!

10 NEW videos added in "Advanced Site Building in Drupal 7"

(FREE!) How to use a custom formatter in a view and on the user profile page - 2:15

Now that we have our custom formatter, we go crazy with it by leveraging it not only in our view, but also in our user profile page. Eventually we'll use it in another view and Panels, clearly demonstrating the power of re-using formatters.

(FREE!) Why using custom formatters is a good idea, and possible exceptions - 1:38

In general, custom formatters are awesome, and you can standardize on using them. Sometimes, though, it makes sense to build one off formatting with Views or Panels. In this video we explain why.

Positioning our "About the author" block using the Context module - 2:27

Now that we have our block, we can put it in it's place using the handy Context module.

How to install and configure the Admin module to work alongside other administrative modules - 2:03

In this video we install the Admin module, explain why it appears to do nothing at first, and drop some configuration that exposes its glory.

The difference between using Admin and Administration Menu for navigating the menu system - 0:44

Admin and Administration menu both provide ways to navigate the menu, but they approach it differently. In this short vid, we talk about the advantages to each (though you can also use them both).

How to use Admin's Context Editor to position blocks from multiple contexts with drag-and-drop - 1:57

After watching this video, you're going to wonder why we did things the hard way earlier. You remember Karate Kid? There's always a reason, Daniel-san.

Overview of our next steps including re-creating our "About the author" block with Panels - 1:07

Here we talk about what the next batch of tasks at hand, including using Panels to duplicate what we just built in Views.

How to use selection rules in Panels to use variant on a single node type - 1:10

Up until this point we've been using a single variant that applies to all node types. But, that wasn't our intention so we modify our Panel page to use a selection rules (similar to 'conditions' in the Context module) to use it only on certain pages.

How to add a second panel page variant with selection rules as part of the wizard - 2:16

In this video we add a second variant to our node panel so we can add multiple content panes to our blog entry pages.

How to rewrite a panel pane to display the author name in heading tags - 2:27

Here we do a little rewriting in a panel pane to do something we've done before - to heading-ify some plain old text.

June 4th, 2013

Win a prize! Tell us what you want to learn next!

We regularly hear from our members about what they'd like us to cover next, but this week we want to hear from all of you! Let us know what you'd like to learn next and we'll add you to a drawing to win a free 6 month membership, or 3 runner-up prizes of 1-month memberships, for you or a teammate.

Just send an email to learn@buildamodule.com sometime in the next week to be eligible!

10 NEW videos added in "Advanced Site Building in Drupal 7"

How to set up basic settings and contextual filter for a node-based "About the author" view - 4:34

In this video we begin the process of setting up our first "About the author" view block, including getting a contextual filter set up (quick, can you tell me what a 'contextual filter' is?)

How to use Views "style settings" and displaying a username with a relationship - 3:28

Here we uses some previously uncovered settings in our field display tools in views to convert a lowly textual username into a full fledged title.

Adding an image and bio field to our "About the author" view block - 1:53

Now that we've started our block with the username title, we follow with a rapid 1-2 where we wield our field-slinging skills to quickly set up a couple additional fields.

How we will approach building the link to the author's web site - 1:21

The last bit in our wireframe's depiction of the "About the author" block implies a little bit of craziness, but we can handle it. In this video we take a birds-eye view of the problem and talk about the approaches we're going to take (because we never do things just once on BuildAModule).

(FREE!) How to rewrite the output of a Views field and combine multiple fields into one - 3:46

If you've never rewritten a views field, this video will open up some doors for you. Here we grab content from two different fields and combine them using a fairly simple but powerful rewriting mechanism in Views.

(FREE!) How to use hidden fields to add to other fields in Views and why you might need them - 4:48

Sometimes we can't use existing fields when we rewrite another field because of the way they're formatting. But, we can add hidden fields which we can then use. In this video we talk about some solid best practices for using hidden fields this way.

Cleaning up an unneeded field and creating a backup (Backup 12) - 0:48

If you're jumping into this series here, you can use the 12th backup in the backups folder of the resource back in order to bring it in line with the videos. You may also need to copy over some modules from the modules folder as well as image resources from the 'files' directory.

How custom formatters work, our use case, and installing the Custom Formatters module - 2:33

One recurring theme of this series is the idea of re-using configuration. In this video we talk about one of other powerhouses of config re-use, a module called Custom Formatters. We also discuss what it's for and install it.

How to create a custom formatter with the Custom Formatters module - 1:57

In this video we create our first custom formatter. We have to end it a bit incomplete, but we'll be back shortly to wrap that up.

How to use the Entity Tokens module to get access to more components for custom formatters - 1:26

Here we enable the Entity Tokens module, which allows us to use bits and pieces from our link field - something that wasn't available to us through basic tokens.

May 14th, 2013

One last update before DrupalCon

Okay, so you're probably a little tired of hearing about DrupalCon, but here's a quick bullet list of ways you can connect with me and BuildAModule at the Con. One thing we haven't mentioned yet is our DrupalCon Bookstore presence. For the first time ever, you can purchase 1-month gift cards, for yourself or for folks you want to get some training for. They're nice and slim, perfect for laptop case and easy to tote around. So, here's the list:

  1. Get trained the day before DrupalCon by 14 skilled, experienced Drupal mentors
  2. See me talk about the most important lessons and techniques learned when creating BuildAModule
  3. Buy 1-month gift cards at the DrupalCon Bookstore for yourself or your kin. Buy 5 and get 1 FREE! They cost the same as a 1-month membership ($29) but can be used any time. If these are received well, we'll look into adding them as an option to our online store as well.
  4. We made a giant release today of 30 new videos (see below) so you have more content to use to prep for the Con

I look forward to seeing you in a week!

30 NEW videos added!

How to set good default URL alias patterns and installing the Pathauto module - 2:38

In order to reliably hide blocks on just review pages using the Context module, we're going to need a URL alias pattern we can rely on. In this video we set up Pathauto in order to automatically generate these aliases and talk about some good general defaults for aliasing.

Why it's important to establish a URL alias strategy before launching a site - 1:31

In this video we discuss the importance of setting up a URL strategy as soon as possible, and the potential downsides to changing this strategy after your site is launched.

(FREE!) How to bulk update the URL aliases of existing nodes and how the Global Redirect module works - 1:33

Here we talk briefly about the very handy Global Redirect module, and get our existing nodes an alias using Pathauto's bulk update tool.

How to use multiple conditions in a context and exclude certain paths - 2:09

So far we've only used a single condition in our contexts. In this video we add a new context for excluding certain paths, and discuss the implications.

Adding our mini-panel block back in through the "review page" context - 1:02

Now that we have our (nearly) site-wide blocks hidden on review node pages, it's time to re-display them in the right position. Using our mini-panel block, this is going to prove pretty easy to do.

Backing up our work (Backup 10) - 0:25

If you're jumping into this series here, you can use the 10th backup in the backups folder of the resource back in order to bring it in line with the videos. You may also need to copy over some modules from the modules folder as well as image resources from the 'files' directory.

About the views-based blocks we're about to build - 2:07

In this next section we're going to look at building several views, starting with the "About the author" block, which we will approach in several different ways to give you a sense of the different approaches and tools that fit the job. In this video we chat a bit about those.

How to add a textual bio field to a user - 2:35

Before we import our users from a CSV (comma-separated values) file, we'll need fields to place the different bits of user data into, starting with a bio. In this video we add a simple text filed to the user entity for exactly this purpose.

How to install the Link module and configure a link field - 3:38

To capture a bit of data about the user's homepage, we could just use a plain text field, but the 'link' field provides us with a slew of additional options and features that could come in handy later on, so in this video we install the Link module and configure a link field.

(FREE!) The problem with using Feeds with user images, and adding a user avatar - 2:30

At this time this video was made, Feeds didn't support importing user images, so we discuss this and set up an avatar for our account to do some testing as we look at alternatives.

Setting up our user image field - 3:15

One way to work around the issue with Feeds and the user image is to use a module called User Picture Field that maps an image field to the user's default avatar and uses it everywhere the avatar would be used. But first we need an image field, which we set up in this video.

How to use an image field as the user avatar with the User Picture Field module - 4:05

In this video we put the User Picture Field to use to replace our user images and get it properly configured.

Hiding our default user avatar and why we did this switch again - 0:56

We discussed earlier why we made the switch away from using the default user avatar image, but here we re-iterate and begin the process of using User Picture Field instead.

Reviewing our settings for our user feeds importer - 3:14

Now that we have our user fields all set for our import, we can simply override the existing user feeds importer with some adjustment to get what we need. In this video we go through the settings to make sure everything looks good to go.

Setting up our mappings and tamperings for our user feeds importer - 3:17

Once we get our user feeds importer settings squared way, in this video we dive into mapping the data from our CSV file over to the user entity.

Importing our users and moving our user images over - 2:34

In this video we run the actual import of our users, and run into a little snag along the way that we fix like the pros we are.

Backing up our work (Backup 11) - 0:38

Yet another backup (but just because it's number 11 doesn't minimize its importance!).

(FREE!) When to use the core blog module, and when to create your own from scratch - 3:15

Drupal comes with a 'Blog' module that has a number of pretty nice features out of the box. We're going to build our blog from scratch, and in this video we talk about why and when using the core Blog module might be useful.

Reviewing our blog content structure in a CSV file - 1:50

Just like the rest of the content we've been importing throughout this series, our blog posts come from our client in the form of an easy-to-import CSV file. In this video we take a look at what we're getting into.

Creating our basic blog entry content type - 3:11

Before we can run an import of our content, we need a content type to hold the various pieces of content in, and in this video we begin that process.

Adding a 'tags' field and image field to our blog entry content type - 6:03

In this video we add a couple additional fields to our content type to flesh it out for our import.

Moving our blog images over to prepare for the feeds importer - 1:19

Before we run our import, we need to move over our blog images (something we missed in an earlier import), and that's what we tackle in this video.

Verifying and adjusting our blog entry feeds importer settings - 2:09

Our blog import looks an awful lot like our product and product review imports, so we clone one of those and review the settings to make sure they're squared away.

Setting up our blog entry feeds importer mappings - 2:47

Now that our settings are good to go, we map out the relationships between our CSV content and the fields of our content type. No problem!

How to import multiple entries into a single field using the "explode" feeds tamper plugin - 2:30

In this video we explore a Feeds Tamper plugin we haven't used before that lets us take a single chunk of content form our import and split it up so you can have multiple entries for a single field. Pretty neat stuff.

(FREE!) Why to use multiple roles with fewer permissions, and why our import fails - 1:46

Unfortunately our import fails the first go around, but it gives us a chance to talk a bit about permissions and some of the best practices around creating granular roles.

How to add a "blog contributor" role and assign roles to multiple users at once - 1:41

Here we use the user bulk update tool to assign a role we just created to a bunch of users at once. What power!

Importing and verifying our blog entry content - 1:37

Now that we have our content type, our importer, our tamperings, our roles and users squared away (whew!), we can now safely import our blog content. And believe it or not, this time it runs without a hitch.

Cleaning up the display of our blog entry display - 3:35

Here we re-arrange our blog entry fields and get an appropriate image style in play to get our blog entry looking a little closer to what we're ultimately going for.

How we will approach building our "About the author" block - 2:01

We're about to dive into building an "About the author" block in numerous ways, and in this video we talk a bit about our different approaches.

May 7th, 2013

Want to hear me talk about where BuildAModules come from?

On the first day of DrupalCon Portland, on May 21 at 4:30pm in room OR 202, you can hear me talk about some of the most important lessons learned and techniques used in order to create and sustain BuildAModule. What I have to share could play a critical role in your ultimate success, regardless of what kind of business you're trying to build. I'd love to see you there!

10 NEW videos added in "Advanced Site Building in Drupal 7"

How to rebuild our product-based view to use fields - 2:16

In this video we alter our second view using fields, and wrap up the process of exploring numerous ways to create a single product-based block (whew!).

Backing up our work (Backup 9) - 0:32

Another quick backup (or restore) before we plunge forward!

(FREE!) Where Panels, Views, Display Suite and Context overlap in functionality - 2:25

Now that we've gone fairly deep into the heavy hitters of content display, we talk about where we've seen them overlap in functionality.

Overview of options for displaying blocks in sidebars (Panels, Views, Display Suite, Context) - 5:22

One of problems we've needed to solve in this series is how to get specific content into the sidebar of the site. We've tackled the problem using Panels, Views, Display Suite and Context, and in this video we do a quick wrap-up of the the approaches we've taken as well as some final suggestions for best practices.

How to use Mini-Panels to create one block that includes all our global blocks - 3:23

Mini-panels gives us a way to group together multiple blocks (and other content) into a single block. This gives us a way to bundle together our globally-visible blocks so we can reuse the layout in Panels and non-panels pages. In this video we group together a few blocks to give us what we need.

How to position a Mini-Panel block using the Context module - 2:00

In this video we position our mini-panel block using Context. Nothing new here, but it gets us to the next steps.

(FREE!) How and why to hide PHP errors with the "Logging and errors" settings - 2:24

At this point in the series we run into a situation where we're seeing multiple PHP errors on the screen. What do we do if we can only fix the errors by applying a patch and we're not yet comfortable with patching? One option is hiding the errors, something we'd definitely want to do on a live site, anyway. In this video we talk about when you might want to hide errors, and other ways to get the same information.

How to disable a view and removing blocks using Context - 1:30

In this video we disable one of the two views we've build and clean up after our mini-panel by hiding duplicate blocks.

Why ordering blocks across multiple contexts is tricky, and what we're about to do - 1:35

What happens when we want to change the position of blocks that span over several contexts? In this video we talk about the two different approaches we'll take an why we're applying the more challenging method first.

How we will approach creating an exception for a site-wide context - 2:33

As part of the process of re-positioning our site-wide blocks, we'll need to add an exception to our site-wide context, which is what we talk about in this video.

April 30th, 2013

DrupalCon training in 3 weeks! Join us!

If you haven't gotten your ticket yet for the BuildAModule Mentored Training at DrupalCon, now's the time! It's a great way to sprint fast up the Drupal learning curve while making connections with a lot of great people. This is our third DrupalCon training, and in previous years we've had awesome feedback. This training is going to be especially useful for teams (I'm looking at you, universities!), though individual site builders, developers or complete noobs are going to enjoy it as well.

You don't have much more time to sign up, and we'd love to see you there. Learn more about the training and the awesome mentors you'll have here (and watch a short video), or sign up here.

Hear me speak at DrupalCon about happiness, productivity and your work life

At DrupalCon I'll be giving a talk on how and why I created BuildAModule, and the principles and steps you can take to get control of your own work life. I'll also talk about ways to leverage Drupal and freelancing to help you take important steps to free up time, increase income and get happier. Here's the full description, and if you're interested, join me in room OR 202 at 4:30pm on Tuesday, May 21.

10 NEW videos added in "Advanced Site Building in Drupal 7"

(FREE!) Comparison between using Context and the default blocks configuration workflow - 2:30

Now that we've worked through both using Context and the default blocks configuration page a couple times, we can step back and look at the differences between the two workflows and point out the advantages and disadvantages of each one.

The difference between our two views and filling out the views wizard - 2:39

Here we talk briefly about the distinguishing characteristics between the view we just built and the one we're about to build.

(FREE!) How relationships work in Views and how to add a referencing entity relationship - 1:43

For this view, we're going to need some information about a different node type than the one this view is based off of. To get that info, we need a relationship. In this video, we explain what a views relationship is and how we can use one to solve this particular problem.

How to create a contextual filter with a relationship in Views - 2:49

We've created contextual filters before, but in this video we use a contextual filter based off of a relationship. Fancy! Even though it might sound a little daunting, you'll see as we go through the process that it's easier than you might think.

How to use fields or rendered entities when using a relationship in Views - 2:27

Here we look at using either fields or a full rendered entity in our view, leveraging the relationship we just added.

Enabling our product-based block with Context - 0:53

Our next step after building the view is displaying it, and here we do so with the Context module.

How to hide a block title using the Context module and why it's a bad idea - 1:49

Due to the way configuration is saved, we can work around the inability of Context to hide and display block titles by using the default blocks configuration page (something we did earlier in this series). But, the workaround comes at a cost in time and predictability, so we add a little warning in this video.

How to hide a Views block title - 1:38

In this video we talk about a sustainable way to hide block titles in Context that are views-based.

About how we're going to rebuild these views using fields instead of a view mode - 0:56

At this point we've created two views that do the same thing ultimately, but that are based off of different node types. In this video we alter those views to use fields, and in the process discover that this change requires some additional changes.

How rebuilding our review-based view using fields adds complexity - 5:44

When we rebuild our review-based view, in order to get access to the fields we need we will need to add a relationship. In this video we talk about how that adds some complexity to the configuration, bringing it in line with our other view.

April 23rd, 2013

Backing up our project (Backup 8) - 0:39

We don't want to lose all we've built, so we're going to take a minute and make a backup (whew, that was close!).

(FREE!) Why to display a single piece of content with Views, installing Views, and why we're building the same view 3 times - 3:10

After demonstrating the number of other ways we can display a block of fields on our product review pages, why are we looking now at Views to do the same thing? Well, views gives us some additional tools to work with, and it's also what many Drupal shops use as a standard for creating such blocks so it's good to be in the know. We're not going to leave it at that, though. We're actually going to be re-building this block a few times using different views configurations. Once you get done with this process, you're going to know some serious Views-fu.

How to group views displays, and how to decide what entity to base a view on - 5:29

This video is rather conceptual but also brings up two very important points about how you architecture your views. Do you group together multiple views displays or use individual views for each display? And when you have a choice between multiple entities, how do you decide which type of entity to base the view off of? If you don't understand why these questions are important yet, go through the next 50 videos or so and then come back.

How to fill in the views wizard to create a block - 1:46

As the first step in building our view, we fill out the views wizard tool. Nothing too complicated here, though the questions it brings up were surprisingly deep.

(FREE!) How contextual filters work in the Views module - 1:51

One of the big strengths of Views is the ability to use contextual filters, which are ways that we can narrow down the content we display with information that's not available to us in the entities we're displaying. Here, we're getting the node ID (nid) from the URL, but we also talk about a couple other use cases.

How to add a views contextual filter for the node currently being viewed - 2:27

In this video we add our first (of many) contextual filter to grab the node ID of the node currently being viewed. It's not so hard, but it's also a smidgin less than intuitive, so it's good to have someone holding your hand this first time around.

How to preview a view with a contextual filter - 1:23

Now that we've added a contextual filter, it looks like we've broken our view based on what we're seeing in the preview area. But, never fear, it's just that now we need to give Views something to fill in that filter with. In this video we demonstrate how to do that.

How to display a full node in a views block - 3:48

So far we've been using fields in our views, but we often times it's simpler simply to display a full node and pick the appropriate view mode. In this video we do exactly that.

Why to disable a block even when it's not visible, and displaying a block only for certain node types - 1:09

In this video we discuss the importance of making sure a block is set to not display even when it has no content, and how we can show a block just for certain node types using the default block configuration page.

How to display a block for certain node types using Context - 1:37

In the previous video, we displayed a block on node pages of a certain type using the default blocks configuration page. In this video we do the same thing with the Context module.

April 16th, 2013

Tickets going fast for DrupalCon training!

If you or your team need some expert help, sign up for our DrupalCon training before we're sold out! In addition to the training, you get 4 months FREE of BuildAModule access. We'd love to see you there, and if you have any questions at all about the training, just drop us a line.

Sign up now!

10 NEW videos added in "Advanced Site Building in Drupal 7"

(FREE!) How to import nodes with the Feeds module (parser and processor settings) - 6:01

Here we talk about the feeds parser settings - which takes care of splitting up our content into pieces we can use for the processor, and the processor, which takes care of grabbing our information pieces and doing something useful with them. In this case, we're taking each row and generating a new node.

How to import nodes with the Feeds module (mapping title, body and image) - 2:02

Finally, we get to the mapping part, where we line up the columns in our CSV file to actual fields. So far, this should seem pretty intuitive, but we're about to see what makes this particular import a challenge.

How to import nodes with Feeds and undo our import - 2:32

Now that we have all of our settings squared away for our importer, we give it a test run and check out our imported content. Everything looks pretty good except for our image field, which is mysteriously absent. Since it's clear that we have a little more work to do, we do a quick undo of our import (handy!) and move on.

Setting up our node images in our files directory and what we need to rewrite an image path - 2:26

Part of the issue with our images not importing properly is that the images don't actually exist on our server yet, so we start by moving those over. The second part of our issue is that we need to rewrite the image column data from our CSV file to be a path instead of a filename. In this video we explain how we're going to build that path.

How to install the Feeds Tamper module - 2:03

Feeds Tamper to the rescue! In this video we install Feeds Tamper and explain how it's going to help us rewrite our image field during the importing process.

(FREE!) How to use Feeds Tamper to rewrite the path of an image so it imports properly - 5:01

Here we set up a Feeds Tamper plugin, which allows us to take any bit from our feeds importer parser (say that ten times fast) and shape it lovingly into whatever kind of output we need for importing into our field. In this case, we convert our filename to the file path that our image field expects.

Setting up our product review Feeds importer - 2:47

Now that we've gone through the process of creating our first feeds importer and discussing all of the settings carefully, we're going to demonstrate just how quickly you can set up an importer once you know what's going on. Here we build up the settings for importing our product reviews.

Setting up our mappings for the product review Feeds importer - 3:36

After building out the settings for our product review importer, we set up the mappings between our CSV columns and node fields. Easy peasy!

Updating our product review nodes manually - 2:24

Unfortunately, we just some limitations of what's possible with the Feeds module. Because we're unable to import entity references or Fivestar / Voting API votes, we need to go through each product review node and update those missing fields. This is still a lot faster than doing everything from scratch, but it might cause you to get a hankering for a little programming experience so you could use the Migrate module in future projects instead.

How to bulk publish nodes and strategy for importing content for site building - 2:01

We made a smart choice early on to not publish our nodes by default, but in order to get our imported content to display properly, we're going to have to publish our import. We can publish them all in one rocking fell swoop, though, which we do here, and we also talk about why it makes sense to limit your initial imports to just a few pieces of content.

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:

Syndicate content

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.