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 that you’re one 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, etc.—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. My site, and many other sites I’ve done, usually 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 create a View that will populate the Events page, and maybe include a block display for the sidebar.
In order to create this section, you do each task separately, with each task taking anywhere from half an hour to several, depending on the complexity. With Features, you can create it once, export it as a feature, and install ...