-Web Applications Made Easy by Søren Houen

31
-Web Applications Made Easy by Søren Houen

Transcript of -Web Applications Made Easy by Søren Houen

Page 1: -Web Applications Made Easy by Søren Houen

-Web Applications Made Easy by Søren Houen

Page 2: -Web Applications Made Easy by Søren Houen

Show  of  hands  

•  Who  has  used  Drupal?  

Page 3: -Web Applications Made Easy by Søren Houen

Background  /  Show  off    

•  Working  with  Drupal  for  almost  a  year  –  Completed  seven  enterprise-­‐strength  CMS  projects  – New  one  in  the  tubes  

•  Come  from  a  PHP  background  with  and  without  Frameworks  (Symfony,  Zend,  CakePHP)  – Apart,  of  course,  from  having  a  CS  bachelor  

•  ArLcle  in  IEEE  ICSC  2009  last  year  –  hRp://www.computer.org/portal/web/csdl/doi/10.1109/ICSC.2009.79  

Page 4: -Web Applications Made Easy by Søren Houen

Show  off  

•  999  Credits:  Flash  Gamesite  (999credits.com)  

Page 5: -Web Applications Made Easy by Søren Houen

My  Drupal  sites  

•  These  Games  Rock:  Flash  Gamesite  

Page 6: -Web Applications Made Easy by Søren Houen

My  Drupal  sites  

•  StarcraZ  2  Observer:  Community  hub  

Page 7: -Web Applications Made Easy by Søren Houen

My  Drupal  sites  

•  Houen.net:  My  Company  website  

Page 8: -Web Applications Made Easy by Søren Houen

My  Drupal  sites  

•  Basico.dk:  Company  website  

Page 9: -Web Applications Made Easy by Søren Houen

My  Drupal  sites  

•  Spoing.dk:  Company  website  

Page 10: -Web Applications Made Easy by Søren Houen

My  Drupal  sites  

•  Advis.dk:  Company  website  

Page 11: -Web Applications Made Easy by Søren Houen

Quick  look  

•  Open  source  framework  (GPL)  •  Started  by  Dries  Buytaert  in  2000  •  Began  as  forum  board  for  8  students  

•  More  than  275.000  current  installaLons  –  (hRp://drupal.org/project/usage:  02/09/10)  

•  Is  used  for  high-­‐volume  business-­‐criLcal  sites  – For  example  large  newspapers  (pol.dk,  berlingske.dk)  

Page 12: -Web Applications Made Easy by Søren Houen

Purpose  

•  More  than  a  framework:  Complete  full-­‐featured  point-­‐and-­‐click  WYSIWYG  CMS  

•  Fast  to  build  •  Easy  to  extend  •  Robust  •  Fast  

Page 13: -Web Applications Made Easy by Søren Houen

Features  

•  MulL-­‐plaborm  (Apache/IIS)  – Linux,  BSD,  Solaris,  Windows,  Mac  

•  Database-­‐independent  – MySQL  &  PostgreSQL  standard  – Can  be  extended  to  any  relaLonal  database  

•  MulL-­‐language  

Page 14: -Web Applications Made Easy by Søren Houen

Services  

•  “No  code  needed”  basic  funcLonality  – Point-­‐and-­‐click  WYSIWYG  administraLon  – Full  user  administraLon  •  Signup  with  email  validaLon  •  Customizable  role-­‐based  permission  system  

– Content  creaLon  &  ediLng  – Deep  content  searching  – Customizable  caching  –  Input  saniLzaLon  

Page 15: -Web Applications Made Easy by Søren Houen

Services  

– SEO  &  user  friendly  URL’s  •  www.example.com/this-­‐url-­‐rocks  

– Permalinks    •  www.example.com/node/143  

– Version  control  •  Enable,  edit,  mess  up,  roll  back  (blame  somebody)  

– StaLsLcs  • What  (content),  who  (IP/users),from  where  (referrers),  to  where  (navigaLon  on  site)  

– Content  syndicaLon  (RDF/RSS)  

Page 16: -Web Applications Made Easy by Søren Houen

Services  

•  Standard  end-­‐product  funcLonality  – Content  types  •  Pages  (Page)  •  Blog  (Story)  • Wiki  (Book)  

Page 17: -Web Applications Made Easy by Søren Houen

Main  Concepts  

•  Model-­‐View-­‐Controller  architecture  – Database  – Controller  logic  – Theme  system  

•  Cron  script  – Cache,  search,  Ldy  up,  etc.  

•  Modules,  modules,  modules  – Extension  by  huge  number  of  enterprise-­‐strength  modules  =  All-­‐purpose  web  framework  

Page 18: -Web Applications Made Easy by Søren Houen

Call  stack  

•  BoRom-­‐up  levels  of  conceptual  layers  

•  NoLce  low  placement  of  modules  =  POWERFUL  

Page 19: -Web Applications Made Easy by Søren Houen

Node  

•  Mother  of  all  content  •  Very  basic  informaLon  – Author  – CreaLon  date  – Title  – Body  

•  Anything  else  is  up  to  you  (or  a  module)  

Page 20: -Web Applications Made Easy by Søren Houen

Modules  

•  We’ll  save  those  for  later  

Page 21: -Web Applications Made Easy by Søren Houen

Blocks  

Page 22: -Web Applications Made Easy by Søren Houen

Flashback  

Page 23: -Web Applications Made Easy by Søren Houen

User  permissions  

•  Users  •  Roles  •  Permission  

•  Equals  – Who  can  do  what  –  Access  what  –  See  what  

Page 24: -Web Applications Made Easy by Søren Houen

Templates  

•  How  content  appears  – Same  site,  different  theme  

Page 25: -Web Applications Made Easy by Søren Houen

Examples  

•  5-­‐minute  CMS  – WITH  ONE  HAND!  

•  Views  

Page 26: -Web Applications Made Easy by Søren Houen

5-­‐minute  CMS  -­‐  ONE  HANDED  

Page 27: -Web Applications Made Easy by Søren Houen

Views  

Page 28: -Web Applications Made Easy by Søren Houen

The  downside  

•  High  maintenance  – Must  be  updated  regularly  to  be  secure  

•  hRp://drupal.org/node/661600    –  Updates  are  Lme-­‐consuming  (unlike  Wordpress  1-­‐click  updates)  •  My  fervent  prayer:  Improved  in  Drupal  7  

•  No  reselling  without  GPL’ing  –  Anyone  got  a  business  model  for  selling  a  good  gamesite  under  the  GPL?  

•  +1  million  nodes  requires  special  handling  –  Not  really  downside  as  so  does  most  other  frameworks,  and  can  be  handled  

Page 29: -Web Applications Made Easy by Søren Houen

The  upside  

•  EVERYTHING  ELSE  PRESENTED!  •  SkepLcal?  Take  two  CMS  frameworks  and  call  me  in  the  morning.  

Page 30: -Web Applications Made Easy by Søren Houen

The  literature  •  Don’t  call  me  –  read!  •  Good  resources  to  learn  drupal  (and  the  sources  for  these  slides)  

–  Drupal.org  documentaLon  •  HUGE  user  base  •  Living,  breathing,  frothing  community  

–  Books  Using  Drupal  (O’Reilly  

Drupal  6  Themes   Learning  Drupal  6  Module  Development  

Page 31: -Web Applications Made Easy by Søren Houen

QuesLons?