Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introduccin a Drupal
Herramientas de administracin
Instalacin de Drupal
Configuracin bsica
Empecemos a jugar
Algunas distribuciones
Entorno desarrollo
Actividades avanzadas
Subtema basado en ZE
Actividades subtema
!dulos bsico
"uentes
#icencia
ndice
Introduccin a Drupal 6
Pg. 3
Introduccin a Drupal
Introduccin a Drupal 6
Pg. 4
Qu es Drupal?
Definicin
Drupal es un programa libre$ con licencia %&'%(#$ escrito en (H($ desarrollado ) mantenido por
una activa comunidad de usuarios* Destaca por la calidad de su cdigo ) de las pginas generadas$
el respeto de los estndares de la +eb$ ) un ,nfasis especial en la usabilidad ) consistencia de todo
el sistema*
Drupal es un sistema de gestin de contenidos modular multiproposito ) mu) configurable -ue
permite publicar art.culos$ imgenes$ u otros arc/ivos ) servicios a0adidos como foros$ encuestas$
votaciones$ blogs ) administracin de usuarios ) permisos* Drupal es un sistema dinmico1 en lugar
de almacenar sus contenidos en arc/ivos estticos en el sistema de fic/eros del servidor de forma
fija$ el contenido te2tual de las pginas ) otras configuraciones son almacenados en una
base de datos ) se editan utilizando un entorno 3eb*
El dise0o de Drupal es especialmente idneo para construir ) gestionar comunidades en Internet* o
obstante$ su fle2ibilidad ) adaptabilidad$ as. como la gran cantidad de mdulos adicionales
disponibles$ /ace -ue sea adecuado para realizar muc/os tipos diferentes de sitio +eb*
"uente1 3i4ipedia
Introduccin a Drupal 6
Pg. 5
Qu es Drupal?
CM/CMF
"undador de Drupal*
Ciudadano <elga*
(ortales corporativos*
Intranets*
<logs*
"oros*
Comunidades*
3i4is*
Eventos*
%aler.as de fotos*
%aler.as de v.deos*
E@commerce*
E@learning*
Aplicaciones*
***
Introduccin a Drupal 6
Pg. 15
Quin lo esta usando?
!edios* 5/ttp1''+++*vtA*be'6
Corporativos* 5/ttp1''+++*bilbomatica*es6
Educacin* 5/ttp1''+++*/arvardscience*/arvard*edu'6
Soft+are* 5/ttp1''+++*spreadfirefo2*com'6
%obiernos* 5/ttp1''+++*+/ite/ouse*gov'6
Artistas* 5/ttp1''+++*ericclapton*com'6
Sanidad* 5/ttp1''+++*uzleuven*be'6
Cevistas* 5/ttp1''clint*be'6
oticias* 5/ttp1''+++*france9A*com'6
D
Introduccin a Drupal 6
Pg. 16
Quin es quin en Drupal?
Drie$ /u0taert
Creador ) propietario de la
marca*
Introduccin a Drupal 6
Pg. 17
Quin es quin en Drupal?
Mantene%ore$ %e la ra!a$
!antenedores*
Colaboradores de mdulos*
Colaboradores de de traducciones*
Colaboradores de documentacin*
E-uipo de seguridad*
Introduccin a Drupal 6
Pg. 19
Algunas caractersticas interesantes?
Creacin de contenidos*
:a2onom.as*
!en8s*
Estados de publicacin*
%estin de usuarios*
(ermisos*
RSS.
Multilenguaje.
Traduccin de contenidos.
Formularios.
Multisitios.
Introduccin a Drupal 6
Pg. 20
Algunas caractersticas interesantes?
)unto$ fuerte$ %e Drupal
Fle'ible1
Co!patibili%a% inversa*
Introduccin a Drupal 6
Pg. 22
Cmo construir un sitio de Drupal?
Ante$ %e co!en3ar
Anlisis de re-uisitos*
Ar-uitectura de informacin*
&sabilidad*
Dise0o*
Introduccin a Drupal 6
Pg. 23
Cmo construir un sitio de Drupal?
4area$ a reali3ar
Instalacin ) configuracin*
#anzamiento*
!antenimiento*
Introduccin a Drupal 6
Pg. 24
Qu tecnologas estn involucradas
en un buen sitio de Drupal?
)rogra!acin
(H(
A(I de Drupal
Introduccin a Drupal 6
Pg. 25
Qu tecnologas estn involucradas
en un buen sitio de Drupal?
Cliente
H:!# H IH:!#
CSS
JavaScript
j7uer)
Introduccin a Drupal 6
Pg. 26
Qu tecnologas estn involucradas
en un buen sitio de Drupal?
Di$e5o
#ibres
%imp
In4scape
(ropietarias
Adobe (/otos/op
Adobe Illustrator
Introduccin a Drupal 6
Pg. 27
Qu tecnologas estn involucradas
en un buen sitio de Drupal?
er2i%or
Sistema operativo
#inu2 5recomendado6
3indo+s
!ac BS I
Servidor 3eb
Apac/e 5recomendado6
IIS
<ase de datos
!)S7# 5recomendado6
(ostgreS7#
Ced
Introduccin a Drupal 6
Pg. 28
Qu tecnologas estn involucradas
en un buen sitio de Drupal?
Alguno$ e'tra$
Aja2
I!#@C(C
Servicios +eb
I!#
"las/
Introduccin a Drupal 6
Pg. 29
Cual es el estado actual de Drupal?
Drupal E
En mantenimiento 5antigua6
Drupal F
En mantenimiento 5actual6
Drupal G
/ttp1''drupal*org'project'drupal
Introduccin a Drupal 6
Pg. 30
Cual es el estado actual de Drupal?
Alguno$ pre!io$ gana%o$
D
ndice
Herramientas de administracin
Introduccin a Drupal 6
Pg. 31
Introduccin a Drupal 6
Pg. 32
MySQL
!)S7# Admin
!)S7# 3or4<enc/
(/pm)admin
Introduccin a Drupal 6
Pg. 33
Administracin de ficheros
"ileZilla
SSH
3inSC(
***
Introduccin a Drupal 6
Pg. 34
Administracin de sistemas
SSH
(utt) 5comandos6
MC
Escritorio remoto
Introduccin a Drupal 6
Pg. 35
Administracin de Drupal
"irefo2
Bpera
C/rome H C/romium
Internet E2plorer
%&'#inu2
Apac/e
!)S7#
(H(
Introduccin a Drupal 6
Pg. 38
GNU/Linux
*n$talacin %e pa.uete$
Activar las url limpias para mejorar la inde2acin de las paginas ) facilitar su
lectura*
$ sudo a2enmod rewrie
Crea!o$ la$ carpeta$ nece$aria$
$ m'dir Rroyecos
Introduccin a Drupal 6
Pg. 39
GNU/Linux
Directorio 2irtual
www.drupalexample.com debe ser sustituido por el nombre original del sitio. Si no se realiza as
a la hora de cambiar la URL dar algn que otro dolor de cabeza. Dependencia de la url. Se
puede utilizar la carpeta default en los casos de un nico dominio.
sta con!iguraci"n solo es para un desarrollo local. n caso de producci"n seria recomendable
crearlo en /var/www/
Introduccin a Drupal 6
Pg. 40
GNU/Linux
Enlace $i!blico
Ceiniciar red
$ sudo /ec/ini.d/newor'ing resar
Introduccin a Drupal 6
Pg. 41
GNU/Linux
Crear /a$e %e Dato$
Descargar Drupal*
$ wge hp://fp.drupa1.org/fi1es/pro_ecs/drupa1-6.19.ar.gz
Descomprimir Drupal*
$ ar xvfz drupa1-6.19.ar.gz
$ cd drupa1examp1e/sies/defau1/
$ cp defau1.seings.php seings.php
&suarios1 /ttp1''+++*drupale2ample*com'es'admin'user'user*
Introduccin a Drupal 6
Pg. 56
Usuarios, roles y permisos
Coles1 /ttp1''+++*drupale2ample*com'es'admin'user'roles*
Introduccin a Drupal 6
Pg. 57
Usuarios, roles y permisos
Como se comentaba anteriormente Drupal es dependiente de la url ) el cambiar la url afecta directamente a la plataforma* (ara cambiar
la url se /a de ejecutar unas sentencias S7#*
#os campos estn serializados 5$12216 con la longitud total del campo 5'' es el valor del campo6* Al cambiar la url es necesario el adaptar
campo num,rico con el valor real de la linea*
URATE sysem SET fi1ename = RERLACE(fi1ename, 'www.examp1e.com', 'www.drupa1examp1e.com'),
URATE fi1es SET fi1epah = RERLACE(fi1epah, 'www.examp1e.com', 'www.drupa1examp1e.com'),
URATE node_revisions SET body = RERLACE(body , 'www.examp1e.com', 'www.drupa1examp1e.com'),
URATE node_revisions SET easer = RERLACE(easer, 'www.examp1e.com', 'www.drupa1examp1e.com'),
URATE variab1e SET va1ue = RERLACE(va1ue, 's:36:"sies/www.examp1e.com',
's:42:"sies/www.drupa1examp1e.com'),
URATE variab1e SET va1ue = RERLACE(va1ue, 's:31:"sies/www.examp1e.com',
's:37:"sies/www.drupa1examp1e.com'),
URATE variab1e SET va1ue = RERLACE(va1ue, 's:27:"sies/www.examp1e.com',
's:33:"sies/www.drupa1examp1e.com'),
URATE variab1e SET va1ue = RERLACE(va1ue, 's:21:"sies/www.examp1e.com',
's:27:"sies/www.drupa1examp1e.com'),
URATE variab1e SET va1ue = RERLACE(va1ue, 's:46:"sies/www.examp1e.com',
's:52:"sies/www.drupa1examp1e.com'),
En este caso vemos -ue la diferencia entre www.example.com ) www.drupalexample.com es de tan solo F caracteres* Con modificar el
valor s#xx# es suficiente para corregirlo*
(osteriormente accedemos un par de veces a las siguientes url para -ue actualice todos los datos*
+++*drupale2ample*com'update*p/p
+++*drupale2ample*com'cron*p/p
Introduccin a Drupal 6
Pg. 60
ndice
Empecemos a jugar
Introduccin a Drupal 6
Pg. 61
Antes de comenzar
Mariables de p/p*
Actualizar un nodo*
Cealizar un comentario*
Bpcin >
Bpcin >*>
Bpcin 9
Bpcin 9*>
Bpcin 9*9
Bpcin N
Introduccin a Drupal 6
Pg. 65
Actividades - Bloques
UDonde se encuentranV
Introduccin a Drupal 6
Pg. 67
Actividades - Mdulos
Estos son algunos de los mdulos ms usados en Drupal* Se deben seleccionar
a-uellos -ue sean necesarios para las necesidades del pro)ecto*
Misitar1 /ttp1''drupal*org'project'usage
(oormanscron1 /ttp1''drupal*org'project'poormanscron
Mie+s1 /ttp1''drupal*org'project'vie+s
3)si+)g1 /ttp1''drupal*org'project'+)si+)g
:o4en1 /ttp1''drupal*org'project'to4en
(at/auto1 /ttp1''drupal*org'project'pat/auto
:ransliteration1 /ttp1''drupal*org'project'usage'transliteration
<uscar temas*
BpenAtrium
/ttp1''openatrium*com'es
<log
3i4i
Calendarios
#ista de tareas
!icroblog
(anel de gestion*
Introduccin a Drupal 6
Pg. 71
Algunas distribuciones
&bercart
/ttp1''+++*ubercart*org'
Demo1
/ttp1''demo*ubercart*org'
Documentacin1
/ttp1''+++*ubercart*org'docs
Introduccin a Drupal 6
Pg. 72
Algunas distribuciones
!anaging e+s
/ttp1''managingne+s*com'
<8s-ueda de noticias*
!apas configurables*
/ttp1''drupal*org'project'drus/
/ttp1''drupal*org'node'AGGFKA
$ drush up #Updae your pro_ec code and app1y any daabase updaes required
(updae.php)
$ drush d1 modu1ename #own1oad core rupa1 and pro_ecs 1i'e CCK, Zen, ec.
'sites'default'settings*p/p
Mer1 /ttp1''drupal*org'node'N>N9G9
Demo de vie+s*
!ostrar paginador*
ZE @ /ttp1''drupal*org'project'zen
<asic @ /ttp1''drupal*org'project'basic
Clean @ /ttp1''drupal*org'project'clean
Introduccin a Drupal 6
Pg. 83
Eleccin de tema base - Zen
Anc/ura fija*
Anc/ura dinmica*
(lantillas*
IDs*
Clases*
"ic/eros javascript*
/ttp1''+++*palantir*net'files'blog'misc'zenPreference*pdf
Introduccin a Drupal 6
Pg. 84
ndice
Subtema basado en ZEN
Introduccin a Drupal 6
Pg. 85
Subtema basado en ZEN (6.x-2.x)
/ttp1''drupal*org'node'F9LE>=
Drupal F also stores a cac/e of t/e data in *info files* If )ou modif) an)
lines in )our sub@t/eme?s *info file$ )ou !&S: refres/ Drupal F?s cac/e
b) simpl) visiting t/e admin'build't/emes page*
Introduccin a Drupal 6
Pg. 86
Subtema basado en ZEN (6.x-2.x)
>* Cop) t/e S:AC:ECWI: folder out of t/e zen' folder and rename it to be )our ne+ sub@
t/eme* I!(BC:A:1 Bnl) lo+ercase letters and underscores s/ould be used for t/e name
of )our sub@t/eme*
"or e2ample$ cop) t/e sites'all't/emes'zen'S:AC:ECWI: folder and rename it as
sites'all't/emes'foo*
3/)V Eac/ t/eme s/ould reside in its o+n folder* :o ma4e it easier to upgrade Zen$ sub@
t/emes s/ould reside in a folder separate from t/eir base t/eme*
9* In )our ne+ sub@t/eme folder$ rename t/e S:AC:ECWI:*info*t2t file to include t/e name of )our
ne+ sub@t/eme and remove t/e ;*t2t; e2tension* :/en edit t/e *info file b) editing t/e name and
description field*
"or e2ample$ rename t/e foo'S:AC:ECWI:*info*t2t file to foo'foo*info* Edit t/e foo*info file and
c/ange ;name Q Zen Sub@t/eme Starter Wit; to ;name Q "oo; and ;description Q Cead***; to
;description Q A Zen sub@t/eme;*
3/)V :/e *info file describes t/e basic t/ings about )our t/eme1 its name$ description$
features$ template regions$ CSS files$ and JavaScript files* See t/e Drupal F :/eme %uide
for more info
:/en$ visit )our site?s admin'build't/emes to refres/ Drupal F?s cac/e of *info file data*
Introduccin a Drupal 6
Pg. 87
Subtema basado en ZEN (6.x-2.x)
N* <) default )our ne+ sub@t/eme is using a fi2ed@+idt/ la)out* If )ou +ant a li-uid la)out for )our t/eme$ delete
t/e unneeded la)out@fi2ed*css and la)out@fi2ed@rtl*css files and edit )our sub@t/eme?s *info file and replace t/e
reference to la)out@fi2ed*css +it/ la)out@li-uid*css*
"or e2ample$ edit foo'foo*info and c/ange t/is line1
sy1eshees[a11|[| = css/1ayou-fixed.css
o:
sy1eshees[a11|[| = css/1ayou-1iquid.css
3/)V :/e ;st)les/eets; lines in )our *info file describe t/e media t)pe and pat/ to t/e CSS file )ou +ant
to include* :/e format for t/ese lines is1 st)les/eetsX!EDIAYXY Q pat/'to'file*css
:/en$ visit )our site?s admin'build't/emes to refres/ Drupal F?s cac/e of *info file data*
Alternativel)$ if )ou are more familiar +it/ a different CSS la)out met/od$ suc/ as <lueprint or LF=*gs$ )ou can
replace t/e ;css'la)out@fi2ed*css; line in )our *info file +it/ a line pointing at )our c/oice of la)out CSS file*
A* Edit t/e template*p/p and t/eme@settings*p/p files in )our sub@t/eme?s folderZ replace A## occurrences of
;S:AC:ECWI:; +it/ t/e name of )our sub@t/eme*
"or e2ample$ edit foo'template*p/p and foo't/eme@settings*p/p and replace ever) occurrence of
;S:AC:ECWI:; +it/ ;foo;*
It is recommended to use a te2t editing application +it/ searc/ and ;replace all; functionalit)*
E* #og in as an administrator on )our Drupal site and go to Administer [ Site building [ :/emes
5admin'build't/emes6 and enable )our ne+ sub@t/eme*
Introduccin a Drupal 6
Pg. 88
Subtema basado en ZEN (6.x-2.x)
6ptional:
F* !odif)ing Zen core template files1 If )ou decide )ou +ant to modif) an) of t/e *tpl*p/p template files in
t/e zen folder$ cop) t/em to )our sub@t/eme?s folder before ma4ing an) c/anges* And t/en rebuild t/e
t/eme registr)*
"or e2ample$ cop) zen'templates'page*tpl*p/p to foo'templates'page*tpl*p/p*
G* :/eming Drupal\s searc/ form1 Cop) t/e searc/@t/eme@form*tpl*p/p template file from t/e
modules'searc/' folder and place it in )our sub@t/eme?s folder* And t/en rebuild t/e t/eme registr)*
]ou can find a full list of Drupal templates t/at )ou can override in t/e templates'CEAD!E*t2t file or
/ttp1''drupal*org'node'>L=K>E
3/)V In Drupal F t/eming$ if )ou +ant to modif) a template included b) a module$ )ou s/ould
cop) t/e template file from t/e module?s director) to )our sub@t/eme?s director) and t/en rebuild
t/e t/eme registr)* See t/e Drupal F :/eme %uide for more info1 /ttp1''drupal*org'node'>GNKK=
K* "urt/er e2tensions of )our sub@t/eme1 Discover furt/er +a)s to e2tend )our sub@t/eme b) reading
Zen?s documentation and Drupal F?s :/eme %uide*
Introduccin a Drupal 6
Pg. 89
Subtema basado en ZEN (6.x-2.x)
Elegir la0out 0 cla$e$
(age*tpl*p/p1 pagina principal de dise0o$ contiene los campos ) reas principales* Dispone de los ids ) clases
principales* :odas ellas pueden ser adaptadas*
Clases gen,ricas1 e2iste la posibilidad de a0adir nuevas clases como pueden ser el idioma*
Ids gen,ricas1 e2iste la posibilidad de a0adir nuevas como pueden ser el idioma*
ode*tpl*p/p1 contenido de los nodos ) su presentacin* Al igual -ue el page*tpl*p/p es e2tensible ) adaptable*
D*
#ogo*
Hojas de estilo*
***
Introduccin a Drupal 6
Pg. 90
ndice
Actividades subtema
Introduccin a Drupal 6
Pg. 91
Actividades subtema basado en
ZEN (6.x-2.x)
Color de fondo*
Color de te2to*
Color de enlaces*
nombrePmodulo*info
nombrePmodulo*install
nombrePmodulo*module
/ttp1''api*drupal*org'api'group'/oo4s
Introduccin a Drupal 6
Pg. 95
Mdulos bsicos Ejemplo bsico
e'a!ple1info
$Id: REAME.x,v 1.0 2010/09/06 17:58:46 examp1e Exp $
name = Examp1e
descripion = Modu1o de e_emp1o para formacion
pac'age = E_emp1o
core = 6.x
, Informacion para e1 modu1o
version = "6.x.1-dev"
core = "6.x"
pro_ec = "Examp1e"
daesamp = ""
Introduccin a Drupal 6
Pg. 96
Mdulos bsicos Ejemplo bsico
e'a!ple1in$tall
/ttp1''drupal*org'project'e2amples
/ttp1''drupal*org'developing'modules
Introduccin a Drupal 6
Pg. 106
ndice
Fuentes
Introduccin a Drupal 6
Pg. 107
Fuentes
/ttp1''drupal*org'
/ttp1''drupal*org'boo4s
#istado amazon
/ttp1''es*+i4ipedia*org'
/ttp1''+++*drupalcoder*com'stor)'E9L@introduction@to@drupal@presentation@slides
/ttp1''+++*slides/are*net'neurotic'taller@drupal@p/p@conference
/ttp1''+++*flic4r*com'p/otos'raincit)studios'LGA9=GKK'
/ttp1''bu)taert*net'album'drupalcon@sunn)vale@9==G'angela@b)ron
/ttp1''+++*flic4r*com'p/otos'sebastianPbergmann'GL=>>=N>'sizes'm'
Introduccin a Drupal 6
Pg. 108
ndice
Licencia
Introduccin a Drupal 6
Pg. 109
Licencia
;$te% e$ libre %e
+icencia co!pleta
/ttp1''creativecommons*org'licenses'b)'N*='legalcode
A%2ertencia