introdução ao drupal 7

Post on 05-Dec-2014

4.384 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Palestra de introdução ao Drupal (versão 7) apresentada no IV Encontro PHP-PB, dentro do FLISOL - Patos/PB, em 28 de abril de 2012.

TRANSCRIPT

Introdução ao

FLISOL 2012 – Festival Latinoamericano de Instalação de Software LivreIV 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

CMSContent 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

CMFContent 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

RobustezArquitetura sólida e código amplamente testado

Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB

ModularidadeO 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

FlexibilidadeAlta 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 LivreLicenç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 aprendizadoNo 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 prontosNã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êsA maior parte da documentação é em inglês

(problema?)

Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB

Comunidade brasileiraA 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 feitocom 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 SystemConteú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 SystemCampos

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áriosCadastro, 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 SystemTemas

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ódulosPanels, 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

ProfilesDistribuiçõ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

OpenAtriumSistema 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

MartplugSistema 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

PressflowDistribuiçã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

OutrosDrupal Commons, OpenPublish, OpenChurch, OpenPublic, …

drupaldistrowatch.com

FLISOL 2012 – IV PHP-PBIntrodução ao Drupal 7 – Gedvan Dias

DemonstraçãoSistema 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

TempoSegurança

FlexibilidadeColaboraçã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

top related