O documento apresenta uma introdução ao sistema de gerenciamento de conteúdo Drupal 7. Resume os principais tópicos abordados como a arquitetura modular do Drupal, os sistemas de nodes, campos, taxonomia, usuários e temas. Também discute brevemente alguns módulos contribuídos populares e distribuições do Drupal.
Drupal Commerce: muito além de uma plataforma de e-commerce
Introdução ao Drupal 7 em
1. Introdução ao
FLISOL 2012 – Festival Latinoamericano de Instalação de Software Livre
IV PHP-PB – Encontro do Grupo de Usuários PHP da Paraíba
Gedvan P. Dias – gedvan@gmail.com
2. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Sobre mim
●
Mestrado em Informática pela UFPB
●
Professor no IFPB e na Faculdade IDEZ
●
Trabalho com desenvolvimento web e PHP há mais
de 8 anos
●
Trabalho com Drupal há quase 3 anos
3. FLISOL 2012 – IV PHP-PBIntrodução ao Drupal 7 – Gedvan Dias
O que é o Drupal?
4. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
CMS
Content Management System
Para usuários comuns, é uma ferramenta livre para publicar e
organizar conteúdo na web
5. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
CMF
Content Management Framework
Para desenvolvedores, provê uma sólida base para estender e
implementar soluções de gerenciamento de conteúdo em PHP
6. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
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
● 2011: v7.0
7. FLISOL 2012 – IV PHP-PBIntrodução ao Drupal 7 – Gedvan Dias
Por que Drupal?
8. FLISOL 2012 – IV PHP-PBIntrodução ao Drupal 7 – Gedvan Dias
Principais Características
9. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Centenas de módulos para as mais diversas necessidades
Riqueza de funcionalidades
10. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Robustez
Arquitetura sólida e código amplamente testado
11. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Modularidade
O sistema de hooks permite uma integração transparente
(seamless integration) entre os módulos
12. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Flexibilidade
Alta capacidade de customização e um sistema de temas
totalmente flexível
13. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Software Livre
Licença GNU/GPL
14. FLISOL 2012 – IV PHP-PBIntrodução ao Drupal 7 – Gedvan Dias
Algumas Desvantagens
15. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Curva de aprendizado
No começo, o aprendizado pode ser um pouco lento,
comparado a outras ferramentas
16. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Temas prontos
Não há uma grande quantidade de temas prontos
e gratuitos disponíveis
17. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Documentação em português
A maior parte da documentação é em inglês
(problema?)
18. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Comunidade brasileira
A base de usuários e desenvolvedores Drupal no Brasil ainda é
pequena, comparado a outros CMS's
19. FLISOL 2012 – IV PHP-PBIntrodução ao Drupal 7 – Gedvan Dias
O que pode ser feito
com o Drupal?
20. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Bastante coisa...
● Blogs
● Sites pessoais
● Sites corporativos
● Galerias de fotos
● Galerias de vídeos
● Fóruns
● E-commerce
● E-learning
● Comunidades
● Intranets
● WIKIs
● Sites internacionais
● Portais de notícias
● Hotsites
● Redes sociais
● …
21. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Vejamos alguns exemplos...
39. FLISOL 2012 – IV PHP-PBIntrodução ao Drupal 7 – Gedvan Dias
Arquitetura
40. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Principais módulos do core
●
System
●
Node
●
Fields
●
Text, Number, List, File,
Image, Options
●
User
●
Theme
●
Block
●
Taxonomy
●
Comment
●
Menu
●
Database logging
●
Locale
41. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Outros módulos do core
●
Search
●
Blog
●
Book
●
Forum
●
Path
●
Contact
●
Help
●
Poll (enquetes)
●
RDF
●
Statistics
●
Testing
●
Update manager
●
Trigger
●
…
42. FLISOL 2012 – IV PHP-PBIntrodução ao Drupal 7 – Gedvan Dias
Node System
Conteúdo
43. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Node System
●
Os conteúdos no Drupal são chamado de nodes
●
Página, artigo, notícia, evento, post de blog, tópico de
fórum, galeria de fotos, etc.
●
Cada um dos itens acima é um tipo de conteúdo
diferente (node type)
44. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Propriedades Comuns
●
Todos os nodes têm um conjunto de características
e campos básicos
●
Título, corpo, workflow, versionamento, comentários,
configurações de menu e endereço
45. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Tipos de Conteúdo
● Na instalação padrão, temos os tipos de conteúdo
Artigo e Página
● 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
46. FLISOL 2012 – IV PHP-PBIntrodução ao Drupal 7 – Gedvan Dias
Tipos de Conteúdo
47. FLISOL 2012 – IV PHP-PBIntrodução ao Drupal 7 – Gedvan Dias
Fields System
Campos
48. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Fields
●
Antigo CCK (Content Construction Kit)
●
Permite criar novos tipos de conteúdos
●
Permite adicionar campos de diversos tipos aos
conteúdos
●
Textos, imagens, checkboxes, radiogroups, listas,
arquivos, referências a nodes, etc.
49. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Exemplo
● Portal de veículos
● Tipo de conteúdo: Veículo
● Campos adicionais:
● Fabricante (texto)
● Ano (número)
● Valor (monetário)
● Imagens (3) (arquivos)
● Opcionais (checkboxes)
50. FLISOL 2012 – IV PHP-PBIntrodução ao Drupal 7 – Gedvan Dias
Taxonomia
51. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Taxonomia
●
O módulo taxonomy permite a categorização do
conteúdo (em 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
52. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Taxonomia
●
Suporta:
●
Profundidade ilimitada para sub-categorias
●
Múltiplas categorias
●
Tags (vocabulário aberto)
●
Termos relacionados
53. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Exemplo
Vocabulário:
Categorias de
notícias
Termos:
●
Brasil
●
Mundo
●
Política
●
Esportes
– Futebol
– Vôlei
– Basquete
54. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Exemplo
Vocabulário:
Gêneros de filmes
Termos:
●
Ação
●
Comédia
●
Romance
●
Drama
●
Suspense
●
Documentário
● …
55. FLISOL 2012 – IV PHP-PBIntrodução ao Drupal 7 – Gedvan Dias
Usuários
56. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Gerenciamento de usuários
Cadastro, login, logout, auto-registro, “esqueci a senha”, …
57. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Permissões
●
Papéis (roles)
●
Funções/papéis/grupos de usuários
●
Roles padrão: visitante, usuário registrado, administrador
●
Número ilimitado de novas roles
●
Sistema de permissões
●
Controle refinado de cada permissão para cada role
58.
59. FLISOL 2012 – IV PHP-PBIntrodução ao Drupal 7 – Gedvan Dias
Theme System
Temas
60. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Temas
●
Sistema altamente flexível para criação de temas
●
Um tema pode definir, entre outras coisas:
●
Arquivos CSS e Javascript a serem utilizados
●
Regiões disponíveis para os blocos
●
Arquivos de template utilizados
●
Funções para programação da lógica
61. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Temas derivados
●
Criação de um tema baseado em outro existente
●
Pode-se manter os arquivos do tema base, adicionando
ou sobrescrevendo apenas os arquivos necessários
●
Herda-se também todas as outras características, como
configurações e funções
62. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Template engines
●
Por padrão, utiliza-se o PHPTemplate
●
Utiliza o próprio PHP como linguagem
●
Mas pode-se utilizar outras engines (incomum)
63. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Arquivos de template
●
Os arquivos de template usam a extensão .tpl.php
●
Pode-se sobrescrever a marcação padrão de vários
elementos
●
Ex: Páginas (page.tpl.php), nodes (node.tpl.php), blocos
(block.tpl.php), comentários (comment.tpl.php), …
64. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Template suggestions
●
Templates para elementos mais específicos:
●
node--type.tpl.php (ex: node--article.tpl.php)
– Template para tipos específicos de nodes
●
node--id.tpl.php (ex: node--5.tpl.php)
– Template para um node específico
●
page--front.tpl.php
– Template para a página inicial
●
Vários outros...
65. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Template.php
●
No arquivo template.php podem ser criadas
funções para a lógica do tema
●
Evitando código spaghetti nos templates
●
Também podem ser criadas funções de pré-
processamento de nodes, páginas, blocos, etc.
function <theme>_preprocess_page($vars) { … }
66. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Ainda...
●
Formulários e variáveis de configuração
●
Esquemas de cores
●
Temas diferentes ou o mesmo tema para o
front end e o back end
67. FLISOL 2012 – IV PHP-PBIntrodução ao Drupal 7 – Gedvan Dias
Blocos
68. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Blocos
● “Pedaços” de aplicações
● Últimas notícias
● Lista de categorias
● Lista de usuários
● Menus
● Muitas outras opções
● Permite o posicionamento de blocos em regiões do sites
● As regiões são definidas pelos temas
69.
70. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
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
●
Search, Contact, Watchdog, Forum, Blog, Poll,
Comment, Statistics, Trigger, Path, etc.
71. FLISOL 2012 – IV PHP-PBIntrodução ao Drupal 7 – Gedvan Dias
Módulos Contribuídos
72. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
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
73. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
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
74. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Drupal Commerce
●
Sistema completo de e-commerce integrado ao
Drupal
●
Carrinho de compras, atributos de produtos,
estoque, envio, endereços, promoções, sistemas de
pagamento, etc.
75. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Muitos, muitos outros módulos
Panels, Display Suite, WYSIWYG, Webform, Lightbox2, Date,
Devel, Fivestar, CAPTCHA, XML Sitemap, Simplenews, Rules,
Organic Groups, Location, Advertisement, …
76. FLISOL 2012 – IV PHP-PBIntrodução ao Drupal 7 – Gedvan Dias
Profiles
Distribuições do Drupal, com módulos e configurações
pré-instalados, para atender necessidades específicas
77. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
OpenAtrium
Sistema de “intranet” para gerenciamento de projetos, com
suporte a case tracker, blog, calendário, wiki, grupos, etc.
78.
79. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Martplug
Sistema de e-commerce pré-configurado, com suporte a
catálogo de produtos, importação, produtos digitais, integração
com redes sociais, slideshow, etc.
80. FLISOL 2012 – IV PHP-PBIntrodução ao Drupal 7 – Gedvan Dias
81. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Pressflow
Distribuição do Drupal com foco em desempenho,
escalabilidade e disponibilidade. Ideal para sites de alto tráfego.
82.
83. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Outros
Drupal Commons, OpenPublish, OpenChurch, OpenPublic, …
drupaldistrowatch.com
84. FLISOL 2012 – IV PHP-PBIntrodução ao Drupal 7 – Gedvan Dias
Demonstração
Sistema de anúncio de veículos
85. FLISOL 2012 – IV PHP-PBIntrodução ao Drupal 7 – Gedvan Dias
Concluindo...
Por que usar o Drupal?
86. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Tempo
Segurança
Flexibilidade
Colaboração
87. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
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
88. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Comunidade brasileira
●
www.drupal-br.org
●
Comunidade brasileira de Drupal
●
groups.google.com/group/drupal-br
●
Lista de discussão no Google Groups
89. FLISOL 2012 – IV PHP-PBIntrodução ao Drupal 7 – Gedvan Dias
Dúvidas?
90. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Obrigado!
@gedvan
Avalie esta palestra:
http://abda.la/flisol/pubilc