You are on page 1of 45

urupal lnLro

An overvlew of Lhe archlLecLure feaLures and


baslc slLebulldlng workflow of Lhe CMS
8ohan aLll
JhaL ls urupal?
W Cpen Source appllcaLlon wrlLLen ln php
W A CMS or conLenLmanagemenL sysLem
W A sophlsLlcaLed web appllcaLlon bulldlng Lool
JhaL ls a CMS?
W Slmply puL a CMS ls a webslLe you bulld uslng
Lhe webslLe lLself
Jlklpedla deflnlLlon A content management system %CMS) ls a
sysLem provldlng a collecLlon of procedures used Lo manage
work flow ln a collaboraLlve envlronmenL
JhaL can urupal be?
W blog
W lorum
W Cnllne newspaper orLal / ulrecLory
W 8rocure slLe porLfollo fllckr llke phoLo drop
W Soclal communlLy slLe [ob posL board
W vldeo slLe llke youLube
W ro[ecL managemenL slLe
W C8M L8 SCM Jlkl
W Shopplng carL sysLem
W Llearnlng Lralnlng slLe
W uaLlng slLe
W AnyLhlng you can Lhlnk of
JhaL ls a ul?
W ul ls a userlnLerface whlch ls a general Lerm
for Lhe layouL of opLlons wldgeLs and seLLlngs
used Lo conflgure Lhe sysLem or manage
conLenL
W 'SlLebulldlng' acLlvlLles refer Lo conflgurlng
seLLlngs or managlng conLenL Lhrough Lhe ul
such as bulldlng navlgaLlon menus
urupal SLrucLure
W urupal ls a daLabasedrlven %'dynamlc')
appllcaLlon lL requlres a daLabase
W urupal has a core flle sysLem whose
funcLlonallLy can be exLended uslng Lhe ul
lLself modules and Lhemes
W 1he ul seLLlngs are sLored ln Lhe daLabase
Modules
W ackages of flles ln a dlrecLory LhaL you upload
lnLo drupal's module space %/slLes/all/modules)
W Add funcLlonallLy Lo drupal
W 'Core' Modules come shlpped wlLh drupal
W 'ConLrlbuLed' Modules are downloads from
drupalorg
1hemes
W ackages of flles ln a dlrecLory LhaL you upload
lnLo drupal's Lheme space %/slLes/all/Lhemes)
W 1hemes ad[usL Lhe slLe layouL and sLyle Llke
'sklnnlng' your medla player
W 1hemes can be easlly changed ln Lhe ul
-odes
W A node ls Lhe prlmary form of conLenL ln a
drupal slLe AL a mlnlmum lL ls a LlLle and a
body and can be 'speclallzed'
W A 'page' and 'sLory' for example are node
Lypes LhaL have a speclflc node seLLlngs
W A node Lype ls a blueprlnL for creaLlng
lnsLances of conLenL of a parLlcular Lype
-odes %conL)
W -oL everyLhlng ln urupal ls a node
W 1hls ls lmporLanL!!
W Lx A user ls noL a node A Laxonomy ls noL a
node An accounL ls noL a node
W knowlng Lhls ls lmporLanL for evaluaLlon of
whaL can and cannoL be easlly done Lhrough
Lhe ul wlLhouL addlLlonal programmlng
LayouL and 8eglons
W A 8eglon ls an area ln a layouL such as a header fooLer
conLenL lefL/rlghL sldebar lnLo whlch blocks can be
placed and arranged
W A block ls a box conLalnlng some lnformaLlon
W A node resldes only ln Lhe conLenL area of Lhe layouL
W 1hlnk of Lhe conLenL reglon as a blg 'node' block LhaL
allows oLher blocks ln lL
8locks
W 8locks are added by modules
W 8locks can conLaln vlews wldgeLs menus
nodes %ln speclal clrcumsLances) and panels
W 8locks can be moved around Lhrough Lhe ul
W 8locks can be sLyled lndlvldually
AddlLlonal 1ermlnology
W vlews an lnLerface for maklng cusLomlzed
llsLs of Lhe daLa conLalned ln Lhe drupal
daLabase
W anels an lnLerface for maklng cusLomlzed
layouLs of nodes avallable Lo Lhe panels
module
W JldgeLs a general Lerm for lnLeracLlve form
elemenLs or graphs LhaL are enabled by
modules
Admln Menu
W 1he admlnlsLraLlve menu ls a parL of Lhe ul
LhaL allows one Lo conflgure urupal's seLLlngs
W 1he seLLlngs avallable depend on whlch
modules are lnsLalled and enabled
W ermlsslons allow users Lo have
'admlnlsLraLlve' access Lo module seLLlngs
users
W urupal has a user logln sysLem users have a
username/password
W urupal also supporLs Lhe concepLs of 1) 8oles
and 2) ermlsslons
W 8oles are user deslgnaLlons Lo groups havlng
Lhe same seL of permlsslons
Anonymous user
W A %noLloggedln) slLe vlslLor ls called a 'guesL'
'vlslLor' or 'anonymous user'
W Pas a userld %uld) of 0 %zero)
W All anonymous users belong Lo Lhe
'anonymous user role' %a role lu of 1) and have
a seL of permlsslons asslgned Lo Lhem
AuLhenLlcaLed user
W A user ln drupal may belong Lo one or more
roles
W Lvery reglsLered user ln urupal belongs Lo aL
leasL Lhe 'auLhenLlcaLed user' role
W AuLhenLlcaLed user role has a role lu of 2
8ooL 'Admln' user
W 1he 'rooL' user or 'rooL admln' has Lhe ablllLy
Lo do anyLhlng on Lhe slLe and ls a speclal user
W 1he 'rooL' user has a userld %uld) of 1
W 1he 'rooL' user does -C1 have role
permlsslons Lo seL because Lhey are effecLlvely
gods wlLhln urupal
Managlng ermlsslons
W kL? concepL lf you granL permlsslon Lo an
auLhenLlcaLed user lL applles Lo ALL roles
excepL Lhe anonymous user
W 1o granL a permlsslon Lo everyone on a slLe
you musL granL Lhe permlsslon Lo boLh Lhe
anonymous user and auLhenLlcaLed user
Managlng ermlsslons
W 1o granL permlsslon Lo only a newly creaLed
'denLlsL role' Llck Lhe permlsslon on LhaL role
W Leave all Lhe oLher roles deselecLed
W lf you granL Lo boLh Lhe 'denLlsL role' A-u Lhe
'auLhenLlcaLed user' role you would be dolng
lL wrong urupal assumes you know Lhls
8eclpe Change SlLe lnformaLlon
W ln AdmlnlsLer SlLe ConflguraLlon SlLe
lnformaLlon
W Change Lhe lnformaLlon Lo sulL your slLe
followlng Lhe help LexL
W uon'L change Lhe 'uefaulL fronL page' [usL yeL
W Cllck 'Save conflguraLlon'
8eclpe Clean urls
Clean u8Ls remove Lhe ?q from Lhe locaLlon
bar ln your web browser
W ln AdmlnlsLer SlLe ConflguraLlon Clean
urls
W 1lck 'Lnabled'
W Cllck 'Save ConflguraLlon'
8eclpe Add a user
W Co Lo AdmlnlsLer user ManagemenL users
W Cllck 'Add user'
W Choose opLlons
W Cllck 'CreaLe -ew AccounL'
8eclpe Add 8oles
W ?ou wlll noLe LhaL 'anonymous' and
'auLhenLlcaLed' users are Lhere by defaulL
undeleLable
W 1ype ln Lhe box below Lhe roles ln Lhe '-ame'
column Cllck 'add role' 1haL's lL
8eclpe LdlL / ueleLe role
W Cllck 'edlL' nexL Lo Lhe role name
W Pere you can change Lhe name or deleLe Lhe
role
W Jarnlng lf you cllck 'deleLe role' Lhere ls -C
conflrmaLlon 1hls can be bad
8eclpe Asslgn mulLlple roles Lo user
W ln AdmlnlsLer user ManagemenL users
W Cllck Lhe 'edlL' llnk under operaLlons for a user
W under 8oles 1lck an addlLlonal role you
creaLed
W ?ou wlll noLlce 'auLhenLlcaLed user' ls locked
W Scroll Lo Lhe boLLom and cllck 'Save'
8eclpe AlLerlng ermlsslons
W under AdmlnlsLer user ManagemenL ermlsslons you wlll see
Lhere ls a permlsslons column and role columns
W Scroll down Lo Lhe user module secLlon
W 1lck 'change own username' ln Lhe 'auLhenLlcaLed user' column
W 1lck 'Save ermlsslons'
8eclpe 8ulld Menu
W under AdmlnlsLer SlLe 8ulldlng Menus
W Cllck rlmary Llnks
W Cn Lhe rlmary Llnks 'LlsL lLems' page cllck 'Add lLem'
W ln aLh Lype 'conLacL' ln Menu llnk LlLle Lype 'ConLacL lorm'
W Change welghL Lo '30' %drupal 6x '10' ln drupal 3x)
W Cllck Save
W ?ou wlll noLlce LhaL 'ConLacL lorm' appears now on Lhe far rlghL of your
prlmary llnks Cllck lL Lo go Lo Lhe conLacL form
8eclpe CreaLe AbouL age
W ln Lhe -avlgaLlon %lefL sldebar) cllck 'CreaLe ConLenL'
W Cllck 'age' under Lhe conLenL Lype llsLlng
W ln Lhe 1lLle Lype 'AbouL us' ln Lhe body Lype '1hls ls my flrsL drupal page'
W Lxpand Lhe 'Menu seLLlngs' fleldseL
W ln Lhe Menu llnk LlLle" Lype 'AbouL us'
W Change Lhe welghL Lo '49'
W Lxpand Lhe 'u8L paLh' fleldseL and Lype 'abouLus'
W Cllck 'Save'
W ?ou should now see Lhe 'AbouL us' menu lLem ln Lhe rlmary Llnk navlgaLlon Cllck lL Lo go Lo Lhls
newly creaLed node
8eclpe CeL modules
W uefaulL urupal lnsLalls can only do so much
W Co Lo hLLp//drupalmodulescom Lo flnd a module LhaL
supporLs whaL you are Lrylng Lo do
W uo rely on Lhe raLlngs here as Lhey are Lled Lo download /
popularlLy meLrlcs from hLLp//drupalorg
lnsLalllng Modules
W uownload %from drupalor) and unpack module 'Larballs'
%&Largz) flles Lo Lhe folder lnslde
W upload Lhe module folder Lo drupal_rooL
/slLes/all/modules
W CreaLe Lhe 'modules' and 'Lhemes' dlrecLorles lf Lhey are
noL Lhere
W Co Lo AdmlnlsLer SlLe 8ulldlng Modules and Llck
'Lnabled' nexL Lo Lhe module Lo enable lL and cllck 'Save
ConflguraLlon'
AdmlnlsLer SlLe 8ulldlng Modules
uslng Modules
W A newly enabled module wlll add an
admlnlsLraLlon menu
W Co Lo LhaL module and read Lhe help before
changlng anyLhlng
W lay around and learn lL's feaLure seL
W lnsLall Lhe 'Advanced Pelp' module Lo geL more
verbose help wlLh modules
Modules used on AlmosL every urupal SlLe
MosL useful ConLrlbuLed Modules
Adm|n|strat|on
menu
CCk V|ews Str|ng Cverr|des 8ackup and
M|grate
SLC CheckllsL SLC Compllance
Checker
athauto ath ked|rect G|oba| ked|rect
Search404 Meta 1ags Clobal CLCurl PLml urlfler age 1lLle
Menu ALLrlbuLes -ew xML SlLemap S|te Map 1axonomy Manager 1oken
AuLo Asslgn 8ole
%+paLch)
ubercarL Date Mollum / Spam Captcha
J?SlJ?C Al lCkLdlLor lMCL Chaos 1ools +
uelegaLor
ane|s
AcLlons 1rlggers Not|fy Scheduler
AddLhls / ulggLhls/
ShareLhls
CuesLbook Slmplenews GoogAna|yt|cs
MosL useful ConLrlbuLed Modules fot
SLC Check||st SLC Comp||ance
Checker
ath + athauto ath ked|rect
G|oba| ked|rect
Search404 Meta 1ags G|oba| GLCur| ntm| ur|f|er
age 1|t|e
Menu Attr|butes New kML S|temap S|te Map
Advanced Cpen
Ca|a|s kDI
metadata WS
CeLLlng free Lhemes
W hLLp//Lhemegardenorg/drupal6/
W hLLp//drupalorg/pro[ecL/1hemes
W hLLp//LhemeboLcom/freewebslLeLemplaLes/drupalLhemes
W Coogle 'drupal Lhemes' you'll flnd a bunch of
sLuff 8uyer beware
Jhy use urupal over Jordpress?
W Jordpress was deslgned only Lo be a blog wlLh some easy addons
W urupal was deslgned Lo be more of a generallsL lL's for maklng 'anyLhlng' and ls far
more robusL
W Jordpress could be Lhe beLLer cholce for blogs slnce lL ls beLLer aL belng a blog Lhan
urupal 1hls ls someLhlng of debaLe
W Jordpress ls sLlll a sound cholce of CMS for SLC and securlLy so f wotJptess sotsfes o
splet ptojects tepoteeots tbeo by oll eoos ose t lL ls easler and fasLer Lo seL up
Lhan urupal
W Jordpress ls noL deslgned Lo be hlghly scalable Lo many slmulLaneous users nor does lL
have flexlble roles permlsslons exLenslble conLenL Lypes nor does lL have plenLlful
wellLesLed quallLy addons lL has a few and a loL of really poor pluglns
W CaveaL 1rylng Lo force Jordpress Lo do someLhlng lL cannoL do easlly wlLh very popular
pluglns can be worse Lhan sufferlng Lhe learnlng curve of urupal
Jhy use urupal over !oomla? %or oLher CMS)
W lL has superlor sesslon handllng for a CMS
W lL has superlor securlLy
W lL ls a more conslsLenL rellable and flexlble framework for developmenL
W lL ls consldered beLLer for SLC from our research
W lL uses a 'separaLlon of concerns' archlLecLure Lo cleanly and conslsLenLly separaLe
sLrucLure funcLlon form and presenLaLlon ln layers %le php from daLa as db/xml
layouL and presenLaLlon as hLml and css)
W lL heavlly uses 'defaulLs overrldes' ln code ln Lhe form of books and ln Lhemes ln
Lhe form of teplotes 1hls makes lL exLremely flexlble
W CLher CMS'es do a very ety bad [ob of aL leasL one of Lhe above
uownsldes Lo Lhe uruup
W urupal has a sLeeper learnlng curve Lhan
wordpress or !oomla
W urupal and lL's developers make no excuse for
Lhls facL lL ls a robusL flexlble Lool
W 1haL sald Lhe drupal communlLy ls consLanLly
addresslng usablllLy and userexperlence lssues
because Lhey wanL Lhe lndusLry markeL share

You might also like