drupal workshop fcul_2014
TRANSCRIPT
O que é o drupal?1,400 Templates em Drupal.org14,462 Módulos contribuidos
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, falando181 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 Portugaldevelopers, themers, contractors, consultants
Canal IRC #drupal-pt
meetups periódicos
lisboa, porto, braga, aveiro...
estimular o eco-sistema drupal
http://drupal-pt.orghttp://groups.drupal.org/portugal
Responsive design readycross compatible with any mobile browser:
-Android-Iphone/Ipad-Symbian-Windows mobile...
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
PublishedCria um switch on/off para os nós Promote to front pageAdiciona o nó à página frontal
Sticky at top of listsTorna 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
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 encontro 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
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
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
plano de trabalho1. preparar o ambiente 2. download e instalação 3. mudar o look & feel 4. flexibilizar layouts com blocos 5. criar e manipular conteúdo6. gerir utilizadores 7. usar roles/permissões 8. traduzir o interface 9. linha de comandos com drush
10. localizar e instalar módulos contrib11. cinco módulos obrigatórios 12. actualizar e manter o site 13. fazer backup e mover o site
---------- bónus ---------14. criar tipos de contúdo customizados 15. listar dados do site com views
1. preparar o ambiente
$ sudo apt-get install tasksel$ sudo tasksel install lamp-server$ sudo nano /etc/apache2/apache2.confServerName drupal
$ sudo nano /etc/apache2/sites-available/defaultTrocar: "AllowOverride none" por "AllowOverride All"
$ sudo a2enmod rewrite$ sudo /etc/init.d/apache2 restart
$ sudo nano /etc/hosts127.0.0.1 drupal localhost
$ mysql -u root -p$ mysql> CREATE DATABASE drupal;$ mysql> CREATE USER 'drupal'@'localhost' IDENTIFIED BY 'd7pass';$ mysql> GRANT ALL PRIVILEGES ON drupal7.* to drupal@localhost;$ mysql> \q
2. download e instalar
cd $ wget http://ftp.drupal.org/files/projects/drupal-7.27.tar.gz$ tar xvf drupal-7.27.tar.gz$ sudo mv drupal-7.27/ /var/www/drupal$ sudo chown -R www-data:www-data /var/www/drupal/$ cd /var/www/drupal/sites/default/$ sudo cp default.settings.php settings.php$ sudo chmod 644 settings.php$ sudo mkdir files$ sudo chmod 777 files
http://drupal
Easy way: Dev Desktop
● Acquia Drupal● Apache web server● MySQL ● PHP● phpMyAdmin● Dev Desktop
Control Panel● XMail Server
http://www.acquia.com/downloads
9. linha de comandos com drush $ sudo apt-get install drushou$ 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
10. locating and installing contrib modules / themes
http://drupal.org/project/moduleshttp://drupal.org/project/usage
http://drupal.org/project/themes
$ drush dl views $ drush en views
11. cinco módulos obrigatórios(not in D7 core)
1.views 2.ctools3.ds (display suite)4.rules5.backup_migrate
https://drupal.org/project/usage
12. 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
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# ls20120402144836