Learn Drupal

April 2nd, 2013

Short video on the benefits of training at DrupalCon Portland

We have a great training planned for you, with a ton a really awesome mentors. Watch this short video about the benefits, and then register!

 

Updates to BuildAModule

Yesterday we released some updates that fixed a couple bugs you folks had found. So now the search bar should play videos properly, and any volume changes persist between video viewings. Woot! We added a couple other bits behind the scenes as well, but if you were waiting for those fixes, take them for a spin.

 

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

(FREE!) How to install Panels and what the Page Manager module does - 2:40

Panels really gets a lot of its power from the Page Manager module, which for the most part provides a transparent user interface for Panels. We won't be using Page Manager directly for much, but because it provides the foundation for Panels, it's important to address what it does and why it's so awesome.

(FREE!) How variants work in Panels - 4:22

If you've been following along with this series, you'll be familiar with the idea of variants by your use of the Context module. Variants simply give us a different way to display content in a different context. In this video we start building out our first variant.

How to use the Panels builder layout to understand regions, rows, columns and canvas - 3:46

As part of the process of building our first variant, we have to decide what the layout of the page is going to be. Just like in Display Suite, we can choose from a number of layouts that give us a number of content regions. But, unlike Display Suite, we can easily build our out layout right in Panels, which is what we do in this video with the 'builder' layout.

How to add a panel pane that contains a full node - 1:51

The first content we add to our panel variant is a full node view for our review. It's pretty simple, but in the process we see the depth of content available to use to plug into our panels. Lots of awesome stuff in there!

How to add a pane for a node field and what we still need to complete our Panels layout - 2:13

Now that we've added one panel pane for a full node, we look at adding a single field and do a quick review of what we need to do to complete our panel creation.

How to modify a context with the Context module - 0:55

After adding our sidebar to the panel pane, we now have two places where our product info displays. So in this video we jump into our context and turn off the block we added earlier.

How we will approach aligning the title with the content sidebar in Panels - 1:52

Something that's surprisingly tricky in Panels is lining up the page title with the sidebar regions of a panel page. In this video, we explain the approach we're going to take.

How to install the Meta tags and Token modules - 2:28

The Meta Tags module lets us successfully hide our page title, but still keep it visible as an HTML title tag (which is super important for SEO). In this video we give it an install and for once see a module that gives us what we need without having to do any configuration whatsoever. Ahhh!

Attempting to display the title of our panel by using the node title pane (and failing) - 4:29

Now that we've hidden the title of the page, we give a go at bringing it back by using one of the default panel panes. Starting with this video, we're going to try a number of techniques that fail, but that will help you get familiar with the Panels user interface and see how easily and quickly we can try different approaches.

Why using the page title Panel pane doesn't work for our panel page title - 1:57

In our next attempt to display a title that lines up with our panel page sidebar, we try to use the 'page title' panel pane. It doesn't work, but we explain why just in case you find a use for the pane later on.

March 25th, 2013

Last chance for Early Bird Pricing on DrupalCon training

Last year we had the best selling training at DrupalCon Denver, and this year it's shaping up to look the same. Claim space for you and your team now to take advantage of early bird pricing and get $70 off the ticket price.

This training is going to be awesome, and if you have some Drupal you want to learn, we want you to be there to get one-on-one help from a dozen Drupal experts. Plus, receive a free 4-month membership at BuildAModule, saving you even more.

Learn more about the training, or REGISTER NOW!

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

Making another backup (Backup 5) - 1:26

Before we get too much further, let's take a quick break and capture our work in a backup. Whew! Okay, now we can can keep going in confidence.

(FREE!) The limitations of the default blocks listing page and what the Context module does - 2:03

Anyone who's worked on a large scale Drupal project has felt the frustration of the default blocks system in Drupal. The blocks listing page is one of those places where the blocks system breaks down pretty fast. If you haven't sailed that ship before, then here we give you a preview of coming attractions and explain how the Context module helps out.

Overview of the modules that come in the Context package and installing Context - 1:25

Context is a bundle of a few modules, in this video we explain what they are and which ones we're going to use throughout this series.

(FREE!) How the Context module works and how to create a context - 4:00

Now that you've got a bit of background with the Context module, we explain the details of creating a context, and what a context is actually made of. Understanding the concepts here will also prove useful as we get into Panels, which has it's own very similar contextual system.

Why it might make sense to use Context for positioning all blocks - 1:04

Once you start using Context, the next logical step might be to standardize on it, and in this video we explain why.

How to use Context instead of the default blocks configuration page - 5:34

In this video we switch over from using the default blocks listings tool to using Context to position our blocks. From here on out in this series we'll be using Context for positioning our blocks, but for simpler projects or for projects using Panels exclusively, this might not be necessary.

Creating a backup before diving into Panels (Backup 6) - 0:36

Panels is coming up, but because there's a lot of configuration involved that can be inadvertently borked, we're doing a quick backup.

Why we're looking at so many ways of doing the same thing - 1:11

Man, it seems like we're just doing the same thing over and over, but this is the perfect opportunity to see where the different layout-oriented modules overlap in functionality. So while our site is developing slowly, you'll be able to dive right into your next project knowing exactly what tools you have at your fingertips and it will go much faster.

About your responsibilities as a site builder, and thinking in terms of boxes - 2:54

Now that you have a taste of what it's like to be a site builder, we take a step back and look at another way of describing what you're doing that might help you both get a sense of the depth of your work and the edges that define it.

Why Panels is so powerful and potentially intimidating - 1:17

The Panels module brings together configuration that's typically scattered throughout Drupal into a single interface. This makes it both powerful and novel and complicated. Once you play with Panels a bit, it will quickly become second nature, but in this video we explain why it's just fine to feel overwhelmed initially.

March 19th, 2013

Register for the BuildAModule DrupalCon Training!

Registration is open for the BuildAModule DrupalCon training, and early bird pricing (save $65!) is available until March 29th. You can read more about the training here, but here's the basics:

  • Get access to a bunch of skilled and friendly Drupal trainers all day to get questions answered
  • Get 4 months of BuildAModule access FREE (that's a value of $116)
  • Work at your own pace and focus on material that's just right for where you are.

Register now!

Learn more about the BuildAModule story at DrupalCon

Just to put a bug in your ear, I'll be presenting a session at DrupalCon called "Powering a Lean Startup With Drupal", in which I'll be talking about some of the principles behind a series of career shifts that lead me to create BuildAModule. I'll also talk about some of the tools and techniques I've used to stay sane and keep motivation up, and how Drupal factors into all of that. If you're interested, be sure to mark it on your schedule as soon as it's slotted for a time. If you're still on the fence about coming to DrupalCon, let me just say that the connections you make there will more than make up for the costs, I guarantee it.

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

How to enable a custom view mode and test it out - 2:06

Now that we have our custom view mode, in this video we enable it for our field display and do some re-ordering of fields to make sure it's really working.

How to hide the 'submitted by' information and node title by setting a Display Suite layout - 2:09

Even though that 'submitted by' line gives us some great information about a node, it usually bugs designers to no end. In this video we show you how easy it is to hide this content per content type simply by turning on a Display Suite layout.

How to add a field with custom content to a view mode with Display Suite - 1:43

Something that Display Suite, Panels and Views make relatively easy is injecting custom content into a node display. Here we look at Display Suite's answer to this problem, which is adding a custom code field.

How to choose an image style for a particular context - 1:48

We've already talked about the importance of understanding what context you're configuring for, and in this video we get to anchor that concept by looking at how we decide which image style is right for our particular use case.

(FREE!) When to create a new image style and how to name it - 2:28

In the last video we figured out that it makes more sense to create a new image style for this particular context than re-use an existing one, but what do we name it? In this video we talk about how to sustainably name your image styles, and this includes some important ideas for naming configuration in general.

Creating a backup and nice work (Backup 4) - 0:38

Now that we've made it this far, it's time to back up our work and give ourselves some props. Way to go!

How to display content in a sidebar within the content region using Display Suite - 3:36

As we've already discussed, there's two ways we can display content in a sidebar using Display Suite. In this video we look at the first, which involves using a Display Suite layout and creating regions within our content regions. It sounds confusing at first, but we'll use a similar approach when we start talking about Panels and between the two examples you'll be able to wrap your mind around it, no problem.

(FREE!) How the 'region to block' feature works and what we mean by 'region' - 1:43

The 'region to block' feature of Display Suite is pretty powerful. It gives us the ability to create a region within a region and - here's the confusing kicker - display it within a different theme region. We spend a little time in this video helping to tease out the difference between a theme-based region and a Display Suite layout region, which should help keep confusion to a minimum moving forward.

How to display fields in blocks that can be enabled in theme regions using Display Suite - 6:10

After talking conceptually about the 'region to block' feature, here we put it into action and enable our block. It's pretty cool seeing this work.

Removing the block title, label and shrinking our image style - 1:56

After getting our content to display in the theme sidebar region, we saw that there were a few little bits to clean up with its display. In this video we knock those out like Billy the Kid in a shooting gallery.

March 12th, 2013

Come to our DrupalCon Training!

We'll be doing a training this year at DrupalCon, and it will be pretty dang awesome. We'll have numerous skilled trainers, you'll get 4 months of BuildAModule free, and of course you'll learn a ton. The registration page isn't up yet, but if you're interested, be sure to save May 20th as training day.

Get free access on March 15th!

For the Drupal Global Training Day, we're giving away free access to BuildAModule. Just go to this page sometime that day to claim a free 24-hour pass. We'll open it up a bit before and after so you don't have to worry about what time zone you're in.

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

How to add a fivestar field and configure voting tags - 4:04

Since our content type is going to need several fivestar fields, we're also going to need to configure some extra 'voting tags'. In this video we talk about the reasoning behind this step and make it happen.

Adding our additional fivestar fields and why site building can sometimes feel tedious - 4:37

As we set up our additional fivestar fields, you might start to feel a bit like a click-monkey. This is a feeling you're going to run into more and more as you build your site building skills. To combat this, it helps to step back and remind ourselves about the power we wield through our sometimes repetitive clicky tasks.

How to put field labels inline and hide the text below a fivestar rating - 2:43

In this video we do a couple configuration ninja tricks to get our fivestart rating field looking right.

Creating a backup and why things are going to start getting interesting (Backup 3) - 1:07

Up until this point we haven't had a lot of choices for how we go about setting things up (besides of course our question about how to split up content into different content types). Now that all changes, and in this video we talk about how.

(FREE!) An overview of the two methods to group fields in a display: view modes and the views module - 3:23

Before we get into the practical implementation of the various methods for positioning and displaying specific fields on a page, we're going to do a quick overview of the methods so you know what we're about to get into.

(FREE!) The 4 more common methods of positioning content on a page - 2:26

This is a pretty important video to watch if you're just starting to figure out how to lay out information on your site. Here we give you a quick overview of 4 of the most common methods for positioning content once we have it grouped into the fields that we want to display.

Quick recap of the 4 methods of positioning content - 0:58

If the previous video seemed a bit too long or you need a refresher for what we're going to be tackling in our next videos, this video should do the trick.

How to choose the correct view mode for a particular context - 3:16

We're going to be bumping into the idea of 'context' numerous times throughout this series. Most of the time, what we mean is a place or group of places where the conditions are similar enough that we can safely re-use configuration like a view mode, an image style or view. In this video, we talk about the idea of context in a bit more detail and how it relates to view modes.

Overview of the Display Suite modules and which ones we should enable - 2:33

As we start to dive into the awesome Display Suite, we take a look at the numerous modules that come bundled in the Display Suite package and enable that ones we'll be using throughout this series.

How to enable editing view modes and adding a custom view mode with Display Suite - 2:07

One of the hugely useful features of Display Suite is that it gives us the ability to edit our view modes and add new ones. In this video we show you how to enable the manipulation of a view mode and we add a custom view mode for our sidebar product display.

March 5th, 2013

Conduct a Mentored Training for Drupal Global Training Days!

The next Drupal Global Training Day is March 15th, and you, too, can help get the world up to speed with Drupal. We offer our Mentored Training model and curriculum absolutely free. They've been conducted over a dozen times in numerous countries with generally amazing success. If you're interested, see the Mentored Training page and we'll get you hooked up.

Free 24-hour access on March 15th

Another way we're supporting the Global Training Day is to offer free access to our entire collection of 840+ video on BuildAModule for free. Just go to this page on March 15th to claim access.

Like us on Faceboook

We like you, so maybe like us back?

Come to DrupalCamp Phoenix

I'm going to be speaking at DrupalCamp Phoenix. If you're able to make a spontaneous call on what you do this weekend, consider joining me! There's a bunch of awesome sessions, some of the camp will be outside, and if it's anything like last year's, it will be beautiful weather with a bunch of great people.

And finally, 10 NEW videos added in "Advanced Site Building in Drupal 7"

(FREE!) How to determine when to split up content into two content types - 1:56

Sometimes it can be tricky figuring out how to split up content into various fields and content types. In this video we address why this is so tricky, and lay down some good rules to help you figure out the best route to take based on your project.

(FREE!) How to set sane default publishing settings for a content type - 3:43

In our previous site building series (Build Your First Drupal 7 Web Site) we talk a bit about publishing options, but in this video we give you condensed overview of how to reasonably set these in a way that makes sense both for development and for when you go live.

Why you would want to share existing fields between content types - 1:36

When you add a field to a content type, do you use an existing field if you can, or create a new one each time? In this video we talk about the reasons to use each approach and the advantages of sharing fields between content types.

How to set up an image field and why to use individual folders for media fields - 4:35

There's a whole slew of options when we add an image field to our content type, and in this video we discuss the role of each setting and why we might want to set up individual directories for each instance of an image field.

How to choose a good, basic URL scheme and adding our first product - 3:05

We're not going to set up our URL rewrite rules just yet, but as we go through the process of adding our first node, it's clear that we'll need to address that at some point. Here we talk briefly about basic SEO strategy and paths, but this is something we'll be diving into deeper in future videos.

About the special role of the first created user (user 1) - 1:26

When we installed Drupal initially, it set us up with the the first user. This user - lovingly called 'user 1' among Drupal veterans - has some special powers. In this video we talk about these and why it makes sense to use a separate, less powerful account when performing tasks on your site that don't need superpowers.

Setting up our "review" content type - 1:39

Our next logical step in building out our site is to set up the "review" content type, and in this video that's exactly what we do.

How to install module depencies and installing the Entity Reference module - 2:39

To set up an entity reference field, we'll need a few modules. Through Drush we can install and enable all these modules in one fell swoop, so in this video we talk about the advantages of going that route, but also show you what you need to get the modules set up without Drush.

The difference between a field and a field instance, and setting up an entity reference field - 2:19

During the process of setting up our entity reference field, it looks like we have to choose the same settings in two different forms. What gives? We explain why this seemingly redundant process makes sense in this video.

About the Fivestar and Voting API modules - 1:44

To complete the build out of our review content type, we're going to need some stars. In this video, we talk about the Voting API, which provides a foundation for numerous voting modules, and the Fivestar module, which is going to give us our beautiful 10-star rating system.

February 26th, 2013

Do you want to hear me speak at DrupalCon?

If you're interested in hearing me speak, the DrupalCon organizers have asked for intelligent comments on the talk proposals. If you're going to be heading to DrupalCon, and either of these talks sound up your alley, please add a comment on the DrupalCon site by clicking the links:

Powering a Lean Startup With Drupal - In this session I'll be talking about how you can leverage Drupal to build up the resources you need to launch a startup. I draw from my own experiences moving from employeeship to freelancing to running BuildAModule, and so if you're interested in a bit of backstory on BuildAModule and what ideas you might be able to apply to your own project, post a comment!

Laying it All Out With Panels, Display Suite, Views and Panels - An hour session isn't long enough to cover all of these awesome modules fully, but in this session I'll talk about how they overlap and some specific ways to apply each one to various layout problems. This is some of the best of what the "Advanced Site Building" video series is going to cover in the upcoming months. If you're interested, please leave a comment!

 

10 New Advanced Drupal Site Building Videos!

How to use the Coffee module

The Coffee module is a nice, quick way to rapidly navigate to any menu page in Drupal using just a couple keystrokes. We're going to use it throughout this series, so here we install it and give you a quick tour.

How the Navigate module works

Even though we're not going to use it in this video series, Navigate is still a useful module that bundles several features of various administration modules together. In this video we give a quick tour of its features.

How the Backup and Migrate module works and creating our first backup (Backup 1)

Creating regular backups is essential during development and once your site goes live. The Backup and Migrate module helps you do this quickly and reliably. In this video we talk a bit about how the module works and get it installed. The 'Backup 1' in the title of this video indicates that you can restore from the first backup in the resource pack to begin from this video in the series.

How to restore a Backup and Migrate backup

Now that we have our first backup, it's time to give it a test t make sure we know it's working properly. This will also show you how to restore a backup if you begin mid-way through this video series.

How Backup and Migrate works with cron and cache tables

We just created a backup using the default Backup and Migrate settings, but in this video we talk a little bit about what's going on behind the scenes and how we can created regular backups by using a cron job.

How the Module Filter module works

At some point, your module listing page is going to get ugly and really difficult to scan. The Module Filter module enables you to quickly narrow down the types of modules that are listed, and it also adds some utilities for making sure you don't accidentally turn on and off modules.

How the Module Instructions module works

Modules typically come with a useful README file in the module directory, but because it's hidden away in the directory, it's not always the first place you look when getting help. The Module Instructions module reveals links to it on the module page, making it much more accessible, and in this video we look at how it works.

About the Admin module and why we're waiting to install it

Since we're on the subject of useful administration modules, it makes sense to mention a popular additional called Admin. We'll be revisiting Admin when we start digging into working with Context later on, but for now we'll explain why we're satisfied with the Administration Menu module and Coffee for now.

How to set up some basic visual branding

Before jumping into site building a project, it helps to set up a little branding so you know what site you're working on (imaging juggling a dozen projects at a time and they all look the same) and to give it some of the feel that the final product will have. In this video we upload a custom logo and set a grey color scheme. Easy peasy!

A quick summary of our work and backing up (Backup 2)

Having already mentioned how important it is to make regular backups, we're putting our advice into practice while also giving you a way to jump into the series from this point without rolling through all the configuration manually up to this point.

February 12th, 2013

This week we roll out the first batch of videos in our "Advanced Site Building for Drupal 7" collection. These videos address the growing importance of the 'site builder' in Drupal site development, what administration tools can help speed up the building process, and how we can quickly set up a prototype site on our local machine. There will be more to come, but if these videos don't get you excited about the power of site building, then ... well, try watching them again on double-speed.

Welcome to "Advanced Site Building"

In this video, we give a quick introduction to the new video series and describe the set of modules we'll be covering, including Panels, Display Suite, Views, Feeds, a slew of administrative tools and more.

About our project and how project roles work

In this video series we build a practical Drupal site for a company called GiftOfGeek, one of those businesses we all wish we worked at that specializes in geeky products like USB-powered phosphorescent Zen gardens. We also take a look at how tasks are typically split across a web team.

What a "site builder" is and the powerful tools they work with

Throughout this series, we'll be focusing on the role of 'site builder'. In this video we explain where that role begins and ends, and the kinds of tools they use to get their work done.

What wireframes are and where to find them in our resource pack

If you talk to anyone who's had to work with clients to build a web site, they'll tell you how dangerous it is to start with a design. Instead, if you distill the major informational components into a black and white 'wireframe', you give the client a sense of what goes where, without issues like colors and padding getting in the way. In this series we begin with some wireframes, and this video shows you where to find them.

Identifying the components in our blog home page wireframe

The first wireframe we look at is our blog home page. Although it's unassuming and seemingly fairly simple, it touches on a number of techniques and Drupal modules that we'll have to understand in order to make it happen. In this video we discuss the various components of the page briefly and link them up with the modules that will help us build it.

Reviewing our blog post and review page wireframes

Our client site is focusing on two major features: a blog and product reviews, and now that we're hopefully getting into our wireframe groove, we wrap up by looking at our blog post and review page wireframes. These wireframes will set a good foundation for us to explore some different ways of laying out content as we work through this series.

About our step-by-step approach

Thinking about our project in terms of modules and tasks can get overwhelming. We're instead going to take a do-one-thing-at-a-time approach that works well in the real world as long as you don't have too many site building coworkers working on the same project. In this video we talk about that approach.

How to set up our Drupal installation with Acquia Dev Desktop

In previous videos we've talked about installing a default Drupal site with Acquia Dev Desktop, but we're also not ones for skipping steps. So in this video we set up our Drupal site exactly the way you're going to see it for the rest of the series.

About the administration modules we'll be using

Before we start building out our site, we're going to install a few modules to help make the building faster and easier. In this video we briefly talk about the modules we'll be installing and why.

How to install a module the traditional way and configure the Administration Menu module

Throughout this series, we're going to be installing a lot of modules. If you're new to Drupal, we're going to illustrate in this video the traditional way to install a module by downloading it and moving it to your module folder. But there's better ways, and we'll be talking about those next. In this video we also configure the Administration menu to replace our existing top-of-the-page menu with a slick drop-down.

How to install a module using Drush, and how we approach installing modules in this series

It's okay to be afraid of the command line, but at BuildAModule we've put together a series of videos that should help you get over that fear. The payoff is that you get to use Drush to speed up many time consuming tasks like installing modules. In this video we show you how you can shave a minute or so off of each module installation, and a bit about how to make sure Drush works properly with our Acquia Dev Desktop installation. From here on out, whenever we install a module, we're going to flash a screen up with information about the module so you can choose whatever method you're comfortable with to install it.

February 5th, 2013

Advanced Site Building Collection Announced!

In the coming weeks, we're going to begin releasing videos in our new upcoming collection, "Advanced Site Building". These videos are going to be jam-packed with practical techniques using some of Drupal's most challenging and powerful modules. As we focus on building a corporate site with a couple of key features, we'll look at several ways to lay out content on a page using these tools, exploring which tools are the best fit for different situations. We'll take it even further as we dive into importing existing content into a site, how to configure spam-catching tools, how to re-write virtually any content to prepare for theming and design. As we begin the process of building out our site, we'll also uncover numerous useful administration tools to allow you to build your site more rapidly.

Some of nearly 20 key modules we'll be covering include:

  • Views
  • Panels
  • Display Suite
  • Context
  • Views Slideshow
  • Feeds
  • Admin
  • Fivestar
  • Entity Reference
  • And lots, lots more!

This collection is being built as an answer to the many questions we get regularly about how to both use these tools and decide which tools are right for each context.

This week we're releasing a short introductory teaser to the series, and new videos will start being released to members over the next couple of weeks. Enjoy!

View the Advanced Site Building teaser

January 30th, 2013

New FREE PHP video of the week

The weaknesses of function-based coding, and what objects are in OOP

OOP makes sense in a number of ways, and in this video we talk a bit about how OOP improves on the traditional function-based model by capturing everything into objects.

Final PHP videos!

This week we're releasing the final 7 videos in the PHP Programming Basics collection. Woo hoo! I hope you've been enjoying this series as much as I enjoyed putting it together. If you've been following along as we go, these final videos will help you take what you've learned about functions, variables and code organization and apply it to Object Oriented Programming. We don't dive too deep, but we get our feet wet enough so that you'll know that OOP is something that you'll be able to take on without a problem when the need arises.

We'll be announcing our next video series in the coming weeks, so stay tuned!

Demonstration of our new object oriented CRUD code

As per usual, before we dive into our code improvements, we're going to take the new code for a spin. In this demonstration, you shouldn't see any changes in the way the code performs, but you'll see soon that the backend has undergone some changes.

How classes, methods, properties and constructors work

You already know what methods and properties are (they're just functions and variables), but in this video we put them into context with a couple other OOP constructs.

How instantiation works, and comparing our old render function to our new OOP one

In this video we talk about what happens when a new instance of a class is created, and look at mapping some of our original code to the updated OOP code.

How to use properties in a class

Properties are simply variables that belong to a class. In this video we talk about how to define and access them within a class.

What extending a class means

We're not going to dive deep into extending classes here, but no basic intro to OOP would be complete without mentioning how classes can be leveraged by other classes through a technique called 'extending'.

Congratulations on finishing PHP Programming Basics

A quick video to say thanks for watching and nice work!

January 22nd, 2013

Free NEW video of the week

What we've accomplished with our CMS, compared to other CMS's like Drupal

Before we dive into our last stretch of videos, we're going to talk briefly about what we've accomplished so far with our CMS - and it's been a lot! Even though we've added significant functionality to our site, we're also just scratching the surface when it comes to the features that a more mature CMS like Drupal has to offer.

A few new videos on what we've accomplished so far with our CMS

How this split file and database structure relates to Drupal

Everything we've done so far to build our custom CMS leads us straight to Drupal's doorstep. By splitting out some of our pages to use the database, and some to use files, we're mirroring exactly what's going on in Drupal behind the scenes. In this video we explain how.

Challenge your new PHP skills with these CMS enhancements

There's quite a few things we can do to improve our CMS, and in this video we talk about a few challenges that you should be able to tackle given the PHP skills that you've been building throughout this series.

Why there's no need to be scared of OOP (Object Oriented Programming)

Our last group of videos has to do with Object Oriented Programming, and for many who are new to coding, the concept can be a bit abstract and difficult to put into practice. But for the most part, OOP is just another way of looking at exactly what you've been doing so far with functions and variables, even though the components have different names.

January 15th, 2013

Summary of what we've accomplished, and a few challenges

In this video we do a quick wrap-up of the amazing progress you've been making when it comes to building out our custom CMS, and talk about a few things you can do to stretch your skillz.

How to set up a database table to store page data

In previous videos, we looked at saving information about users and products to the database. Now things get a little crazy, where we look at storing our pages in the database, too. Now that we have our front controller pattern in place, this is actually going to be pretty easy to do.

Demoing our page administration tools and adding our adding our first pages

Here we take a look out our page administration in action and give it a spin.

(FREE) How to load pages from both files and the database

Even though we now have the ability to serve up pages from the database, that might not be the ideal method in some cases where we have a lot of logic and would rather use an IDE to manipulate our pages. In this video we explore how we can get the best of both worlds.

How to convert file-based pages to database-based pages, and deciding which to convert

Knowing that we can serve some pages from the database, and some from files, we now have to decide which pages should go where.

January 9th, 2013

Why are we doing so much CRUD?!

So if you've been following along with the new video announcements over the last couple of months, it might sound like we're beating this CRUD concept into the ground. But, bear with me, because CRUD is really the foundational basis of any CMS and so it provides a great example to iterate through and create more and more refined versions of. Any PHP code written can be improved, and you really start to learn and hone your skills when you can stick with a single example for a while and continue to improve it. We're sticking with CRUD because so much of what you learn will be transferrable to coding for Drupal, and understanding what's going on under the hood.

This is the home stretch, we're almost ready to wrap this up and dive into a new collection. But, before we do there's still a few important concepts to explore.

New FREE PHP video of the week

How to create a generalized record listing function

The first step in building out our generalized CRUD system (aren't we done with CRUD yet?!) is creating a way to review our records, so in this step we take a tour of a record listing function we could use to display virtually any type of data just by passing it a few settings. Kind of cool!

New PHP videos on generalizing add, edit and delete forms

Overview of the functions in our generalized CRUD script

In this video we take a look at the functions that make up our generalized CRUD script.

How to build a generalized CRUD edit and add form function

After taking a look at the record display function, we peek at the function that handles rendering the add and edit forms.

How to build a generalized CRUD form validation function

No add and edit form function would be complete without a corresponding validation script. In this video, we walk through the validation code.

How to create a generalized CRUD form processing script

Once we have all the other pieces in place, we take all the data that we've gathered and validated and do something practical with it! This time, when we process the data, we'll do so in a way that we can use to handle nearly any other kind of data we need to insert into the database as well.

January 9th, 2013

After several months of releasing videos to our members, we've finally released the full PHP Programming Basics collection as a DVD and download for offline viewers on-the-go-learners and those that prefer tangible, possible disks to ethereal streaming bits.

We have a few weeks left before the full collection is completely released to members, and after that we'll be jumping into an awesome new collection!

PHP Programming Basics announcement - Click to view pricing page

January 1st, 2013

I just wanted to say thank you to everyone who's helped make this the best year yet for BuildAModule. We've seen some amazing uses of our video library out in the wild, and we've made some significant improvements to the site and additions to the library. Just a few highlights:

  • The BuildAModule library was used as a significant part of the curriculum for a university course
  • Numerous free trainings were delivered all over the world throughout the year, including the Philippines, Australia, Berkley and Sacramento, California and Iowa
  • Over 200 videos on learning important PHP skills were added (we now have over 800 videos!)
  • A faster, sleeker, more intuitive interface was launched for the site
  • We added site-wide licensing for universities and other large institutions

We've gotten tons of great feedback and suggestions over the course of the year from you, our viewers, and they have been much appreciated. We've incorporated a bunch of the most common requests into the new site's interface, and this next year we'll be tackling many of the video topics that have been requested. We have a great year planned, and look forward to your feedback along the way.

Have a great New Year! But just because it's a holiday doesn't mean we're skipping out on some new videos. :)

New FREE PHP video of the week

Why generalizing CRUD functionality makes so much sense

After looking at the differences between our product and user CRUD scripts and seeing a ton in common, it's clear that if we can capture the differences into a smaller package, that there's a lot we can re-use between them. In this short video we talk about why this makes a lot of sense.

New PHP videos on generalizing CRUD functionality

Comparing the code in our user and product CRUD scripts

In this video we look at the differences between our two CRUD scripts and see that there's actually a lot in common between them.

Reviewing changes in our product rendering code, and how the WHERE IN SQL syntax works

Now that we're pulling our products from the database, we need to update our code a bit, including using some new SQL syntax. We walk through those updates in this video.

Setting up the next steps and a demo of our generalized CRUD script

In this video, we verify that our updated, generalized CRUD forms work the same way as our previous code.

How to distill CRUD configuration options into an array

We've talked about using arrays to organize configuration or differences between implementations of scripts that have common functionality. In this video we walk through the aspects of our generalized CRUD code that are different from one implementation to another.

January 1st, 2013

I just wanted to say thank you to everyone who's helped make this the best year yet for BuildAModule. We've seen some amazing uses of our video library out in the wild, and we've made some significant improvements to the site and additions to the library. Just a few highlights:

  • The BuildAModule library was used as a significant part of the curriculum for a university course
  • Numerous free trainings were delivered all over the world throughout the year, including the Philippines, Australia, Berkley and Sacramento, California and Iowa
  • Over 200 videos on learning important PHP skills were added (we now have over 800 videos!)
  • A faster, sleeker, more intuitive interface was launched for the site
  • We added site-wide licensing for universities and other large institutions

We've gotten tons of great feedback and suggestions over the course of the year from you, our viewers, and they have been much appreciated. We've incorporated a bunch of the most common requests into the new site's interface, and this next year we'll be tackling many of the video topics that have been requested. We have a great year planned, and look forward to your feedback along the way.

Have a great New Year! But just because it's a holiday doesn't mean we're skipping out on some new videos. :)

New FREE PHP video of the week

Why generalizing CRUD functionality makes so much sense

After looking at the differences between our product and user CRUD scripts and seeing a ton in common, it's clear that if we can capture the differences into a smaller package, that there's a lot we can re-use between them. In this short video we talk about why this makes a lot of sense.

New PHP videos on generalizing CRUD functionality

Comparing the code in our user and product CRUD scripts

In this video we look at the differences between our two CRUD scripts and see that there's actually a lot in common between them.

Reviewing changes in our product rendering code, and how the WHERE IN SQL syntax works

Now that we're pulling our products from the database, we need to update our code a bit, including using some new SQL syntax. We walk through those updates in this video.

Setting up the next steps and a demo of our generalized CRUD script

In this video, we verify that our updated, generalized CRUD forms work the same way as our previous code.

How to distill CRUD configuration options into an array

We've talked about using arrays to organize configuration or differences between implementations of scripts that have common functionality. In this video we walk through the aspects of our generalized CRUD code that are different from one implementation to another.

Add to playlist

Add to , or

Add to new playlist:

Add to playlist
This is a member-only feature
But, it's easy to become a member

Add to cart:

Syndicate content

Loading...
Contact us

Below are the supported keyboard shortcuts for our video player.

space
Start / stop video
shift
Go to next video
shift
Go to previous video
Increase or decrease player speed by 20%
Skip ahead or go back by 15 seconds
1...9
Jump to a percentage (2 is 20%, for example)
f
Toggle full screen
Videos Pricing More Search
BuildAModule Logo Icon BuildAModule Logo Icon
Become a member!
$29
1 month
$156
6 months
10% off
$276
12 months
20% off
All memberships come with the following:
24 / 7 access to the entire 1800+ video library
An innovative video player with a rolling transcript
Extensive Drupal and cross-platform training
A thorough and thoughtful training style
Progress tracking
Take notes on specific video sections
Intuitive multi-user management
How many users?
user
Go solo with a single user, or give multiple team members access through one account and get discounts by bundling multiple users into a single membership.