SlideShare uma empresa Scribd logo
1 de 59
Baixar para ler offline
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
      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
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
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
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
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
Drupal?




Desenvolvendo Web Sites com Drupal - Gedvan Dias
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
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
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
  ●
      Poucos temas disponíveis
  ●
      Pouco material em português
  ●
      Comunidade brasileira ainda pequena




Desenvolvendo Web Sites com Drupal - Gedvan Dias
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
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 (blocos)
  ●
      Users (usuários)
  ●
      Watchdog (logging)



Desenvolvendo Web Sites com Drupal - Gedvan Dias
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
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
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
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
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ã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
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
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
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 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
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
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
Blocos




Desenvolvendo Web Sites com Drupal - Gedvan Dias
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
Módulos Contribuídos
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
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
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
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
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
Muitos, muitos outros módulos
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
O que vem por aí?
Drupal 7!
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
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
D7UX
  ●
      Drupal 7 User eXperience
  ●
      Novo tema da administração
  ●
      Vários avanços na usabilidade




Desenvolvendo Web Sites com Drupal - Gedvan Dias
Quando vai ser lançado?




Desenvolvendo Web Sites com Drupal - Gedvan Dias
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
Dúvidas?
Obrigado!


gedvan@gmail.com

Mais conteúdo relacionado

Mais procurados

WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...George Mendonça
 
Arteccom Workshop Magento
Arteccom Workshop MagentoArteccom Workshop Magento
Arteccom Workshop MagentoThiago Verly
 
Criando Projetos de Software Livre no meio Acadêmico
Criando Projetos de Software Livre no meio AcadêmicoCriando Projetos de Software Livre no meio Acadêmico
Criando Projetos de Software Livre no meio AcadêmicoGeorge Mendonça
 
Design patterns e tecnologias para modularização em java tdc2014
Design patterns e tecnologias para modularização em java tdc2014Design patterns e tecnologias para modularização em java tdc2014
Design patterns e tecnologias para modularização em java tdc2014Filipe Portes
 
Modularização em java com osgi
Modularização em java com osgiModularização em java com osgi
Modularização em java com osgiFilipe Portes
 
Overview sobre o CMS Drupal
Overview sobre o CMS DrupalOverview sobre o CMS Drupal
Overview sobre o CMS DrupalRafael Cichini
 
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...tdc-globalcode
 
Organizando Inforações com Alfresco e MediaWiki
Organizando Inforações com Alfresco e MediaWikiOrganizando Inforações com Alfresco e MediaWiki
Organizando Inforações com Alfresco e MediaWikiAmbev
 
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse VirgoModularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse VirgoRegis Machado
 

Mais procurados (12)

REST com JSF 2 e HTML 5
REST com JSF 2 e HTML 5REST com JSF 2 e HTML 5
REST com JSF 2 e HTML 5
 
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...
 
Arteccom Workshop Magento
Arteccom Workshop MagentoArteccom Workshop Magento
Arteccom Workshop Magento
 
Criando Projetos de Software Livre no meio Acadêmico
Criando Projetos de Software Livre no meio AcadêmicoCriando Projetos de Software Livre no meio Acadêmico
Criando Projetos de Software Livre no meio Acadêmico
 
Design patterns e tecnologias para modularização em java tdc2014
Design patterns e tecnologias para modularização em java tdc2014Design patterns e tecnologias para modularização em java tdc2014
Design patterns e tecnologias para modularização em java tdc2014
 
Modularização em java com osgi
Modularização em java com osgiModularização em java com osgi
Modularização em java com osgi
 
Overview sobre o CMS Drupal
Overview sobre o CMS DrupalOverview sobre o CMS Drupal
Overview sobre o CMS Drupal
 
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
 
Organizando Inforações com Alfresco e MediaWiki
Organizando Inforações com Alfresco e MediaWikiOrganizando Inforações com Alfresco e MediaWiki
Organizando Inforações com Alfresco e MediaWiki
 
Java Web, o Tutorial
Java Web, o TutorialJava Web, o Tutorial
Java Web, o Tutorial
 
Java, PortalH8 e RedeCASD
Java, PortalH8 e RedeCASDJava, PortalH8 e RedeCASD
Java, PortalH8 e RedeCASD
 
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse VirgoModularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
Modularidade na Web com Java: Desenvolvimento OSGI Web com Eclipse Virgo
 

Semelhante a Desenvolvendo Sites com Drupal

Distribuições Drupal: de e-Gov a e-Learning
Distribuições Drupal: de e-Gov a e-LearningDistribuições Drupal: de e-Gov a e-Learning
Distribuições Drupal: de e-Gov a e-LearningPedro Rocha
 
Desenvolvimento web com (cms) Drupal
Desenvolvimento web com (cms) DrupalDesenvolvimento web com (cms) Drupal
Desenvolvimento web com (cms) DrupalEmerson Barros
 
Drupal muito alem de um CMS
Drupal muito alem de um CMSDrupal muito alem de um CMS
Drupal muito alem de um CMSFábrica Livre
 
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011Evaldo Junior
 
Introduction to Drupal - drupal trainning day
Introduction to Drupal - drupal trainning dayIntroduction to Drupal - drupal trainning day
Introduction to Drupal - drupal trainning dayHandrus Nogueira
 
Drupal 4 Dev: aprendendo Drupal do ponto de vista de desenvolvedores
Drupal 4 Dev: aprendendo Drupal do ponto de vista de desenvolvedoresDrupal 4 Dev: aprendendo Drupal do ponto de vista de desenvolvedores
Drupal 4 Dev: aprendendo Drupal do ponto de vista de desenvolvedoresPedro Rocha
 
Ambiente livre para desenvolvimento web
Ambiente livre para desenvolvimento webAmbiente livre para desenvolvimento web
Ambiente livre para desenvolvimento webEvaldo Junior
 
Palestra Drupal
Palestra DrupalPalestra Drupal
Palestra Drupalwesleypb
 
Criando comunidades com Drupal Commons
Criando comunidades com Drupal CommonsCriando comunidades com Drupal Commons
Criando comunidades com Drupal CommonsPedro Rocha
 
Zend Framework: Reuso e extensão de componentes para fácil manutenção
Zend Framework: Reuso e extensão de componentes para fácil manutençãoZend Framework: Reuso e extensão de componentes para fácil manutenção
Zend Framework: Reuso e extensão de componentes para fácil manutençãoFlávio Lisboa
 
Wordcamp curitiba
Wordcamp curitibaWordcamp curitiba
Wordcamp curitibaleogermani
 
Ai1415 ad-tp2-g4-a
Ai1415 ad-tp2-g4-aAi1415 ad-tp2-g4-a
Ai1415 ad-tp2-g4-amfsmsl
 
Desenvolvimento Web com Drupal 6
Desenvolvimento Web com Drupal 6Desenvolvimento Web com Drupal 6
Desenvolvimento Web com Drupal 6Vinícius de Paula
 

Semelhante a Desenvolvendo Sites com Drupal (20)

Distribuições Drupal: de e-Gov a e-Learning
Distribuições Drupal: de e-Gov a e-LearningDistribuições Drupal: de e-Gov a e-Learning
Distribuições Drupal: de e-Gov a e-Learning
 
Desenvolvimento web com (cms) Drupal
Desenvolvimento web com (cms) DrupalDesenvolvimento web com (cms) Drupal
Desenvolvimento web com (cms) Drupal
 
Drupal muito alem de um CMS
Drupal muito alem de um CMSDrupal muito alem de um CMS
Drupal muito alem de um CMS
 
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011
 
Introduction to Drupal - drupal trainning day
Introduction to Drupal - drupal trainning dayIntroduction to Drupal - drupal trainning day
Introduction to Drupal - drupal trainning day
 
Drupal 4 Dev: aprendendo Drupal do ponto de vista de desenvolvedores
Drupal 4 Dev: aprendendo Drupal do ponto de vista de desenvolvedoresDrupal 4 Dev: aprendendo Drupal do ponto de vista de desenvolvedores
Drupal 4 Dev: aprendendo Drupal do ponto de vista de desenvolvedores
 
Moodle
MoodleMoodle
Moodle
 
Com vocês, Django!
Com vocês, Django!Com vocês, Django!
Com vocês, Django!
 
Wordpress
WordpressWordpress
Wordpress
 
Ambiente livre para desenvolvimento web
Ambiente livre para desenvolvimento webAmbiente livre para desenvolvimento web
Ambiente livre para desenvolvimento web
 
Palestra Drupal
Palestra DrupalPalestra Drupal
Palestra Drupal
 
introdução ao drupal
introdução ao drupalintrodução ao drupal
introdução ao drupal
 
Migracao colaborativa
Migracao colaborativaMigracao colaborativa
Migracao colaborativa
 
Criando comunidades com Drupal Commons
Criando comunidades com Drupal CommonsCriando comunidades com Drupal Commons
Criando comunidades com Drupal Commons
 
Zend Framework: Reuso e extensão de componentes para fácil manutenção
Zend Framework: Reuso e extensão de componentes para fácil manutençãoZend Framework: Reuso e extensão de componentes para fácil manutenção
Zend Framework: Reuso e extensão de componentes para fácil manutenção
 
Frameworks PHP
Frameworks PHPFrameworks PHP
Frameworks PHP
 
Wordcamp curitiba
Wordcamp curitibaWordcamp curitiba
Wordcamp curitiba
 
Curso de Grails
Curso de GrailsCurso de Grails
Curso de Grails
 
Ai1415 ad-tp2-g4-a
Ai1415 ad-tp2-g4-aAi1415 ad-tp2-g4-a
Ai1415 ad-tp2-g4-a
 
Desenvolvimento Web com Drupal 6
Desenvolvimento Web com Drupal 6Desenvolvimento Web com Drupal 6
Desenvolvimento Web com Drupal 6
 

Desenvolvendo Sites com Drupal

  • 1. Desenvolvendo Web Sites com Gedvan P. Dias - gedvan@gmail.com IV ENSOL – Encontro de Software Livre da Paraíba
  • 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. 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. 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. 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.
  • 7. 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
  • 8. Drupal? Desenvolvendo Web Sites com Drupal - Gedvan Dias
  • 9. 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
  • 10. 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
  • 11. Software Livre - Licença GNU/GPL Desenvolvendo Web Sites com Drupal - Gedvan Dias
  • 12. 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
  • 13. 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
  • 14. Quem está usando o Drupal?
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 26. Arquitetura Desenvolvendo Web Sites com Drupal - Gedvan Dias
  • 27. Core – Required ● Node (conteúdo) ● System (administração) ● Themes (templates) ● Blocks (blocos) ● Users (usuários) ● Watchdog (logging) Desenvolvendo Web Sites com Drupal - Gedvan Dias
  • 28. 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
  • 29. 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
  • 30. 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
  • 31. 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
  • 32. Node System – Tipos de Conteúdo Desenvolvendo Web Sites com Drupal - Gedvan Dias
  • 33. 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
  • 34. 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
  • 35. 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
  • 36. Permissões Desenvolvendo Web Sites com Drupal - Gedvan Dias
  • 37. 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
  • 38. 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
  • 39. 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
  • 40. Blocos Desenvolvendo Web Sites com Drupal - Gedvan Dias
  • 41. 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
  • 43. 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
  • 44. 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
  • 45. 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
  • 46. 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
  • 47. 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
  • 49. 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
  • 50. O que vem por aí?
  • 52. 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
  • 53. 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
  • 54. D7UX ● Drupal 7 User eXperience ● Novo tema da administração ● Vários avanços na usabilidade Desenvolvendo Web Sites com Drupal - Gedvan Dias
  • 55.
  • 56. Quando vai ser lançado? Desenvolvendo Web Sites com Drupal - Gedvan Dias
  • 57. 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