drupal para desarrolladores
DESCRIPTION
Drupal Para desarrolladores, impartida en el seminario de TheEvent en Cáceres el 28 de Septiembre de 2013. Drupal es un CMF con más potencia de lo que la gente que no lo conoce cree, por lo que el objetivo es mostrarles esa potencia y enseñar los puntos fuertes de Drupal. Al final, mención a la comunidad y a la Drupalcamp Cáceres 2013.TRANSCRIPT
DRUPAL para desarrolladores
Samuel Solís
@estoyausentelinkedin.com/in/samuelsolisfuentes
sábado 28 de septiembre de 2013
Drupal for devs Samuel Solís | @estoyausente
¿Qué es DRUPAL?¿Y cómo cojones se pronuncia?
sábado 28 de septiembre de 2013
Drupal for devs Samuel Solís | @estoyausente
¿Qué es DRUPAL?¿Y cómo cojones se pronuncia?
Drupal es un CMFContent Management Framework
sábado 28 de septiembre de 2013
Drupal for devs Samuel Solís | @estoyausente
¿Qué es DRUPAL?¿Y cómo cojones se pronuncia?
Drupal es un CMFContent Management Framework
/ˈdruːpəl/
sábado 28 de septiembre de 2013
Algunos datos para impresionar
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
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
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
Base de datos
Ficheros
Gestor bonito (fácil e intuitivo.)
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
Base de datos
Ficheros
Gestor bonito (fácil e intuitivo.)
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
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
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
Entidad Instancia
MenúsUsuarios y permisos
Bloques
Módulos
Drupal como CMS
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
sábado 28 de septiembre de 2013
1
sábado 28 de septiembre de 2013
1 2
sábado 28 de septiembre de 2013
1 23
sábado 28 de septiembre de 2013
1 23
4
sábado 28 de septiembre de 2013
1 23
4
5
sábado 28 de septiembre de 2013
1 23
4
5
6
sábado 28 de septiembre de 2013
1 23
4
5
6
7
sábado 28 de septiembre de 2013
1 23
4
5
6
7
8
sábado 28 de septiembre de 2013
1 23
4
5
6
7
8
9
sábado 28 de septiembre de 2013
1 23
4
5
6
7
8
9
10
sábado 28 de septiembre de 2013
Instalación y configuración de Drupal 7
Drupal for devs Samuel Solís | @estoyausente
http://drupal.org/project/drupal
cd /var/wwwsudo wget http://ftp.drupal.org/files/projects/drupal-7.22.tar.gzsudo tar xvf drupal-7.22.tar.gzsudo mv drupal-7.22 drupal
sábado 28 de septiembre de 2013
Permisos
Drupal for devs Samuel Solís | @estoyausente
cd /var/www/drupalsudo 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
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
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
Drupal for devs Samuel Solís | @estoyausente
http://localhost/misitiosuperchulo/install.php
sábado 28 de septiembre de 2013
Drupal for devs Samuel Solís | @estoyausente
http://localhost/misitiosuperchulo
sábado 28 de septiembre de 2013
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
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
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
Drupal for devs Samuel Solís | @estoyausente
Drupal para desarrolladores
sábado 28 de septiembre de 2013
¿Por qué mola Drupal?Si eres desarrollador...
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
¿Por qué mola Drupal?Si eres desarrollador...
API
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
¿Por qué mola Drupal?Si eres desarrollador...
API Drush
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
¿Por qué mola Drupal?Si eres desarrollador...
API DrushComunidad
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
Núcleo
Módulos contribuidos
Módulos personalizados
Tema contribuido
Subtema personalizado
Estructura lógica
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
Drupal for devs Samuel Solís | @estoyausente
√CoreSites
Default All
Themes Modules Libraries
Contrib Subthemesábado 28 de septiembre de 2013
Drupal for devs Samuel Solís | @estoyausente
Modules
CustomFeatures Contrib
mimodulo
mimodulo.info mimodulo.module mimodulo.install
sábado 28 de septiembre de 2013
Drupal for devs Samuel Solís | @estoyausente
Features
sábado 28 de septiembre de 2013
Drupal for devs Samuel Solís | @estoyausente
Features
sábado 28 de septiembre de 2013
Drupal for devs Samuel Solís | @estoyausente
Mi primer módulo
sábado 28 de septiembre de 2013
Drupal for devs Samuel Solís | @estoyausente
Mimodulo.info
name = Mimodulo description = Example module for Theevent Session core = 7.xversion = “7.x-1.0”
dependencies[] = systemproject = “Custom blocks”
sábado 28 de septiembre de 2013
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
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
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
Drupal for devs Samuel Solís | @estoyausente
Feel like a Drupal Boss
sábado 28 de septiembre de 2013
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
Drupal for devs Samuel Solís | @estoyausente
https://api.drupal.org/api/drupal
API
sábado 28 de septiembre de 2013
Drupal for devs Samuel Solís | @estoyausente
Mi primer tema
sábado 28 de septiembre de 2013
mitheme.info
Drupal for devs Samuel Solís | @estoyausente
name = mithemecore = 7.xbase theme = adaptivethemeproject = "adaptivetheme"stylesheets[screen][] = css/main.cssstylesheets[print][] = css/print.cssregions[sidebar_first] = Sidebar firstregions[sidebar_second] = Sidebar secondscripts[][] = js/onload.js
sábado 28 de septiembre de 2013
Drush
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
Instalación
Drupal for devs Samuel Solís | @estoyausente
sudo apt-get install php-pearsudo pear channel-discover pear.drush.orgsudo pear install drush/drush
sábado 28 de septiembre de 2013
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
Drupal for devs Samuel Solís | @estoyausente
Drush cc all
sábado 28 de septiembre de 2013
Algunos comandos útiles...
Drupal for devs Samuel Solís | @estoyausente
drush dl moduledrush en moduledrush dis moduledrush archive-dumpdrush site-installdrush watchdog-show --taildrushdrush comando --help
sábado 28 de septiembre de 2013
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
Comunidad Drupal
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
Comunidad Drupal
Drupal for devs Samuel Solís | @estoyausente
Viernes 21:30
sábado 28 de septiembre de 2013
Drupal.org
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
Drupal.org
Drupal for devs Samuel Solís | @estoyausente
1
sábado 28 de septiembre de 2013
Drupal.org
Drupal for devs Samuel Solís | @estoyausente
1
2
sábado 28 de septiembre de 2013
Drupal.org
Drupal for devs Samuel Solís | @estoyausente
1
2
3
sábado 28 de septiembre de 2013
Drupal.org
Drupal for devs Samuel Solís | @estoyausente
1
2
3
4
sábado 28 de septiembre de 2013
Drupal.org
Drupal for devs Samuel Solís | @estoyausente
1
2
3
4
5
sábado 28 de septiembre de 2013
Drupal for devs Samuel Solís | @estoyausente
¡No sé por donde empezar!
sábado 28 de septiembre de 2013
Drupal for devs Samuel Solís | @estoyausente
¡No sé por donde empezar!
Canal #drupal-es de IRC
sábado 28 de septiembre de 2013
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
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.orghttps://groups.drupal.org/extremadura
sábado 28 de septiembre de 2013
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.orghttps://groups.drupal.org/extremadura
Eventos
sábado 28 de septiembre de 2013
Eventos de negocio, ocio y BeerOcio
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
Eventos de negocio, ocio y BeerOcio
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
Eventos de negocio, ocio y BeerOcio
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
Eventos de negocio, ocio y BeerOcio
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
Eventos de negocio, ocio y BeerOcio
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
Eventos de negocio, ocio y BeerOcio
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
Eventos de negocio, ocio y BeerOcio
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
Drupal for devs Samuel Solís | @estoyausente
sábado 28 de septiembre de 2013
Cómo colaborar
Drupal for devs Samuel Solís | @estoyausente
Ven
sábado 28 de septiembre de 2013
Cómo colaborar
Drupal for devs Samuel Solís | @estoyausente
Ven Patrocina
sábado 28 de septiembre de 2013
Cómo colaborar
Drupal for devs Samuel Solís | @estoyausente
Ven Patrocina Difunde
sábado 28 de septiembre de 2013
Cómo colaborar
Drupal for devs Samuel Solís | @estoyausente
Ven Patrocina Difunde
sábado 28 de septiembre de 2013
Samuel Solís@estoyausente
sábado 28 de septiembre de 2013
Samuel Solís@estoyausente
sábado 28 de septiembre de 2013