gerenciamento de configuração com features e drush


o que são features
Uma feature é uma coleção de dados do Drupal que satisfaz um caso de uso. Essa é a intenção. Na prática, features é isso e também o melhor métodode exportar e gerenciar e distribuir configurações de uma instalação de Drupal.
do banco ao código
Quando uma feature é criada, configurações que normalmente existem somente no banco passam para o código.
baseada em componentes
- Componentes tem tipos
- Cada componente é um "exportável"
o que é drush
O melhor amigo do desenvolvedor e Drupal, drush é um command line tool para o Drupal, que permite fazer muito daquilo que é feito pela interface, por linha de comando.
criando uma feature
- Pela Interface
- Com Drush
instalando uma feature
analisando diferenças entre o estado da feature e o estado ativo
- Diff Module
recriando uma feature
- Pela interface
- Com Drush
Exportando variáveis de configuração com strongarm
Módulo Strongarm fornece um meio de exportar variáveis persistentes do Drupal core e COntrib módule em Features
exportando entidades
Módulo uuid fornece um identificador único universal para qualquer entidade.
Módulo UUID Features integra exporta entidades com features.
- File fields nao sao exportáveis e geram erros
- Features fica overriden a todo momento
helper function e exports
- Exporta entidade com uuid features
- Remova campos de referencia
- Remova campots de arquivo
- Coloque em exports/[node-type].inc
- implement hook_update_N, passando modulo e entity type
exportando papéis e permissões
- Roles e Permissions são dois componentes padrões de Features
analisando o código de uma feature
- .info file
- hooks
- componentes
- dependencias
avaliando ""exportabilidade"" de um módulo
- CTools
- Feature integration on issue queue
- Strongarm & Variables
- FIeld & Bundle settings
gerenciando features em times
- As vezes, sobrescrevemos ou perdemos configuração quando trabalhando em times
- utilize git diff pré commit de alterações em features
- utilize git diiff pós pull de alterações em features
- sincronize trabalho em features com demais membros do time
resolvendo conflitos entre features
Conflitos ocorrem quando duas ou mais features exportam o mesmo componente.
Resolução consite na separação do componente comum em uma terceira feature, qual se torna uma dependencia das atuais.

feature como ferramenta para desenvolvedores
https://github.com/Lullabot/lbdev/tree/master
Features
By Vinicius Freitas
Features
- 861