Desenvolvendo Web Sites com
Gedvan P. D ias - gedvan@gmai l .comIV ENSOL – Encontro de Software Livre da Paraíba
Desenvolvendo Web Sites com Drupal - Gedvan Dias
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ár io
● 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 Publ ishing 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ór ico
● 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
Pr inc ipais Caracter íst icas
● Riqueza de funcional idades● 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
Pr inc ipais Caracter íst icas
● 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 L ivre - L icenç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 fe i to?
● Blogs● Sites pessoais● Sites corporativos● Galerias de fotos e
vídeos● Fóruns● E-commerce● E-learning
● Comunidades● Intranet● WIKIs● Sites internacionais● Portais de notícias● Hotsites● Redes sociais● …
Quem está usando o Drupal?
Acabou a br incadeira
Desenvolvendo Web Sites com Drupal - Gedvan Dias
Arqui tetura
Desenvolvendo Web Sites com Drupal - Gedvan Dias
Core – Requ ired
● Node (conteúdo)● System (administração)● Themes (templates)● Blocks (blocos)● Users (usuários)● Watchdog (logging)
Desenvolvendo Web Sites com Drupal - Gedvan Dias
Core – Opt ional
● Menu● Search● Taxonomy
(categorização)● Blog● Comments● Forum● Path (URL alias)
● Locale (internacionalização)
● Poll (enquetes)● Profile● Statistics● Upload
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 – Propr iedades 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 – T ipos 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 – T ipos 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● Tags (vocabulário aberto)● Termos relacionados
Desenvolvendo Web Sites com Drupal - Gedvan Dias
Taxonomia - Exemplos
● Vocabulário:Categorias de notícias
● Termos:● Brasil● Mundo● Política● Esportes
– Furebol– Vôlei– Basquete
● Vocabulário:Gêneros de filmes
● Termos:● Ação● Comédia● Romance● Drama● Suspense● Documentário● …
Desenvolvendo Web Sites com Drupal - Gedvan Dias
Usuár ios
● 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
B locos
● 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
B locos
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.
Módulos Contr ibu ídos
Desenvolvendo Web Sites com Drupal - Gedvan Dias
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● …
Muitos, mu i tos outros módulos
Desenvolvendo Web Sites com Drupal - Gedvan Dias
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
O que vem por a í?
Drupal 7 !
Desenvolvendo Web Sites com Drupal - Gedvan Dias
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
L inks e Referênc ias
● 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
Dúv idas?
Obrigado!
Top Related