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.
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.
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.
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.
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.
We work hard at Build a Module.com 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!
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.
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!
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.
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.
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.
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.
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.
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 hearing impaired, 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 hearing impaired 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.
New York City, New York - Contact for more information
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.
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.
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.
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.
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.
Check out with more than one membership in your cart, or
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%!
This last month we've been very busy adding a number of frequently requested features. Here's the quick breakdown, enjoy!
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.
For organizations who want to learn more about how Build a Module.com 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.
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.
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.
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.
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.
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.
This page contains a set of resources and suggestions for conduction a Build a Module.com 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.
A Build a Module.com 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.
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 Module.com 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.
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 Module.com 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 Module.com, 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 Module.com 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 Module.com, 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 hearing impaired
Nearly all the videos on Build a Module.com are transcribed and captioned, meaning a mentored training is accessible to the deaf or hearing impaired 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.
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.
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.
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.
Set pricing and sell tickets - Decide how much you're going to charge. There are no costs from Build a Module.com, 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.
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.
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.
Plan internetaccess- 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.
Give students access to Build a Module.com and send pre-training email - See the "What information to sent Build a Module.com" 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.
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. ;)
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.
Get water - If there's no water at the venue, buy some bottled water to bring.
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.
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:
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 join.me to share your screen during the slides. If you use join.me, post the URL on a white board or projected slide.
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.
Handle access requests - At the beginning, have a mentor dedicated to granting access to students who didn't get Build a Module.com access before the training.
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.
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 http://webchat.freenode.net/?channels=[IRC channel here].
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.
Take some pictures and / or video - Having some media will help you market the next event.
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.
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.
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.
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.
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 Module.com 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.
The interment required for a Build a Module.com 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.
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:
Your full name
Your physical address
A link to your drupal.org user page
A link to your Twitter profile page
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)
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
ABOUT THE TRAINING
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.
FOR THOSE NEW TO DRUPAL
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.
WHAT YOU NEED TO PARTICIPATE
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 http://is.gd/ah6VpT or for Mac: http://is.gd/bskLKZ). 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 Module.com 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 http://chrisshattuck.com .
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.
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 http://buildamodule.com shortly, giving you full, unencumbered access to the full video library for the next week. If you already have an account at Build a Module.com, 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!
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 Module.com 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 join.me 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 Module.com?
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 Module.com 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.
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.
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 Module.com 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.
This last weekend Build a Module.com 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.
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.
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.
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!
Greetings! My name is Chris Shattuck and I'm the creator of BuildAModule (over 700 video tutorials to help anyone learn Drupal). I speakregularly at Drupal events, and have developed a training model that is allowing communities around the world learn Drupal for free across numerous continents.
I work full time on BuildAModule and have been for the last several years, so I'm not generally available for freelancing gigs - but I can give you some tips on where to get some help.
When I'm not immersed in Drupal and work, I'm working as a dad. Family is the reason I figured out how to work at home, how to run a business, and how to sell products. And holy crap, my kids make me laugh more than I've ever laughed in my life.
My alter ego (the one that's hanging out in the attic until the kids are older) is a musician and is in the process of figuring out what all this is about.
I work at a treadmill desk and have had the honor of influencing numerous others to give it a shot. I'm always looking for ways to make this short life last longer, and exercise while working helps a ton.