Learn Drupal with tons of focused Drupal tutorials at Build a Module.com

newsletter icon

twitter icon

rss icon

Developer

greggles's picture

Drupal Video Tutorial Sites: Build A Module and Drupalize.me

Many folks interested in Mastering Drupal are looking for videos.

I decided not to create a full screencast series as part of this site, but our team is still producing videos periodically and making them available for free. However, since this site was started there have been two new companies launched that offer Drupal vides.

BuildAModule.com - Drupal videos by Chris Shattuck

Chris Shattuck, a really great person and competent Drupal developer/themer/site builder, created BuildAModule.com. This site has tons of videos broken down into short, digestable chunks. If you need to learn one specific thing you can watch just that video. They are also thoroughly screencasts: you see Chris' screen. He's great at using on-screen tools to highlight his mouse and the item he is working on so you can follow along.

The pricing is very reasonable between $23 and $29/month for online options or $29 to $399 for his DVDs. Note that his DVDs are actually full of video files for playing on your computer meaning that they are much longer than "DVD" might imply.

Drupalize.me from Lullabot

And of course a second option is Drupalize.me from the Lullabots. They have combined their tutorial videos, DiWD videos, and some site-specific videos to create a large library with a diverse set of presenters.

This creates for an interesting presentation of content because it mixes up medium length purpose focused material like "how to theme in Drupal" with a presentation style instruction where you might not be able to see the screen but the presenter themself might be more interesting.

Pricing on Drupalize.me varies from $35/month to $45/month depending on your commitment.

What do you think? Do you subscribe to either one of these sites? Are you getting videos from somewhere else?


greggles's picture

Creating Local Copies of External JS for fun and performance: Drupal Starter Module

Often you need to load external JavaScript resources into a Drupal page. Unfortunately those can be from external servers that are slow. Even if the servers are fast, it is great to be able to take advantage of Drupal's JavaScript aggregation to make it a single HTTP request for the JavaScript file instead of multiple. The attached starter module is useful to create a local copy of external JavaScript files. This is a task that is really site specific. There are visibility rules and lists of modules to maintain. So, rather than creating a contributed module for it I'm presenting it here as a tutorial. You can also download the code for Drupal 6 as a .tgz. There are three functions in this starter module.

List out your files in customlocaljs_files

This function is just a piece of configuration to let other functions know which files they are dealing with.
<?php
/**
* A helper function to list all your external js files.
*/
function customlocaljs_files() {
  return array(
   
'example1' => 'http://example.com/number-magic.js',
   
'exampleb' => 'http://example.com/fun-with-advertising.js',
  );
}
?>

Download and Add the JavaScript in customlocaljs_init

This function shouldn't need any tweaks unless you want to modify exactly which pages on the site the JavaScript should be added to.
<?php
function customlocaljs_init() {
 
// If you want you could also do this in a node_api or wherever it makes sense.
  // Only do this in your init if that's where you need to add the js.
 
$directory = file_directory_path() .'/customlocaljs';
  foreach (
customlocaljs_files() as $key => $url) {
   
// First make sure that the file is available locally.
   
$file_destination = $directory .'/'. basename($url);
    if (!
file_exists($file_destination)) {
     
$result = drupal_http_request($url);
      if (
$result->code == 200) {
       
// Check that the files directory is writable.
       
if (file_check_directory($directory, FILE_CREATE_DIRECTORY)) {
         
file_save_data($result->data, $directory . '/' . basename($url), FILE_EXISTS_REPLACE);
        }
      }
    }
   
// This actually adds the file to the page.
   
drupal_add_js($directory .'/'. basename($url));
    }
  }
}
?>

Delete the files every 24 hours: customlocaljs_cron

The final purpose is to delete the files every 24 hours. This is important since the code that downloads files only goes to get them if they aren't available.
<?php
function customlocaljs_cron() {
 
// Redownload the files every day.
 
if (time() - variable_get('customlocaljs_last_cache', 0) >= 60*60*24) {

   
// You have to create this file locally.
   
foreach (customlocaljs_files() as $key => $url) {
     
file_delete(file_directory_path() .'/customlocaljs' . '/' . basename($url));
    }

   
// Clear aggregated JS files.
   
if (variable_get('preprocess_js', 0)) {
     
drupal_clear_js_cache();
    }

   
variable_set('customlocaljs_last_cache', $_SERVER['REQUEST_TIME']);
  }
}
?>
And that's it! Once you've done this you should of course make sure that you are running cron and then bask in the glory that is locally aggregated javascript files.

Technical Introduction to Drupal e-book

$0.00
Written by: 
Ezra Barnett Gildesgame and Greg James Knaddison

This e-book will be available in December 2010 for FREE!

Drupal is a modular system. By breaking up responsibilities into different parts, such as modules, distinct parts of Drupal are responsible for different aspects of your site's functionality. Providing individual user accounts and passwords, displaying forms, storing and displaying content are all examples of discrete functionality. Similar to how different parts of the brain come together to provide our overall mental function, the components responsible for these pieces of functionality communicate with one another and all come together to make up an interactive website.

This book will provide a technical overview of Drupal.


Introduction to Drupal e-book (free)

$0.00
Written by: 
Ezra Barnett Gildesgame and Greg James Knaddison

Drupal is an open source content management software tool used by individuals, news and publishing companies, world government organizations, major record companies, and nonprofit organizations that allow people to build websites, publish content such as text, video and pictures and communicate with one another.

This free PDF can be downloaded instantly after checkout.


greggles's picture

Tutorial: Calculating Distances and Importing GeoPostcodes Data into the Drupal Location Module

For a recent project we needed to do a fair bit of work with locations, maps, and distances:

  • Associating retail stores with latitude/longitude
  • taking users and finding the nearest store based on the entry of a postal code
  • showing nodes in a nodereference based on distance.

Solving the last two of these things ended up being interesting enough that I wanted to share them with you.


greggles's picture

Drupal Tutorials

When you're learning Drupal it can be really helpful to read how other people have accomplished the same thing that you're trying to do.

Drupal Tutorial and recipes handbook

The Drupal.org Tutorials handbook is a great resource. It contains hundreds of pages showing how to do all sorts of different things.

Learning from Drupal Case Studies

Another great tool is the Case Studies where people explain how they built a specific site.

Similarly, the recipes area is full of great tips for how to make Drupal achieve certain features.


greggles's picture

Bulk image uploading and tagging with Imagex and Views Bulk Operations

It turns out that imagex had a security issue in it. The maintainer refused to fix it, so this module has now been unpublished. I built plupload for the same purpose - screencast coming soon!

This video shows how to use the Multiple Image Upload, Views and Views Bulk Operations modules to create a "multiple image upload and tag" tool. The View used in this video is attached as a text file which can be imported into your site using the Views import tool.

Length: 
6 minutes

greggles's picture

Highlight Your Best Content Using the Radioactivity Module

This video shows how to use the Radioactivity modules and Views 6.x-2.x to create a listing of the best content on a site.

Length: 
10 minutes

greggles's picture

New Drupal favorites module - let site visitors record what they like

The brand spanking new Favorites module is a great way for users of your site to indicate which pages on your site that they truly like. Developed by ezra-g as part of our work for the new IxDA.org, Favorites for Drupal 6.x takes over for a module that Jeff Robbins originally created.

I created this screencast to show how to enable and use the module. I hope you enjoy it!

Length: 
4 minutes

Syndicate content