Download - Desenvolvendo websites com Drupal - IV ENSOL

Transcript
Page 1: Desenvolvendo websites com Drupal - IV ENSOL

Desenvolvendo Web Sites com

Gedvan P. D ias - gedvan@gmai l .comIV ENSOL – Encontro de Software Livre da Paraíba

Page 2: Desenvolvendo websites com Drupal - IV ENSOL

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

Page 3: Desenvolvendo websites com Drupal - IV ENSOL

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í

Page 4: Desenvolvendo websites com Drupal - IV ENSOL

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

Page 5: Desenvolvendo websites com Drupal - IV ENSOL

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

Page 6: Desenvolvendo websites com Drupal - IV ENSOL
Page 7: Desenvolvendo websites com Drupal - IV ENSOL

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)

Page 8: Desenvolvendo websites com Drupal - IV ENSOL

Desenvolvendo Web Sites com Drupal - Gedvan Dias

Drupal?

Page 9: Desenvolvendo websites com Drupal - IV ENSOL

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

Page 10: Desenvolvendo websites com Drupal - IV ENSOL

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

Page 11: Desenvolvendo websites com Drupal - IV ENSOL

Desenvolvendo Web Sites com Drupal - Gedvan Dias

Software L ivre - L icença GNU/GPL

Page 12: Desenvolvendo websites com Drupal - IV ENSOL

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

Page 13: Desenvolvendo websites com Drupal - IV ENSOL

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

Page 14: Desenvolvendo websites com Drupal - IV ENSOL

Quem está usando o Drupal?

Page 15: Desenvolvendo websites com Drupal - IV ENSOL
Page 16: Desenvolvendo websites com Drupal - IV ENSOL
Page 17: Desenvolvendo websites com Drupal - IV ENSOL
Page 18: Desenvolvendo websites com Drupal - IV ENSOL
Page 19: Desenvolvendo websites com Drupal - IV ENSOL
Page 20: Desenvolvendo websites com Drupal - IV ENSOL
Page 21: Desenvolvendo websites com Drupal - IV ENSOL
Page 22: Desenvolvendo websites com Drupal - IV ENSOL
Page 23: Desenvolvendo websites com Drupal - IV ENSOL
Page 24: Desenvolvendo websites com Drupal - IV ENSOL
Page 25: Desenvolvendo websites com Drupal - IV ENSOL

Acabou a br incadeira

Page 26: Desenvolvendo websites com Drupal - IV ENSOL

Desenvolvendo Web Sites com Drupal - Gedvan Dias

Arqui tetura

Page 27: Desenvolvendo websites com Drupal - IV ENSOL

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)

Page 28: Desenvolvendo websites com Drupal - IV ENSOL

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

Page 29: Desenvolvendo websites com Drupal - IV ENSOL

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)

Page 30: Desenvolvendo websites com Drupal - IV ENSOL

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

Page 31: Desenvolvendo websites com Drupal - IV ENSOL

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

Page 32: Desenvolvendo websites com Drupal - IV ENSOL

Desenvolvendo Web Sites com Drupal - Gedvan Dias

Node System – T ipos de Conteúdo

Page 33: Desenvolvendo websites com Drupal - IV ENSOL

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

Page 34: Desenvolvendo websites com Drupal - IV ENSOL

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

Page 35: Desenvolvendo websites com Drupal - IV ENSOL

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

Page 36: Desenvolvendo websites com Drupal - IV ENSOL

Desenvolvendo Web Sites com Drupal - Gedvan Dias

Permissões

Page 37: Desenvolvendo websites com Drupal - IV ENSOL

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

Page 38: Desenvolvendo websites com Drupal - IV ENSOL

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

Page 39: Desenvolvendo websites com Drupal - IV ENSOL

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

Page 40: Desenvolvendo websites com Drupal - IV ENSOL

Desenvolvendo Web Sites com Drupal - Gedvan Dias

B locos

Page 41: Desenvolvendo websites com Drupal - IV ENSOL

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.

Page 42: Desenvolvendo websites com Drupal - IV ENSOL

Módulos Contr ibu ídos

Page 43: Desenvolvendo websites com Drupal - IV ENSOL

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.

Page 44: Desenvolvendo websites com Drupal - IV ENSOL

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

Page 45: Desenvolvendo websites com Drupal - IV ENSOL

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

Page 46: Desenvolvendo websites com Drupal - IV ENSOL

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

Page 47: Desenvolvendo websites com Drupal - IV ENSOL

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

Page 48: Desenvolvendo websites com Drupal - IV ENSOL

Muitos, mu i tos outros módulos

Page 49: Desenvolvendo websites com Drupal - IV ENSOL

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

Page 50: Desenvolvendo websites com Drupal - IV ENSOL

O que vem por a í?

Page 51: Desenvolvendo websites com Drupal - IV ENSOL

Drupal 7 !

Page 52: Desenvolvendo websites com Drupal - IV ENSOL

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

Page 53: Desenvolvendo websites com Drupal - IV ENSOL

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

Page 54: Desenvolvendo websites com Drupal - IV ENSOL

Desenvolvendo Web Sites com Drupal - Gedvan Dias

D7UX

● Drupal 7 User eXperience● Novo tema da administração● Vários avanços na usabilidade

Page 55: Desenvolvendo websites com Drupal - IV ENSOL
Page 56: Desenvolvendo websites com Drupal - IV ENSOL

Desenvolvendo Web Sites com Drupal - Gedvan Dias

Quando vai ser lançado?

Page 57: Desenvolvendo websites com Drupal - IV ENSOL

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

Page 58: Desenvolvendo websites com Drupal - IV ENSOL

Dúv idas?

Page 59: Desenvolvendo websites com Drupal - IV ENSOL

Obrigado!

[email protected]