Along the way, you (like me) might find that many of the sites you work on tend to have the same general sections. You’ll have an events section, some testimonials, a blog, or some other type of functionality that always turns out pretty much the same way. Or, let’s say you’re a member of a team of folks working on a specific project. You’re plugging away at a local copy of the site, updating a view so that you can correctly theme it, when you realize that none of the changes you just made to the view will translate to the site that everyone else is working on.
Enter Features. Features is a Drupal module that allows you to pack up specific chunks of functionality—content types, views, and so on—and export it as a custom module that you can then install on any site you want.
Let’s look at the first example: commonly built functionality. Many sites I’ve created over the years include some sort of events page. Each event has a date and time, a location, title, and description, as well as a link to register for the event or learn more at an external website. Once the content type was created and content was entered, you’d create a view that would populate the Event page, and maybe include a block display for the sidebar.
In order to create this section, you’d do each task separately, with each one taking anywhere from half an hour to several hours, depending on the complexity of the Event content type. With Features, you can create the task once, export it as ...