Last updated 7 October 2011. Created on 7 October 2011.
Edited by nedjo. Log in to edit this page.

Before digging into the process of building a new Debut feature, there are some questions that will help define what type of feature or features are needed.

One feature or multiple ones?

An important decision as you're planning a Debut feature is to determine whether what you want to produce truly works as a single feature or whether in fact it should be structured as multiple features, enhancing and perhaps depending on others.

Take for example a mapping feature. Say you want users to be able to tag content with geographic terms that then are mapped to locational data, producing maps of recent content. To produce this, you'll need OpenLayers map presets, a geographic field for taxonomy terms, a tags vocabulary, a map view, and some contexts. One feature or many?

To answer the question, we look at the individual components and ask, is this specific to this feature, or is it something that other features might really want to have as well? Some of it - the map view and contexts, for example - look very tied to the specific use case of mapping by taxonomy term. Ditto for the field that's been added to taxonomy terms--we might want a geographic field added to another entity type (e.g., users, so that we can map user locations), but here we're adding a field to a particular vocabulary.

But what about an OpenLayers map preset? This might well be something that we want to use across a site--not just for taxonomy-based mapping but also, say, for user or node-based locations. So, provisionally, it looks at first glance like this set of functionality would break into at least two Debut features--a geographic one that might be debut_location, providing some general geographic components, and a specific one requiring the general one, maybe debut_geotagging.

Relation to existing Debut features

A related question to work through is whether and how your work relates to existing Debut features.

Is your work generic enough that it can be added in such a way that it both (a) covers only one distinct area of functionality, and thus makes sense as a single feature and (b) won't require any other Debut features? Or is it necessarily built on an existing Debut feature? Are there any pieces of what you're doing that seem to belong as enhancements to an existing Debut feature rather than a new project?

A new Debut standard?

Are you selecting a new standard solution? For example, does your implementation depend on a specific Drupal module or external software that is one choice among many?

If so, it's important to spend time considering, explaining, and justifying the choice. For example, there in mapping there are at least three current options for Drupal developers: Gmap, OpenLayers, and Leaflet. To ensure site coherence, the Debut spec requires that a single solution be selected as the Debut standard. Which of these best fits the criteria captured in the Debut spec? Are those criteria sufficient, or should new ones be added?

Looking for support? Visit the forums, or join #drupal-support in IRC.