Desenvolvimento web com Drupal: o CMS e o framework

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite

    Desenvolvimento web com Drupal: o CMS e o framework - Presentation Transcript

    1. Desenvolvimento web com Drupal: o CMS e o framework Eriksen Costa Paixão eriksencosta@gmail.com Osasco, 29 de novembro de 2008
    2. Eriksen Costa Paixão ● Bacharelando em Análise de Sistemas pela Universidade de Ribeirão Preto (UNAERP) ● Desenvolvedor web ● Programador PHP há 5 anos ● Desenvolvedor Drupal e Symfony ● Atualmente trabalha com eriksencosta.wordpress.com grandes sistemas voltados a marketing eriksencosta@gmail.com ● Instrutor do curso PHP & www.linkedin.com/in/eriksencosta MySQL Web Developer na 4Linux drupal.org/user/215266
    3. O que veremos... ● História sobre o Drupal ● Quem usa ● Por que usam? ● Drupal 6 ● CMS ● Framework ● Novidades do Drupal 7
    4. Pode te ajudar a... ● Não reinventar a roda ● Contribuir com o projeto ● Decidir se vai de Drupal, Joomla, Plone...
    5. Drupal
    6. Drupal: o que é? ● CMS ● Framework ● Open source (GPL) ● Versão estável atual: Drupal 6
    7. Drupal: história
    8. Drupal: vantagens ● Comunidade ● Documentação ● Funcionalidades ● Extensibilidade ● Seguro ● Escalável ● Internacionalização ● Maduro
    9. Drupal: desvantagens ● Curva de aprendizado ● Documentação na maior parte em inglês (!?) ● Tudo vai para o banco de dados – Fica difícil manter histórico das configurações – Implantação de atualizações
    10. Quem usa?
    11. 4Linux - http://www.4linux.com.br
    12. Democratas - http://www.democratas.org.br
    13. Unicamp - http://www.unicamp.br
    14. Disney ABC Family - http://abcfamily.com
    15. Anistia Internacional - http://www.amnesty.org
    16. FastCompany - http://www.fastcompany.com
    17. MTV UK - http://www.mtv.co.uk
    18. OnSugar - http://onsugar.com
    19. Sony MyPlay - http://myplay.com
    20. Warner - http://www.wbr.com
    21. Além desses modestos nomes...
    22. Mercado
    23. Mercado: mundo ● Ecossistema em expansão ● Empresas altamente especializadas ● Projetos grandes
    24. Mercado: mundo ● Drupal como parte integrante do negócio – Acquia.com: suporte comercial (US$ 7 mi em investimento de risco) – PopSugar.com: redes sociais (US$ 15 mi) – NowPublic.com: jornalismo comunitário (US$ 12 mi) – Etribes.com: rede de blogs – ParentsClick.com: redes sociais
    25. Mercado: Brasil ● Poucos desenvolvedores ● 1 empresa especializada (que eu lembre) – Chuva Inc. (case Unicamp) ● Oportunidade ● Free-lancers e empresas – Software de ótima qualidade para PMGE – Produtividade
    26. O CMS
    27. O CMS
    28. O CMS ● Criar diferentes tipos de conteúdo ● Categorizar conteúdo ● Multi-sites ● Temas (layouts) prontos
    29. O CMS: plug and play
    30. O CMS: plug and play ● 2.100+ módulos ● Extendem as funcionalidades básicas do core – Mídia: vídeos, podcasts, galeria de fotos – Nuvem de tags – Integração com Google Maps – Content Relationship Management (CRM) – Calendário e inscrição de eventos – ...
    31. O CMS: drag n' drop
    32. O CMS: performance
    33. O CMS: performance ● Cache de páginas e blocos – Menos queries ao banco de dados – Reduz a carga no servidor – Tempo de resposta diminui
    34. O CMS: performance ● Economia de banda – Compressão de páginas – Otimização de CSS e JS – Só é necessário clicar para ativar! – Carregamento mais rápido nos browsers!
    35. O CMS: performance ● Otimização de CSS: caso 4Linux (D5) ● 21 arquivos CSS no total – 21 requisições HTTP – ~51 KB de CSS
    36. O CMS: performance ● Otimização de CSS e JS: caso 4Linux (D5) ● 20 arquivos agregados em 1 – 1 única requisição HTTP – ~41 KB de CSS – 24% de economia – Isso tudo apenas clicando em uma opção!
    37. O CMS: segurança
    38. O CMS: segurança ● Update status module – Notifica quando novas versões ou correções de segurança estão disponíveis ● Filtro de conteúdo – Anti-XSS ● Formulários – Anti-CRSF ● Checagem de força de senha
    39. O CMS: internacionalização
    40. O CMS: internacionalização ● Site em diversos idiomas em poucos cliques ● Suporte a idiomas RTL (right to left) ● Tradução de toda a interface – Locale module (core) + i18n (contrib) – Arquivos .pot ou tradução via interface admin
    41. O CMS: internacionalização ● Negociação do idioma do conteúdo e interface – Por prefixo na URL: example.com/pt-br – Através do subdomínio: pt-br.example.com – Preferência do usuário
    42. O framework
    43. O framework
    44. O framework: arquitetura
    45. O framework: node node title body author created date ...
    46. O framework: node node title body author created date ... article poll copyright choices results
    47. O framework: API ● API robusta ● Responsável pela extensibilidade ● Módulos podem prover APIs também
    48. O framework: hook system $permissions = module_invoke_all(‘perm’); Blog Contact function blog_perm() function contact_perm() { { return array(‘access return array(‘edit contact form’); own blog’); } }
    49. O framework: Forms API ● Quem gosta de trabalhar com forms? – Validar – Checar tipo – Condicionais – Segurança... ● Chega de...
    50. O framewok: Forms API (FAPI) ● Simples – Estimula reuso de código ● Funções de validação – AHAH – Pré-valida se o conteúdo corresponde ao seu form – Anti-CRSF – Formulários em vários passos simples ● Repopula sozinho
    51. O framewok: Forms API (FAPI)
    52. O framework: outras APIs ● Batch ● Database ● Javascript, AJAX, AHAH ● Localization ● Schema ● XML-RPC
    53. O framework: theming ● Camada de apresentação muito flexível ● Enjoou da cara do seu site? – Crie um tema novo e troque na interface admin – Geralmente não precisa alterar nenhuma outra configuração ● O designer nem precisa entender bem como o Drupal funciona
    54. Módulos
    55. Módulos: CCK ● Permite estender um tipo de conteúdo adicionando novos campos ● Ex: site de imobiliária, cadastro de node do tipo imóvel: – Quartos – Banheiro – Garagem
    56. Módulos: Views ● Permite criar lista de conteúdo através de uma interface bastante prática ● Possui API própria que permite outros módulos interagirem com o módulo adicionando novas opções para a sua interface
    57. Módulos: Panels ● Permite a criação de páginas em painéis diferentes com total controle do layout e de conteúdo (nodes, blocks e até views)
    58. Módulos: Webform ● Construtor de formulários – Formulários de contato – Pesquisas – Entrada para outros sistemas (CRM)
    59. Módulos: Flashvideo ● Inclui funcionalidade de upload de arquivo de vídeo (MPG, AVI...) para conversão à là YouTube – Requer ffmpeg – Não vem com player de vídeo ● JW FLV Media Player (GPL, € 30 a € 200) ● Flowplayer (GPL, US$ 95 ou US$ 355) ● OS FLV (GPL) ● Quem precisa do YouTube quando se tem banda =)
    60. Módulos: ImageCache e imagefield ● Permite a criação de ações que serão realizadas em cima de um upload de imagem – Quantas ações quiser – Tamanhos diferentes ● Widget CCK de upload de imagens
    61. Módulos: mais... ● Asset ● CAPTCHA ● Ubercart (e-commerce) ● OG Groups ● SEO Checklist ● XML Sitemaps ● ...
    62. Desenvolvimento
    63. Desenvolvimento: como é ● Pesquisa de módulos ● Boa parte do tempo é gasta com configuração dos módulos e com o templating ● Para sites mais sofisticados, o desenvolvedor deve entender o funcionamento de parte da API
    64. Desenvolvimento: dicas ● Use CCK e Views – Ajudam a mudar rapidamente os tipos de conteúdo – Desenvolvimento ágil – Prototipação ● Módulos Devel ● Aprenda a usar o (jurássico) CVS ● Documente seus passos
    65. Desenvolvimento: dicas ● Instale já em português: – O instalador fornece o link dos pacotes de tradução e da documentação sobre como fazer – Pacote de tradução em português em: http://drupal.org/project/pt-br ● Leia alguns cases no drupal.org: – NYObserver, Rake Magazine, IMA, 4Linux ● Peça ajuda – #IRC, fóruns do drupal.org ou drupal-br.org
    66. Desenvolvimento: dicas ● O código Drupal é muito limpo e organizado ● Consulte a API: – api.drupal.org ● Convenções de código do PEAR (PHP Extension and Application Repository) ● Seguir as convenções traz benefícios como segurança e melhor portabilidade de código
    67. Desenvolvimento: dicas ● Zen theme ● Não se preocupe em customizar a interface logo cedo
    68. Desenvolvimento: dicas ● Aproveite das opções de performance nativas ● Frontend – JS e CSS agregation ● Reduz em muitos % o tamanho dos arquivos – Cache de páginas – Melhorando isso tudo... ● Apache mod_deflate ● Proxy reverso (varnish, squid) ● Vamos ver...
    69. Desenvolvimento: dicas ● Habilitando o mod_deflate do Apache na 4Linux tivemos: – ~9 KB de CSS – CSS agregado: 355% de economia – CSS em arquivos separados: 466% de economia
    70. Desenvolvimento: dicas ● Backend – Já é bastante otimizado para ser usado em qualquer servidor (até nos compartilhados...) – Desative módulos desnecessários – Uso intensivo do banco ● Muitos módulos ● 200+ queries ● MySQL query_cache_size ● Memcached (e módulo Memcache) – Memória ● APC
    71. Drupal 7, drupal.org e como contribuir
    72. Drupal 7 ● Usabilidade ● Database The Next Generation ● Mais drag and drop ● “Vai ser lançado quando estiver pronto” ● Necessário PHP 5.2+
    73. Drupal.org ● Processo de redesign aberto – groups.drupal.org/drupalorg-redesign-plan-drupal- association ● Design bonito ● Testes de usabilidade ● Páginas com ofertas de trabalho ● Interessante de se acompanhar
    74. Gostou? Contribua! ● Dê suporte – Principalmente no drupal-br.org ● Crie um módulo ● Documente ● Traduza ● Espalhe as boas novas ● Dê palestras ● Abuse e use!
    75. Perguntas?
    76. Obrigado! Fontes, links e download da palestra disponíveis em: http://tinyurl.com/ecppcb2008 Creative Atribuição-Compartilhamento pela mesma Licença 2.5 Brasil Commons

    + Eriksen CostaEriksen Costa, 10 months ago

    custom

    1508 views, 1 favs, 2 embeds more stats

    Slides da palestra de mesmo nome apresentada na PHP more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1508
      • 1477 on SlideShare
      • 31 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 44
    Most viewed embeds
    • 30 views on http://eriksencosta.wordpress.com
    • 1 views on http://localhost

    more

    All embeds
    • 30 views on http://eriksencosta.wordpress.com
    • 1 views on http://localhost

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories