In this Lullabot Module Monday article, we learn about the Mass Password Reset module. It's a question we all ask ourselves: What would I do if my site or server was compromised? Security professionals have loads of checklists to follow, and experienced server administrators drill for those moments. As we saw when Twitter.com was compromised by hackers, "Reset everyone's passwords, right away!" is almost always one of the important steps. If you run a Drupal site, that particular step can be frustrating. Resetting user passwords one by one is incredibly time consuming, and there's no way to do it for everyone in one fell swoop. At least, there wasn't until the release of the Mass Password Reset module.
Additional resources
In this Lullabot Module Monday lesson we take a look at the Backup and Migrate module. Few things are more terrifying than the realization that a server hiccup has wiped out a web site, or a hasty change deployed to the live site has nuked important content. Fortunately, there's a module that can help. Backup and Migrate offers site builders a host of options for manually and automatically backing up their sites' databases, and integrates with third-party backup services, to boot!
Additional resources
In this Lullabot Module Monday lesson we look at the Word Link module. It's a simple problem, but a tricky one: How can you ensure that special words and phrases, like your company's name or certain trademarks, are always linked to an appropriate web site when they're used in the text of an article? The easy answer is Word Link module: it lets you set up a custom glossary of terms that should be turned into links whenever the appear in text.
Additional resources
In this Lullabot Module Monday lesson we walk through the useful Menu Position module. It's a word that can strike fear into the heart of the bravest site builder: Breadcrumbs. Manage them well, and you'll give visitors a helpful visual indicator of where they're at in your site. Miss a detail, and the weird inconsistencies will be more confusing than no breadcrumbs at all. The challenges stem from Drupal's "flat hierarchy" -- by default, almost all pages (including every node you create) live just beneath the home page itself in an undifferentiated pool of content. All of the visual cues it sends to visitors (breadcrumb trails, highlighted parent items in the navigation menus, and so on) start with that assumption until you override them. That's where the Menu Position module helps out. It lets you set up simple rules that tell Drupal where each node type should go in the site's hierarchy, then handles all of the frustrating details automatically.
Additional resources
The Entity Views Attachment (EVA) module extends the Views module to allow you to attach a view to any entities on your site. Views on its own will let you create a page for your view, with its own URL, and it also lets you attach multiple views to the same Views page, but it doesn't let you do something like attach a view to a node, or a user. This lesson walks through a simple example of creating a basic view listing published articles on a site, and then using EVA to attach that view to user profiles, and making sure that we only list the published articles for that user, using a contextual filter.
Additional resources
The Views Bulk Operations (VBO) module is a great extension for the Views module, which allows you to add bulk operation checkboxes and actions to any view. You often see bulk operations on various Drupal core administration pages, like the content administration screen, which lets you select multiple pieces of content, and then perform an action, like publishing or deleting, on all items at the same time. VBO lets you add this to your administrative screens, which allows you to create very customized reports that also have time-saving actions available to them as well.
Additional resources
Deploying Your Code
FreeIn this lesson we will take the code we have committed to our remote repository and manually push it to our production server. We will cover how to setup deployments on beanstalkapp.com and the some of the advantages of using a tool like this.
A question we are commonly asked is: how did your production environment recognize the new feature?
Answer: Reverting a feature reverts it back to what is in code. So by updating the code it always looks to the code so there is no need to revert it. You usually revert a feature if you have made changes that are stored in the database and you need it to look back to the code as your database changes are not what you wanted or are wrong. If the changes you made in the database are what you want, then you update/recreate the feature.
In this lesson, we will cover the basics of getting code into version control using the Mac app "Tower" and then making the first commit and pushing it to the remote repository we will setup on beanstalkapp.com.
In this lesson we will cover using Lightbox2 and Colorbox with content in your site. Taking a lightbox beyond just enlarging images, we will demonstrate displaying nodes and using Views with a lightbox.
In this lesson we will use both the Lightbox2 and Colorbox modules in actual real world uses. We will demonstrate how to use each module or helper modules to use with images, create slideshows and galleries.
Lightboxes and Drupal 7
CourseIn this lesson, we will take a look at the Colorbox module and its configuration page. We also will discuss some other helper modules that work great with Colorbox. Later in the series, we will demonstrate some uses of Colorbox and techniques to make the most of it.
Additional resources
Modules Needed
External
In this lesson we will cover the configuration pages for the Lightbox2 module. This module offers a ton of options and the configuration page can be daunting. Later in the series, as we get into using Lightbox2, we will demonstrate how to apply some of these configurations.
Additional resources
Modules Needed
A Lightbox brings content to the user's attention.
To decide which Lightbox module you should use for your Drupal project, think about what you will use it for. Do you need to handle images and video? HTML? Integration with other modules? Various browsers?
Once you choose one to meet your needs, we’ll show you how to go about using it.
Additional resources
In this lesson, we’ll take a look at how to modify the HTML output from Views, explore some of the default templates that Views provides, and learn about the various permutations of names we can give our template files to override output for everything from a large set of Views to a single field on a single View. We’ll also discuss the difference between displays, styles, rows, and fields when it comes to theming a View.
Area handlers are used in the header, footer and empty text areas when creating a View. In this lesson, we’ll walk through creating our own area handler that can be placed in the footer to provide a summary of all the rows in our View.
So, we now have all of our CSS and HTML in our sub-theme. In this lesson, we've moved over the remaining files that our theme will need, like the images folder, and our node template files. The last step to finish this theme up, is to modify our CSS to take advantage of the responsive framework we already have in place. To do that we'll:
- Review the theme files
- Look at our default CSS file
- See the responsive changes
We're in the home stretch with our theme, so let's make our CSS responsive and wrap things up.
You can download the final Ninesixty Robots Omega theme as a regular project from Drupal.org.
Additional resources
You can download the final Ninesixty Robots Omega theme as a regular project from Drupal.org.
In this lesson we have fast-forwarded some by completing the conversion of our old page.tpl.php into the new Omage theme. We'll take a look at the work we've done to get to this point, and then deal with what looks like could be a tricky HTML wrapper problem by creating a new zone for our theme, and configuring it to meet our needs. So, we'll:
- Review templates and variables
- Add a new zone to our theme
- Configure our regions with the new zone
This is where we can really see how to blend the usefulness of code and configuration in Omega, to accomplish our task in a very simple way.
Additional resources
You can download the final Ninesixty Robots Omega theme as a regular project from Drupal.org.
We have a custom template file that has the HTML that we want, but not all of variables are coming through yet, and instead we are getting "Undefined variable" errors. In this lesson we're going to take care of that, as well as making sure our custom variables from the original 960 Robots get moved over as well. Omega has its own best practices around adding preprocess and process functions to a sub-theme, so we'll walk through what Omega expects, and how to use the files and examples that Omega is providing for us. So we're going to:
- Look at the Omega best practices
- Create a process include file
- Add our region variables
- Add our custom variable from 960 Robots
Additional resources
You can download the final Ninesixty Robots Omega theme as a regular project from Drupal.org.