Drupal development, project updates, occasional knee / head slappers

Jan 27, 2012

Change Management Collection Released!

Change Management and Version Control Released!

After several months of hard work, the "Change Management and Version Control" collection has been released to DVD and as a download. The collection contains over 9 hours and 120 videos covering how to manage a Drupal workflow using Git, the Features module, Drush and other tools. In the collection, we cover:

  • How to use the command line
  • How to use Git from the ground up
  • How to get everything in your site under version control for piece of mind and rapid deployment
  • How to push from a development to a production site using version control
  • How to work with a team on the same code base using Git
  • How the Features module works and best practices when using it
  • How to use Drush to speed up deployment of features, manage users, and more
  • How to build a Drush Make file and create your own Drush commands

This collection is ideal for anyone who is actively managing a Drupal project. The techniques covered - as always - are practical and used in real-world situations. When you complete the series, you'll have a set of incredibly powerful tools at your disposal that will help you work within or manage a team, and greatly increase your productivity as an individual developer.

5 More New Drupal Videos for Members

Last week we talked about how to manage assets with version control, and in this week we dive a little deeper by going into how to get our full database into version control, and what the implications of that are. We then roll this into a feature branch and talk about best practices for managing your database in your repository over time.

How to export a database schema for version control

Generally, getting your database schema (data about table and fields) into version control is a good idea both for backups and for looking at changes over time. In this video we talk you through how to do this via the command line for easy future automation.

How to export database content for version control

While it's not always a great idea to store the full content of a database in your repository, there are some situations where it makes a lot of sense. In this video, we walk you through how to do this and exclude certain big, temporary tables you might not want to pull in.

Cleaning up our assets folder and rolling our assets into a feature branch

In this video, we take the logical next step and pull our changes into a new feature branch.

How often should you update version controlled database dumps and why

It's not always clear when you would need to record database changes in version control, so we explore some ideas in this video on the best way to approach updates.

FREE video of the week

Overview of a typical push cycle, with and without version control

In this video, we talk through the process of a typical push cycle where we migrate all of the changes we've made to our development site to a our live (production) site, and compare it side-by-side to a process that includes Features-based modules that wrap up configuration changes into code. After this, you'll want to dig into the Features module if you haven't already.

Nov 29, 2011

Suggest a killer feature and win a DVD!

We work hard at Build a to make sure you have an amazing experience, but we also believe there's room for awesome new features. If there's an awesome feature you'd like to see, send it to us. In 1 month, we'll choose the best feature suggestion and award the winner with a free DVD of their choice!

Send us your killer feature suggestion.

More new Git videos

This week we begin by wrapping up our feature branch workflow, and then start diving into how to capture the other half of Drupal (i.e. the database) into version control. This is where things can get a little complicated, but getting our database information and configuration captured into version control as possible will help you roll back mistakes, review changes, and sleep at night, knowing you have a solid backup.

Merging an update into a feature branch, then deploying and cleaning up

In this video, we prepare our feature branch to merge with the main develop branch by first merging in the changes in the develop branch. Then we deploy the feature branch back into the develop branch and clean up the feature branch. Whew!

Summary of lessons learned in the feature branch cycle

In finishing up our feature branch, we take a step back and review what we learned in the process.

Where to store version controlled assets

Since there's not a default place to put additional assets that aren't part of our code base, we talk about the best place(s) to put them.

How to set up an assets folder that is not accessible via the web

If we decide to put our assets somewhere in our main Drupal directory, it's important to keep it safe from prying eyes. In this video we demonstrate how to use the .htaccess file to do just that.

FREE video tutorial of the week

Overview of database components you can add to version control

Getting our code into version control is a great start, but that's just half the battle with Drupal, since so much information is captured in the database. In this video, we begin the process of exploring the best way to get database components into our Git repository.

Nov 22, 2011

Get 50% off of your first month

For those of you who have been on the fence about becoming a member, for the next week you can get 50% off your first month by using the code HALFONFIRST when you check out. It's a great way to take a tour of awesome features like the transcription view, progress tracking and more.

This coupon also applies to our new group membership feature, and the discount gets bigger the more credits you purchase.

Click here to add a monthly membership to your cart with the 50% coupon code applied.

Drupalcon training in March (pre-announcement)

After the awesome success of our piloted Mentored Training at the Bay Area Drupal Camp, we were accepted to conduct a pre-Drupalcon training in Denver. I will be posting more information on this soon, when registration is open. Space will be limited, so be sure to reserve your spot as soon as you can.

New Git video tutorials

This week we continue to explore the GitFlow branching model and talk about a few types of branches. Even though branching in Git is very flexible, layering on a solid set of rules for using them will make working with a team much more practical.

Summary of how to use release, hotfix and feature branches

In this video we do a quick overview of the roles of a release, hotfix and feature branches before we dive into each one in detail.

Release branch cycle summary

It never hurts to re-iterate the important parts of a complicated procedure, and that's what we do in this video.

How to create, deploy and clean up a hotfix branch

When you find a critical bug on your production site and need to fix it fast, you can use a hotfix branch workflow to tackle the problem and bring your fixes back into your main development branch. We show you how in this video.

How to troubleshoot pushes, pulls and conflicts with a feature branch

We've been using feature branches throughout this series, but in this video we talk through some potential issues you might run into and how to overcome them.

FREE video of the week

How to create, deploy and clean up a release branch

With a release branch, you capture a (hopefully) stable state of your code base and push it to a production site. In this video we walk you through each step of the way, from creating and working within the release, pushing it to production, and cleaning up after the push.

Sep 26, 2013

Video library transcription is complete!

After several months of hard work, our complete 530+ video library is completely transcribed. This is a milestone for us, but what does it mean for you?

  • If you're deaf or hard of hearing, closed captioning is available on every video.
  • Our 'transcription view', which has become an essential tool for many members for navigating and scanning videos, now works with every video in the library.
  • The spoken text in every video is now searchable. When clicked, a search result will take you to the exact place in the video where the text is spoken.

For those of you who haven't used the transcription view (available only to members), it's a fantastic way to read through the text of a video as you watch it. This means if you're not sure about a spoken phrase, you can cross-reference the text. You can also click on any point in the text to jump to that point in the video. If you're tired of listening to video, you can pause and click through different points of the transcription to load up screenshots.

We're very excited to be fully accessible to the deaf and hard of hearing members of our community, and are committed to continuing this effort as new videos are released.

Upcoming Mentored Trainings

After the success of our Mentored Training at the Bay Area Drupal Camp a month ago, several individuals have stepped up to help organized mentored trainings across the US. I'm looking forward to seeing this number grow. The trainings are currently in planning phase, but if you're interested in attending or mentoring, please either post to the user group or contact us for more information.

Come see us at upcoming camps!

This last weekend I attended the fantastic DrupalCamp Phoenix in Arizona. The folks down were incredibly friendly, and I met some great people. For those of you already setting up your calendars for next year, definitely leave a space open for Phoenix.

This next week we're going to be at DrupalCamp Austin, so keep an eye out and come say hi. In December we'll be attending Drupal on the Bayou, which sounds like it's shaping up to be a great event.

If you're considering visiting a DrupalCamp in the near future, definitely take a look at our one-page list of all DrupalCamps and DrupalCons for an easy way to plan

5 more Git video tutorials

Last week we explored how to manage a remote Git repository and push changes from our local environment up to our production site. This week things get even more fun as we look at how to integrate other team members into the development process. The last (FREE) video on working with a scalable branching model will also show you how to manage branches in a sane and sustainable way, regardless of the size of your project.

What conflicts are and how to resolve them

Eventually, you will run into a situation where Git won't be able to figure out how to merge two changes. We'll walk you through why this happens and how to fix it.

How to create a branch and track it remotely

We've already covered creating branches, but here we show you how to add a new branch locally and push it to a central remote repository to share with other environments.

How to create a release with a develop-master branch system

In this basic branching model, we show one technique for creating a predictable release structure to use when pushing changes in batches to a production site.

How to set up a new environment for a team member

So far we've been exploring how to work on a Git repository alone, but in this video we demonstrate how to use the same tools we've been using to track a repository remotely to bring other team members into the equation.

(FREE) How to use a scalable Git branching model called Gitflow

In this free (but information packed) video, we take our develop-master branch workflow and expand it to include several branch tracks in a system commonly called "Gitflow". This system, while it looks kind of crazy as a chart, takes the guesswork out of branch organization and lays down a set of sustainable rules for a project of any complexity.

Nov 8, 2011

NEW! Manage team access with Group Memberships

This week we rolled out a new feature to help organizations manage muti-member access. With one membership, a group can distribute access to as many team members as they need. Access can be re-distributed to other members at any time, making it very flexible, easy to use and cost effective.

For a quick overview of how it works, take a look at the 3-minute video on managing Group Memberships.

If you'd like to hear more about the benefits of Group Memberships, please check out these two short videos. Purchasing a Group Membership is simple, you can:

  1. Check out with more than one membership in your cart, or
  2. Purchase additional membership credits by going to your membership page and clicking Add credits.

Group memberships are great for any organization that needs to give video library access to 2 or more people, for example:

  • University technical departments who have developers, designers and site managers that need ongoing Drupal training
  • Web shops that want a useful reference for their team as well as a way to train new recruits and clients
  • Any organization running a Drupal site in-house

There are price breaks after the first membership, making it more cost effective at any level to use a Group Membership instead of multiple Personal Memberships. Depending on how many credits you purchase, the price for individual credits can go down nearly 50%!

Learn more about how Build a can help your organization.

Tons of new and updated features!!!

This last month we've been very busy adding a number of frequently requested features. Here's the quick breakdown, enjoy!

Group Memberships

Of course if you read the last bit, you get the idea, but it's such an awesome feature that it was worth mentioning again. Manage multi-user access under one account and one payment plan. Sweet! Learn more here.

Organizations page

For organizations who want to learn more about how Build a can help more effectively train their Drupal team, from site administrators to developers, we've put together a set of resources specifically for you. Check out the organizations page here.

Improved Search

You can now search forums and FAQ by using the search bar at the top of the page. Transcription search has also been improved. Check it out.

Bulk order form

If you need to purchase a number of items all at once, you can fill out a single form and get it all in your cart instantly. This is a great one to forward to the folks in charge of purchasing. Check out the bulk order form.

License extensions for DVDs and Downloads

If your team needs a mutiple-user license for DVDs or Downloads, you can purchase additional licenses for a very affordable $20 apiece. You can learn more about licensing and purchase license extensions here.

Re-activate expired memberships

In the past, in order to reactivate an expired membership, you had to purchase a new one. We've updated the process now so you can simply provide updated credit card info and be on your way!

And of course, 5 new Git video tutorials

Last week we learned how remote Git repositories work, we set up an account on GitHub and connected up our local repository to the remote. This sets the stage for the next (rather exciting) steps, where we start to use our central remote repository to set up a production environment and push updates to it.

How to clone our remote repository into a production environment

Once we've set up our remote, we can suck down everything into another environment. Bare minimum, you'll probably have a production environment you need to clone to, so we tackle that first.

How to push a change from dev to production with push, fetch and merge

Once we make changes to our local repository, we demo how to get them to production using the push, fetch and merge commands.

How to push a change from dev to production with push and pull

In this video, we do another push to production, but this time using a shortcut command called "pull" instead of fetch and merge.

How to undo commits to a remote repository

Knowing how to undo is just as important as knowing how to do in Git. In this video, we roll back our changes to the remote and obliterate history (Muaahahahaha!).

How to push changes from production to dev

Sometimes you'll make a modification on production that you need to pull into your development environment. In this video, we show you just how similar this process is to doing it the other way around.

Nov 1, 2011

How to add, remove, list and rename tags

Before jumping into working with remote Git repositories, we tackle how to use and manage tags to mark important points in the history of your repository.

How remote central repositories work

If you're new to version control, the idea of a central remote repository might sound daunting, but it's a foundational building block for working with multiple developers and pushing changes from one environment to another. In this video we explain how it works.

How to create an account on GitHub and set up SSH key pair authentication

In this video we demonstrate how to set up a free GitHub account to use as a central repository. We also walk you through the steps of authenticating using SSH key pair authentication. If that sounds scary, don't worry, we'll walk you through the process step by step.

How to set up a remote repository and connect to it

Once you have an account set up, you can create your first remote repository and connect it up with your local repository to sync changes back and forth.

What we'll be doing now with our remote repository

In this video we outline how we're going to use our remote repository throughout the rest of the series.

Sep 26, 2013

The permanent location of this information, which may be more up to date, is

On this page

  1. What is this page for?
  2. What is a Build a Mentored Training?
  3. Why would I want to do a training using the Mentored Training model?
  4. Benefits of the Mentored Training model
  5. How to conduct a mentored training
  6. Overview of training topics to choose from
  7. Cost breakdown
  8. Portable internet information
  9. Example schedule
  10. How to introduce a mentored training
  11. What information to send Build a when you're ready to start
  12. Templates for advertising and communication
  13. Organizer FAQ
  14. Student FAQ
  15. Resource links

What is this page for?

This page contains a set of resources and suggestions for conduction a Build a Mentored Training. If you decide to put on a training, nothing here is set in stone, it is simply a guide to help you get started and provide a set of ground rules that can help you move forward without having to do too much planning.

What is a Build a Mentored Training?

A Build a mentored training is likely very different than other trainings you have organized or attended. It's more effective, more fun, and much easier to organize than a traditional training. On this page you can find resources on how to conduct a Mentored Training and what makes it a highly effective model.

A Mentored Training leverages a set of carefully produced videos to replace traditional lectures. The videos are short (2-10 minutes long), and are grouped together into comprehensive collections. At the beginning of the training, students are given a brief orientation (15-20 minutes) to the collection they will be focusing on, a quick tour of the video player features, and then they begin to watch videos at their own pace. A team of 'mentors' are available to help students whenever they have questions or run into problems.

Besides a couple of minor details, that fully describes what happens at a mentored training. The concept is simple, but incredibly effective.

Why would I want to do a training using the Mentored Training model?

There are two major reasons you might want to conduct a Mentored Training. The first is that you have a group of people you want to get up to speed in Drupal (your organization, your Drupal user group, students in your class), and you recognize that this model will be the most effective approach since it more fully engages students and is easier to organize than a traditional training. It also has a built in system for continued education so the student knows where to go when the training is over.

The second is that you want to train as part of a business plan, and so you'd like to use the training to develop leads or generate profit. In this case, a Mentored Training is cheaper and easier put on, while still being more satisfying for students. There are no fees for using Build a as your curriculum (in fact we will give you and your students free access for a week), and you can use a variety of spaces to conduct the training. In most cases,you don't need to even be very familiar with the curriculum to pull off the training, you and your fellow mentors just need the skill set you are training on (i.e. site building for a site building training, development for a development training).

The next section addresses the major benefits of using this type of training over a traditional model.

Benefits of the Mentored Training model

There are many problems in a traditional training that the mentored training model addresses. Namely, it's cheaper, easier to organize, more effective for students and more enjoyable for trainers.

Trainers require little or no preparation time

Besides the introductory orientation, trainers are spending the entire day helping students with questions they have. If the training is for site building, then they should be familiar with site building. If the training is around development, they should be familiar with developing. They don't even need to know the specifics about the Build a video collection, which means all they really need to do is simply show up to the training.

Trainers don't need to present

The number of people who both know their stuff technically and like to get in front of a group to train in a typical lecture style is a lot smaller than those who just know their stuff. When you take the presentation aspect out of the training, it means that a lot more people can be comfortable getting involved. This also has a huge impact on preparation time.

Curriculum is open and public

Since the curriculum is based off of publicly accessible videos, students can get a sense of what they're about to get into before the training, and after the training they can continue their education by working through additional videos. The videos are nearly all transcribed and searchable, making them a valuable reference as well.

Trainers get to help students directly 100% of the time

There's two sides to trainers getting to help students all the time. Firstly, it's a huge value for the students. Having more in-person help means that students can get over humps faster and feel like they can really get what they need. It's a great incentive for them to move forward, too, since they have the help built right in.

This also makes the trainer's job much more satisfying. Instead of occasionally helping students catch up to the lecture, they can spend the time with the student to really help them figure stuff out. At my last training, all 6 mentors said they would do it again because it was just a lot of fun.

If a student misses one concept, they can review until they get it, then move on

A lecture is timed and linear, which means that it's easy for students to get left behind. If you miss one concept as a student, that could mean that everything after that lost concept doesn't make sense. With a video training, however, there's no pressure. You take your time on a concept until you get it, then you can move on without holding anyone else back.

Students can rewind if they get lost

As students, we tend to drift off from time to time. If you're watching a video, you can simply rewind back to where you left off.

Students can stop whenever they need a break

Everybody's brains get full at different times. Some people don't even need breaks. By leveraging videos instead of lectures, students are free to take as many breaks as they need, or use break time to keep moving forward. At the last mentored training, probably 30% of the students stayed through the lunch period, watching videos.

Students can skip over material they already know

Regardless of how well you describe the material beforehand, some students will come over-qualified for the training. Because of the large library of videos on Build a, there is something for everybody in a group. A full third of our last "site building" class moved on to watch videos on development, theming, and using version control. If it had been a traditional training, these students would not have been as engaged as they could have been.

Basic or advanced questions don't bog the whole group down

In a traditional training, whenever a student has a question it stops the group from moving forward. Sometimes these are questions much of the group has, but most of the time they're not. When a question is asked, a lot of time gets wasted and a lot of pressure is put on the student, meaning that a lot of questions don't get asked. But with a generous number of mentors available to help, there's much less pressure and questions don't hold anyone back.

Vocal students don't hold the presentation back, instead they can get the help they need

There's always that a couple students who seems to have more to say than the others. In a traditional training, these students either bog the group down or get the cold shoulder. In a mentored training, however, there are enough human resources available to allow them to spend the time explaining their problems and get solutions, which is usually all they need to start getting to work.

Students can continue learning after the training is over

Again, the public nature of the videos on Build a means that students can leverage the amount of time spent getting familiar with the interface to continue their education long after the live training is finished. There's a lot of material there, and new material is added weekly, meaning that once students start learning, they can just keep going.

Videos are carefully produced and keep a good pace

Even if a trainer is open to presenting in front of a group, a number of skills have to come together for a presenter to be empathetic, well-paced and easy to follow. The videos are produced to be easy to follow and keep the student engaged, while reducing the amount of unused space, all of which can be tricky when presenting in a live lecture format. By having the videos, trainers and students no longer have to worry about presentation style.

Costs are low, projection is not required

Because of the reduced preparation time, lower stress, and the minimized skill set required to be a mentor, it's much easier and cheaper to pull together the human resources needed for a training. In our last training, all of our mentors were volunteers (i.e. free). In terms of physical costs, a training can be conducted in any venue with seating, power and internet. In our last training, we didn't even use a projector, which allowed us to cut down on costs.

Trainings can be any length of time, or can be distributed as a regular event

Because of the extensive video library on Build a, trainings can be as short as a couple hours or as long as several days, and the structure of the training doesn't have to change at all. This makes it very flexible, so it can be equally as effective as a weekly meetup or a one-time 3-day training.

Transcriptions make training accessible to the deaf and hard of hearing.

Nearly all the videos on BuildAModule are transcribed and captioned, meaning a mentored training is accessible to the deaf or hard of hearing without hiring transcriptionists. The transcriptions also provide a valuable tool to all students by having a second way to interpret the spoken word. Nearly all the students in our last training agreed that the transcriptions were very useful.

How to conduct a mentored training

In order to conduct a training, you will need a few things. Getting these things together isn't too hard, but it will be the trickiest part of the event.

Before the event

If you're holding an informal event at a coffee shop with 5-10 people, then there's a lot of this you don't need to worry about. But for planned, 20-100+ people, more formal events, this list should cover the set of tasks you'll need to undertake to make sure things move forward smoothly. You can print this off to use as a checklist.

  1. Pick a venue and reserve it - You need a place to meet. Explore universities, schools and hotels for more official trainings, but coffee shops, restaurants and living rooms could also work for a less formal event.
  2. Choose a topic - See the Overview of training topics to choose from section below for help on choosing a topic.
  3. Set a schedule - Knowing the times of the training will help students and trainers plan for it. See the example schedule below for more information.
  4. Set pricing and sell tickets - Decide how much you're going to charge. There are no costs from Build a, and we will provide you with 8 days of free access for your students. Your pricing should at least cover the cost of the venue, the internet, any physical resources and the costs of mentorship. See the cost breakdown below for more information. You can use a site like EventBrite to sell tickets and keep a cap on signups.
  5. Spread the word - Use Twitter, Facebook, write blog posts, talk to various Drupal user groups, talk to anyone you know using Drupal, advertise to tech meetups in your area, invite your family and friends, put up signs, tell universities and schools.
  6. Invite mentors - Invite mentors that are skilled in the subject matter covered in the training. We had 7 mentors for 60 students at our last training, which seemed like a good ratio. We could have dropped that down to 3 or 4 in the second half of the day-long training. Besides the organizer, no preparation was required for the mentors, they just have to show up on time.
  7. Plan internet access- Try to pick a place with good internet. The videos are optimized for web streaming, meaning that for video they're small, but they're still video. Also, a stable internet connection is important. See portable internet information below for suggestions on bringing your own internet backup.
  8. Give students access to Build a and send pre-training email - See the "What information to sent Build a" section below for details on getting access to the credit page. We'll give you permission to give students an 8-day pass to the site. In our last training, a common student request was to give access a few days before the training so that students could build up some questions to bring to the training, but it's up to you to decide when to start their access.
  9. Buy or gather several isolating headphones - At our last training, 10% of the students forgot headphones. Also, there were several complaints about noise levels. Bringing some spare headsets that block out noise will solve both problems. You can get $4 pairs here on Amazon. Make sure to sanitize them between trainings. ;)
  10. Get power strips and extension cords - If the venue doesn't provide adequate power to each student, then you should buy enough power strips and extension cords to get a plug for every student close to the table where they will be. You may need to check out the venue to see what needs to be done here.
  11. Get water - If there's no water at the venue, buy some bottled water to bring.
  12. Modify and print out information sheets for each student - The information sheet contains links to important resources for support, information about IRC and training-specific links.You can preview the information sheet here, and download an HTML version of the sheet along with other resources here. The filename is mentored-training-resources.html and can be found in the /documents folder, and you can modify this as you need. Items that need to be replaced are marked in red, and have the 'fill' class when looking at the HTML.
  13. Send email before the training - Send a reminder email (see template here) to students before the training with info about the schedule, about what they need to bring (i.e. headphones) and to let them know they can contact you with questions.

During the event

Here are some tips on what to do at the event itself:

  1. Introduce the video collection, the interface and the mentors - See the "How to introduce a mentored training" below for an example. This is a quick orientation to get people comfortable and get everyone on the same page. If you don't have a projector, use to share your screen during the slides. If you use, post the URL on a white board or projected slide.
  2. Hand out information sheets - These are mentioned above and will be useful for students for reference and also to help late students get oriented if they missed the orientation.
  3. Handle access requests - At the beginning, have a mentor dedicated to granting access to students who didn't get Build a access before the training.
  4. Hand out a brightly colored sticky note to each student - When a student has a question and all the trainers are busy, they can put on their laptop lid to signal that they need help. That way they don't need to keep their hands in the air indefinitely.
  5. Set up IRC channel - You can set up an IRC channel to encourage students to do a little backroom discussion, and to ask questions in an informal way. If you use Freenode and have more than 5 users or so, you may need to request from a moderator at #freenode to unlock the account so many users can join from the same IP address. You can also offer a web-based portal to make it easy like the one at[IRC channel here].
  6. During the training, walk around - We found that students were far more likely to ask for help if a mentor was close by. So have the mentors walk around regularly, even if it seems like no one needs help.
  7. Take some pictures and / or video - Having some media will help you market the next event.
  8. Leave some time at the end for feedback - We planned a 30 minute feedback session at the end of our last training, and it was great to hear what people liked and what improvements they suggested.

Overview of training topics to choose from

If you've taken a look at the video library, then you know there's a broad range of subjects you can cover in the training. One idea is to allow students to choose what topic they want to dive into, but you may also want to narrow down the subject matter for a specific purpose, to fill a gap among other trainings going on at the same time, or to market to a particular audience. Students can reasonably work through 2-4 hours of video during a single full day training, meaning that they will usually only make it through a portion of a collection.

Below are the topics that currently have significant coverage in the video library, and thus can form the basis of a Mentored Training.

Site Building

Using the "Build Your First Drupal 7 Web Site" collection, students will walk through the process of building a fully functional Drupal 7 web site from start to finish. No previous experience with Drupal is required. We first go through the process of installing Drupal like a desktop application and move on to discuss and implement the most essential components of Drupal, including modules, content types, nodes, taxonomy, views and lots more. Everything is pulled together in a comprehensive example site that includes custom content types, a calendar view, a Wysiwyg and various other features.

Drupal Development and Module Building

Using the "Drupal 7 Development Core Concepts" collection, students will build several practical modules and explore Drupal 7's various APIs. We begin by building a simple 'Hello, World' module, and move on to create forms, work with the database, handle users, explore jQuery integration and lots, lots more.

Drupal Theming

Using the "Drupal 7 Theming Essentials" collection, students will learn how to work with the theming layer to modify any piece of output. We explore how to create a theme from scratch, how to use sub-themes and how to clone themes. We explore how to determine what method of output modification to use, from using template files to preprocessing functions to theme functions. We also demonstrate how to incorporate modifications to a theme settings page to allow for quick visual changes on the them layer.

Version Control and Code Workflow (in progress)

We're currently rolling out the "Version Control and Change Management" collection, in which the student learns what version control is all about, and how to use Git in a piratical way to manage processes like pushing a development site to production, or working in tandem with other team members. Once a solid foundation is set for version control, we explore the techniques needed to capture everything in code for security and accountability using the Features module, Selenium IDE and other tools. We then wrap up by demonstrating how to use the Drush command line tool to speed up site management.

Cost breakdown

Below are some hypothetical scenarios so you can get an idea about how to price your training. To calculate what to charge, add up your expenses, add a little bit of a buffer, and divide by the minimum number of students that will make the training financially viable, if finances are a factor. Again, there's no extra charges from Build a for conducting a training based on its material.

As far as venue goes, there are usually a variety of options available. Call around to colleges and hotels for pricing. For one hotel I talked to, the cost would be $250 for a small room (25 people max) to $850 for a large room (150 people max). A projector would be $150, and catering would be $10-$15 / person. The projector and food were both optional. If the trainers aren't getting paid, it could also be good to include a little thank you to the mentors as perhaps a dinner or gift.

5-15 people, informal - $0

The actual cost of your training can be $0 if done in a public venue with internet, say a coffee shop or restaurant. People can also bring up their own sharable backup cellular internet just in case internet goes wonky. Even though it's free, like with most things, the more together you are with the training, the better it will go.

15-70+ people, informal - $400 to $1500

If your goal is just to train people or get exposure and you're not worried about cash flow, then you can price the training to simply cover the costs of the venue, internet and maybe food.

15-70+ people, formal - $800 to $2000

These are rough numbers, but the idea is that in a more formal setting, you'll probably want to pay your trainers and make sure things are really squared away with the internet situation, including possibly bringing some backup cellular internet.

Portable internet information

The interment required for a Build a training isn't terribly high, but it is critical. For a typical 1-day training, you can figure in about 300MB of download per trainee over the course of the day. For a 50-person training, that's about 36MB of download per minute on average. For some venues, this will be easy, for others it may be pushing it.

One possibility is to augment the existing internet with cellular internet using a router with load balancing. With the Cradlepoint MBR120 ($199), you can connect up to 3 USB modems along with a wired connection, and have the internet fall back on the cellular internet when the main internet is down. For the cellular plans, one option is to get the Ovation MC706 USB modem (supported by the Cradlepoint device) form Virgin mobile ($79) and pay $50 for the unlimited plan for 1 month (speed could go down after 2.5 gigs). You can get up to 3 of these and the Cradlepoint device will balance out the load between the USB modems if the main internet goes down.

Example schedule

For a day-long event:

  • 9:00am - Orientation (introduce the collection, the mentors, and the interface)
  • 9:30am - Begin training
  • 12:00pm - Break for lunch (optional)
  • 12:30pm - Back to training
  • 4:30pm - Feedback session
  • 5:00pm - Done

For an evening event:

  • 5:30pm - Orientation
  • 6:00pm - Begin training
  • 8:30pm - Done

How to introduce a mentored training

I will post a video here shortly, but in the meantime you can download some sample slides at

Here is an example outline that covers the important parts:

  • Welcome / greeting!
  • How the training works (not a lecture, using videos instead. Means students can work at their own pace, and trainers are free the whole time to help students)
  • The schedule
  • Have the mentors introduce themselves
  • Logistical bits
    • Slides can be downloaded at [URL here]
    • Students who don't have access to Build a can send email to [Email here]
    • If headphones were forgotten, we have spares
    • Use a sticky note to flag us down when everyone is busy (pass around sticky notes)
    • Connect on IRC using the [IRC channel here] on
    • Mention that people can partner up or form small groups if they want
  • Offer a 1-minute overview of the video collection
  • Demonstrate how to use the player tools
    • How the videos are organized
    • (Play a video and pause it to show player tools)
    • How to navigate videos using the back, forward, and list buttons
    • How to use large screen mode (largescreen button)
    • How to to turn on continuous play (continuous play button)
    • How to mark a video as complete with the complete icon (mention that videos are marked as complete automatically as well)
    • How to use the transcript to navigate through the video (click on text to jump to that part of the video, note that you can search transcripts)
    • Point out the video updates tab and explain what it's for
  • Mention it's okay to wander to other videos on the site
  • Mention covering 1 hour of video for every 2-3 hours of training time is probably about what to expect.

What information to send Build a when you're ready to start

When you're ready to set up a training, we need to set you up with a page to give your students the free 8-day membership. If you don't need do do this, then you also don't need anything from us and you can just move forward. :)

In order to set you up with the tool to give access to your students, we need some assurance that you won't abuse the tool. So, we need a few bits of information from you to verify your identity. Please send us an email with the following information:

  1. Your full name
  2. Your physical address
  3. A link to your user page
  4. A link to your Twitter profile page
  5. An explanation of the training and how many people you estimate will attend (in general, we will only offer free access for trainings that include 5 or more people)

Templates for advertising and communication

"About the training" template

This template can be used on a web site or used in printed materials to describe the training. At the least, you will want to replace the location, the subject matter and the mentor list.


Hotel Shattuck Plaza
2086 Allston Way
Berkeley, CA 94707
(510) 292-4353


Unlike traditional workshops, instead of spending the full day in lectures, each student will work at their own pace through a set of comprehensive, focused training videos covering one or more of three broad areas of Drupal skill sets: Site Building, Module Development and Theming. Experienced mentors will be available to help students answer questions on a one-on-one basis, work through sticky spots, or demonstrate additional examples to help clarify difficult concepts. By using video training instead of a live lecture model, students will be able to work at their own speed, pausing where they need to, replaying material they didn't get the first time around, and skipping material they're already familiar with. And instead of lecturing, the trainers will be free 100% of the time to help individuals through tricky spots or point them in the right direction.

If you've ever zoned out during a lecture and found yourself a little lost, or been frustrated that the short time available for questions gets taken up with discussion you're not interested in, this is the perfect environment for you. You can take breaks when you need, tackle exactly what you need to learn (or we'll help you figure out what that is) and get a lot of personal expert advice along the way.

When you arrive, we will get you oriented to the course material and give you a custom curriculum focused at your particular skill level, tackling the subjects you need to cover. We will be leveraging a set of communication tools to allow students to form small groups around a specific topic if they'd like to work with others, and allow us to address as many issues and questions as possible throughout the workshop day.

All levels of experience with Drupal will come out of this workshop having made a huge step up the Drupal learning curve, guaranteed. Students will get a full week of access to all the training videos so that they can continue to review and expand their knowledge following the training.


We will provide a tested curriculum where you will build a Drupal 7 site from scratch (no code required), learning some of the most important concepts and techniques around Drupal site-building throughout the process.


First and foremost, you will need a laptop and a set of comfortable earbuds or headphones. If you're easily distracted by noise, you might want a set that blocks out some sound, just in case there is a bit of discussion around you. Keep in mind that you will be watching sets of videos, and then applying what you learn throughout the day. You can also bring an iPad or tablet device to play the videos on while you follow along on your laptop.

Having a vanilla Drupal installation without any modifications ready will help you get started as quickly as possible. You can use the Acquia stack, or Bitnami in order to quickly set up a Drupal site like a desktop application (see here for a tutorial for Windows or for Mac: Or, feel free to come with another stack you prefer. If you don't know what a stack is, don't worry about it, we'll help you out.


Chris Shattuck - Chris is the creator of Build a and has recorded nearly 500 focused Drupal tutorials. He has also done extensive in-person Drupal training, including a full-day module building training at Drupalcon, and has spoken at numerous Drupal events. The structure of this workshop combines the best of his experience as an in-person and on-line trainer. You can learn more about Chris at .

Pre-training reminder template

Before the training, here's a template for an email you can send out to remind students about a few things. Namely, that they should bring a laptop and a set of headphones, that you'll be giving them free access to the site, and what date the training is going to occur. Right after sending this out, you can credit each account with an 8-day membership.

Greetings trainee!

Tomorrow you will be participating in the [NAME HERE] mentored video training, and I wanted to give you a heads up that I will be crediting you with a free 8 days membership to shortly, giving you full, unencumbered access to the full video library for the next week. If you already have an account at Build a, this 8 days will be added to your account. Otherwise, an account will be created using the e-mail address you used to register for the training.

In the training, we will be focusing on the "Build Your First Drupal 7 Web Site" collection, which will take you through the process of building a complete Drupal web site from start to finish.. Feel free to begin watching before the training proper so you can come with questions.

Please bring along a set of headphones for your laptop or iPad, and feel free to email me with any questions you might have.

Have a great rest of the week, and I look forward to seeing you on Friday!


Chris Shattuck

Organizer FAQ

Do I need to watch all these videos before I give a training?

No, as long as you're familiar with the general subject matter. For example, if you'll be training in site building, you and your mentors should have a decent grasp of Drupal site building. It does help to read through the index of videos on Build a so you have an idea of what the students will be watching, and can point them in the direction of other videos that might help, but even that isn't absolutely necessary.

If you're conducting the training and are new to the subject matter, then you can watch the videos to train yourself before training others.

Why would a student want to watch videos when they could do it at home?

Something we found in our training was that the Mentored Training experience is very social. Between students sitting next to each other discussing issues and mentors distributed around the room tackling problems, there was always a buzz of activity. The peer pressure of everybody focused on learning in the same environment feels to students like a study group. Also, knowing that there is a group of experts to help you through any sticky spots is strong motivation to make progress. In the feedback from our last training, we heard that the mentoring aspect of the training was a huge benefit to many students.

Even after our lunch period, where students could have easily left, we had a remarkably high retention rate, about 80%. Students even came from other trainings going on the same day after talking to friends in our training.

Won't students wander off and start doing other things?

In our last training, I walked around the group several times, glancing at computer screens to get a sense for what students were doing, and I only saw something outside of the training scope a couple times over the course of a full day.

Your students are there to learn, that's why they signed up. As long as they are engaged, they'll keep to the training program. It's when students get lost or the subject mater is below their experience level that they have to start doing other things to keep themselves interested. If you've ever been involved in a traditional training, you know this wandering happens a lot. In a Mentored Training, it's much more rare.

How does it feel to be in a room with a bunch of people watching videos?

Between the engagement between students and mentors and the fact that every student is focused on something where they're learning something valuable, it feels like a positive, relaxed, but still busy environment. Students get up from time to time to stretch their legs or come talk to a mentor. One suggestion from students was to set up a pre-training dialog between students to allow grouping together by interest, which also would have enhanced the training. Invariably, students were happy with the format.

Don't you need some crazy-fast internet connection to do this?

Not necessarily. Smaller class sizes should definitely be fine with a typical internet connection. Videos are compressed to a small size (1MB per minute), and students will probably only be watching videos about half the time. As with any training, as the group gets larger, the load on the internet will get more significant, and because the internet is critical for the training it may pay to beef up access where possible. Some venues will offer additional support, and you can also bring in backup internet (see the Portable internet information section above) just to make sure.

How to you do a training without a projector?

You can use a service like to share your screen with your students. This can be useful for the orientation in particular.

When do I give students access to the videos?

In our last training, we gave students access one full day before the training so they could get their Drupal environments set up before coming to the class. Many of the students suggested giving them access a few days earlier so that they could work through the basic stuff at home and come to the training with questions. However you do it is fine, just know that you have 8 days of free access to work with.

Don't you need to pay for the videos on Build a

We'll give you the ability to give your students a free 8-day pass to the site so they have some time before, during, and after the training to work through a collection. After that, a membership would be required.

What does Build a get out of this?

There's a couple things we get out of this. The first is that we know - based on user feedback - that we have a tremendously effective Drupal training tool, and we want to see more and more people leverage it to get further, faster.

I personally also found the traditional classroom setting frustrating for me in school, and I would like to see a better model adopted by more educational institutions so that students have a more effective way to learn. The more we can see it working in the field, the more likely it is to get adopted by others.

From a business standpoint, we know we have a rocking product and giving students and trainers the opportunity to leverage the product to conduct an effective training is a great way to get people on board for our paid products, like memberships and DVDs. It's like a standard free trial, but with huge side benefits.

Student FAQ

Why use Bitnami for installing Drupal?

Bitnami is the quickest way we've found for installing vanilla Drupal. The Acquia dev stack can also work, but it installs some additional modules on top of vanilla Drupal which means that some of the videos might not quite line up with what you see on your screen.

I can't get Bitnami to work, what do I do?!

This may be a question that comes up during a Site Building training where not all students already have Drupal installed. If you can't get Drupal installed locally, you can use the free trial on WebEnabled to get an online instance of Drupal 7.

Can you help me solve a specific problem in a project I'm working on?

As long as there are other mentors available to help students with tricky spots, this is a great opportunity to get expert help with more specific problems. If the mentors all seem to be busy, then try to come back to help the student later.

Where do I find the resource pack?

Scroll down to the bottom of the page. In the lower right-hand corner, click "Download resource pack". You can also go to

Resource links

  1. Conduct free Drupal trainings with the Build a Mentored Training model - YouTube -
  2. Online Event Registration - Sell Tickets Online with Eventbrite -
  3. Coby Jammerz High-Performance Isolation Stereo Earphones CVE52BLK (Black): Electronics -
  4. Training links and resources -
  5. – Free Screen Sharing and Online Meetings -
  6. freenode">freenode">freenode Web IRC (qwebirc) -
  7. CradlePoint MBR1200 Failsafe Gigabit N Router for Mobile Broadband -
  8. Ovation MC760 3G Mobile Broadband Device -
  9. Contact Us -
  10. How to install Drupal like a desktop application in Windows in Build Your First Drupal 7 Web Site > Series Overview and Quickly Installing Drupal 7 -
  11. How to install Drupal like a desktop application on a Mac in Build Your First Drupal 7 Web Site > Series Overview and Quickly Installing Drupal 7 -
  12. Chris Shattuck, Drupal Trainer and Developer -
  13. Learn Drupal With Over 510 Video Tutorials for Developers and Site Builders -
  14. Download the Drupal 7 Resource Pack -
Oct 26, 2011

Live video training works! Want to try it?

On Friday we tried something that - as far as I know - has never been tried before, and it has the potential to change training forever. And it was awesome.

With 60 students and 7 mentors, we conducted a full-day training on Drupal site-building. Instead of a traditional training with linear lectures, the students instead worked through a set of Build a videos and had full access to Drupal experts when they had questions or problems they couldn't solve. We got overwhelmingly positive feedback from the students, who were able to work at their own pace and on subjects that were the most interesting to them. And the mentors - all volunteers - unanimously had a good time.

What this means for us is that we'll be exploring ways to make it easier to conduct a mentored video training in communities and organizations that need to ramp up on some aspect of Drupal quickly. I will be putting together resources and suggestions soon, so stay tuned!

The trainings can be conducted by anyone with the appropriate Drupal skill set, they have very low overhead, and require virtually no prep time. If you have questions, suggestions, or want to get started right away, just send me an email.

New Git videos on manipulating branches and using the stash

This week we continue delving into managing Git branches, and also explore a handy feature for storing changes as you switch between branches called 'stashing'. If you're not a member, be sure to check out the FREE stashing video.

How to modify an existing commit message

Oops! Forgot to pass some critical info in the commit message? Never fear, it's easy to go back an rewrite a little history, which is what we do in this video.

How to delete a branch

Not only is is ridiculously easy to create branches in Git, getting rid of them is easy, too. In this video we show you how.

(FREE VIDEO) How to use a stash to save uncommitted changes when switching branches

When you switch branches, you bring your changes with you. That can be a good thing, except when you need to work with another branch cleanly. Then stashing the changes is what you need.

How to apply a saved stash

Once you've stashed your changes, we walk you through how to get them back out again.

Quickly committing, merging and deleting a branch

To prepare for the next steps, we quickly work through the full process of merging a branch. This video is a great review of a number of techniques you've learned so far.

Next week things will start to very really interesting as we look a creating remote repositories to centralize changes between users and instances of our site.

Oct 18, 2011

This last weekend Build a represented at the Pacific Northwest Drupal Summit, and this next weekend we'll continue our tour at BADCamp. Our training on Friday is full, but we plan on doing similar events in the future. If you'll be around at the camp, please stop by our booth to say hello!

And on to the meat. In this week's new videos, we're continuing exploring the Git version control system by doing a quick overview of undoing in Git, and jump into using branching and merging. If you're new to the idea of branching, we walk you through the conceptual ideas, and then jump right into practical implementation. If you come from another version control system where branching is challenging and inefficient (cough, cough, Subversion, cough), you're in for a real treat.

New video: Quick summary of undoing in Git

In previous videos, we discussed multiple levels of undoing in Git. This section is a great wrap up and reference when you're trying to figure out how to back out a mistake.

New video: How to move files in Git

It's polite to tell get when you move stuff around, but sometimes Git is smart enough to figure it out. In this video, we show you how to keep Git informed when doing some restructuring of your files.

New FREE video: Introduction to branching and merging in Git (FREE!)

Git's flexible branching model makes it really easy to keep multiple tracks of development and releases going at once. We talk you through the basics in this section.

New video: How to create a new branch and navigate existing branches

If you come from another version control system like Subversion, you might have a little PTSD around the whole idea of branching, but in Git it's simple, fast and efficient. We start be creating a new branch and rapidly switch between developing on different branches.

New video: How to merge with and without branch history

Sometimes you want to know a branch existed even after it's no longer useful and is pruned out of the repository. We show you how to keep a record around, or, if a record doesn't matter, how to make a branch ninja-like, swift and invisible.

Looking forward to seeing some of you this weekend, and we'll see the rest of you next week in the next installment of Git tutorials.

Oct 11, 2011

This week we continue our adventure into leveraging Git - a powerful version control system - in a quest to get our code and configuration safely into version control and free from worry. For those of you just joining us, take a gander at some of the introductory videos to learn more about how version control works. For you who are eagerly awaiting the next installment, here it is!

Last week we looked at how to how to add and commit files to our repository. This week we learn how to undo these modifications. Sometimes we make mistakes, and unlike actual history where there's no going back, we can actually rewrite Git history to completely erase those little snafus.

We also explore how to use the 'git help' and 'git log' commands to find out more about particular commands, to discover commands, and find out what's happened in our repository so far. Enjoy!

How to use git help

You can always do a Google search when you get stuck, buy why bother when there's awesome in-line help right there on the command line? In this video, we show you how to use the 'git help' command.

How to use SmartGit to view graphical diffs and revision trees

Some things look better anti-aliased and in color, like revision trees and diffs. Here we show you how to leverage a graphical utility to get a tighter vision on what's been going on with your code.

How to undo modifications to staged and unstaged files

Doing is awesome. But if you don't know how to undo, it's easy to get stuck. In this video we begin the process of learning how to undo various levels of modifications.

How to use the log command for viewing revision information

Once you know 'git log', it will be probably become your second most-used command. And we also show you how to make it easier to read with a handy little parameter.

How to undo commits

Here we continue showing how to back out of unwanted modifications by rolling back and actual commit as if it was never there.

Enjoy and have an amazing week!

Syndicate content Syndicate content Syndicate content Syndicate content Syndicate content