SlideShare una empresa de Scribd logo
1 de 90
Descargar para leer sin conexión
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
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
FLISOL 2012 – IV PHP-PBIntrodução ao Drupal 7 – Gedvan Dias
O que é o Drupal?
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
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
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
FLISOL 2012 – IV PHP-PBIntrodução ao Drupal 7 – Gedvan Dias
Por que Drupal?
FLISOL 2012 – IV PHP-PBIntrodução ao Drupal 7 – Gedvan Dias
Principais Características
Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Centenas de módulos para as mais diversas necessidades
Riqueza de funcionalidades
Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Robustez
Arquitetura sólida e código amplamente testado
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
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
Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Software Livre
Licença GNU/GPL
FLISOL 2012 – IV PHP-PBIntrodução ao Drupal 7 – Gedvan Dias
Algumas Desvantagens
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
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
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?)
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
FLISOL 2012 – IV PHP-PBIntrodução ao Drupal 7 – Gedvan Dias
O que pode ser feito
com o Drupal?
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
● …
Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Vejamos alguns exemplos...
Acabou a brincadeira
FLISOL 2012 – IV PHP-PBIntrodução ao Drupal 7 – Gedvan Dias
Arquitetura
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
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
●
…
FLISOL 2012 – IV PHP-PBIntrodução ao Drupal 7 – Gedvan Dias
Node System
Conteúdo
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)
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
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
FLISOL 2012 – IV PHP-PBIntrodução ao Drupal 7 – Gedvan Dias
Tipos de Conteúdo
FLISOL 2012 – IV PHP-PBIntrodução ao Drupal 7 – Gedvan Dias
Fields System
Campos
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.
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)
FLISOL 2012 – IV PHP-PBIntrodução ao Drupal 7 – Gedvan Dias
Taxonomia
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
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
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
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
● …
FLISOL 2012 – IV PHP-PBIntrodução ao Drupal 7 – Gedvan Dias
Usuários
Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Gerenciamento de usuários
Cadastro, login, logout, auto-registro, “esqueci a senha”, …
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
FLISOL 2012 – IV PHP-PBIntrodução ao Drupal 7 – Gedvan Dias
Theme System
Temas
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
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
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)
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), …
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...
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) { … }
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
FLISOL 2012 – IV PHP-PBIntrodução ao Drupal 7 – Gedvan Dias
Blocos
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
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.
FLISOL 2012 – IV PHP-PBIntrodução ao Drupal 7 – Gedvan Dias
Módulos Contribuídos
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
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
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.
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, …
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
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.
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.
FLISOL 2012 – IV PHP-PBIntrodução ao Drupal 7 – Gedvan Dias
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.
Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Outros
Drupal Commons, OpenPublish, OpenChurch, OpenPublic, …
drupaldistrowatch.com
FLISOL 2012 – IV PHP-PBIntrodução ao Drupal 7 – Gedvan Dias
Demonstração
Sistema de anúncio de veículos
FLISOL 2012 – IV PHP-PBIntrodução ao Drupal 7 – Gedvan Dias
Concluindo...
Por que usar o Drupal?
Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Tempo
Segurança
Flexibilidade
Colaboração
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
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
FLISOL 2012 – IV PHP-PBIntrodução ao Drupal 7 – Gedvan Dias
Dúvidas?
Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
Obrigado!
@gedvan
Avalie esta palestra:
http://abda.la/flisol/pubilc

Más contenido relacionado

La actualidad más candente

Arteccom Workshop Magento
Arteccom Workshop MagentoArteccom Workshop Magento
Arteccom Workshop MagentoThiago Verly
 
Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Flávio Lisboa
 
Overview de Drupal pela Just Digital
Overview de Drupal pela Just DigitalOverview de Drupal pela Just Digital
Overview de Drupal pela Just DigitalJust Digital
 
Overview sobre o CMS Drupal
Overview sobre o CMS DrupalOverview sobre o CMS Drupal
Overview sobre o CMS DrupalRafael Cichini
 
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
 

La actualidad más candente (8)

Arteccom Workshop Magento
Arteccom Workshop MagentoArteccom Workshop Magento
Arteccom Workshop Magento
 
Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011
 
Overview de Drupal pela Just Digital
Overview de Drupal pela Just DigitalOverview de Drupal pela Just Digital
Overview de Drupal pela Just Digital
 
Overview sobre o CMS Drupal
Overview sobre o CMS DrupalOverview sobre o CMS Drupal
Overview sobre o CMS Drupal
 
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
 
Java, PortalH8 e RedeCASD
Java, PortalH8 e RedeCASDJava, PortalH8 e RedeCASD
Java, PortalH8 e RedeCASD
 

Similar a Introdução ao Drupal 7 em

Combatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHP
Combatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHPCombatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHP
Combatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHPRodrigo Dos Santos
 
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018 O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018 Gabriel Machado
 
Oficina Mergulhando no Plone 4
Oficina Mergulhando no Plone 4Oficina Mergulhando no Plone 4
Oficina Mergulhando no Plone 4Tania Andrea
 
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
 
Ferramentas Livres Para Desenvolvimento com PHP
Ferramentas Livres Para Desenvolvimento com PHPFerramentas Livres Para Desenvolvimento com PHP
Ferramentas Livres Para Desenvolvimento com PHPAdler Medrado
 
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011Evaldo Junior
 
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
 
The Ultimate Guide to Development in WordPress
The Ultimate Guide to Development in WordPressThe Ultimate Guide to Development in WordPress
The Ultimate Guide to Development in WordPressJackson F. de A. Mafra
 
Treinamentos Avançados em Informática
Treinamentos Avançados em InformáticaTreinamentos Avançados em Informática
Treinamentos Avançados em InformáticaEder Carneiro
 
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
 
Apresentação da Linguagem de Programação PHP
Apresentação da Linguagem de Programação PHPApresentação da Linguagem de Programação PHP
Apresentação da Linguagem de Programação PHPLorranna Machado
 
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
 
Desenvolvimento web com (cms) Drupal
Desenvolvimento web com (cms) DrupalDesenvolvimento web com (cms) Drupal
Desenvolvimento web com (cms) DrupalEmerson Barros
 
Drupal Commerce: muito além de uma plataforma de e-commerce
Drupal Commerce: muito além de uma plataforma de e-commerceDrupal Commerce: muito além de uma plataforma de e-commerce
Drupal Commerce: muito além de uma plataforma de e-commercePedro Rocha
 

Similar a Introdução ao Drupal 7 em (20)

PHP e banco de dados
PHP e banco de dadosPHP e banco de dados
PHP e banco de dados
 
PHP, Mercado e Certificações
PHP, Mercado e CertificaçõesPHP, Mercado e Certificações
PHP, Mercado e Certificações
 
Combatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHP
Combatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHPCombatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHP
Combatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHP
 
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018 O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018
 
Oficina Mergulhando no Plone 4
Oficina Mergulhando no Plone 4Oficina Mergulhando no Plone 4
Oficina Mergulhando no Plone 4
 
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
 
Ferramentas Livres Para Desenvolvimento com PHP
Ferramentas Livres Para Desenvolvimento com PHPFerramentas Livres Para Desenvolvimento com PHP
Ferramentas Livres Para Desenvolvimento com PHP
 
PHP Moderno
PHP ModernoPHP Moderno
PHP Moderno
 
PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011
 
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...
 
The Ultimate Guide to Development in WordPress
The Ultimate Guide to Development in WordPressThe Ultimate Guide to Development in WordPress
The Ultimate Guide to Development in WordPress
 
Treinamentos Avançados em Informática
Treinamentos Avançados em InformáticaTreinamentos Avançados em Informática
Treinamentos Avançados em Informática
 
Cursos Season
Cursos SeasonCursos Season
Cursos Season
 
Cursos Season
Cursos Season Cursos Season
Cursos Season
 
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
 
Apresentação da Linguagem de Programação PHP
Apresentação da Linguagem de Programação PHPApresentação da Linguagem de Programação PHP
Apresentação da Linguagem de Programação PHP
 
Manual PHP
Manual PHPManual PHP
Manual PHP
 
Drupal muito alem de um CMS
Drupal muito alem de um CMSDrupal muito alem de um CMS
Drupal muito alem de um CMS
 
Desenvolvimento web com (cms) Drupal
Desenvolvimento web com (cms) DrupalDesenvolvimento web com (cms) Drupal
Desenvolvimento web com (cms) Drupal
 
Drupal Commerce: muito além de uma plataforma de e-commerce
Drupal Commerce: muito além de uma plataforma de e-commerceDrupal Commerce: muito além de uma plataforma de e-commerce
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...
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 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