Transcript

Rafael CaceresVinicius Freitas

Drupal 7 direto das trincheiras

Escolha seu exercitoDecida quem vai lutar nesa batalha

● Fisicamente juntas ○ Insourcing○ Outsourcing onsite○ Joint-venture onsite

● Fisicamente separadas○ Outsourcing ○ Insourcing offsite○ Joint-venture offsite○ Pode ser onshore ou offshore

Tipos de Equipe

O Pelotão

Ux DesignersVisual DesignersFront end engineersDevelopersTestersSysadminGerente de Projetos (ou ScrumMaster)Cliente (PO, Stakeholders)

Todo mundo é general (e soldado)

Grandes equipes costumam ser equipes de amigosAuto gerenciaveiesEquipes grandes, problemas grandesTamanho entre 3 - 7 pessoasEspecialista em uma coisa só, é amador em todo o resto (Akita)

Defina a estratégia(ou "Traçando o Plano")

Escolha um método

Desenvolvimento go horseDesenvolvimento cascatãoDesenvolvimento ÁgilAgile UX

Gestão e comunicação

Quadro branco, caneta e post itsBasecamp (+ wallsome)PivotalJira (GreenHopper)Tantos outros...

Tenha uma Maquete do terreno

Importante para ajudar na definição da estratégia de arquitetura de modulos AxureBalsamiq mockupMockflowMocking bird

Não abandone seus soldados

comunique-se sempre

Troca de idéias...

SkypeGtalk (hangout)CampfireHipchatVox.io...

Vá alem...

Deixe o bugtracker armado até os dentes Awesome screenshot (chrome)Jing (publicação autmotica screencast.com)Join.me (screenshare com controle remoto)

Colaboração (ão, ão, ão)

Open AtriumPodioBasecamp

Defina a taticavamos pra batalha!

Proteja a retaguardasério!

Controle de Versão

CVS (o vovô)Git Subversion (svn)Mercurial

Drupal usa GITe a dropit também

Controle de versão na Cloud

Beanstalk (git, svn)Github (git :P) Bitbucket (mercurial, git)Assembla (svn, git, mercurial)Codebase (git, mercurial, svn)

Usando o GIT

Crie Branches

Crie branches$ git checkout -b bugfix002Modifique o codigo$ git push Volte para o branch principal$ git checkout masterFaça a junção$ git merge bugfix002

Armas em punhohora do ataque

O problema do Drupal

Legal, meu código está versionado, coisa linda! Mas e o conteúdo? #comofazMas e as configurações no banco? #comofaz++E o layout? #comofaz+++

Features

Exporte (tudo para código)

ctoolsfeatures (uma feature é um módulo)strongarm (integra com features)hook_update_N

Criando uma feature

E o layout?

ContextPanelsBoxesBEAR

E o conteúdo?

Deploy moduleUUID moduleNode Export moduleMigrate module

Drush, seu fiel escudeiro!

drush dl viewsdrush en viewsdrush cc (all)drush arqdrush sql-dump sql-connectdrush updb (update.php)drush features updatedrush features-revert

Extensivel - Plugins! -drush make-drush deploy- module integration- padrão de integração Drupal com outros program

Configure

drush/examplesaliases.drush.rc

$aliases['dropit'] = array( 'uri' => 'dropit.lh', 'root' => '/var/www/dropit/web', 'db-url' => 'mysqli://user:senha@localhost/dropit', 'path-aliases' => array( '%files' => 'sites/default/files', ),);

Crie seus comandoshook_drush_command function drush_dgd_branch($name, $alias = '@self') { $teste = drush_invoke_process(drush_sitealias_get_record('@self'), 'sql-dump', array(), array('--result-file' => '../databases/' . $file)); foreach ($teste['log'] as $key => $log) { $messages = array('success', 'error', 'notice'); if(in_array($log['type'], $messages)) { drush_print_r($log); } } drush_op_system('git checkout -b' . $name);

}

Extenda

Reutilize (ou distribuições)

AcquiaOpen AtriumOpen PublishOpen PublicTatlerPressflowdrush make file

Preparando o terreno

DEV TESTE STAGE LIVE

Deployment

CapistranoBeanstalkSpringloops

Faça Alianças

Acquia dev cloudPantheonAtlassian

E agora, josé?

dá pra ganhar essa guerra? - tática e gerenciamentofuturo da batalha

- alianças são chavesnovidades por ai!

- Continuous Integration com Drupal- Drupal Mobile "Se eu estivesse começando o Drupal hoje, eu faria

para mobile primeiro" - Dries

Perguntas?

Obrigado!!

Rafael [email protected] Vinicius [email protected]


Top Related