January 2012

Jan 24, 2012

Higher Education Rebate on DrupalCon Training

As many subscribers know already, we'll be hosting a Mentored Training at the Denver DrupalCon in March. But what's new is that we're offering a $25 higher education rebate to faculty and students of universities and colleges. Simply send us:

  1. A copy of your DrupalCon training receipt, which must be purchased with a .edu email address, and
  2. A PayPal address or a mailing address

And we will send you a $25 PayPal payment or check once the training is complete.

Register for the training on March 19th and get $25 off.

Learn more about the training (includes a short video).

New videos on overriding feature modules

This week we begin by wrapping up our chapter on overriding Feature modules. In particular we demonstrate how to override strings and get common settings.php overrides in a version controlled file. Also, we walk you through cloning a feature module - one of the most common first steps to overriding a feature module in any Drupal distribution.

We then move onto our chapter on upgrading Drupal and contributed modules in a sustainable way. This week's free video - How to Patch a Module - will likely prove particularly useful to many of you.

How to use a version controlled settings.php include to share settings - 5:19

The settings.php file is the ideal place to put a number of different overrides, like to PHP variables or translatable strings But, since it's not typically under version control, it typically requires a manual process to get all your environments up to date. But, with a little include, we can save a ton of time and reduce errors. This video show you how to do it.

How to find and override strings with dynamic content or links - 6:09

Some strings are easy to override, but others include dynamic text. To find exactly what the structure of these strings are, you'll need a couple tricks that we demonstrate in this video.

How to override a feature module by cloning - 7:15

When you're working with Drupal distributions like Commons or Open Atrium, you're rarely override an existing feature module directly. One technique to keep things clean is to duplicate an existing feature module and set it up as your own. In this video we run you though this process.

How to upgrade a module sustainably - 3:46

If you have a contributed module that has been patched, it pays to commit to a method of upgrading modules that saves and modifications you've made. In this video we show you how.

New FREE Drupal video tutorial of the week

How to patch a module - 8:38

In this video we walk you through the process of patching a module - a fairly common but tricky procedure you'll need to understand in order to pull in updates to a module before they're officially released.

Jan 18, 2012

In preparation for our DrupalCon Denver training, we're rounding up some of the free Drupal videos tutorials on Build a Module.com so potential attendees can get a feel for the style of training. We will be leveraging the Mentored Training model I posted about several months ago, and piloted successfully at BADCamp. In this model, the traditional 'lecture' is pre-recorded in order to free up the instructors to help students with specific issues and provide that critical face-to-face time for the entire duration of the training. It's really quite awesome.

If you're considering doing any training at DrupalCon but haven't quite hopped on the boat yet - due to cost or time commitment - let me point out a couple of the less obvious benefits. While the information you learn will be useful, what you'll find even more valuable is the time you get to spend directly with skilled Drupal instructors who can help you over your specific hurdles. A second subtle benefit is the connections you'll make both with the instructors and your fellow students, connections that I guarantee will pay back dividends throughout DrupalCon and way beyond.

If you're curious about our particular training (we have 9+ amazing trainers lined up), check out this writeup which includes a short video outlining how the training works and some of the benefits. If you'd just like to peruse some of our free videos on using Git and getting every essential Drupal 7 configuration component or piece of content into code, check out the videos below:

Free videos on Git and getting everything into code

How to use a scalable Git branching model called Gitflow - 6:41

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.

How to create, deploy and clean up a release branch - 8:37

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.

Overview of database components you can add to version control - 5:50

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.

How to download and install the Features module - 1:50

The new videos this week walk you through the first steps of using the Features module, but before you do that, you'll need to actually install it. It's pretty straightforward, but we wanted to walk you through the process to make sure we get all the steps covered.

How to organize features and implications of getting everything into code - 4:09

Once you wrap your mind around the power of a feature module and the basics of updating and manipulating it, the next question you're likely to have is 'where do I put which component?' In this video, we talk you through how to organize components in a sustainable, reasonable way.

How to create and modify a Selenium macro that builds a node - 7:08

To demonstrate using Selenium IDE, we begin by recording a macro that generates a new node. You can record virtually any change with Selenium, but this would be one common use of the tool. We'll follow it up with one more test to demonstrate some additional techniques.

The challenges of overriding shared feature modules and some solutions - 4:53

One of the biggest hurdles to adopting Features as a configuration management solution is that overriding configuration options captured in a feature module isn't always straightforward. In this video we begin the review of best practices when overriding these features.

Jan 17, 2012

Why you should attend our DrupalCon Denver Mentored Training

If you or someone you know is climbing up the Drupal learning curve, our DrupalCon Denver training is guaranteed to give you a huge boost. In this short video, I talk about the structure of the training, and why it works so well regardless of your experience level.

Training is only partially about the information. The biggest benefit I've seen students get from trainings has been the one-on-one time with trainers, time where students can get difficult questions answered. In this training, you will have access to at least 9 highly skilled trainers for the entire day to connect with.

I've put together a short video (~9 minutes) explaining how the training works, the benefits of this training versus more traditional training, and a way to look at the cost that really enhances the value. If you need convincing, or need to convince your employer, definitely take a look.

Watch the video and learn more about the training >>

New videos on overriding views, menus and variables in feature modules

How to override a Views query, like changing node type or order - 4:40

It's handy knowing how to override a Views query through code anyway, but it's essential for manipulating the output of a feature module view. In this video we show you how.

How to override a menu item title - 2:52

This video demonstrates changing a menu item title with code. Again, while this is something that can be done through the menu item configuration page, reverting a feature module will blow those changes away. If you're working with any Drupal distribution, this will be one of the most common configuration change requests.

How to override variables and how the Strongarm module works - 4:51

With a feature module, variables are stored and overridden through the Strongarm module. In this video we show you how the module works, and how to override these variables in code.

How to modify interface text and version control the overrides - 3:44

The String Overrides module is great for overriding text, but it doesn't store the changes in a way that can be captured in code. So, we look at another method for overriding this text that will persist even if you have to update or revert a feature module.

New FREE video of the week

How to override Views options like title, ajax and number per page - 5:40

It requires a little finesse to override a view that has been captured by a feature module in such a way as to not risk completely obliterating your changes later on. In this video we look at overriding some common views parameters in a sustainable way.

Jan 10, 2012

DrupalCon training retweet contest

We will be giving away a free 4-month membership ($116 value) to anyone who gets retweeted the most for tweeting about our innovative DrupalCon training session. The tweet must:

  1. Mention the training in a way that encourages people to check it out
  2. Include a link to the training page (http://is.gd/bamtrain)

Submit the count of retweets along with proof (i.e. a link to a Twitter search for your tweet) by January 20th and we will announce the winner on the 24th (2 weeks from now)

New videos on overriding feature modules

This week we wrap up our coverage of using Selenium IDE to record and play back browser macros to change configuration and create content. From there, we begin looking at how to override feature modules you may be sharing between sites, or that are part of a Drupal distribution like Commons or Open Atrium.

Sometimes you may be using a shared feature module and need to be able to override certain bits without compromising your ability to update the feature module later on. This can be tricky, but we'll cover some of the most common overrides you need to make, and how to both capture these changes in code and allow you to easily update the feature module later on.

How to load and play back Selenium tests to update another environment - 6:02

Wrapping up our coverage of using Selenium to automate configuration or content creation, we show how to take a Selenium test we added to our repository and run it in any other environment.

How to override a box title, and how to learn about what else we can change - 4:45

We begin demonstrating feature overrides by looking at how to sustainably modify the title of a block. We also dig into how to you can discover other bits that can be overridden.

How to override block position, and a brief overview of the Context module - 4:00

In this video we take a look at how to use the Context module to display blocks in certain positions and how to properly override these positions.

How to override user permissions - 2:57

If you need to manipulate user permissions set by another feature module, this tutorial will show you how.

New FREE video of the week

The challenges of overriding shared feature modules and some solutions - 4:53

One of the biggest hurdles to adopting Features as a configuration management solution is that overriding configuration options captured in a feature module isn't always straightforward. In this video we begin the review of best practices when overriding these features.

Jan 2, 2012

Thank you all for a great year!

For all of you who have supported the Build a Module.com project, through kind words, making purchases, spreading the word, or sending positive mental vibes, thank you, thank you, thank you!!! Because of your support, more and more people are getting the chance to learn Drupal with a cutting-edge set of learning tools, innovations are being made for live training techniques that could change the face of training forever, and we have quickly become one of the biggest, highest quality single-source video tutorial libraries for Drupal.

This next year is going to be an exciting one. We're going to be covering more and more territory with our tutorials, we'll be helping groups and individuals conduct live trainings across the globe with our Mentored Trainings (including at DrupalCon), and we'll introduce some great new features that will make learning on Build a Module.com an even more enjoyable experience.

Thank you again, this has been an amazing year and here's to another one that's even better!

Chris Shattuck

5 new videos on capturing everything else in code

Last week we wrapped up a series of videos on how to manage feature modules, and in this week we fill in some of the gaps by looking at how to capture those bits of content and configuration that we can't quite get directly into a feature module. We also explore how to use a central list and a set of basic rules to keep track of changes that require a little manual finagling.

If you're excited about capturing everything in code that you possibly can (if you're not excited about that, then watch some of the previous videos on why code capturing is so awesome), then this will get you that last 10% that doesn't quite fit into the other tools we've covered.

Overview of using Selenium IDE to store config-building macros - 2:07

Selenium IDE - a tool we've covered a bit in the past - is a great way to capture site modifications in a way that's easy to automate in other environments. In this video we take a top-level view of how this process works.

How to export Selenium tests and creating one more test - 4:17

Once you have a 'test' (a macro), the next step is to capture the test in code. To do this, we export the test and create one more test to explore some of the other options available to us with Selenium.

How to keep team members up to speed with manual changes using a simple list - 2:36

Automating is awesome, but sometimes it's just not possible. For those changes that require real human interaction, it's great to have a set of rules and central location for keeping track of the changes as you push them to other team members and launch them into staging and production sites. In this video we show you one way to do this.

How to package several repository modifications into multiple commits - 3:39

In this video we step back into Git techniques and look at using several commits for one group of changes to make it easy to roll back and document changes from one revision to another.

New FREE video of the week

How to create and modify a Selenium macro that builds a node - 7:08

To demonstrate using Selenium IDE, we begin by recording a macro that generates a new node. You can record virtually any change with Selenium, but this would be one common use of the tool. We'll follow it up with one more test to demonstrate some additional techniques.