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
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
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
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
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
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