Five reasons code-driven development and Features are good for you
A preview of the Nuvole pre-conference training in Chicago
With the DrupalCon Chicago 2011 registrations going at full speed (early bird deadline expires tomorrow, hurry up!) we are receiving questions from people who are considering to sign-up for the Code-driven Development: Use Features Effectively pre-conference training by Nuvole.
As a general answer, here are 5 benefits in adopting a code-driven development workflow. The topics below are discussed in our relevant blog posts too and all will be covered at length, with practical examples, in our DrupalCon training.
1: Keeping track of all changes
When did a certain bit of configuration (such as a variable, or the allowed values for a content type) change? Was it a side-effect of something else or an intended modification? When all your site configuration is in code instead of being buried in a huge SQL dump, and you couple it with a proper version management tool, comparing site revisions is easy and effective.
2: Working in a distributed team
Why can't I work on setting up all content types and views for the Blog section of a website while someone else does the same for News? With no SQL dumps around, developers are free to experiment and restart from scratch without damaging each other's work. And they can work in a modular way on the same project in parallel (thus speeding up the development pace), even from separate countries!
3: Reusing components and settings
Isn't this site feature you are developing so similar to what you did in a previous project? Or this complex and tedious module configuration exactly the same across all your projects, so that you have resorted to write down the steps and repeat them manually? With a code-driven approach, replicating settings is just a matter of reusing the same, modular, extensible, components, avoiding tedious and error-prone manual work.
4: Updating production sites cleanly
What if a client asks for a complex modification on a production site? Do you need to take the site offline, dump the database for backup, repeat manually all the changes you had tested with an older dump and then finally put the site back online? Code-driven development allows you to use the same mechanism employed by the standard Drupal module updates, with virtually no downtime needed and a much cleaner log of changes.
5: Following the Drupal future
Worried that code-driven development could not be in the direction Drupal is taking? No need to worry! Some patches by the good guys at Development Seed made (or are making) their way into Drupal 7 and beyond, enabling a better support for a code-driven workflow out of the box. So code-driven development is not just cool, but future-proof too!
The DrupalCon training will be hands-on and will follow the model of our standard code-driven development training, with short presentations and practical assignments based on concrete examples, monitored by the Nuvole team.
Code-driven development is an approach that works in our case and addresses our needs; though, you may have different needs and thus find beneficial only selected portions of the workflow, for example; this is fine too!
Tags: Code Driven DevelopmentDrupal PlanetTraining