SlideShare uma empresa Scribd logo
1 de 87
Baixar para ler offline
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

Mais conteúdo relacionado

Destaque

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 GuideIgnacio 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 disponibilidadIvá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 DrupalMarco Yandun
 
Drupal 7 (2)
Drupal 7 (2)Drupal 7 (2)
Drupal 7 (2)jecol59
 

Destaque (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)
 

Semelhante 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 drupalSamuel 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ódulosSamuel 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-CLImvkoen
 
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 MartelAntonio Martel
 
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 DrupalAlberto Permuy Leal
 
Agile Kaizen - Improvement Beyond Retrospectives
Agile Kaizen - Improvement Beyond RetrospectivesAgile Kaizen - Improvement Beyond Retrospectives
Agile Kaizen - Improvement Beyond RetrospectivesProyectalis / 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 tabletsMiguel Monreal
 
Herramientas para diseño web
Herramientas para diseño webHerramientas para diseño web
Herramientas para diseño webiConstruye
 
Conferencia DevOps Academy DevOps-the_journey
Conferencia DevOps Academy   DevOps-the_journeyConferencia DevOps Academy   DevOps-the_journey
Conferencia DevOps Academy DevOps-the_journeyDevOpsAcademy
 
R shiny-grupo-usuarios-r-def
R shiny-grupo-usuarios-r-defR shiny-grupo-usuarios-r-def
R shiny-grupo-usuarios-r-defPedro Concejero
 
[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 9Keopx
 

Semelhante 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
 

Mais de Samuel Solís Fuentes

Mais de Samuel Solís Fuentes (15)

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

La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 

Último (16)

La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 

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