The Drupal community is hard at work delivering the next major release, Drupal 8. If you are already involved, your help is much appreciated. If not, but you would like to help with Drupal core development and are looking for a way to start, take a look at core mentoring hours. It's a great way for people to get involved, and there are several time slots each week that suit many people's schedules.
You are here
How do you build a feature that is going to work on any Drupal website? The question is more complex than it seems, and there is an important discussion going on around it in the Drupal community. It's playing out in a number of different areas where smaller groups of developers seek to leverage features as a tool for sharing functionality, and this issue is going to have an impact on the way people think about building websites over time.
Building a feature using CRM Core profile is easy. In this demo we will demonstrate the step-by-step instruction on how to do it. Please note this is a follow up and more in-depth guide to http://www.trellon.com/content/blog/building-crm-core-feature.
What are we building
In this demo we will be building an “online petition” feature that allows a website to:
CRM Core is a tool for managing contact information within a Drupal website. It was designed to act as a platform, where developers can add small, useful applications on top of the core components to handle specific use-cases. It was also designed to be highly interoperable with Drupal so that people without any specialized programming knowledge could work with it.
The Features module allows you to create and manage Drupal features, sets of components that can be exported and imported: content types, views, contexts, etc. Using Features allows you to group your favorite Drupal components together in a coherent feature and recreate it on another Drupal website. You can read more about the Features module here.
A Drupal site is composed of many parts, often similar to a puzzle. Just like a puzzle, you need to be able to control the pieces at any time. In the software development world, where software exists in the form of source code files, this is handled by a version-control system (such as CVS, Subversion or git - naming just the ones we use for Trellon). By using a VCS, you're able to check-in and check-out all the PHP files that make up Drupal and all the contrib and custom-made modules that compose a site.