Desenvolvimento web com Drupal: o CMS e o framework

Click here to load reader

  • date post

    03-Jun-2015
  • Category

    Technology

  • view

    4.814
  • download

    3

Embed Size (px)

description

Slides da palestra de mesmo nome apresentada na PHP Conference Brasil 2008.

Transcript of Desenvolvimento web com Drupal: o CMS e o framework

  • 1. Desenvolvimento web com Drupal:o CMS e o framework Eriksen Costa Paixo [email protected], 29 de novembro de 2008

2. Eriksen Costa Paixo Bacharelando em Anlise de Sistemas pela Universidade de Ribeiro Preto (UNAERP) Desenvolvedor web Programador PHP h 5 anos Desenvolvedor Drupal e Symfony Atualmente trabalha com eriksencosta.wordpress.com grandes sistemas voltados a marketing [email protected] Instrutor do curso PHP &www.linkedin.com/in/eriksencosta MySQL Web Developer na 4Linuxdrupal.org/user/215266 3. O que veremos... Histria sobre o Drupal Quem usa Por que usam? Drupal 6 CMS Framework Novidades do Drupal 7 4. Pode te ajudar a... No 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) Verso estvel atual: Drupal 6 7. Drupal: histria 8. Drupal: vantagens Comunidade Documentao Funcionalidades Extensibilidade Seguro Escalvel Internacionalizao Maduro 9. Drupal: desvantagens Curva de aprendizado Documentao na maior parte em ingls (!?) Tudo vai para o banco de dados Fica difcil manter histrico das configuraes Implantao de atualizaes 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. Alm desses modestos nomes... 22. Mercado 23. Mercado: mundo Ecossistema em expanso Empresas altamente especializadas Projetos grandes 24. Mercado: mundo Drupal como parte integrante do negcio Acquia.com: suporte comercial (US$ 7 mi em investimento de risco) PopSugar.com: redes sociais (US$ 15 mi) NowPublic.com: jornalismo comunitrio (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 contedo Categorizar contedo Multi-sites Temas (layouts) prontos 29. O CMS: plug and play 30. O CMS: plug and play 2.100+ mdulos Extendem as funcionalidades bsicas do core Mdia: vdeos, podcasts, galeria de fotos Nuvem de tags Integrao com Google Maps Content Relationship Management (CRM) Calendrio e inscrio de eventos ... 31. O CMS: drag n' drop 32. O CMS: performance 33. O CMS: performance Cache de pginas e blocos Menos queries ao banco de dados Reduz a carga no servidor Tempo de resposta diminui 34. O CMS: performance Economia de banda Compresso de pginas Otimizao de CSS e JS S necessrio clicar para ativar! Carregamento mais rpido nos browsers! 35. O CMS: performance Otimizao de CSS: caso 4Linux (D5) 21 arquivos CSS no total 21 requisies HTTP ~51 KB de CSS 36. O CMS: performance Otimizao de CSS e JS: caso 4Linux (D5) 20 arquivos agregados em 1 1 nica requisio HTTP ~41 KB de CSS 24% de economia Isso tudo apenas clicando em uma opo! 37. O CMS: segurana 38. O CMS: segurana Update status module Notifica quando novas verses ou correes de segurana esto disponveis Filtro de contedo Anti-XSS Formulrios Anti-CRSF Checagem de fora de senha 39. O CMS: internacionalizao 40. O CMS: internacionalizao Site em diversos idiomas em poucos cliques Suporte a idiomas RTL (right to left) Traduo de toda a interface Locale module (core) + i18n (contrib) Arquivos .pot ou traduo via interface admin 41. O CMS: internacionalizao Negociao do idioma do contedo e interface Por prefixo na URL: example.com/pt-br Atravs do subdomnio: pt-br.example.com Preferncia do usurio 42. O framework 43. O framework 44. O framework: arquitetura 45. O framework: node node title body author created date ... 46. O framework: nodenode title body author created date ...article poll copyrightchoicesresults 47. O framework: API API robusta Responsvel pela extensibilidade Mdulos podem prover APIs tambm 48. O framework: hook system $permissions = module_invoke_all(perm);BlogContactfunction 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 Segurana... Chega de... 50. O framewok: Forms API (FAPI) Simples Estimula reuso de cdigo Funes de validao AHAH Pr-valida se o contedo corresponde ao seu form Anti-CRSF Formulrios em vrios 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 apresentao muito flexvel Enjoou da cara do seu site? Crie um tema novo e troque na interface admin Geralmente no precisa alterar nenhuma outra configurao O designer nem precisa entender bem como o Drupal funciona 54. Mdulos 55. Mdulos: CCK Permite estender um tipo de contedo adicionando novos campos Ex: site de imobiliria, cadastro de node do tipo imvel: Quartos Banheiro Garagem 56. Mdulos: Views Permite criar lista de contedo atravs de uma interface bastante prtica Possui API prpria que permite outros mdulos interagirem com o mdulo adicionando novas opes para a sua interface 57. Mdulos: Panels Permite a criao de pginas em painis diferentes com total controle do layout e de contedo (nodes, blocks e at views) 58. Mdulos: Webform Construtor de formulrios Formulrios de contato Pesquisas Entrada para outros sistemas (CRM) 59. Mdulos: Flashvideo Inclui funcionalidade de upload de arquivo de vdeo (MPG, AVI...) para converso l YouTube Requer ffmpeg No vem com player de vdeo 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. Mdulos: ImageCache e imagefield Permite a criao de aes que sero realizadas em cima de um upload de imagem Quantas aes quiser Tamanhos diferentes Widget CCK de upload de imagens 61. Mdulos: mais... Asset CAPTCHA Ubercart (e-commerce) OG Groups SEO Checklist XML Sitemaps ... 62. Desenvolvimento 63. Desenvolvimento: como Pesquisa de mdulos Boa parte do tempo gasta com configurao dos mdulos 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 contedo Desenvolvimento gil Prototipao Mdulos Devel Aprenda a usar o (jurssico) CVS Documente seus passos 65. Desenvolvimento: dicas Instale j em portugus: O instalador fornece o link dos pacotes de traduo e da documentao sobre como fazer Pacote de traduo em portugus em: http://drupal.org/project/pt-br Leia alguns cases no drupal.org: NYObserver, Rake Magazine, IMA, 4Linux Pea ajuda #IRC, fruns do drupal.org ou drupal-br.org 66. Desenvolvimento: dicas O cdigo Drupal muito limpo e organizado Consulte a API: api.drupal.org Convenes de cdigo do PEAR (PHP Extension and Application Repository) Seguir as convenes traz benefcios como segurana e melhor portabilidade de cdigo 67. Desenvolvimento: dicas Zen theme No se preocupe em customizar a interface logo cedo 68. Desenvolvimento: dicas Aproveite das opes de performance nativas Frontend JS e CSS agregation Reduz em muitos % o tamanho dos arquivos Cache de pginas 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 mdulos desnecessrios Uso intensivo do banco Muitos mdulos 200+ queries MySQL query_cache_size Memcached (e mdulo Memcache) Memria APC 71. Drupal 7, drupal.org e como contribuir 72. Drupal 7 Usabilidade Database The Next Generation Mais drag and drop Vai ser lanado quando estiver pronto Necessrio PHP 5.2+ 73. Drupal.org Processo de redesign aberto groups.drupal.org/drupalorg-redesign-plan-drupal- association Design bonito Testes de usabilidade Pginas com ofertas de trabalho Interessante de se acompanhar 74. Gostou? Contribua! D suporte Principalmente no drupal-br.org Crie um mdulo Documente Traduza Espalhe as boas novas D palestras Abuse e use! 75. Perguntas? 76. Obrigado! Fontes, links e download da palestra disponveis em:http://tinyurl.com/ecppcb2008 Creative Atribuio-Compartilhamento pela mesma Licena 2.5 Brasil Commons