Introdução ao
Drupal
Workshop Introdução ao Drupal

Introdução
Introdução: O que é o Drupal?
O Drupal é uma Content Management Framework (CMF):
um sistema que permite a reutilização de ...
Introdução: Porquê o Drupal?
Para os developers:
–

2-em-1: Procedural & Object oriented programming

–

Presentation-Abst...
Introdução: Porquê o Drupal? (cont.)
&
s!
le
Fi

Se
pa
ra
çã
o

de

Introdução: Porquê o Drupal? (cont.)
Introdução: Porquê o Drupal? (cont.)
Para os site builders e themers:
–

Interface muito funcional e intuitiva

–

Sem req...
Introdução: Porquê o Drupal? (cont.)
Para as empresas e clientes:
–

Parcerias com a Associação Drupal, Acquia e outros

–...
Introdução: Porquê o Drupal? (cont.)
Para todos:
–

Comunidade global muito grande

–

Eventos internacionais (DrupalCons ...
Introdução: Porquê o Drupal? (cont.)
Eventos anteriores:
Introdução: Porquê o Drupal? (cont.)
Próximos eventos (2014):
Introdução: História do Drupal
Desenvolvido por Dries Buytaert, o Drupal teve as suas
origens em 2000. Versões mais recent...
Introdução: A comunidade
A comunidade do Drupal hoje em dia é global, com
participantes de todo o mundo, de todos os estra...
Introdução: Eco-sistema
O Drupal tem crescido muito, e em todo o mundo
Segundo estatísticas, hoje em dia conta com:
–

240...
Workshop Introdução ao Drupal

“In depth”
In depth: Funcionalidades
O céu é o limite da imaginação. A que ponto podemos
construir soluções com componentes já existe...
In depth: Funcionalidades (cont.)
E outras...
–

E-Commerce, com multi-moeda

–

Newsletter e diversos

–

Integração com ...
In depth: Conceitos e terminologia
O Drupal tem alguns termos fora do vulgar

[1][2][3]:

–

Entity types: abstração de fu...
In depth: Conceitos e terminologia (cont.)
–

Fields: um pedaço de conteúdo re-utilizável ou
“data type”, que são adiciona...
In depth: O que mudou com o Drupal 7
O Drupal não foi sempre tão genérico e flexível como é
hoje em dia. Com a release 7.0...
In depth: O que mudou com o Drupal 7 (cont.)
In depth: As novidades do Drupal 8
O Drupal 8.0 irá trazer um grande refresh do código,
com melhoramentos significativos d...
In depth: As novidades do Drupal 8 (cont.)
–

PHPUnit: framework de testes incluída, juntamente
com o SimpleTest

–

Unifi...
In depth: As novidades do Drupal 8 (cont.)
–

Views: o módulo famoso do contrib juntou-se agora
ao Fields API, para máxima...
In depth: Requisitos
O Drupal tem necessidades muito próprias. Como tal,
não pode ser corrido em qualquer hardware, softwa...
Introdução ao Drupal

“Hands on”
Hands on: Os primeiros passos
Como começar com o Drupal? É preciso fazer a
instalação primeiro. Para simplificar, num desk...
Hands on: O stack WAMP da Acquia
O Acquia Dev Desktop é o stack *AMP oficial do Drupal.
É a maneira mais fácil de instalar...
Hands on: Instalação
Como instalar? Segue as indicações:
1) Descarrega o Acquia Dev Desktop 7.x com Drupal 7
2) Executa o ...
Hands on: Overview
O menu no topo permite-nos chegar a qualquer secção
administrativa do Drupal:
–

Content e People: admi...
Hands on: Configuração básica
/admin/config

A página de administração contem uma secção para
configuração de parâmetros d...
Hands on: Up next...
Hands on: Nodes, os objetos conteúdo
/admin/structure/types

A página de administração de tipos de conteúdo é o
local onde...
Hands on: Fields, os campos dos objetos
/admin/structure/types

Cada tipo de conteúdo pode ter campos associados.
Na verda...
Hands on: Taxonomy, a arte de catalogar
/admin/structure/taxonomy

A página de administração da taxonomia é o local onde
p...
Hands on: Views, as listas personalizáveis
/admin/structure/views

A página de administração das visualizações é o local
o...
Hands on: Menus e ligações
/admin/structure/menu

A página de administração de menus é o local onde
podemos criar novos me...
Hands on: Blocos e Regiões
/admin/structure/blocks

A página de administração de blocos é o local onde
podemos criar ou as...
Hands on: Utilizadores e Permissões
/admin/people

A página de administração de utilizadores é o local onde
podemos gerir ...
Hands on: Let's have fun!
Exercício:
Site de notícias
–

Categorias temáticas

–

Conteúdo notícias

–

Lista de notícias
...
Workshop Introdução ao Drupal

Créditos
Contactos
França
Paris
HIQ Consulting S.A.S
62 bis, avenue André Morizet (4ème étage)
92100 Boulogne Billancourt
France
Te...
Fim
Próximos SlideShares
Carregando em…5
×

Workshop Agap2: Introdução ao Drupal

393 visualizações

Publicada em

Nesta apresentação faz-se uma abordagem do Drupal, uma Content Management Framework (CMF) escrita em PHP, muito usada atualmente para construir websites e muito mais.

O Drupal é software livre e gratuito, com licença GPLv2.
http://drupal.org/

Visita a comunidade Portuguesa do Drupal!
http://drupal-pt.org

Esta apresentação foi produzida com o apoio da Agap2.
http://www.agap2.pt

Todos os nomes de marca e logótipos pertencem aos respectivos donos.

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
393
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
8
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Workshop Agap2: Introdução ao Drupal

  1. 1. Introdução ao Drupal
  2. 2. Workshop Introdução ao Drupal Introdução
  3. 3. Introdução: O que é o Drupal? O Drupal é uma Content Management Framework (CMF): um sistema que permite a reutilização de componentes para gerir conteúdo web – construir sites (e muito mais). Como tal, partilha conceitos de: – Web Application Framework (WAF) – Content Management System (CMS) É Free and Open Source Software (FOSS), com licença GPLv2, cross-platform e foi escrito com a linguagem de programação PHP.
  4. 4. Introdução: Porquê o Drupal? Para os developers: – 2-em-1: Procedural & Object oriented programming – Presentation-Abstraction-Control (PAC) como padrão – API excelente, extensível com sistema de Hooks – Content e Data Modeling, via API e UI flexível – Coding standards rígidas, com auditorias frequentes – Separação de código, configuração e dados – Eco-sistema com paradigma de dependências
  5. 5. Introdução: Porquê o Drupal? (cont.)
  6. 6. & s! le Fi Se pa ra çã o de Introdução: Porquê o Drupal? (cont.)
  7. 7. Introdução: Porquê o Drupal? (cont.) Para os site builders e themers: – Interface muito funcional e intuitiva – Sem requisitos de programação especiais – Módulos para todo o tipo de funcionalidades – Re-utilização de código e interligação de módulos – Temas configuráveis e com suporte para tecnologias Web 2.0+, ie, HTML5, SASS/SCSS, Grids, etc – Distribuições pré-preparadas para variados fins
  8. 8. Introdução: Porquê o Drupal? (cont.) Para as empresas e clientes: – Parcerias com a Associação Drupal, Acquia e outros – Todo o tipo de soluções universais e à medida – Sem custos de licenças – Rede global de developers
  9. 9. Introdução: Porquê o Drupal? (cont.) Para todos: – Comunidade global muito grande – Eventos internacionais (DrupalCons e DrupalCamps) – Suporte e formações disponíveis em todo o mundo
  10. 10. Introdução: Porquê o Drupal? (cont.) Eventos anteriores:
  11. 11. Introdução: Porquê o Drupal? (cont.) Próximos eventos (2014):
  12. 12. Introdução: História do Drupal Desenvolvido por Dries Buytaert, o Drupal teve as suas origens em 2000. Versões mais recentes do Core do Drupal sofreram rewrites significativos: – 4.7.0 (2006) – Rewrote Forms, added Tagging & PHPTemplate – 5.0 (2007) – Rewrote Admin, added Installer, Status & jQuery – 6.0 (2008) – Rewrote Menu API & UI, added Schema API – 7.0 (2011) – Rewrote Core with PDO & Entities, Improved Scalability and UX, added SimpleText and Fields – 8.0 (TBD) – Rewrite with Symphony, adding Twig, YAML, PHPUnit, Web Services, HTML5, Views and more...
  13. 13. Introdução: A comunidade A comunidade do Drupal hoje em dia é global, com participantes de todo o mundo, de todos os estratos sociais e dos mais variados ramos e especializações: – Grupos regionais, tais como o Drupal Portugal, Drupal Galiza e Drupal Spain – Grupos para organização de eventos, tais como o DrupalCamp Portugal e DrupalCamp Spain – Sites de comunidades, ex, Drupal Portugal – Twitter, IRC, Facebook, Google+ e outros
  14. 14. Introdução: Eco-sistema O Drupal tem crescido muito, e em todo o mundo Segundo estatísticas, hoje em dia conta com: – 24000+ Módulos – 1800+ Temas – 700+ Distribuições – 29000+ Developers O mercado de trabalho do Drupal tem crescido sistematicamente e cada vez há mais procura. [1][2].
  15. 15. Workshop Introdução ao Drupal “In depth”
  16. 16. In depth: Funcionalidades O céu é o limite da imaginação. A que ponto podemos construir soluções com componentes já existentes? – Data modeling com a criação livre de campos – Criação livre de listas de conteúdos – Visual modeling com a criação de layouts – Criação de regras com gatilhos, condições e ações – Multi-língua e internacionalização – Web services e acessibilidade
  17. 17. In depth: Funcionalidades (cont.) E outras... – E-Commerce, com multi-moeda – Newsletter e diversos – Integração com / soluções de raiz de CRM, ERP, Intranet, etc – Data sources externos, feeds e migração de dados – Exportação e gestão de configurações – Possibilidade de criar distros de Drupal e muito mais!
  18. 18. In depth: Conceitos e terminologia O Drupal tem alguns termos fora do vulgar [1][2][3]: – Entity types: abstração de funcionalidade que serve para agrupar objetos semelhantes ou relacionados. Ex: node, user e taxonmy – Bundles: agrupamento de fields e configurações pertencentes a um entity type. Ex: node types e vocabularies Nota: Existem alguns entity types sem bundles. Ex: user
  19. 19. In depth: Conceitos e terminologia (cont.) – Fields: um pedaço de conteúdo re-utilizável ou “data type”, que são adicionados a bundles ou entity types. Ex: body e field_image – Entity: uma instância de qualquer entity type ou bundle, ou seja, o conteúdo em si. Ex: conteúdo “hello world”, utilizador “admin” Assim sendo, qualquer campo pode ser acoplado a qualquer objecto, e estes podem ter relações.
  20. 20. In depth: O que mudou com o Drupal 7 O Drupal não foi sempre tão genérico e flexível como é hoje em dia. Com a release 7.0, 50+ módulos contrib juntaram-se ao core [1][2], tornando-o em algo inédito: – Entity API: permitiu-nos criar uma abstração de estruturas de dados – Field API: trouxe o potencial do CCK, Content Construction Kit do contrib – PDO: resultou na portabilidade de BDs – Cache e APIs melhoradas
  21. 21. In depth: O que mudou com o Drupal 7 (cont.)
  22. 22. In depth: As novidades do Drupal 8 O Drupal 8.0 irá trazer um grande refresh do código, com melhoramentos significativos de código e da UX: – Modern OOP: aplicado em quase todo o framework – Symphony framework: substitui alguns mecanismos do core – Twig template engine: substitui o PHPTemplate para simplificar os themes – YAML component: a configuração é exportável no novo formato, o YAML
  23. 23. In depth: As novidades do Drupal 8 (cont.) – PHPUnit: framework de testes incluída, juntamente com o SimpleTest – Unified Entity & Field API: agora tudo usa a mesma API, incluindo o sistema de menus – Translation API: redesenhada para aproveitar novas ideias e tecnologias – Form API: os formulários foram melhorados e agora todos são editáveis no core, incluindo o do registo de utilizadores e edições
  24. 24. In depth: As novidades do Drupal 8 (cont.) – Views: o módulo famoso do contrib juntou-se agora ao Fields API, para máxima flexibilidade – Web Services: incluídos no core, a pensar na interoperabilidade – Accessibility, Mobile e Web 2.0: tecnologias como o HTML5, Responsive design e Mobile first fazem agora parte do core – UX: toda a interface foi redesenhada para melhorar a experiência do utilizador
  25. 25. In depth: Requisitos O Drupal tem necessidades muito próprias. Como tal, não pode ser corrido em qualquer hardware, software ou configuração. Podem ser consultadas no site oficial. Requisitos mínimos: – Servidor web: Apache, nginx ou IIS – Servidor de bases de dados: MySQL, MariaDB, Percona ou equivalentes, PostgreSQL ou SQLite – Interpretador PHP
  26. 26. Introdução ao Drupal “Hands on”
  27. 27. Hands on: Os primeiros passos Como começar com o Drupal? É preciso fazer a instalação primeiro. Para simplificar, num desktop, podemos utilizar um stack *AMP pré-configurado, que inclui todo o software necessário. O workflow é simples: 1.1) Instalar um stack *AMP 1.2) Instalar o Drupal 1.3) Configurar 1.4) Construir 1.5) Desenvolver!
  28. 28. Hands on: O stack WAMP da Acquia O Acquia Dev Desktop é o stack *AMP oficial do Drupal. É a maneira mais fácil de instalar o Drupal num desktop. Características: – Inclui os mínimos: servidor web, servidor de bases de dados, interpretador PHP e o Drupal – Inclui extras: phpMyAdmin e XMail Server – Disponível para Windows e Mac OS X – Freeware e fácil de instalar
  29. 29. Hands on: Instalação Como instalar? Segue as indicações: 1) Descarrega o Acquia Dev Desktop 7.x com Drupal 7 2) Executa o instalador e confirma a licença 3) Define o software a instalar e o local de instalação 4) Define as portas de acesso do stack 5) Introduz alguma informação 6) Carrega em launch!
  30. 30. Hands on: Overview O menu no topo permite-nos chegar a qualquer secção administrativa do Drupal: – Content e People: administrar conteúdos e utilizadores – Structure: construir o site, ie, site building – Appearance e Modules: escolher módulos e temas – Configuration: configurar parâmetros do sistema – Reports: relatórios do sistema, ex, erros – Help: manual dos módulos do core e contrib
  31. 31. Hands on: Configuração básica /admin/config A página de administração contem uma secção para configuração de parâmetros do sistema: – System: nome do site e endereço de email – Media: definição dos caminhos do sistema de ficheiros – Development: configurar as caches do core – Regional and language: línguas e formatos Para além destas, existem muitas outras configurações e normalmente este é o local onde módulos contrib colocam as suas páginas de configuração.
  32. 32. Hands on: Up next...
  33. 33. Hands on: Nodes, os objetos conteúdo /admin/structure/types A página de administração de tipos de conteúdo é o local onde podemos criar configurações de conteúdo: – Node type ou Content type: armazena configuração relativa a nodes, aos quais também são agregados “date types”, em fields – Node ou Content: armazena conteúdo, e também é um nome de um módulo do core Os node types permitem-nos fazer a diferenciação de conteúdo, como um registo de blog e um banner. Os nodes são também páginas, e estão sujeitos a traduções e a outras propriedades, como as revisões.
  34. 34. Hands on: Fields, os campos dos objetos /admin/structure/types Cada tipo de conteúdo pode ter campos associados. Na verdade, qualquer tipo de entidade pode ter campos: – Field: armazena um determinado “data type” e sua configuração. – Field Display: armazena a configuração de visualização do field. – View Mode: define um configuração de visualização de uma entity, à qual estão associados field displays. Cada field no Drupal pode ter uma configuração de visualização para cada view mode. Ex, Print, PDF, Full, Teaser, etc.
  35. 35. Hands on: Taxonomy, a arte de catalogar /admin/structure/taxonomy A página de administração da taxonomia é o local onde podemos criar ou associar blocos existentes a regiões: – Taxonomy: a arte de catalogar objetos, é na prática um nome de um módulo do core onde se faz a gestão de vocabularies e terms – Vocabulary: armazena configuração relativa a terms – Term: armazena a categoria e outros dados Um vocabulary é nada mais que um conjunto de terms. Tal como os conteúdos, os terms também são traduzíveis e podem opcionalmente ter fields.
  36. 36. Hands on: Views, as listas personalizáveis /admin/structure/views A página de administração das visualizações é o local onde podemos criar listas de objetos: – Views: é o nome do módulo contrib onde se faz a gestão das views – View: armazena a configuração de uma visualização – View Display: configuração de uma variante da view Exemplos: listas de utilizadores, conteúdos, categorias, produtos de loja, etc. Para discerni-los são usados filtros, ordenamentos, contextos, argumentos e outras propriedades, que podem ser fixas ou dinâmicas.
  37. 37. Hands on: Menus e ligações /admin/structure/menu A página de administração de menus é o local onde podemos criar novos menus e ligações: – Menu: objeto para armazenamento de conjuntos de menu items, e também um nome de um módulo do core – Menu item: armazena uma ligação Um menu é declarado como um block, e pode ser utilizado nos temas, no sistema de blocos ou em módulos compatíveis do mundo contrib. Os menu items também estão sujeitos a traduções.
  38. 38. Hands on: Blocos e Regiões /admin/structure/blocks A página de administração de blocos é o local onde podemos criar ou associar blocos existentes a regiões: – Block: objeto especial para representação visual no site de algo produzido por um módulo e também um nome de um módulo do core – Region: representação de uma secção do tema, aos quais são associados blocks. Ex: header, footer Os blocks são criados na UI com HTML ou programados em módulos. As regions são declaradas no tema e inseridas nos templates, com recurso a HTML e PHP.
  39. 39. Hands on: Utilizadores e Permissões /admin/people A página de administração de utilizadores é o local onde podemos gerir utilizadores, e não só... – User: objeto para armazenamento de credenciais, e também um nome de um módulo do core – Role: agrega permissions, são utilizadas em associação com users – Permission: definição de uma permissão individual para determinada função em determinado módulo É através dos roles e permissions que se faz toda a gestão de direitos administrativos no Drupal.
  40. 40. Hands on: Let's have fun! Exercício: Site de notícias – Categorias temáticas – Conteúdo notícias – Lista de notícias – Perfil de autor
  41. 41. Workshop Introdução ao Drupal Créditos
  42. 42. Contactos França Paris HIQ Consulting S.A.S 62 bis, avenue André Morizet (4ème étage) 92100 Boulogne Billancourt France Tel.: +33 1 41 31 20 20 Email: paris@agap2.com Rhône-Alpes HIQ Consulting S.A.S 83 rue de la république (5º étage) 69 002 Lyon France Tel.: +33 4 72 31 70 70 Email: lyon@agap2.com Luís Pedro Algarvio Drupal & Debian Linux Consultant Porto Centro Empresarial de Matosinhos Rua Brito Capelo - 807, 4450-063 Matosinhos Tel: +351 220 907 018 Fax: +351 220 400 976 lp.algarvio.org Espanha HIQ Consulting S.A. Calle San Bernardo, Nº20 1º Planta 28015 Madrid España Tel. : +34 670 713 948 Email : madrid@agap2.com Suíça HIQ Consulting A.G. Stänzlergasse, 4 CH 4051 Basel Tel. : +41 612 056 200 Email: bale@agap2.com Alemanha HIQ Consulting GmbH Postfach 10 05 43 66005 Saarbrücken Germany Tel. : 0681 / 99 63 273 Email: saarbrucken@agap2.com Portugal Lisboa HIQ Consultadoria S.A. Edifício Picoas Plaza Rua do Viriato, 13E Núcleo, 6 - 3º Dto 1050-233 Lisboa Portugal Tel.: +351 213 137 680 Email: lisboa@agap2.com www. .pt
  43. 43. Fim

×