Este documento presenta una introducción a Drupal. Explica que Drupal es un sistema de gestión de contenidos (CMF) y cómo se pronuncia. Proporciona algunos datos sobre el alcance de Drupal. Describe las diferentes partes de Drupal como la base de datos, archivos, módulos y usuarios. Explica cómo instalar Drupal, crear módulos y temas, y utilizar Drush. También destaca la importancia de la comunidad Drupal.
2. Drupal for devs Samuel Solís | @estoyausente
¿Qué es DRUPAL?
¿Y cómo cojones se pronuncia?
sábado 28 de septiembre de 2013
3. Drupal for devs Samuel Solís | @estoyausente
¿Qué es DRUPAL?
¿Y cómo cojones se pronuncia?
Drupal es un CMF
Content Management Framework
sábado 28 de septiembre de 2013
4. Drupal for devs Samuel Solís | @estoyausente
¿Qué es DRUPAL?
¿Y cómo cojones se pronuncia?
Drupal es un CMF
Content Management Framework
/ˈdruːpəl/
sábado 28 de septiembre de 2013
5. Algunos datos para impresionar
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
6. Algunos datos para impresionar
995M usuarios
228 países
181 Idiomas
+13k
módulos
+1000 grupos
+1000 temas gratis
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
7. Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
8. Base de datos
Ficheros
Gestor bonito (fácil e intuitivo.)
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
9. Base de datos
Ficheros
Gestor bonito (fácil e intuitivo.)
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
10. Base de datos
Ficheros
Gestor bonito (fácil e intuitivo.)
Desarrolladores / Semidioses
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
11. Base de datos
Ficheros
Gestor bonito (fácil e intuitivo.)
Mortales comunes / Muggles
Desarrolladores / Semidioses
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
24. Instalación y configuración de
Drupal 7
Drupal for devs Samuel Solís | @estoyausente
http://drupal.org/project/drupal
cd /var/www
sudo wget http://ftp.drupal.org/files/projects/
drupal-7.22.tar.gz
sudo tar xvf drupal-7.22.tar.gz
sudo mv drupal-7.22 drupal
sábado 28 de septiembre de 2013
25. Permisos
Drupal for devs Samuel Solís | @estoyausente
cd /var/www/drupal
sudo chown www-data:www-data sites/default/files
sudo chmod o+w sites/default/
sudo chmod o-w sites/default/
Carpeta sites/default/files, permisos de escritura por el servidor web.
sites/default/settings.php escritura durante la instalación.
sábado 28 de septiembre de 2013
26. Crear una base de datos y su
usuario correspondiente
Drupal for devs Samuel Solís | @estoyausente
CREATE DATABASE 'drupal';
CREATE USER 'drupal'@'localhost' IDENTIFIED BY
'drupal';
GRANT ALL PRIVILEGES ON drupal.* TO
'drupal'@'localhost';
FLUSH PRIVILEGES;
sábado 28 de septiembre de 2013
27. Crear una base de datos y su
usuario correspondiente
Drupal for devs Samuel Solís | @estoyausente
CREATE DATABASE 'drupal';
CREATE USER 'drupal'@'localhost' IDENTIFIED BY
'drupal';
GRANT ALL PRIVILEGES ON drupal.* TO
'drupal'@'localhost';
FLUSH PRIVILEGES;
También disponible en modo facilote en:
http://localhost/phpmyadmin
sábado 28 de septiembre de 2013
28. Drupal for devs Samuel Solís | @estoyausente
http://localhost/misitiosuperchulo/install.php
sábado 28 de septiembre de 2013
29. Drupal for devs Samuel Solís | @estoyausente
http://localhost/misitiosuperchulo
sábado 28 de septiembre de 2013
30. Drupal for devs Samuel Solís | @estoyausente
http://localhost/misitiosuperchulo
Enséñale a tus amigos lo que has aprendido a hacer
sábado 28 de septiembre de 2013
31. Drupal for devs Samuel Solís | @estoyausente
Algunos módulos esenciales
admin_menu coffee module_filter
ctools rules entity
smtp views token
sábado 28 de septiembre de 2013
32. Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
33. Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
34. Drupal for devs Samuel Solís | @estoyausente
Drupal para desarrolladores
sábado 28 de septiembre de 2013
35. ¿Por qué mola Drupal?
Si eres desarrollador...
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
36. ¿Por qué mola Drupal?
Si eres desarrollador...
API
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
37. ¿Por qué mola Drupal?
Si eres desarrollador...
API
Drush
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
38. ¿Por qué mola Drupal?
Si eres desarrollador...
API
Drush
Comunidad
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
40. Drupal for devs Samuel Solís | @estoyausente
√
CoreSites
Default All
Themes
Modules
Libraries
Contrib Subtheme
sábado 28 de septiembre de 2013
41. Drupal for devs Samuel Solís | @estoyausente
Modules
CustomFeatures Contrib
mimodulo
mimodulo.info mimodulo.module mimodulo.install
sábado 28 de septiembre de 2013
42. Drupal for devs Samuel Solís | @estoyausente
Features
sábado 28 de septiembre de 2013
43. Drupal for devs Samuel Solís | @estoyausente
Features
sábado 28 de septiembre de 2013
44. Drupal for devs Samuel Solís | @estoyausente
Mi primer módulo
sábado 28 de septiembre de 2013
45. Drupal for devs Samuel Solís | @estoyausente
Mimodulo.info
name = Mimodulo
description = Example module for Theevent Session
core = 7.x
version = “7.x-1.0”
dependencies[] = system
project = “Custom blocks”
sábado 28 de septiembre de 2013
46. Drupal for devs Samuel Solís | @estoyausente
Mimodulo.module
function mimodulo_block_info(){
$blocks['block_access'] = array(
'info' => t('Access'),
'cache' => DRUPAL_CACHE_PER_ROLE, //Default
);
return $blocks;
}
Definición de un bloque
sábado 28 de septiembre de 2013
47. Drupal for devs Samuel Solís | @estoyausente
Mimodulo.module
function mimodulo_block_view($delta = '') {
$block['subject'] = '';
switch($delta){
case 'block_access':
$block['content'] =
_block_access_get_content();
}
return $block;
}
Definición de la vista del bloque
sábado 28 de septiembre de 2013
48. Drupal for devs Samuel Solís | @estoyausente
Mimodulo.module
function _block_userlogout_get_content() {
global $user;
$content = '';
if ($user->uid > 0) {
$content = '<div class="cerrar-sesion">
'. l(t('Logout'),'user/logout',array
('attributes' => array('title' => t('Close
session')))) . '
</div>';
}
return $content;
}
Código del bloque
sábado 28 de septiembre de 2013
49. Drupal for devs Samuel Solís | @estoyausente
Feel like a Drupal Boss
sábado 28 de septiembre de 2013
50. Drupal for devs Samuel Solís | @estoyausente
Feel like a Drupal Boss
Ya has hecho tu primer módulo
sábado 28 de septiembre de 2013
51. Drupal for devs Samuel Solís | @estoyausente
https://api.drupal.org/api/drupal
API
sábado 28 de septiembre de 2013
52. Drupal for devs Samuel Solís | @estoyausente
Mi primer tema
sábado 28 de septiembre de 2013
53. mitheme.info
Drupal for devs Samuel Solís | @estoyausente
name = mitheme
core = 7.x
base theme = adaptivetheme
project = "adaptivetheme"
stylesheets[screen][] = css/main.css
stylesheets[print][] = css/print.css
regions[sidebar_first] = Sidebar first
regions[sidebar_second] = Sidebar second
scripts[][] = js/onload.js
sábado 28 de septiembre de 2013
68. Drupal for devs Samuel Solís | @estoyausente
¡No sé por donde empezar!
sábado 28 de septiembre de 2013
69. Drupal for devs Samuel Solís | @estoyausente
¡No sé por donde empezar!
Canal #drupal-es de IRC
sábado 28 de septiembre de 2013
70. Drupal for devs Samuel Solís | @estoyausente
¡No sé por donde empezar!
Canal #drupal-es de IRC
Drupal hispano: http://drupal.org.es/
sábado 28 de septiembre de 2013
71. Drupal for devs Samuel Solís | @estoyausente
¡No sé por donde empezar!
Canal #drupal-es de IRC
Drupal hispano: http://drupal.org.es/
Grupo de extremadura de Drupal.org
https://groups.drupal.org/extremadura
sábado 28 de septiembre de 2013
72. Drupal for devs Samuel Solís | @estoyausente
¡No sé por donde empezar!
Canal #drupal-es de IRC
Drupal hispano: http://drupal.org.es/
Grupo de extremadura de Drupal.org
https://groups.drupal.org/extremadura
Eventos
sábado 28 de septiembre de 2013
73. Eventos de negocio, ocio y
BeerOcio
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
74. Eventos de negocio, ocio y
BeerOcio
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
75. Eventos de negocio, ocio y
BeerOcio
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
76. Eventos de negocio, ocio y
BeerOcio
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
77. Eventos de negocio, ocio y
BeerOcio
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
78. Eventos de negocio, ocio y
BeerOcio
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
79. Eventos de negocio, ocio y
BeerOcio
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
80. Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
81. Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013