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


Introdução ao Drupal 7 – Gedvan Dias               FLISOL 2012 – IV PHP-PB
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
Introdução ao Drupal 7 – Gedvan Dias                     FLISOL 2012 – IV PHP-PB
Por que Drupal?




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




Introdução ao Drupal 7 – Gedvan Dias           FLISOL 2012 – IV PHP-PB
Riqueza de funcionalidades
        Centenas de módulos para as mais diversas necessidades




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




Introdução ao Drupal 7 – Gedvan Dias                      FLISOL 2012 – IV PHP-PB
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




Introdução ao Drupal 7 – Gedvan Dias               FLISOL 2012 – IV PHP-PB
O que pode ser feito
                             com o Drupal?




Introdução ao Drupal 7 – Gedvan Dias              FLISOL 2012 – IV PHP-PB
Bastante coisa...
  ●   Blogs                                 ●   Comunidades
  ●   Sites pessoais                        ●   Intranets
  ●   Sites corporativos                    ●   WIKIs
  ●   Galerias de fotos                     ●   Sites internacionais
  ●   Galerias de vídeos                    ●   Portais de notícias
  ●   Fóruns                                ●   Hotsites
  ●   E-commerce                            ●   Redes sociais
  ●   E-learning                            ●   …
Introdução ao Drupal 7 – Gedvan Dias                            FLISOL 2012 – IV PHP-PB
Vejamos alguns exemplos...




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




Introdução ao Drupal 7 – Gedvan Dias                 FLISOL 2012 – IV PHP-PB
Principais módulos do core
  ●
       System                           ●
                                            Block
  ●
       Node                             ●
                                            Taxonomy
  ●
       Fields                           ●
                                            Comment
        ●
            Text, Number, List, File,   ●
                                            Menu
            Image, Options
                                        ●
                                            Database logging
  ●
       User
                                        ●
                                            Locale
  ●
       Theme

Introdução ao Drupal 7 – Gedvan Dias                   FLISOL 2012 – IV PHP-PB
Outros módulos do core
  ●
       Search                          ●
                                           Poll (enquetes)
  ●
       Blog                            ●
                                           RDF
  ●
       Book                            ●
                                           Statistics
  ●
       Forum                           ●
                                           Testing
  ●
       Path                            ●
                                           Update manager
  ●
       Contact                         ●
                                           Trigger
  ●
       Help                            ●
                                           …
Introdução ao Drupal 7 – Gedvan Dias                    FLISOL 2012 – IV PHP-PB
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


Introdução ao Drupal 7 – Gedvan Dias                     FLISOL 2012 – IV PHP-PB
Tipos de Conteúdo




Introdução ao Drupal 7 – Gedvan Dias              FLISOL 2012 – IV PHP-PB
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)
Introdução ao Drupal 7 – Gedvan Dias             FLISOL 2012 – IV PHP-PB
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
        ●
            T (vocabulário aberto)
             ags
        ●
            Termos relacionados

Introdução ao Drupal 7 – Gedvan Dias                     FLISOL 2012 – IV PHP-PB
Exemplo
                                            Termos:
                                            ●
                                                 Brasil
       Vocabulário:                         ●
                                                 Mundo
       Categorias de
                                            ●
                                                 Política
       notícias
                                            ●
                                                 Esportes
                                                  –   Futebol
                                                  –   Vôlei
                                                  –   Basquete

Introdução ao Drupal 7 – Gedvan Dias                             FLISOL 2012 – IV PHP-PB
Exemplo
                                            Termos:
                                            ●
                                                 Ação
       Vocabulário:                         ●
                                                 Comédia
       Gêneros de filmes
                                            ●
                                                 Romance
                                            ●
                                                 Drama
                                            ●
                                                 Suspense
                                            ●
                                                 Documentário
                                            ●    …
Introdução ao Drupal 7 – Gedvan Dias                        FLISOL 2012 – IV PHP-PB
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

Introdução ao Drupal 7 – Gedvan Dias                     FLISOL 2012 – IV PHP-PB
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

Introdução ao Drupal 7 – Gedvan Dias              FLISOL 2012 – IV PHP-PB
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.

Introdução ao Drupal 7 – Gedvan Dias                  FLISOL 2012 – IV PHP-PB
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, …




Introdução ao Drupal 7 – Gedvan Dias              FLISOL 2012 – IV PHP-PB
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.




Introdução ao Drupal 7 – Gedvan Dias                FLISOL 2012 – IV PHP-PB
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




Introdução ao Drupal 7 – Gedvan Dias                           FLISOL 2012 – IV PHP-PB
Demonstração
                          Sistema de anúncio de veículos




Introdução ao Drupal 7 – Gedvan Dias                       FLISOL 2012 – IV PHP-PB
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




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




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

                                          Avalie esta palestra:
                                       http://abda.la/flisol/pubilc




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

Introdução ao Drupal 7

  • 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.
    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 Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 3.
    O que éo Drupal? Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 4.
    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
  • 5.
    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
  • 6.
    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 Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 7.
    Por que Drupal? Introduçãoao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 8.
    Principais Características Introdução aoDrupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 9.
    Riqueza de funcionalidades Centenas de módulos para as mais diversas necessidades Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 10.
    Robustez Arquitetura sólida e código amplamente testado Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 11.
    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
  • 12.
    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
  • 13.
    Software Livre Licença GNU/GPL Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 14.
    Algumas Desvantagens Introdução aoDrupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 15.
    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
  • 16.
    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
  • 17.
    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
  • 18.
    Comunidade brasileira A base de usuários e desenvolvedores Drupal no Brasil ainda é pequena, comparado a outros CMS's Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 19.
    O que podeser feito com o Drupal? Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 20.
    Bastante coisa... ● Blogs ● Comunidades ● Sites pessoais ● Intranets ● Sites corporativos ● WIKIs ● Galerias de fotos ● Sites internacionais ● Galerias de vídeos ● Portais de notícias ● Fóruns ● Hotsites ● E-commerce ● Redes sociais ● E-learning ● … Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 21.
    Vejamos alguns exemplos... Introduçãoao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 38.
  • 39.
    Arquitetura Introdução ao Drupal7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 40.
    Principais módulos docore ● System ● Block ● Node ● Taxonomy ● Fields ● Comment ● Text, Number, List, File, ● Menu Image, Options ● Database logging ● User ● Locale ● Theme Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 41.
    Outros módulos docore ● Search ● Poll (enquetes) ● Blog ● RDF ● Book ● Statistics ● Forum ● Testing ● Path ● Update manager ● Contact ● Trigger ● Help ● … Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 42.
    Node System Conteúdo Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 43.
    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
  • 44.
    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
  • 45.
    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 Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 46.
    Tipos de Conteúdo Introduçãoao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 47.
    Fields System Campos Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 48.
    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
  • 49.
    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) Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 50.
    Taxonomia Introdução ao Drupal7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 51.
    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
  • 52.
    Taxonomia ● Suporta: ● Profundidade ilimitada para sub-categorias ● Múltiplas categorias ● T (vocabulário aberto) ags ● Termos relacionados Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 53.
    Exemplo Termos: ● Brasil Vocabulário: ● Mundo Categorias de ● Política notícias ● Esportes – Futebol – Vôlei – Basquete Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 54.
    Exemplo Termos: ● Ação Vocabulário: ● Comédia Gêneros de filmes ● Romance ● Drama ● Suspense ● Documentário ● … Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 55.
    Usuários Introdução ao Drupal7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 56.
    Gerenciamento de usuários Cadastro, login, logout, auto-registro, “esqueci a senha”, … Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 57.
    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 Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 59.
    Theme System Temas Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 60.
    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
  • 61.
    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
  • 62.
    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
  • 63.
    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
  • 64.
    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
  • 65.
    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
  • 66.
    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 Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 67.
    Blocos Introdução ao Drupal7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 68.
    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
  • 70.
    Outros Módulos doCore ● 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. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 71.
    Módulos Contribuídos Introdução aoDrupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 72.
    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
  • 73.
    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
  • 74.
    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
  • 75.
    Muitos, muitos outrosmódulos Panels, Display Suite, WYSIWYG, Webform, Lightbox2, Date, Devel, Fivestar, CAPTCHA, XML Sitemap, Simplenews, Rules, Organic Groups, Location, Advertisement, … Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 76.
    Profiles Distribuições doDrupal, 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
  • 77.
    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
  • 79.
    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. Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 80.
    Introdução ao Drupal7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 81.
    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
  • 83.
    Outros Drupal Commons, OpenPublish, OpenChurch, OpenPublic, … drupaldistrowatch.com Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 84.
    Demonstração Sistema de anúncio de veículos Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 85.
    Concluindo... Por que usar o Drupal? Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 86.
    Tempo Segurança Flexibilidade Colaboração Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 87.
    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
  • 88.
    Comunidade brasileira ● www.drupal-br.org ● Comunidade brasileira de Drupal ● groups.google.com/group/drupal-br ● Lista de discussão no Google Groups Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 89.
    Dúvidas? Introdução ao Drupal7 – Gedvan Dias FLISOL 2012 – IV PHP-PB
  • 90.
    Obrigado! @gedvan Avalie esta palestra: http://abda.la/flisol/pubilc Introdução ao Drupal 7 – Gedvan Dias FLISOL 2012 – IV PHP-PB