 readme  id readmetxt v 1125 20100705 142833 yhahn exp features 1x for drupal 6x the features module enables the capture and management of features in drupal a feature is a collection of drupal entities which taken together satisfy a certain usecase features provides a ui and api for taking different site building components from modules with exportables and bundling them together in a single feature module a feature module is like any other drupal module except that it declares its components eg views contexts cck fields etc in its info file so that it can be checked updated or reverted programmatically examples of features might be a blog a pressroom an image gallery an ecommerce tshirt store installation features can be installed like any other drupal module place it in the modules directory for your site and enable it on the admin build modules page to take full advantage of some of the workflow benefits provided by features you should install drush 1 basic usage features is geared toward usage by developers and site builders it is not intended to be used by the general audience of your drupal site features provides tools for accomplishing two important tasks task 1 export features you can build features in drupal by using site building tools that are supported see a short list under the compatibility section once you ve built and configured functionality on a site you can export it into a feature module by using the feature create page at admin build features create task 2 manage features the features module also provides a way to manage features through a more targeted interface than admin build modules the interface at admin build features shows you only feature modules and will also inform you if any of their components have been overridden if this is the case you can also recreate features to bring the module code up to date with any changes that have occurred in the database including custom code and adding to your feature once you ve exported your feature you will see that you have several files myfeatureinfo myfeaturemodule myfeature inc you can add custom code eg custom hook implementations other functionality etc to your feature in myfeaturemodule as you would with any other module do not change or add to any of the features inc files unless you know what you are doing these files are written to by features on updates so any custom changes may be overwritten using features to manage development because features provides a centralized way to manage exportable components and write them to code it can be used during development in conjunction with a version control like svn or git as a way to manage changes between development staging and production sites an example workflow for a developer using features is to 1 make configuration changes to a feature on her local development site 2 update her local feature codebase using drush featuresupdate 3 commit those changes using svn commit 4 roll out her changes to the development site codebase by running svn update on the server other collaborating developers can also get her changes with svn update 5 reverting any configuration on the staging site to match the updated codebase by running drush featuresrevert 6 rinse repeat features also provides integration with the diff 3 module if enabled to show differences between configuration in the database and that in code for site builders interested in using features for development enabling the diff module and reading apitxt for more details on the inner workings of features is highly recommended drush usage features provides several useful drush commands drush features list all the available features on your site and their status drush featuresexport feature name component list write a new feature in code containing the components listed drush featuresupdate feature name update the code of an existing feature to include any overrides changes in your database eg a new view drush featuresrevert feature name revert the components of a feature in your site s database to the state described in your feature module s defaults drush featuresdiff feature name show a diff between a feature s database components and those in code requires the diff module additional commands and options can be found using drush help compatibility features provides integration for the following exportables ctools export api implementers context spaces boxes strongarm page manager imagecache views other contributed modules 2 features also provides fauxexportable functionality for the following drupal core and contrib components cck fields cck fieldgroups content types input filters user roles permissions custom menus and menu links taxonomy vocabularies currently in development for developers please read apitxt for more information about the concepts and integration points in the features module maintainers yhahn young hahn jmiccolis jeff miccolis 1 http drupalorg project drush 2 http drupalorg taxonomy term 11478  