Desenvolvendo Web Sites com




   Gedvan P. Dias - gedvan@gmail.com
IV ENSOL – Encontro de Software Livre da Paraíba
Sobre mim
  ●
      Mestrado em Informática pela UFPB
  ●
      Professor de tecnologias para internet e comércio
      el...
Sumário
  ●
      Visão geral
  ●
      Características
  ●
      Quem está usando
  ●
      Estrutura
  ●
      Módulos b...
O que é o Drupal?
  ●
      CMS (Content Management System )
       ●
           Sistema gerenciador de conteúdo
       ●
...
Prêmios
  ●
      Webware 100
       ●
           100 melhores sites, aplicações e serviços agrupados em
           10 cat...
Breve Histórico
  ●
      Iniciado em 1999 por
      Dries Buytaert (Bélgica)
  ●   2001: v2.0 e v3.0
  ●
      2002: v4.0...
Drupal?




Desenvolvendo Web Sites com Drupal - Gedvan Dias
Principais Características
  ●
      Riqueza de funcionalidades
       ●
           Centenas de módulos para as mais diver...
Principais Características
  ●   Robustez
       ●   Boa arquitetura
       ●   Sistema de testes
  ●   Modularidade
     ...
Software Livre - Licença GNU/GPL




Desenvolvendo Web Sites com Drupal - Gedvan Dias
Algumas Desvantagens
  ●
      Curva de aprendizado
       ●
           No começo o aprendizado é mais lento
  ●
      Pou...
O que pode ser feito?
  ●
      Blogs                                        ●   Comunidades
  ●   Sites pessoais         ...
Quem está usando o Drupal?
Acabou a brincadeira
Arquitetura




Desenvolvendo Web Sites com Drupal - Gedvan Dias
Core – Required
  ●
      Node (conteúdo)
  ●
      System (administração)
  ●
      Themes (templates)
  ●
      Blocks (...
Core – Optional
  ●
      Menu                                         ●
                                                 ...
Node System - Conteúdo
  ●   Os conteúdos no Drupal são chamado de nodes
      ●   Página
      ●   Artigo
      ●   Notíc...
Node System – Propriedades Comuns
  ●
      Todos os nodes têm um conjunto de características
      básicas
       ●
     ...
Node System – Tipos de Conteúdo
  ●   Por padrão, o Node System traz os tipos de conteúdo:
       ●   Artigo (story)
     ...
Node System – Tipos de Conteúdo




Desenvolvendo Web Sites com Drupal - Gedvan Dias
Taxonomia
  ●   O módulo taxonomy permite a categorização do conteúdo
      ●   Vocabulários e termos
  ●   Vocabulários s...
Taxonomia - Exemplos
  ●   Vocabulário:                                 ●   Vocabulário:
      Categorias de notícias     ...
Usuários
  ●   Gerenciamento de usuários
       ●   Cadastro, login, logout, auto-registro, …
  ●   Roles
       ●   Funçõ...
Permissões




Desenvolvendo Web Sites com Drupal - Gedvan Dias
Temas
  ●   Os temas padrão do Drupal são todos compatíveis com
      os padrões web
       ●   XHTML + CSS
  ●   Um tema ...
Temas
  ●
      Suporte a temas derivados
       ●
           Criação de um tema tendo outro como base
       ●
          ...
Blocos
  ●   Pedaços de aplicações
       ●   Últimas notícias
       ●   Lista de categorias
       ●   Lista de usuários...
Blocos




Desenvolvendo Web Sites com Drupal - Gedvan Dias
Outros Módulos do Core
  ●
      Locale
       ●
           Suporte a qualquer idioma através de UTF-8
       ●
          ...
Módulos Contribuídos
CCK
  ●
      Content Construction Kit
  ●
      Permite criar novos tipos de conteúdo
  ●
      Permite adicionar campos ...
CCK - Exemplo
  ●
      Portal de veículos
  ●
      Tipo de conteúdo: Veículo
  ●
      Campos adicionais:
       ●
     ...
Views
  ●
      Método altamente flexível para exibir listas e
      tabelas de conteúdo no site
  ●
      Consiste em uma...
Imagecache
  ●
      Permite criar configurações pré-definidas para
      processamento de imagens
  ●
      What?
  ●
   ...
Pathauto
  ●
      Permite a geração de URLs de acordo com padrões
      pré-configurados
  ●
      Permite criar URLs dos...
Muitos, muitos outros módulos
Status atual do Drupal
  ●
      Mais de 3000 desenvolvedores na última
      DrupalCon (2010) em São Francisco
  ●
      ...
O que vem por aí?
Drupal 7!
Novidades
  ●
      SimpleTest
       ●
           Testes automatizados de código
       ●
           Todo o código cobert...
Novidades
  ●
      Field API
       ●
           CCK no core
       ●
           Campos no conteúdo, nos usuários e nos t...
D7UX
  ●
      Drupal 7 User eXperience
  ●
      Novo tema da administração
  ●
      Vários avanços na usabilidade




D...
Quando vai ser lançado?




Desenvolvendo Web Sites com Drupal - Gedvan Dias
Links e Referências
  ●
      www.drupal.org
             –   Site oficial
  ●
      www.drupalmodules.com
             – ...
Dúvidas?
Obrigado!


gedvan@gmail.com
Desenvolvendo websites com Drupal - IV ENSOL
Desenvolvendo websites com Drupal - IV ENSOL
Desenvolvendo websites com Drupal - IV ENSOL
Desenvolvendo websites com Drupal - IV ENSOL
Desenvolvendo websites com Drupal - IV ENSOL
Desenvolvendo websites com Drupal - IV ENSOL
Desenvolvendo websites com Drupal - IV ENSOL
Desenvolvendo websites com Drupal - IV ENSOL
Desenvolvendo websites com Drupal - IV ENSOL
Desenvolvendo websites com Drupal - IV ENSOL
Desenvolvendo websites com Drupal - IV ENSOL
Desenvolvendo websites com Drupal - IV ENSOL
Próximos SlideShares
Carregando em…5
×

Desenvolvendo websites com Drupal - IV ENSOL

4.709 visualizações

Publicada em

Slides da apresentação "Desenvolvendo Websites com Drupal" no PHP-NE, dentro do IV Ensol - Encontro de Software Livre da Paraíba.

Publicada em: Tecnologia
  • Muito boa a apresentação. Parabéns!
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui

Desenvolvendo websites com Drupal - IV ENSOL

  1. 1. Desenvolvendo Web Sites com Gedvan P. Dias - gedvan@gmail.com IV ENSOL – Encontro de Software Livre da Paraíba
  2. 2. Sobre mim ● Mestrado em Informática pela UFPB ● Professor de tecnologias para internet e comércio eletrônico ● Analista de sistemas e desenvolvedor web na Lexa Sistemas (www.lexasistemas.com.br) ● Trabalha com PHP há 6 anos ● Trabalha com Drupal há pouco mais de 1 ano Desenvolvendo Web Sites com Drupal - Gedvan Dias
  3. 3. Sumário ● Visão geral ● Características ● Quem está usando ● Estrutura ● Módulos básicos ● Módulos contribuídos ● O que vem por aí Desenvolvendo Web Sites com Drupal - Gedvan Dias
  4. 4. O que é o Drupal? ● CMS (Content Management System ) ● Sistema gerenciador de conteúdo ● Para usuários comuns, é uma ferramenta livre para publicar e organizar conteúdo ● CMF (Content Management Framework ) ● Para desenvolvedores, provê uma sólida base para estender e implementar soluções de gerenciamento de conteúdo Desenvolvendo Web Sites com Drupal - Gedvan Dias
  5. 5. Prêmios ● Webware 100 ● 100 melhores sites, aplicações e serviços agrupados em 10 categorias ● Há 3 anos (2007-2009) o Drupal fica entre os 10 premiados na categoria Social & Publishing ● Packt Publishing Open Source CMS Awards ● 2007 e 2008: Melhor CMS Open Source Geral ● 2009: Melhor CMS Open Source em PHP Desenvolvendo Web Sites com Drupal - Gedvan Dias
  6. 6. Breve Histórico ● Iniciado em 1999 por Dries Buytaert (Bélgica) ● 2001: v2.0 e v3.0 ● 2002: v4.0 ● 2005: v4.6 ● 2007: v5.0 ● 2008: v6.0 ● 2010: v7.0 (em breve) Desenvolvendo Web Sites com Drupal - Gedvan Dias
  7. 7. Drupal? Desenvolvendo Web Sites com Drupal - Gedvan Dias
  8. 8. Principais Características ● Riqueza de funcionalidades ● Centenas de módulos para as mais diversas necessidades – User management, blogs, content versioning, basic workflow, forums, clean URLs, news aggregation, e-commerce, events, wiki, categories, trackback, comments, database abstraction layer, templates, content rating, statistics, avatars, locale, galleries, logging, PDF export, file uploads, archives, caching, user profiles, e-mail notification, search, mailing list integration, reviews, contact management, polls, member lists, configurable menus, comment moderation, blocks, RSS, content scheduling, articles, user groups Desenvolvendo Web Sites com Drupal - Gedvan Dias
  9. 9. Principais Características ● Robustez ● Boa arquitetura ● Sistema de testes ● Modularidade ● Verdadeiramente modular (hook system) ● Seamless integration ● Capacidade de customização ● Sistema de blocos ● Sistema de temas extremamente flexível Desenvolvendo Web Sites com Drupal - Gedvan Dias
  10. 10. Software Livre - Licença GNU/GPL Desenvolvendo Web Sites com Drupal - Gedvan Dias
  11. 11. Algumas Desvantagens ● Curva de aprendizado ● No começo o aprendizado é mais lento ● Poucos temas disponíveis ● Pouco material em português ● Comunidade brasileira ainda pequena Desenvolvendo Web Sites com Drupal - Gedvan Dias
  12. 12. O que pode ser feito? ● Blogs ● Comunidades ● Sites pessoais ● Intranet ● Sites corporativos ● WIKIs ● Galerias de fotos e ● Sites internacionais vídeos ● Portais de notícias ● Fóruns ● Hotsites ● E-commerce ● Redes sociais ● E-learning ● … Desenvolvendo Web Sites com Drupal - Gedvan Dias
  13. 13. Quem está usando o Drupal?
  14. 14. Acabou a brincadeira
  15. 15. Arquitetura Desenvolvendo Web Sites com Drupal - Gedvan Dias
  16. 16. Core – Required ● Node (conteúdo) ● System (administração) ● Themes (templates) ● Blocks (blocos) ● Users (usuários) ● Watchdog (logging) Desenvolvendo Web Sites com Drupal - Gedvan Dias
  17. 17. Core – Optional ● Menu ● Locale ● Search (internacionalização) ● Taxonomy ● Poll (enquetes) (categorização) ● Profile ● Blog ● Statistics ● Comments ● Upload ● Forum ● Path (URL alias) Desenvolvendo Web Sites com Drupal - Gedvan Dias
  18. 18. Node System - Conteúdo ● Os conteúdos no Drupal são chamado de nodes ● Página ● Artigo ● Notícia ● Evento ● Post de blog ● Tópico de fórum ● … ● Cada um dos itens acima é um tipo de conteúdo diferente (node type) Desenvolvendo Web Sites com Drupal - Gedvan Dias
  19. 19. Node System – Propriedades Comuns ● Todos os nodes têm um conjunto de características básicas ● Título ● Corpo ● Workflow ● Versionamento ● Comentários ● Configurações de menu e endereço Desenvolvendo Web Sites com Drupal - Gedvan Dias
  20. 20. Node System – Tipos de Conteúdo ● Por padrão, o Node System traz os tipos de conteúdo: ● Artigo (story) ● Página (page) ● Outros módulos podem disponibilizar outros tipos de conteúdo ● Ex: O módulo Fórum cria o tipo de conteúdo Tópico de Fórum ● Que possuem as propriedades comuns + propriedades específicas Desenvolvendo Web Sites com Drupal - Gedvan Dias
  21. 21. Node System – Tipos de Conteúdo Desenvolvendo Web Sites com Drupal - Gedvan Dias
  22. 22. Taxonomia ● O módulo taxonomy permite a categorização do conteúdo ● Vocabulários e termos ● Vocabulários são grupos de categorias (termos) ● Um vocabulário pode ser usado por vários tipos de conteúdo ● Suporta: ● Profundidade ilimitada para sub-categorias ● Múltiplas categorias ● T (vocabulário aberto) ags ● Termos relacionados Desenvolvendo Web Sites com Drupal - Gedvan Dias
  23. 23. Taxonomia - Exemplos ● Vocabulário: ● Vocabulário: Categorias de notícias Gêneros de filmes ● Termos: ● Termos: ● Brasil ● Ação ● Mundo ● Comédia ● Política ● Romance ● Drama ● Esportes – Furebol ● Suspense – Vôlei ● Documentário – Basquete ● … Desenvolvendo Web Sites com Drupal - Gedvan Dias
  24. 24. Usuários ● Gerenciamento de usuários ● Cadastro, login, logout, auto-registro, … ● Roles ● Funções/papéis/grupos de usuários ● Roles padrão: visitante, usuário registrado ● Criação de novas roles ● Número ilimitado de novas roles ● Sistema de permissões ● Controle refinado de cada permissão para cada role Desenvolvendo Web Sites com Drupal - Gedvan Dias
  25. 25. Permissões Desenvolvendo Web Sites com Drupal - Gedvan Dias
  26. 26. Temas ● Os temas padrão do Drupal são todos compatíveis com os padrões web ● XHTML + CSS ● Um tema pode ser feito de várias maneiras ● Código PHP ● Template engine ● Folhas de estilo ● Suporte a variáveis de configuração ● Cores e outros elementos visuais Desenvolvendo Web Sites com Drupal - Gedvan Dias
  27. 27. Temas ● Suporte a temas derivados ● Criação de um tema tendo outro como base ● Arquivos do tema base + do tema derivado ● Sobrescreve apenas os arquivos necessários ● JQuery por padrão ● :D Desenvolvendo Web Sites com Drupal - Gedvan Dias
  28. 28. Blocos ● Pedaços de aplicações ● Últimas notícias ● Lista de categorias ● Lista de usuários ● Menus ● Muuuuitas outras opções ● Permite o posicionamento de blocos em regiões do sites ● As regiões são definidas pelos temas Desenvolvendo Web Sites com Drupal - Gedvan Dias
  29. 29. Blocos Desenvolvendo Web Sites com Drupal - Gedvan Dias
  30. 30. Outros Módulos do Core ● Locale ● Suporte a qualquer idioma através de UTF-8 ● Gettext com interface web para tradução ● Importação e exportação ● Profile ● Adição de novos campos ao perfil do usuário ● Search, Contact, Watchdog, Forum, Blog, Poll, Comment, Statistics, Trigger, Path, etc. Desenvolvendo Web Sites com Drupal - Gedvan Dias
  31. 31. Módulos Contribuídos
  32. 32. CCK ● Content Construction Kit ● Permite criar novos tipos de conteúdo ● Permite adicionar campos de diversos tipos aos conteúdos ● Textos, imagens, checkboxes, radiogroups, listas, arquivos, referências a nodes, etc. Desenvolvendo Web Sites com Drupal - Gedvan Dias
  33. 33. CCK - Exemplo ● Portal de veículos ● Tipo de conteúdo: Veículo ● Campos adicionais: ● Marca ● Valor ● Imagens (3) ● Opcionais Desenvolvendo Web Sites com Drupal - Gedvan Dias
  34. 34. Views ● Método altamente flexível para exibir listas e tabelas de conteúdo no site ● Consiste em uma ferramenta para auxiliar na construção e execução de queries e exibição dos resultados ● Permite exibir os conteúdos em blocos, páginas e feeds, entre outros Desenvolvendo Web Sites com Drupal - Gedvan Dias
  35. 35. Imagecache ● Permite criar configurações pré-definidas para processamento de imagens ● What? ● As imagens são criadas dinamicamente com base em ações pré-configuradas ● Uma demonstração vale mais que mil palavras Desenvolvendo Web Sites com Drupal - Gedvan Dias
  36. 36. Pathauto ● Permite a geração de URLs de acordo com padrões pré-configurados ● Permite criar URLs dos tipos: ● meusite.com/noticias/2010/06/50/comeca-o-ensol ● meusite.com/artigos/software-livre/ensol-e-a-liberdade- no-extremo ● … Desenvolvendo Web Sites com Drupal - Gedvan Dias
  37. 37. Muitos, muitos outros módulos
  38. 38. Status atual do Drupal ● Mais de 3000 desenvolvedores na última DrupalCon (2010) em São Francisco ● Existe m 19 distribuições do Drupal ● Mais de 230.000 downloads em março ● Mais de 6.700 projetos contribuídos ● Mais de 1% da web Desenvolvendo Web Sites com Drupal - Gedvan Dias
  39. 39. O que vem por aí?
  40. 40. Drupal 7!
  41. 41. Novidades ● SimpleTest ● Testes automatizados de código ● Todo o código coberto ● Camada de abstração do Banco de Dados ● PDO-based ● Melhor suporte a PostgreSQL ● Query builder Desenvolvendo Web Sites com Drupal - Gedvan Dias
  42. 42. Novidades ● Field API ● CCK no core ● Campos no conteúdo, nos usuários e nos termos ● Images Styles ● Imagecache no core ● Melhor na integração com editores WYSIWYG ● Vários outros melhoramentos Desenvolvendo Web Sites com Drupal - Gedvan Dias
  43. 43. D7UX ● Drupal 7 User eXperience ● Novo tema da administração ● Vários avanços na usabilidade Desenvolvendo Web Sites com Drupal - Gedvan Dias
  44. 44. Quando vai ser lançado? Desenvolvendo Web Sites com Drupal - Gedvan Dias
  45. 45. Links e Referências ● www.drupal.org – Site oficial ● www.drupalmodules.com – Busca, avaliação e resenhas de módulos ● www.drupalsites.net – Diretório de sites feitos com Drupal ● www.drupal-br.org – Comunidade brasileira de Drupal Desenvolvendo Web Sites com Drupal - Gedvan Dias
  46. 46. Dúvidas?
  47. 47. Obrigado! gedvan@gmail.com

×