Drupal @IST
HackerSchool
WORKSHOP
28 de Abril 2014
Drupal Portugal
sobre os facilitadores
Ricardo Amaro
Senior Cloud Systems Eng. @ Acquia
Drupal.org Infrastructure Team
Direcção da Drupal Portugal
https://linkedin.com/in/ricardoamaro
Luís Algarvio
Drupal & Debian Consultant @ Agap2
Direcção da Drupal Portugal
https://linkedin.com/in/lpalgarvio
obsessão 1#
obsessão 2#
quem participa hoje?
alunos
professores
programadores
designers
curiosos
o que é o drupal?
○
O que é o drupal?
1,979 Templates em Drupal.org
26,424 Módulos contribuídos
desenvolvimento de sites com foco na gestão de conteúdos
código livre para uso, modificação e partilha (GPL)
761,244 pessoas em...
228 ...paises, falando...
181 linguas.
comunidade de programadores e utilizadores voluntários
com alguma coordenação da Drupal Association
drupal.org
drupal-pt.org
●Documentation
●Download & Extend
●Modules
●Themes
●Community
●Forums & Issues
●Groups
●Support
●Marketplace
Comunidade Drupal Portugal
developers, themers, contractors, consultants
Canal IRC #drupal-pt
meetups periódicos
lisboa, porto, braga, aveiro...
estimular o eco-sistema drupal
http://drupal-pt.org
http://groups.drupal.org/portugal
Próximo evento:
http://lisboa2014.drupal-pt.org/
Drupal Day no ISCTE
21 de Junho
some website
examples
source: drupal.org & buytaert.net/tag/drupal-sites
the white house
france 24
die welt
ebayclassifiedsgroup
fedex
cnn
nbc
prince of wales
new york observer
the economist
linux journal
washington university st. louis
warnerbros records
http://www.ocasiao.pt
http://www.atlasdasaude.pt
http://www.ionline.pt
http://www.agendalx.pt
Responsive Design ready
cross compatible with any mobile browser:
-Android
-Iphone/Ipad
-Symbian
-Windows mobile
...
#drupal
noções base
from nodes
to entities/fields
O principal bloco de trabalho do Drupal.
É o conteúdo no site. Pode ser um blog, um
artigo, uma página, um questionário, etc.....
Uma instalação base cria o tipo de conteúdo
article e page.
opções de publicação
Published
Cria um switch on/off para os nós
Promote to front page
Adiciona o nó à página frontal
Sticky at top of lists
Torna o nó o primeiro da listagem
content type
http://drupal.org/node/21947
O Tipo de Conteúdo é a template para os nós.
Modificar um tipo de conteúdo afecta todos os
nós criados com aquela template.
Muitos módulos são criados para interagir com
tipos de conteúdo.
organizar e visualizar conteúdos
conteúdos podem ser agrupados:
- encaminhados para a página frontal
- taxonomia (categorias)
e com Fields + Views + Panels
como funcionam os nós?
URI típico http://drupal.org/node/19828
o 19828 é um identificador único
usando este identificador o Drupal carrega toda a
informação relativa a este conteúdo
comentários incluídos
na prática, é uma query complexa na base de dados
manipulação de URLs
(seo compliance)
funcionalidade base via módulo core path
permite customizar os URLs
passo seguinte: criar padrões automáticos de
URLs (semânticos) via pathauto
módulos core: obrigatórios ou não
ao instalar o drupal vêem uma série de módulos ditos
do core
convém conhecê-los para evitar a duplicação de
funcionalidades e código
estes módulos estão vetados em termos de qualidade
pela equipa do core
para outros módulos da comunidade:
http://drupal.org/project/modules
onde colocar os módulos e temas?
instalação unisite
/home/username/public_html/sites/all/
{modules,themes}
instalação multisite
/home/username/public_html/sites/site1.com/
{modules,themes}
pesquisar módulos
http://drupal.org/project/modules
Como encontrar o que preciso?
Como estão organizados?
Que estatísticas de módulos estão disponiveis?
Como são as estatísticas geradas?
Quais são os módulos mais usados?
http://drupalmodules.com
gerir utilizadores: permissões
módulo core opcional profile que permite criar um
perfil de utilizador
o utilizador é uma entity diversa do nó (conteúdo)
permissões definem o que é possível de fazer para
cada utilizador (ACL) ou grupo de utilizadores (roles)
visualização, criação, edição, etc
#drupal
Workshop
plano de trabalho
1. preparar o ambiente
2. download e instalação
3. mudar o look & feel
4. flexibilizar layouts com blocos
5. criar e manipular conteúdo
6. criar tipos de contúdo customizados
7. gerir utilizadores
8. usar roles/permissões
9. traduzir o interface
10. linha de comandos com drush
11. localizar e instalar módulos contrib
12. cinco módulos obrigatórios
13. fazer backup e mover o site
14. actualizar e manter o site
15. listar dados do site com views
1. preparar o ambiente
Linux Debian/Ubuntu
Este script irá instalar um Drupal7 em /var/www,
juntamente com o drush e uma bd “drupal”.
curl -s http://www.ricardoamaro.com/d7install.bash | sh
2. download e instalar
http://drupal
Database: drupal,
database user: drupal,
password: d7pass
your mail,
your details
Easy way: Dev Desktop
● Acquia Drupal
● Apache web server
● MySQL
● PHP
● phpMyAdmin
● Dev Desktop
Control Panel
● XMail Server
http://www.acquia.com/downloads
But today... Acquia Cloud
free
http://acquia.com/free
https://insight.acquia.com/site-list
➔ enable “Live development”
goto: /admin/modules
➔ enable “Update Manager”
➔ Upload a theme
3. mudar o look & feel
4 - flexibilizar layouts
com blocos
5. criar e manipular conteúdo
6. criar tipos de conteúdos
customizados
7. gerir utilizadores
8. usar roles/permissões
9. traduzir o interface
10. linha de comandos com drush
$ sudo apt-get install drush
ou
$ git clone https://github.com/drush-ops/drush.git
$ sudo ln -s drush/drush /usr/local/bin/drush
$ cd /var/www/drupal
$ drush status
Drupal version : 7.27
Site URI : http://default
Database driver : mysql
Database hostname : localhost
Database username : mysite
Database name : mysite
Database : Connected
Drupal bootstrap : Successful
Drupal user : Anónimo
Default theme : mytheme
Administration theme : seven
PHP configuration : /etc/php5/cli/php.ini
Drush version : 4.5
Drush configuration :
Drush alias files :
Drupal root : /home/mysite/public_html
Site path : sites/default
File directory path : sites/default/files
$ drush -h
11. locating and installing
contrib modules / themes
http://drupal.org/project/modules
http://drupal.org/project/usage
http://drupal.org/project/themes
$ drush dl views
$ drush en views
12. cinco módulos obrigatórios
(not in D7 core)
1.views
2.ctools
3.ds (display suite)
4.rules
5.backup_migrate
https://drupal.org/project/usage
13. fazer backup e mover o
site
$ drush | grep archive
archive-dump (ard, Backup your code, files, and database into a single file.
archive-backup,
arb)
archive-restore (arr) Expand a site archive into a Drupal web site.
$ drush ard
myserver:~/drush-backups/archive-dump# ls
20120402144836
14. actualizar e manter o
site$ drush | grep update
self-update Update drush to the latest version, if available.
(selfupdate)
updatedb (updb) Apply any database updates required (as with running
update.php).
field-update Return URL for field editing web page.
pm-refresh (rf) Refresh update status information.
pm-update (up) Update Drupal core and contrib projects and apply any
pm-updatecode (upc) Update Drupal core and contrib projects to latest
jquery-plugin-update Updates jQuery plugins
$ drush pm-update
goto: drupal.org/project/views
➔ upload “Views”
➔ enable “Views”
15. listar dados do site com
views
questões?
Se tiveres questões mais
tarde junta-te ao canal do
obrigado!
http://lisboa2014.drupal-pt.org/
torna-te membro da nossa comunidade
http://groups.drupal.org/portugal

Drupal workshop ist 2014

  • 1.
    Drupal @IST HackerSchool WORKSHOP 28 deAbril 2014 Drupal Portugal
  • 2.
    sobre os facilitadores RicardoAmaro Senior Cloud Systems Eng. @ Acquia Drupal.org Infrastructure Team Direcção da Drupal Portugal https://linkedin.com/in/ricardoamaro Luís Algarvio Drupal & Debian Consultant @ Agap2 Direcção da Drupal Portugal https://linkedin.com/in/lpalgarvio
  • 3.
  • 4.
  • 5.
  • 6.
    o que éo drupal? ○
  • 7.
    O que éo drupal? 1,979 Templates em Drupal.org 26,424 Módulos contribuídos desenvolvimento de sites com foco na gestão de conteúdos código livre para uso, modificação e partilha (GPL) 761,244 pessoas em... 228 ...paises, falando... 181 linguas. comunidade de programadores e utilizadores voluntários com alguma coordenação da Drupal Association
  • 8.
  • 9.
    Comunidade Drupal Portugal developers,themers, contractors, consultants Canal IRC #drupal-pt meetups periódicos lisboa, porto, braga, aveiro... estimular o eco-sistema drupal http://drupal-pt.org http://groups.drupal.org/portugal
  • 10.
  • 11.
    some website examples source: drupal.org& buytaert.net/tag/drupal-sites
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
    Responsive Design ready crosscompatible with any mobile browser: -Android -Iphone/Ipad -Symbian -Windows mobile ...
  • 30.
  • 31.
    from nodes to entities/fields Oprincipal bloco de trabalho do Drupal. É o conteúdo no site. Pode ser um blog, um artigo, uma página, um questionário, etc..... Uma instalação base cria o tipo de conteúdo article e page.
  • 32.
    opções de publicação Published Criaum switch on/off para os nós Promote to front page Adiciona o nó à página frontal Sticky at top of lists Torna o nó o primeiro da listagem
  • 33.
    content type http://drupal.org/node/21947 O Tipode Conteúdo é a template para os nós. Modificar um tipo de conteúdo afecta todos os nós criados com aquela template. Muitos módulos são criados para interagir com tipos de conteúdo.
  • 34.
    organizar e visualizarconteúdos conteúdos podem ser agrupados: - encaminhados para a página frontal - taxonomia (categorias) e com Fields + Views + Panels
  • 35.
    como funcionam osnós? URI típico http://drupal.org/node/19828 o 19828 é um identificador único usando este identificador o Drupal carrega toda a informação relativa a este conteúdo comentários incluídos na prática, é uma query complexa na base de dados
  • 36.
    manipulação de URLs (seocompliance) funcionalidade base via módulo core path permite customizar os URLs passo seguinte: criar padrões automáticos de URLs (semânticos) via pathauto
  • 37.
    módulos core: obrigatóriosou não ao instalar o drupal vêem uma série de módulos ditos do core convém conhecê-los para evitar a duplicação de funcionalidades e código estes módulos estão vetados em termos de qualidade pela equipa do core para outros módulos da comunidade: http://drupal.org/project/modules
  • 38.
    onde colocar osmódulos e temas? instalação unisite /home/username/public_html/sites/all/ {modules,themes} instalação multisite /home/username/public_html/sites/site1.com/ {modules,themes}
  • 39.
    pesquisar módulos http://drupal.org/project/modules Como encontraro que preciso? Como estão organizados? Que estatísticas de módulos estão disponiveis? Como são as estatísticas geradas? Quais são os módulos mais usados? http://drupalmodules.com
  • 40.
    gerir utilizadores: permissões módulocore opcional profile que permite criar um perfil de utilizador o utilizador é uma entity diversa do nó (conteúdo) permissões definem o que é possível de fazer para cada utilizador (ACL) ou grupo de utilizadores (roles) visualização, criação, edição, etc
  • 41.
  • 42.
    plano de trabalho 1.preparar o ambiente 2. download e instalação 3. mudar o look & feel 4. flexibilizar layouts com blocos 5. criar e manipular conteúdo 6. criar tipos de contúdo customizados 7. gerir utilizadores 8. usar roles/permissões 9. traduzir o interface 10. linha de comandos com drush 11. localizar e instalar módulos contrib 12. cinco módulos obrigatórios 13. fazer backup e mover o site 14. actualizar e manter o site 15. listar dados do site com views
  • 43.
    1. preparar oambiente Linux Debian/Ubuntu Este script irá instalar um Drupal7 em /var/www, juntamente com o drush e uma bd “drupal”. curl -s http://www.ricardoamaro.com/d7install.bash | sh
  • 44.
    2. download einstalar http://drupal Database: drupal, database user: drupal, password: d7pass your mail, your details
  • 45.
    Easy way: DevDesktop ● Acquia Drupal ● Apache web server ● MySQL ● PHP ● phpMyAdmin ● Dev Desktop Control Panel ● XMail Server http://www.acquia.com/downloads
  • 46.
    But today... AcquiaCloud free http://acquia.com/free https://insight.acquia.com/site-list
  • 47.
    ➔ enable “Livedevelopment” goto: /admin/modules ➔ enable “Update Manager” ➔ Upload a theme
  • 48.
    3. mudar olook & feel
  • 49.
    4 - flexibilizarlayouts com blocos
  • 50.
    5. criar emanipular conteúdo
  • 51.
    6. criar tiposde conteúdos customizados
  • 52.
  • 53.
  • 54.
    9. traduzir ointerface
  • 55.
    10. linha decomandos com drush $ sudo apt-get install drush ou $ git clone https://github.com/drush-ops/drush.git $ sudo ln -s drush/drush /usr/local/bin/drush $ cd /var/www/drupal $ drush status Drupal version : 7.27 Site URI : http://default Database driver : mysql Database hostname : localhost Database username : mysite Database name : mysite Database : Connected Drupal bootstrap : Successful Drupal user : Anónimo Default theme : mytheme Administration theme : seven PHP configuration : /etc/php5/cli/php.ini Drush version : 4.5 Drush configuration : Drush alias files : Drupal root : /home/mysite/public_html Site path : sites/default File directory path : sites/default/files $ drush -h
  • 56.
    11. locating andinstalling contrib modules / themes http://drupal.org/project/modules http://drupal.org/project/usage http://drupal.org/project/themes $ drush dl views $ drush en views
  • 57.
    12. cinco módulosobrigatórios (not in D7 core) 1.views 2.ctools 3.ds (display suite) 4.rules 5.backup_migrate https://drupal.org/project/usage
  • 58.
    13. fazer backupe mover o site $ drush | grep archive archive-dump (ard, Backup your code, files, and database into a single file. archive-backup, arb) archive-restore (arr) Expand a site archive into a Drupal web site. $ drush ard myserver:~/drush-backups/archive-dump# ls 20120402144836
  • 59.
    14. actualizar emanter o site$ drush | grep update self-update Update drush to the latest version, if available. (selfupdate) updatedb (updb) Apply any database updates required (as with running update.php). field-update Return URL for field editing web page. pm-refresh (rf) Refresh update status information. pm-update (up) Update Drupal core and contrib projects and apply any pm-updatecode (upc) Update Drupal core and contrib projects to latest jquery-plugin-update Updates jQuery plugins $ drush pm-update
  • 60.
    goto: drupal.org/project/views ➔ upload“Views” ➔ enable “Views”
  • 61.
    15. listar dadosdo site com views
  • 62.
    questões? Se tiveres questõesmais tarde junta-te ao canal do
  • 64.
    obrigado! http://lisboa2014.drupal-pt.org/ torna-te membro danossa comunidade http://groups.drupal.org/portugal