SlideShare una empresa de Scribd logo
DRUPAL para desarrolladores
Samuel Solís
@estoyausente
linkedin.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 CMF
Content 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 CMF
Content 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ús
Usuarios 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 2
3
sábado 28 de septiembre de 2013
1 2
3
4
sábado 28 de septiembre de 2013
1 2
3
4
5
sábado 28 de septiembre de 2013
1 2
3
4
5
6
sábado 28 de septiembre de 2013
1 2
3
4
5
6
7
sábado 28 de septiembre de 2013
1 2
3
4
5
6
7
8
sábado 28 de septiembre de 2013
1 2
3
4
5
6
7
8
9
sábado 28 de septiembre de 2013
1 2
3
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/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
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
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
Drush
Comunidad
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 Subtheme
sá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.x
version = “7.x-1.0”
dependencies[] = system
project = “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 = 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
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-pear
sudo pear channel-discover pear.drush.org
sudo 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 module
drush en module
drush dis module
drush archive-dump
drush site-install
drush watchdog-show --tail
drush
drush 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.org
https://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.org
https://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

Más contenido relacionado

Destacado

Branding práctico: el Drupal Visual Language Guide
Branding práctico: el Drupal Visual Language GuideBranding práctico: el Drupal Visual Language Guide
Branding práctico: el Drupal Visual Language Guide
Ignacio Segura
 
Drupal 7 para sitios de alto rendimiento y alta disponibilidad
Drupal 7 para sitios de alto rendimiento y alta disponibilidadDrupal 7 para sitios de alto rendimiento y alta disponibilidad
Drupal 7 para sitios de alto rendimiento y alta disponibilidad
Iván Campaña Naranjo
 
Practica Creando una Tienda Online con Ubercart en el Curso de Drupal de E-du...
Practica Creando una Tienda Online con Ubercart en el Curso de Drupal de E-du...Practica Creando una Tienda Online con Ubercart en el Curso de Drupal de E-du...
Practica Creando una Tienda Online con Ubercart en el Curso de Drupal de E-du...
E-duca.eu
 
Presentacion Drupal Ccrtv
Presentacion Drupal CcrtvPresentacion Drupal Ccrtv
Presentacion Drupal CcrtvPedro Cambra
 
Manual De Usuario Drupal
Manual De Usuario DrupalManual De Usuario Drupal
Manual De Usuario Drupal
Marco Yandun
 
Drupal 7 (2)
Drupal 7 (2)Drupal 7 (2)
Drupal 7 (2)
jecol59
 

Destacado (6)

Branding práctico: el Drupal Visual Language Guide
Branding práctico: el Drupal Visual Language GuideBranding práctico: el Drupal Visual Language Guide
Branding práctico: el Drupal Visual Language Guide
 
Drupal 7 para sitios de alto rendimiento y alta disponibilidad
Drupal 7 para sitios de alto rendimiento y alta disponibilidadDrupal 7 para sitios de alto rendimiento y alta disponibilidad
Drupal 7 para sitios de alto rendimiento y alta disponibilidad
 
Practica Creando una Tienda Online con Ubercart en el Curso de Drupal de E-du...
Practica Creando una Tienda Online con Ubercart en el Curso de Drupal de E-du...Practica Creando una Tienda Online con Ubercart en el Curso de Drupal de E-du...
Practica Creando una Tienda Online con Ubercart en el Curso de Drupal de E-du...
 
Presentacion Drupal Ccrtv
Presentacion Drupal CcrtvPresentacion Drupal Ccrtv
Presentacion Drupal Ccrtv
 
Manual De Usuario Drupal
Manual De Usuario DrupalManual De Usuario Drupal
Manual De Usuario Drupal
 
Drupal 7 (2)
Drupal 7 (2)Drupal 7 (2)
Drupal 7 (2)
 

Similar a Drupal para desarrolladores

Arquitectura de información en drupal
Arquitectura de información en drupalArquitectura de información en drupal
Arquitectura de información en drupal
Samuel Solís Fuentes
 
Taller de introducción al desarrollo de módulos
Taller de introducción al desarrollo de módulosTaller de introducción al desarrollo de módulos
Taller de introducción al desarrollo de módulos
Samuel Solís Fuentes
 
Mike Schroder: Administra WordPress automáticamente con WP-CLI
Mike Schroder: Administra WordPress automáticamente con WP-CLIMike Schroder: Administra WordPress automáticamente con WP-CLI
Mike Schroder: Administra WordPress automáticamente con WP-CLI
mvkoen
 
Curso práctico de Scrum por Antonio Martel
Curso práctico de Scrum por Antonio MartelCurso práctico de Scrum por Antonio Martel
Curso práctico de Scrum por Antonio Martel
Antonio Martel
 
Open source responsibly
Open source responsiblyOpen source responsibly
Open source responsibly
Michael Klishin
 
Curso CDA: Seguridade e rendemento en Drupal
Curso CDA: Seguridade e rendemento en DrupalCurso CDA: Seguridade e rendemento en Drupal
Curso CDA: Seguridade e rendemento en Drupal
Alberto Permuy Leal
 
Agile Kaizen - Improvement Beyond Retrospectives
Agile Kaizen - Improvement Beyond RetrospectivesAgile Kaizen - Improvement Beyond Retrospectives
Agile Kaizen - Improvement Beyond Retrospectives
Proyectalis / Improvement21
 
Introducción a responsive design. Cómo adaptar tu web a móviles y tablets
Introducción a responsive design. Cómo adaptar tu web a móviles y tabletsIntroducción a responsive design. Cómo adaptar tu web a móviles y tablets
Introducción a responsive design. Cómo adaptar tu web a móviles y tablets
Miguel Monreal
 
Herramientas para diseño web
Herramientas para diseño webHerramientas para diseño web
Herramientas para diseño web
iConstruye
 
Conferencia DevOps Academy DevOps-the_journey
Conferencia DevOps Academy   DevOps-the_journeyConferencia DevOps Academy   DevOps-the_journey
Conferencia DevOps Academy DevOps-the_journey
DevOpsAcademy
 
R shiny-grupo-usuarios-r-def
R shiny-grupo-usuarios-r-defR shiny-grupo-usuarios-r-def
R shiny-grupo-usuarios-r-def
Pedro Concejero
 
Primeros pasos con aurelia
Primeros pasos con aureliaPrimeros pasos con aurelia
Primeros pasos con aurelia
Jose Angel Parreño Madrigal
 
[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9
[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9
[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9
Keopx
 
Flow Efficiency
Flow EfficiencyFlow Efficiency
SCRUM
SCRUMSCRUM

Similar a Drupal para desarrolladores (15)

Arquitectura de información en drupal
Arquitectura de información en drupalArquitectura de información en drupal
Arquitectura de información en drupal
 
Taller de introducción al desarrollo de módulos
Taller de introducción al desarrollo de módulosTaller de introducción al desarrollo de módulos
Taller de introducción al desarrollo de módulos
 
Mike Schroder: Administra WordPress automáticamente con WP-CLI
Mike Schroder: Administra WordPress automáticamente con WP-CLIMike Schroder: Administra WordPress automáticamente con WP-CLI
Mike Schroder: Administra WordPress automáticamente con WP-CLI
 
Curso práctico de Scrum por Antonio Martel
Curso práctico de Scrum por Antonio MartelCurso práctico de Scrum por Antonio Martel
Curso práctico de Scrum por Antonio Martel
 
Open source responsibly
Open source responsiblyOpen source responsibly
Open source responsibly
 
Curso CDA: Seguridade e rendemento en Drupal
Curso CDA: Seguridade e rendemento en DrupalCurso CDA: Seguridade e rendemento en Drupal
Curso CDA: Seguridade e rendemento en Drupal
 
Agile Kaizen - Improvement Beyond Retrospectives
Agile Kaizen - Improvement Beyond RetrospectivesAgile Kaizen - Improvement Beyond Retrospectives
Agile Kaizen - Improvement Beyond Retrospectives
 
Introducción a responsive design. Cómo adaptar tu web a móviles y tablets
Introducción a responsive design. Cómo adaptar tu web a móviles y tabletsIntroducción a responsive design. Cómo adaptar tu web a móviles y tablets
Introducción a responsive design. Cómo adaptar tu web a móviles y tablets
 
Herramientas para diseño web
Herramientas para diseño webHerramientas para diseño web
Herramientas para diseño web
 
Conferencia DevOps Academy DevOps-the_journey
Conferencia DevOps Academy   DevOps-the_journeyConferencia DevOps Academy   DevOps-the_journey
Conferencia DevOps Academy DevOps-the_journey
 
R shiny-grupo-usuarios-r-def
R shiny-grupo-usuarios-r-defR shiny-grupo-usuarios-r-def
R shiny-grupo-usuarios-r-def
 
Primeros pasos con aurelia
Primeros pasos con aureliaPrimeros pasos con aurelia
Primeros pasos con aurelia
 
[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9
[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9
[DrupalCampSpain2022] Introducción al desarrollo de módulos en Drupal 9
 
Flow Efficiency
Flow EfficiencyFlow Efficiency
Flow Efficiency
 
SCRUM
SCRUMSCRUM
SCRUM
 

Más de Samuel Solís Fuentes

El necesario mal del Legacy Code (Drupal Iberia 2024)
El necesario mal del Legacy Code (Drupal Iberia 2024)El necesario mal del Legacy Code (Drupal Iberia 2024)
El necesario mal del Legacy Code (Drupal Iberia 2024)
Samuel Solís Fuentes
 
De managers y developers
De managers y developersDe managers y developers
De managers y developers
Samuel Solís Fuentes
 
Hábitos y consejos para sobrevivir a un trabajo sedentario
Hábitos y consejos para sobrevivir a un trabajo sedentarioHábitos y consejos para sobrevivir a un trabajo sedentario
Hábitos y consejos para sobrevivir a un trabajo sedentario
Samuel Solís Fuentes
 
Drupal intro for Symfony developers
Drupal intro for Symfony developersDrupal intro for Symfony developers
Drupal intro for Symfony developers
Samuel Solís Fuentes
 
Querying solr
Querying solrQuerying solr
Querying solr
Samuel Solís Fuentes
 
Las tripas de un sistema solr
Las tripas de un sistema solrLas tripas de un sistema solr
Las tripas de un sistema solr
Samuel Solís Fuentes
 
D8 Form api
D8 Form apiD8 Form api
Mejorar tu código mejorando tu comunicación
Mejorar tu código mejorando tu comunicaciónMejorar tu código mejorando tu comunicación
Mejorar tu código mejorando tu comunicación
Samuel Solís Fuentes
 
Custom entities in d8
Custom entities in d8Custom entities in d8
Custom entities in d8
Samuel Solís Fuentes
 
Drupal8 simplepage v2
Drupal8 simplepage v2Drupal8 simplepage v2
Drupal8 simplepage v2
Samuel Solís Fuentes
 
Drupal 8 simple page: Mi primer proyecto en Drupal 8.
Drupal 8 simple page: Mi primer proyecto en Drupal 8.Drupal 8 simple page: Mi primer proyecto en Drupal 8.
Drupal 8 simple page: Mi primer proyecto en Drupal 8.
Samuel Solís Fuentes
 
Como arreglar este desastre
Como arreglar este desastreComo arreglar este desastre
Como arreglar este desastre
Samuel Solís Fuentes
 
Drupal y rails. Nuestra experiencia
Drupal y rails. Nuestra experienciaDrupal y rails. Nuestra experiencia
Drupal y rails. Nuestra experiencia
Samuel Solís Fuentes
 
Mejorar tu código hablando con el cliente
Mejorar tu código hablando con el clienteMejorar tu código hablando con el cliente
Mejorar tu código hablando con el cliente
Samuel Solís Fuentes
 
Más limpio que un jaspe.
Más limpio que un jaspe.Más limpio que un jaspe.
Más limpio que un jaspe.
Samuel Solís Fuentes
 
Drupal as a framework
Drupal as a frameworkDrupal as a framework
Drupal as a framework
Samuel Solís Fuentes
 

Más de Samuel Solís Fuentes (16)

El necesario mal del Legacy Code (Drupal Iberia 2024)
El necesario mal del Legacy Code (Drupal Iberia 2024)El necesario mal del Legacy Code (Drupal Iberia 2024)
El necesario mal del Legacy Code (Drupal Iberia 2024)
 
De managers y developers
De managers y developersDe managers y developers
De managers y developers
 
Hábitos y consejos para sobrevivir a un trabajo sedentario
Hábitos y consejos para sobrevivir a un trabajo sedentarioHábitos y consejos para sobrevivir a un trabajo sedentario
Hábitos y consejos para sobrevivir a un trabajo sedentario
 
Drupal intro for Symfony developers
Drupal intro for Symfony developersDrupal intro for Symfony developers
Drupal intro for Symfony developers
 
Querying solr
Querying solrQuerying solr
Querying solr
 
Las tripas de un sistema solr
Las tripas de un sistema solrLas tripas de un sistema solr
Las tripas de un sistema solr
 
D8 Form api
D8 Form apiD8 Form api
D8 Form api
 
Mejorar tu código mejorando tu comunicación
Mejorar tu código mejorando tu comunicaciónMejorar tu código mejorando tu comunicación
Mejorar tu código mejorando tu comunicación
 
Custom entities in d8
Custom entities in d8Custom entities in d8
Custom entities in d8
 
Drupal8 simplepage v2
Drupal8 simplepage v2Drupal8 simplepage v2
Drupal8 simplepage v2
 
Drupal 8 simple page: Mi primer proyecto en Drupal 8.
Drupal 8 simple page: Mi primer proyecto en Drupal 8.Drupal 8 simple page: Mi primer proyecto en Drupal 8.
Drupal 8 simple page: Mi primer proyecto en Drupal 8.
 
Como arreglar este desastre
Como arreglar este desastreComo arreglar este desastre
Como arreglar este desastre
 
Drupal y rails. Nuestra experiencia
Drupal y rails. Nuestra experienciaDrupal y rails. Nuestra experiencia
Drupal y rails. Nuestra experiencia
 
Mejorar tu código hablando con el cliente
Mejorar tu código hablando con el clienteMejorar tu código hablando con el cliente
Mejorar tu código hablando con el cliente
 
Más limpio que un jaspe.
Más limpio que un jaspe.Más limpio que un jaspe.
Más limpio que un jaspe.
 
Drupal as a framework
Drupal as a frameworkDrupal as a framework
Drupal as a framework
 

Último

(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
raquelariza02
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
DanielErazoMedina
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
thomasdcroz38
 
Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
durangense277
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
coloradxmaria
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
cdraco
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
Luis Enrique Zafra Haro
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
Leidyfuentes19
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
Ing. Julio Iván Mera Casas
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
rafaelsalazar0615
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
samuelvideos
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
IsabellaRubio6
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
Fernando Villares
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
cristianrb0324
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Telefónica
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
cofferub
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 

Último (20)

(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 

Drupal para desarrolladores

  • 1. DRUPAL para desarrolladores Samuel Solís @estoyausente linkedin.com/in/samuelsolisfuentes sábado 28 de septiembre de 2013
  • 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
  • 12. Entidad Instancia Menús Usuarios y permisos Bloques Módulos Drupal como CMS Drupal for devs Samuel Solís | @estoyausente sábado 28 de septiembre de 2013
  • 13. sábado 28 de septiembre de 2013
  • 14. 1 sábado 28 de septiembre de 2013
  • 15. 1 2 sábado 28 de septiembre de 2013
  • 16. 1 2 3 sábado 28 de septiembre de 2013
  • 17. 1 2 3 4 sábado 28 de septiembre de 2013
  • 18. 1 2 3 4 5 sábado 28 de septiembre de 2013
  • 19. 1 2 3 4 5 6 sábado 28 de septiembre de 2013
  • 20. 1 2 3 4 5 6 7 sábado 28 de septiembre de 2013
  • 21. 1 2 3 4 5 6 7 8 sábado 28 de septiembre de 2013
  • 22. 1 2 3 4 5 6 7 8 9 sábado 28 de septiembre de 2013
  • 23. 1 2 3 4 5 6 7 8 9 10 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
  • 39. 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
  • 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
  • 54. Drush Drupal for devs Samuel Solís | @estoyausente sábado 28 de septiembre de 2013
  • 55. Instalación Drupal for devs Samuel Solís | @estoyausente sudo apt-get install php-pear sudo pear channel-discover pear.drush.org sudo pear install drush/drush sábado 28 de septiembre de 2013
  • 56. Drupal for devs Samuel Solís | @estoyausente sábado 28 de septiembre de 2013
  • 57. Drupal for devs Samuel Solís | @estoyausente Drush cc all sábado 28 de septiembre de 2013
  • 58. Algunos comandos útiles... Drupal for devs Samuel Solís | @estoyausente drush dl module drush en module drush dis module drush archive-dump drush site-install drush watchdog-show --tail drush drush comando --help sábado 28 de septiembre de 2013
  • 59. Drupal for devs Samuel Solís | @estoyausente sábado 28 de septiembre de 2013
  • 60. Comunidad Drupal Drupal for devs Samuel Solís | @estoyausente sábado 28 de septiembre de 2013
  • 61. Comunidad Drupal Drupal for devs Samuel Solís | @estoyausente Viernes 21:30 sábado 28 de septiembre de 2013
  • 62. Drupal.org Drupal for devs Samuel Solís | @estoyausente sábado 28 de septiembre de 2013
  • 63. Drupal.org Drupal for devs Samuel Solís | @estoyausente 1 sábado 28 de septiembre de 2013
  • 64. Drupal.org Drupal for devs Samuel Solís | @estoyausente 1 2 sábado 28 de septiembre de 2013
  • 65. Drupal.org Drupal for devs Samuel Solís | @estoyausente 1 2 3 sábado 28 de septiembre de 2013
  • 66. Drupal.org Drupal for devs Samuel Solís | @estoyausente 1 2 3 4 sábado 28 de septiembre de 2013
  • 67. Drupal.org Drupal for devs Samuel Solís | @estoyausente 1 2 3 4 5 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
  • 82. Cómo colaborar Drupal for devs Samuel Solís | @estoyausente Ven sábado 28 de septiembre de 2013
  • 83. Cómo colaborar Drupal for devs Samuel Solís | @estoyausente Ven Patrocina sábado 28 de septiembre de 2013
  • 84. Cómo colaborar Drupal for devs Samuel Solís | @estoyausente Ven Patrocina Difunde sábado 28 de septiembre de 2013
  • 85. Cómo colaborar Drupal for devs Samuel Solís | @estoyausente Ven Patrocina Difunde sábado 28 de septiembre de 2013
  • 86. Samuel Solís @estoyausente sábado 28 de septiembre de 2013
  • 87. Samuel Solís @estoyausente sábado 28 de septiembre de 2013