SlideShare a Scribd company logo
1 of 117
Intro to drush
Diana Montalion Dupuis : mooncougar
 diana: moon goddess + montalion: mountain lion
 diana@fourkitchens.com
Aaron Forsander : pifantastic
 forsander@fourkitchens.com


Cheat Sheet: http://www.fourkitchens.com
 Follow along with demonstrations.

Four Kitchens : @fourkitchens
Drush




DrupalCamp Austin 2010
Drush
”Drush is a command line shell and Unix scripting
interface for Drupal, a veritable Swiss Army knife
designed to make life easier for those of us who
spend some of our working hours hacking away at
the command prompt.”




DrupalCamp Austin 2010
Drush
”Drush is a command line shell and Unix scripting
interface for Drupal, a veritable Swiss Army knife
designed to make life easier for those of us who
spend some of our working hours hacking away at
the command prompt.”

Know what that means? Me neither.


DrupalCamp Austin 2010
Drush is
Drush is
Shortcuts.
You should be here if
You should be here if
• You don’t know what drush does.
You should be here if
• You don’t know what drush does.
• You know what drush does but haven't used it,
much.
You should be here if
• You don’t know what drush does.
• You know what drush does but haven't used it,
much.
• You don't break out in hives when someone says
"command line".
You should be here if
• You don’t know what drush does.
• You know what drush does but haven't used it,
much.
• You don't break out in hives when someone says
"command line".
• You do break out in hives but must use it anyway.
You should be here if
• You don’t know what drush does.
• You know what drush does but haven't used it,
much.
• You don't break out in hives when someone says
"command line".
• You do break out in hives but must use it anyway.
• You've installed a Drupal site and added modules,
like CCK or Views.
You should be here if
• You don’t know what drush does.
• You know what drush does but haven't used it,
much.
• You don't break out in hives when someone says
"command line".
• You do break out in hives but must use it anyway.
• You've installed a Drupal site and added modules,
like CCK or Views.
• You are a New England Patriots fan.
You should not be here if
You should not be here if
• You know what “drush fu” means and when to type
it.
You should not be here if
• You know what “drush fu” means and when to type
it.
• You use drush for many common tasks already.
You should not be here if
• You know what “drush fu” means and when to type
it.
• You use drush for many common tasks already.
• You heckle.
You should not be here if
• You know what “drush fu” means and when to type
it.
• You use drush for many common tasks already.
• You heckle.
• You are a Colts fan.
Why I rejected drush
Why I rejected drush
• I went to a presentation and thought, “I can do all
of this already, without the learning curve.”
Why I rejected drush
• I went to a presentation and thought, “I can do all
of this already, without the learning curve.”
• I was intimidated by the setup process.
Why I rejected drush
• I went to a presentation and thought, “I can do all
of this already, without the learning curve.”
• I was intimidated by the setup process.
• I wasn’t using the command line as much back
then. Unfortunately.
Why I rejected drush
• I went to a presentation and thought, “I can do all
of this already, without the learning curve.”
• I was intimidated by the setup process.
• I wasn’t using the command line as much back
then. Unfortunately.
• A few things were kinda cool but kinda cool is not
a reason to adopt new technology.
Why I rejected drush
• I went to a presentation and thought, “I can do all
of this already, without the learning curve.”
• I was intimidated by the setup process.
• I wasn’t using the command line as much back
then. Unfortunately.
• A few things were kinda cool but kinda cool is not
a reason to adopt new technology.
• Really.
Why I <3 drush now
Why I <3 drush now
• I worked in larger environments where doing
things administratively or with FTP wasn’t possible.
Thus discovering the error of my ways.
Why I <3 drush now
• I worked in larger environments where doing
things administratively or with FTP wasn’t possible.
Thus discovering the error of my ways.
• I can admit when I’m wrong. Usually.
Why I <3 drush now
• I worked in larger environments where doing
things administratively or with FTP wasn’t possible.
Thus discovering the error of my ways.
• I can admit when I’m wrong. Usually.
• I was trained by James Sansbury (g0rban) to use it
more skillfully.
Why I <3 drush now
• I worked in larger environments where doing
things administratively or with FTP wasn’t possible.
Thus discovering the error of my ways.
• I can admit when I’m wrong. Usually.
• I was trained by James Sansbury (g0rban) to use it
more skillfully.
• My team created custom drush commands - the
proverbial straw.
Why you should use it
Why you should use it
• It’s easier. And life is hard enough.
Why you should use it
• It’s easier. And life is hard enough.
• It’s faster, which means more time for watching
football.
Why you should use it
• It’s easier. And life is hard enough.
• It’s faster, which means more time for watching
football.
• Better command-line skills == a better, more
confident developer. Iow, it feels good.
Why you should use it
• It’s easier. And life is hard enough.
• It’s faster, which means more time for watching
football.
• Better command-line skills == a better, more
confident developer. Iow, it feels good.
• Command-line tasks are more repeatable and
(many are) undoable - you have a history.
Why you should use it
• It’s easier. And life is hard enough.
• It’s faster, which means more time for watching
football.
• Better command-line skills == a better, more
confident developer. Iow, it feels good.
• Command-line tasks are more repeatable and
(many are) undoable - you have a history.
• You will (probably) have to know how to use it
someday (soon). You will want to use drush 4.
This quarterback
comments his code and
follows best practices.
This quarterback
                          This quarterback
comments his code and
                          hacks core.
follows best practices.
Common drush tasks
Common drush tasks
• Install Drupal.
Common drush tasks
• Install Drupal.
• Install, enable, and update modules and themes.
Common drush tasks
• Install Drupal.
• Install, enable, and update modules and themes.
• Run update.php.
Common drush tasks
• Install Drupal.
• Install, enable, and update modules and themes.
• Run update.php.
• Clear the cache.
Common drush tasks
• Install Drupal.
• Install, enable, and update modules and themes.
• Run update.php.
• Clear the cache.
• Run cron.
Common drush tasks
• Install Drupal.
• Install, enable, and update modules and themes.
• Run update.php.
• Clear the cache.
• Run cron.
• Disable and uninstall modules.
Common drush tasks
• Install Drupal.
• Install, enable, and update modules and themes.
• Run update.php.
• Clear the cache.
• Run cron.
• Disable and uninstall modules.
• Database tasks (sql-dump, sql-cli).
Common drush tasks
• Install Drupal.
• Install, enable, and update modules and themes.
• Run update.php.
• Clear the cache.
• Run cron.
• Disable and uninstall modules.
• Database tasks (sql-dump, sql-cli).
• Set variables (vget, vset).
Common drush tasks
• Install Drupal.
• Install, enable, and update modules and themes.
• Run update.php.
• Clear the cache.
• Run cron.
• Disable and uninstall modules.
• Database tasks (sql-dump, sql-cli).
• Set variables (vget, vset).
• Revert or update features.
Common drush tasks
• Install Drupal.
• Install, enable, and update modules and themes.
• Run update.php.
• Clear the cache.
• Run cron.
• Disable and uninstall modules.
• Database tasks (sql-dump, sql-cli).
• Set variables (vget, vset).
• Revert or update features.
• Create dummy content or users.
Common drush tasks
• Install Drupal.
• Install, enable, and update modules and themes.
• Run update.php.
• Clear the cache.
• Run cron.
• Disable and uninstall modules.
• Database tasks (sql-dump, sql-cli).
• Set variables (vget, vset).
• Revert or update features.
• Create dummy content or users.
• Makefiles (custom installation profiles).
Common drush tasks
• Install Drupal.
• Install, enable, and update modules and themes.
• Run update.php.
• Clear the cache.
• Run cron.
• Disable and uninstall modules.
• Database tasks (sql-dump, sql-cli).
• Set variables (vget, vset).
• Revert or update features.
• Create dummy content or users.
• Makefiles (custom installation profiles).
• Custom tasks you create.
Which drush
Which drush
• Drush is constantly evolving, so the version you
install dictates what you can (and can not) do with it.
Which drush
• Drush is constantly evolving, so the version you
install dictates what you can (and can not) do with it.
• Not all commands work on all versions of Drupal.
Which drush
• Drush is constantly evolving, so the version you
install dictates what you can (and can not) do with it.
• Not all commands work on all versions of Drupal.
• Drush requires PHP version 5.2 or better.
Which drush
• Drush is constantly evolving, so the version you
install dictates what you can (and can not) do with it.
• Not all commands work on all versions of Drupal.
• Drush requires PHP version 5.2 or better.
• We are installing drush 3.
Which drush
• Drush is constantly evolving, so the version you
install dictates what you can (and can not) do with it.
• Not all commands work on all versions of Drupal.
• Drush requires PHP version 5.2 or better.
• We are installing drush 3.
• We are installing drush on a Linux server.  We <3
Linux servers. Same procedure for Mac. Windows
instructions are in the README.txt file.
Essential Resource
http://drush.ws
Terminal tools
Terminal tools
• On MacOS, you can just open a terminal window.
Terminal tools
• On MacOS, you can just open a terminal window.
• We use Coda and it has a built-in terminal.
Terminal tools
• On MacOS, you can just open a terminal window.
• We use Coda and it has a built-in terminal.
• If you (must) use a PC, you can use cygwin or
PuTTy (much better than cmd.exe and installing ssh
client.)
Terminal tools
• On MacOS, you can just open a terminal window.
• We use Coda and it has a built-in terminal.
• If you (must) use a PC, you can use cygwin or
PuTTy (much better than cmd.exe and installing ssh
client.)
• If you use Linux, you probably know how to do this
already. 
Common commands
Common commands
• Log in: ssh username@example.com
Common commands
• Log in: ssh username@example.com
• (a note about keys)
Common commands
• Log in: ssh username@example.com
• (a note about keys)
• Look inside: ls
Common commands
• Log in: ssh username@example.com
• (a note about keys)
• Look inside: ls
• Go into: cd  /directory
Common commands
• Log in: ssh username@example.com
• (a note about keys)
• Look inside: ls
• Go into: cd  /directory
• Go up: cd ..
Common commands
• Log in: ssh username@example.com
• (a note about keys)
• Look inside: ls
• Go into: cd  /directory
• Go up: cd ..
• Let me do important stuff: sudo
Common commands
• Log in: ssh username@example.com
• (a note about keys)
• Look inside: ls
• Go into: cd  /directory
• Go up: cd ..
• Let me do important stuff: sudo
• Get it: wget http://somewhere.com/file.tar.gz
Common commands
• Log in: ssh username@example.com
• (a note about keys)
• Look inside: ls
• Go into: cd  /directory
• Go up: cd ..
• Let me do important stuff: sudo
• Get it: wget http://somewhere.com/file.tar.gz
• Unpack it: tar xvf
Common commands
• Log in: ssh username@example.com
• (a note about keys)
• Look inside: ls
• Go into: cd  /directory
• Go up: cd ..
• Let me do important stuff: sudo
• Get it: wget http://somewhere.com/file.tar.gz
• Unpack it: tar xvf
• Change permissions: chmod
Common commands
• Log in: ssh username@example.com
• (a note about keys)
• Look inside: ls
• Go into: cd  /directory
• Go up: cd ..
• Let me do important stuff: sudo
• Get it: wget http://somewhere.com/file.tar.gz
• Unpack it: tar xvf
• Change permissions: chmod
• Remove *caution*: rm
Common commands
• Log in: ssh username@example.com
• (a note about keys)
• Look inside: ls
• Go into: cd  /directory
• Go up: cd ..
• Let me do important stuff: sudo
• Get it: wget http://somewhere.com/file.tar.gz
• Unpack it: tar xvf
• Change permissions: chmod
• Remove *caution*: rm
• Link it: ln -s
Common commands
• Log in: ssh username@example.com
• (a note about keys)
• Look inside: ls
• Go into: cd  /directory
• Go up: cd ..
• Let me do important stuff: sudo
• Get it: wget http://somewhere.com/file.tar.gz
• Unpack it: tar xvf
• Change permissions: chmod
• Remove *caution*: rm
• Link it: ln -s
• Move: mv and Copy: cp
Common commands
• Log in: ssh username@example.com
• (a note about keys)
• Look inside: ls
• Go into: cd  /directory
• Go up: cd ..
• Let me do important stuff: sudo
• Get it: wget http://somewhere.com/file.tar.gz
• Unpack it: tar xvf
• Change permissions: chmod
• Remove *caution*: rm
• Link it: ln -s
• Move: mv and Copy: cp
• Complete file name: tab
Common commands
• Log in: ssh username@example.com
• (a note about keys)
• Look inside: ls
• Go into: cd  /directory
• Go up: cd ..
• Let me do important stuff: sudo
• Get it: wget http://somewhere.com/file.tar.gz
• Unpack it: tar xvf
• Change permissions: chmod
• Remove *caution*: rm
• Link it: ln -s
• Move: mv and Copy: cp
• Complete file name: tab
This team contributes
modules and themes.
This team contributes   This team hacks
modules and themes.     core.
Installing drush
Installing drush
• Go to the directory you want drush to live in: cd /
usr/local/share/
Installing drush
• Go to the directory you want drush to live in: cd /
usr/local/share/
• Get drush: [sudo] wget http://ftp.drupal.org/files/
projects/drush-6.x-3.3.tar.gz
Installing drush
• Go to the directory you want drush to live in: cd /
usr/local/share/
• Get drush: [sudo] wget http://ftp.drupal.org/files/
projects/drush-6.x-3.3.tar.gz
• Unpack it: tar xvf drush-6.x-3.3.tar.gz
Installing drush
• Go to the directory you want drush to live in: cd /
usr/local/share/
• Get drush: [sudo] wget http://ftp.drupal.org/files/
projects/drush-6.x-3.3.tar.gz
• Unpack it: tar xvf drush-6.x-3.3.tar.gz
• Remove the package: rm drush-6.x-3.3.tar.gz
Installing drush
• Go to the directory you want drush to live in: cd /
usr/local/share/
• Get drush: [sudo] wget http://ftp.drupal.org/files/
projects/drush-6.x-3.3.tar.gz
• Unpack it: tar xvf drush-6.x-3.3.tar.gz
• Remove the package: rm drush-6.x-3.3.tar.gz
• Change permissions: chmod u+x drush
Installing drush
• Go to the directory you want drush to live in: cd /
usr/local/share/
• Get drush: [sudo] wget http://ftp.drupal.org/files/
projects/drush-6.x-3.3.tar.gz
• Unpack it: tar xvf drush-6.x-3.3.tar.gz
• Remove the package: rm drush-6.x-3.3.tar.gz
• Change permissions: chmod u+x drush
• Create a link: ln -s /usr/local/share/drush/drush /
usr/local/bin/drush
Installing drush
• Go to the directory you want drush to live in: cd /
usr/local/share/
• Get drush: [sudo] wget http://ftp.drupal.org/files/
projects/drush-6.x-3.3.tar.gz
• Unpack it: tar xvf drush-6.x-3.3.tar.gz
• Remove the package: rm drush-6.x-3.3.tar.gz
• Change permissions: chmod u+x drush
• Create a link: ln -s /usr/local/share/drush/drush /
usr/local/bin/drush
• Run drush: [sudo] drush
Installing Drupal
Installing Drupal
• Create a database in your usual way.
Installing Drupal
• Create a database in your usual way.
• cd path/to/webroot (often this is www)
Installing Drupal
• Create a database in your usual way.
• cd path/to/webroot (often this is www)
• drush dl
Installing Drupal
• Create a database in your usual way.
• cd path/to/webroot (often this is www)
• drush dl
• mv drupal-6.XX drupal
Installing Drupal
• Create a database in your usual way.
• cd path/to/webroot (often this is www)
• drush dl
• mv drupal-6.XX drupal
• (notes on where to put files)
Installing Drupal
• Create a database in your usual way.
• cd path/to/webroot (often this is www)
• drush dl
• mv drupal-6.XX drupal
• (notes on where to put files)
• drush site-install --db-url=mysql://
root:pass@localhost:port/dbname
Installing Drupal
• Create a database in your usual way.
• cd path/to/webroot (often this is www)
• drush dl
• mv drupal-6.XX drupal
• (notes on where to put files)
• drush site-install --db-url=mysql://
root:pass@localhost:port/dbname
• Unfortunately, that only works in Drupal 7.
Installing Views and CCK
Installing Views and CCK
• cd into your drupal directory
Installing Views and CCK
• cd into your drupal directory
• drush dl cck views
Installing Views and CCK
• cd into your drupal directory
• drush dl cck views
• drush en views content
Installing Views and CCK
• cd into your drupal directory
• drush dl cck views
• drush en views content
• Brilliant drush will put them in your sites/all/
modules directory.
Installing Views and CCK
• cd into your drupal directory
• drush dl cck views
• drush en views content
• Brilliant drush will put them in your sites/all/
modules directory.
• Let’s watch Aaron do it.
This coach sends his
players to Drupalcon.
This coach sends his
                        This coach hacks core.
players to Drupalcon.
Uninstall Views
Uninstall Views
• drush dis views
Uninstall Views
• drush dis views
• drush uninstall views
Run update.php
Run update.php
• drush updatedb
Clear the cache
Clear the cache
• drush cc
Run cron
Run cron
• drush cron
Run cron
• drush cron
• You’ll see more messages that don’t show up on
the regular cron page.
Save kittens - go Pats!

More Related Content

Similar to Intro to Drush

Leveling Up at JavaScript
Leveling Up at JavaScriptLeveling Up at JavaScript
Leveling Up at JavaScriptRaymond Camden
 
Test driven infrastructure development (2 - puppetconf 2013 edition)
Test driven infrastructure development (2 - puppetconf 2013 edition)Test driven infrastructure development (2 - puppetconf 2013 edition)
Test driven infrastructure development (2 - puppetconf 2013 edition)Tomas Doran
 
DevOps for Drupal: Why We Cook With Chef
DevOps for Drupal: Why We Cook With ChefDevOps for Drupal: Why We Cook With Chef
DevOps for Drupal: Why We Cook With ChefPromet Source
 
Continuous Integration, the minimum viable product
Continuous Integration, the minimum viable productContinuous Integration, the minimum viable product
Continuous Integration, the minimum viable productJulian Simpson
 
Dev secops opsec, devsec, devops ?
Dev secops opsec, devsec, devops ?Dev secops opsec, devsec, devops ?
Dev secops opsec, devsec, devops ?Kris Buytaert
 
Drush and drupal. администрирование волчек михаил
Drush and drupal. администрирование  волчек михаилDrush and drupal. администрирование  волчек михаил
Drush and drupal. администрирование волчек михаилdrupalconf
 
Drush and drupal. администрирование. Волчек Михаил
Drush and drupal. администрирование. Волчек МихаилDrush and drupal. администрирование. Волчек Михаил
Drush and drupal. администрирование. Волчек МихаилPVasili
 
Docker: automation for the rest of us
Docker: automation for the rest of usDocker: automation for the rest of us
Docker: automation for the rest of usJérôme Petazzoni
 
Beyond TDD: Enabling Your Team to Continuously Deliver Software
Beyond TDD: Enabling Your Team to Continuously Deliver SoftwareBeyond TDD: Enabling Your Team to Continuously Deliver Software
Beyond TDD: Enabling Your Team to Continuously Deliver SoftwareChris Weldon
 
WebGL Camp 4 - A3 3D Engine
WebGL Camp 4 - A3 3D EngineWebGL Camp 4 - A3 3D Engine
WebGL Camp 4 - A3 3D Engineaerotwist
 
Work Queues
Work QueuesWork Queues
Work Queuesciconf
 
DrupalCon Austin - Absolute Beginner's Guide to Drupal
DrupalCon Austin - Absolute Beginner's Guide to DrupalDrupalCon Austin - Absolute Beginner's Guide to Drupal
DrupalCon Austin - Absolute Beginner's Guide to DrupalRod Martin
 
Gearman and CodeIgniter
Gearman and CodeIgniterGearman and CodeIgniter
Gearman and CodeIgniterErik Giberti
 
Whats wrong with postgres | PGConf EU 2019 | Craig Kerstiens
Whats wrong with postgres | PGConf EU 2019 | Craig KerstiensWhats wrong with postgres | PGConf EU 2019 | Craig Kerstiens
Whats wrong with postgres | PGConf EU 2019 | Craig KerstiensCitus Data
 

Similar to Intro to Drush (20)

Leveling Up at JavaScript
Leveling Up at JavaScriptLeveling Up at JavaScript
Leveling Up at JavaScript
 
Big Websites
Big WebsitesBig Websites
Big Websites
 
Intro to Drush
Intro to DrushIntro to Drush
Intro to Drush
 
Test driven infrastructure development (2 - puppetconf 2013 edition)
Test driven infrastructure development (2 - puppetconf 2013 edition)Test driven infrastructure development (2 - puppetconf 2013 edition)
Test driven infrastructure development (2 - puppetconf 2013 edition)
 
DevOps for Drupal: Why We Cook With Chef
DevOps for Drupal: Why We Cook With ChefDevOps for Drupal: Why We Cook With Chef
DevOps for Drupal: Why We Cook With Chef
 
Continuous Integration, the minimum viable product
Continuous Integration, the minimum viable productContinuous Integration, the minimum viable product
Continuous Integration, the minimum viable product
 
Dev secops opsec, devsec, devops ?
Dev secops opsec, devsec, devops ?Dev secops opsec, devsec, devops ?
Dev secops opsec, devsec, devops ?
 
Drush and drupal. администрирование волчек михаил
Drush and drupal. администрирование  волчек михаилDrush and drupal. администрирование  волчек михаил
Drush and drupal. администрирование волчек михаил
 
Drush and drupal. администрирование. Волчек Михаил
Drush and drupal. администрирование. Волчек МихаилDrush and drupal. администрирование. Волчек Михаил
Drush and drupal. администрирование. Волчек Михаил
 
Tiad - Docker: Automation for the rest of us
Tiad - Docker: Automation for the rest of usTiad - Docker: Automation for the rest of us
Tiad - Docker: Automation for the rest of us
 
Docker: automation for the rest of us
Docker: automation for the rest of usDocker: automation for the rest of us
Docker: automation for the rest of us
 
Beyond TDD: Enabling Your Team to Continuously Deliver Software
Beyond TDD: Enabling Your Team to Continuously Deliver SoftwareBeyond TDD: Enabling Your Team to Continuously Deliver Software
Beyond TDD: Enabling Your Team to Continuously Deliver Software
 
WebGL Camp 4 - A3 3D Engine
WebGL Camp 4 - A3 3D EngineWebGL Camp 4 - A3 3D Engine
WebGL Camp 4 - A3 3D Engine
 
Don't Mind the Gap by Galen Emery
Don't Mind the Gap by Galen EmeryDon't Mind the Gap by Galen Emery
Don't Mind the Gap by Galen Emery
 
Don't Mind the Gap by Galen Emery
Don't Mind the Gap by Galen EmeryDon't Mind the Gap by Galen Emery
Don't Mind the Gap by Galen Emery
 
Work Queues
Work QueuesWork Queues
Work Queues
 
DrupalCon Austin - Absolute Beginner's Guide to Drupal
DrupalCon Austin - Absolute Beginner's Guide to DrupalDrupalCon Austin - Absolute Beginner's Guide to Drupal
DrupalCon Austin - Absolute Beginner's Guide to Drupal
 
Devops For Drupal
Devops  For DrupalDevops  For Drupal
Devops For Drupal
 
Gearman and CodeIgniter
Gearman and CodeIgniterGearman and CodeIgniter
Gearman and CodeIgniter
 
Whats wrong with postgres | PGConf EU 2019 | Craig Kerstiens
Whats wrong with postgres | PGConf EU 2019 | Craig KerstiensWhats wrong with postgres | PGConf EU 2019 | Craig Kerstiens
Whats wrong with postgres | PGConf EU 2019 | Craig Kerstiens
 

More from Four Kitchens

Four Kitchens Presents: Future of the CMS
Four Kitchens Presents: Future of the CMSFour Kitchens Presents: Future of the CMS
Four Kitchens Presents: Future of the CMSFour Kitchens
 
Four Kitchens: We make BIG websites
Four Kitchens: We make BIG websitesFour Kitchens: We make BIG websites
Four Kitchens: We make BIG websitesFour Kitchens
 
Don't Design Websites. Design Web SYSTEMS! (UT Austin Drupal Users Group)
Don't Design Websites. Design Web SYSTEMS! (UT Austin Drupal Users Group)Don't Design Websites. Design Web SYSTEMS! (UT Austin Drupal Users Group)
Don't Design Websites. Design Web SYSTEMS! (UT Austin Drupal Users Group)Four Kitchens
 
No RFPs! Why requests for proposal are bad for business (and how we can stop ...
No RFPs! Why requests for proposal are bad for business (and how we can stop ...No RFPs! Why requests for proposal are bad for business (and how we can stop ...
No RFPs! Why requests for proposal are bad for business (and how we can stop ...Four Kitchens
 
Big Websites for Small Screens: ICANN.org Case Study
Big Websites for Small Screens: ICANN.org Case StudyBig Websites for Small Screens: ICANN.org Case Study
Big Websites for Small Screens: ICANN.org Case StudyFour Kitchens
 
UX design for every screen
UX design for every screenUX design for every screen
UX design for every screenFour Kitchens
 
Don't Design Websites. Design Web SYSTEMS! (BADCamp 2011)
Don't Design Websites. Design Web SYSTEMS! (BADCamp 2011)Don't Design Websites. Design Web SYSTEMS! (BADCamp 2011)
Don't Design Websites. Design Web SYSTEMS! (BADCamp 2011)Four Kitchens
 
Don't Design Websites. Design Web SYSTEMS! (DrupalCon London 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon London 2011)Don't Design Websites. Design Web SYSTEMS! (DrupalCon London 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon London 2011)Four Kitchens
 
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp LA 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp LA 2011)Don't Design Websites. Design Web SYSTEMS! (DrupalCamp LA 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp LA 2011)Four Kitchens
 
Accelerated grid theming using NineSixty (DrupalCamp LA 2011)
Accelerated grid theming using NineSixty (DrupalCamp LA 2011)Accelerated grid theming using NineSixty (DrupalCamp LA 2011)
Accelerated grid theming using NineSixty (DrupalCamp LA 2011)Four Kitchens
 
Don't Design Websites. Design Web SYSTEMS! (Dallas Drupal Days 2011)
Don't Design Websites. Design Web SYSTEMS! (Dallas Drupal Days 2011)Don't Design Websites. Design Web SYSTEMS! (Dallas Drupal Days 2011)
Don't Design Websites. Design Web SYSTEMS! (Dallas Drupal Days 2011)Four Kitchens
 
Building Responsive Websites and Apps with Drupal
Building Responsive Websites and Apps with DrupalBuilding Responsive Websites and Apps with Drupal
Building Responsive Websites and Apps with DrupalFour Kitchens
 
Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)
Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)
Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)Four Kitchens
 
Designing future proof websites
Designing future proof websitesDesigning future proof websites
Designing future proof websitesFour Kitchens
 
Making drupal beautiful with web fonts
Making drupal beautiful with web fontsMaking drupal beautiful with web fonts
Making drupal beautiful with web fontsFour Kitchens
 
The type revolutionary's cookbook
The type revolutionary's cookbookThe type revolutionary's cookbook
The type revolutionary's cookbookFour Kitchens
 
The Web Chef Cookbook
The Web Chef CookbookThe Web Chef Cookbook
The Web Chef CookbookFour Kitchens
 
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp Stockholm 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp Stockholm 2011)Don't Design Websites. Design Web SYSTEMS! (DrupalCamp Stockholm 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp Stockholm 2011)Four Kitchens
 
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Chicago 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Chicago 2011)Don't Design Websites. Design Web SYSTEMS! (DrupalCon Chicago 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Chicago 2011)Four Kitchens
 

More from Four Kitchens (20)

Four Kitchens Presents: Future of the CMS
Four Kitchens Presents: Future of the CMSFour Kitchens Presents: Future of the CMS
Four Kitchens Presents: Future of the CMS
 
Four Kitchens: We make BIG websites
Four Kitchens: We make BIG websitesFour Kitchens: We make BIG websites
Four Kitchens: We make BIG websites
 
Don't Design Websites. Design Web SYSTEMS! (UT Austin Drupal Users Group)
Don't Design Websites. Design Web SYSTEMS! (UT Austin Drupal Users Group)Don't Design Websites. Design Web SYSTEMS! (UT Austin Drupal Users Group)
Don't Design Websites. Design Web SYSTEMS! (UT Austin Drupal Users Group)
 
No RFPs! Why requests for proposal are bad for business (and how we can stop ...
No RFPs! Why requests for proposal are bad for business (and how we can stop ...No RFPs! Why requests for proposal are bad for business (and how we can stop ...
No RFPs! Why requests for proposal are bad for business (and how we can stop ...
 
Big Websites for Small Screens: ICANN.org Case Study
Big Websites for Small Screens: ICANN.org Case StudyBig Websites for Small Screens: ICANN.org Case Study
Big Websites for Small Screens: ICANN.org Case Study
 
UX design for every screen
UX design for every screenUX design for every screen
UX design for every screen
 
Don't Design Websites. Design Web SYSTEMS! (BADCamp 2011)
Don't Design Websites. Design Web SYSTEMS! (BADCamp 2011)Don't Design Websites. Design Web SYSTEMS! (BADCamp 2011)
Don't Design Websites. Design Web SYSTEMS! (BADCamp 2011)
 
Don't Design Websites. Design Web SYSTEMS! (DrupalCon London 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon London 2011)Don't Design Websites. Design Web SYSTEMS! (DrupalCon London 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon London 2011)
 
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp LA 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp LA 2011)Don't Design Websites. Design Web SYSTEMS! (DrupalCamp LA 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp LA 2011)
 
Accelerated grid theming using NineSixty (DrupalCamp LA 2011)
Accelerated grid theming using NineSixty (DrupalCamp LA 2011)Accelerated grid theming using NineSixty (DrupalCamp LA 2011)
Accelerated grid theming using NineSixty (DrupalCamp LA 2011)
 
Don't Design Websites. Design Web SYSTEMS! (Dallas Drupal Days 2011)
Don't Design Websites. Design Web SYSTEMS! (Dallas Drupal Days 2011)Don't Design Websites. Design Web SYSTEMS! (Dallas Drupal Days 2011)
Don't Design Websites. Design Web SYSTEMS! (Dallas Drupal Days 2011)
 
Building Responsive Websites and Apps with Drupal
Building Responsive Websites and Apps with DrupalBuilding Responsive Websites and Apps with Drupal
Building Responsive Websites and Apps with Drupal
 
Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)
Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)
Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)
 
Teaching Drupal
Teaching DrupalTeaching Drupal
Teaching Drupal
 
Designing future proof websites
Designing future proof websitesDesigning future proof websites
Designing future proof websites
 
Making drupal beautiful with web fonts
Making drupal beautiful with web fontsMaking drupal beautiful with web fonts
Making drupal beautiful with web fonts
 
The type revolutionary's cookbook
The type revolutionary's cookbookThe type revolutionary's cookbook
The type revolutionary's cookbook
 
The Web Chef Cookbook
The Web Chef CookbookThe Web Chef Cookbook
The Web Chef Cookbook
 
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp Stockholm 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp Stockholm 2011)Don't Design Websites. Design Web SYSTEMS! (DrupalCamp Stockholm 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp Stockholm 2011)
 
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Chicago 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Chicago 2011)Don't Design Websites. Design Web SYSTEMS! (DrupalCon Chicago 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Chicago 2011)
 

Recently uploaded

Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 

Recently uploaded (20)

Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 

Intro to Drush

  • 1. Intro to drush Diana Montalion Dupuis : mooncougar diana: moon goddess + montalion: mountain lion diana@fourkitchens.com Aaron Forsander : pifantastic forsander@fourkitchens.com Cheat Sheet: http://www.fourkitchens.com Follow along with demonstrations. Four Kitchens : @fourkitchens
  • 3. Drush ”Drush is a command line shell and Unix scripting interface for Drupal, a veritable Swiss Army knife designed to make life easier for those of us who spend some of our working hours hacking away at the command prompt.” DrupalCamp Austin 2010
  • 4. Drush ”Drush is a command line shell and Unix scripting interface for Drupal, a veritable Swiss Army knife designed to make life easier for those of us who spend some of our working hours hacking away at the command prompt.” Know what that means? Me neither. DrupalCamp Austin 2010
  • 7. You should be here if
  • 8. You should be here if • You don’t know what drush does.
  • 9. You should be here if • You don’t know what drush does. • You know what drush does but haven't used it, much.
  • 10. You should be here if • You don’t know what drush does. • You know what drush does but haven't used it, much. • You don't break out in hives when someone says "command line".
  • 11. You should be here if • You don’t know what drush does. • You know what drush does but haven't used it, much. • You don't break out in hives when someone says "command line". • You do break out in hives but must use it anyway.
  • 12. You should be here if • You don’t know what drush does. • You know what drush does but haven't used it, much. • You don't break out in hives when someone says "command line". • You do break out in hives but must use it anyway. • You've installed a Drupal site and added modules, like CCK or Views.
  • 13. You should be here if • You don’t know what drush does. • You know what drush does but haven't used it, much. • You don't break out in hives when someone says "command line". • You do break out in hives but must use it anyway. • You've installed a Drupal site and added modules, like CCK or Views. • You are a New England Patriots fan.
  • 14. You should not be here if
  • 15. You should not be here if • You know what “drush fu” means and when to type it.
  • 16. You should not be here if • You know what “drush fu” means and when to type it. • You use drush for many common tasks already.
  • 17. You should not be here if • You know what “drush fu” means and when to type it. • You use drush for many common tasks already. • You heckle.
  • 18. You should not be here if • You know what “drush fu” means and when to type it. • You use drush for many common tasks already. • You heckle. • You are a Colts fan.
  • 19. Why I rejected drush
  • 20. Why I rejected drush • I went to a presentation and thought, “I can do all of this already, without the learning curve.”
  • 21. Why I rejected drush • I went to a presentation and thought, “I can do all of this already, without the learning curve.” • I was intimidated by the setup process.
  • 22. Why I rejected drush • I went to a presentation and thought, “I can do all of this already, without the learning curve.” • I was intimidated by the setup process. • I wasn’t using the command line as much back then. Unfortunately.
  • 23. Why I rejected drush • I went to a presentation and thought, “I can do all of this already, without the learning curve.” • I was intimidated by the setup process. • I wasn’t using the command line as much back then. Unfortunately. • A few things were kinda cool but kinda cool is not a reason to adopt new technology.
  • 24. Why I rejected drush • I went to a presentation and thought, “I can do all of this already, without the learning curve.” • I was intimidated by the setup process. • I wasn’t using the command line as much back then. Unfortunately. • A few things were kinda cool but kinda cool is not a reason to adopt new technology. • Really.
  • 25. Why I <3 drush now
  • 26. Why I <3 drush now • I worked in larger environments where doing things administratively or with FTP wasn’t possible. Thus discovering the error of my ways.
  • 27. Why I <3 drush now • I worked in larger environments where doing things administratively or with FTP wasn’t possible. Thus discovering the error of my ways. • I can admit when I’m wrong. Usually.
  • 28. Why I <3 drush now • I worked in larger environments where doing things administratively or with FTP wasn’t possible. Thus discovering the error of my ways. • I can admit when I’m wrong. Usually. • I was trained by James Sansbury (g0rban) to use it more skillfully.
  • 29. Why I <3 drush now • I worked in larger environments where doing things administratively or with FTP wasn’t possible. Thus discovering the error of my ways. • I can admit when I’m wrong. Usually. • I was trained by James Sansbury (g0rban) to use it more skillfully. • My team created custom drush commands - the proverbial straw.
  • 30. Why you should use it
  • 31. Why you should use it • It’s easier. And life is hard enough.
  • 32. Why you should use it • It’s easier. And life is hard enough. • It’s faster, which means more time for watching football.
  • 33. Why you should use it • It’s easier. And life is hard enough. • It’s faster, which means more time for watching football. • Better command-line skills == a better, more confident developer. Iow, it feels good.
  • 34. Why you should use it • It’s easier. And life is hard enough. • It’s faster, which means more time for watching football. • Better command-line skills == a better, more confident developer. Iow, it feels good. • Command-line tasks are more repeatable and (many are) undoable - you have a history.
  • 35. Why you should use it • It’s easier. And life is hard enough. • It’s faster, which means more time for watching football. • Better command-line skills == a better, more confident developer. Iow, it feels good. • Command-line tasks are more repeatable and (many are) undoable - you have a history. • You will (probably) have to know how to use it someday (soon). You will want to use drush 4.
  • 36.
  • 37. This quarterback comments his code and follows best practices.
  • 38. This quarterback This quarterback comments his code and hacks core. follows best practices.
  • 40. Common drush tasks • Install Drupal.
  • 41. Common drush tasks • Install Drupal. • Install, enable, and update modules and themes.
  • 42. Common drush tasks • Install Drupal. • Install, enable, and update modules and themes. • Run update.php.
  • 43. Common drush tasks • Install Drupal. • Install, enable, and update modules and themes. • Run update.php. • Clear the cache.
  • 44. Common drush tasks • Install Drupal. • Install, enable, and update modules and themes. • Run update.php. • Clear the cache. • Run cron.
  • 45. Common drush tasks • Install Drupal. • Install, enable, and update modules and themes. • Run update.php. • Clear the cache. • Run cron. • Disable and uninstall modules.
  • 46. Common drush tasks • Install Drupal. • Install, enable, and update modules and themes. • Run update.php. • Clear the cache. • Run cron. • Disable and uninstall modules. • Database tasks (sql-dump, sql-cli).
  • 47. Common drush tasks • Install Drupal. • Install, enable, and update modules and themes. • Run update.php. • Clear the cache. • Run cron. • Disable and uninstall modules. • Database tasks (sql-dump, sql-cli). • Set variables (vget, vset).
  • 48. Common drush tasks • Install Drupal. • Install, enable, and update modules and themes. • Run update.php. • Clear the cache. • Run cron. • Disable and uninstall modules. • Database tasks (sql-dump, sql-cli). • Set variables (vget, vset). • Revert or update features.
  • 49. Common drush tasks • Install Drupal. • Install, enable, and update modules and themes. • Run update.php. • Clear the cache. • Run cron. • Disable and uninstall modules. • Database tasks (sql-dump, sql-cli). • Set variables (vget, vset). • Revert or update features. • Create dummy content or users.
  • 50. Common drush tasks • Install Drupal. • Install, enable, and update modules and themes. • Run update.php. • Clear the cache. • Run cron. • Disable and uninstall modules. • Database tasks (sql-dump, sql-cli). • Set variables (vget, vset). • Revert or update features. • Create dummy content or users. • Makefiles (custom installation profiles).
  • 51. Common drush tasks • Install Drupal. • Install, enable, and update modules and themes. • Run update.php. • Clear the cache. • Run cron. • Disable and uninstall modules. • Database tasks (sql-dump, sql-cli). • Set variables (vget, vset). • Revert or update features. • Create dummy content or users. • Makefiles (custom installation profiles). • Custom tasks you create.
  • 53. Which drush • Drush is constantly evolving, so the version you install dictates what you can (and can not) do with it.
  • 54. Which drush • Drush is constantly evolving, so the version you install dictates what you can (and can not) do with it. • Not all commands work on all versions of Drupal.
  • 55. Which drush • Drush is constantly evolving, so the version you install dictates what you can (and can not) do with it. • Not all commands work on all versions of Drupal. • Drush requires PHP version 5.2 or better.
  • 56. Which drush • Drush is constantly evolving, so the version you install dictates what you can (and can not) do with it. • Not all commands work on all versions of Drupal. • Drush requires PHP version 5.2 or better. • We are installing drush 3.
  • 57. Which drush • Drush is constantly evolving, so the version you install dictates what you can (and can not) do with it. • Not all commands work on all versions of Drupal. • Drush requires PHP version 5.2 or better. • We are installing drush 3. • We are installing drush on a Linux server.  We <3 Linux servers. Same procedure for Mac. Windows instructions are in the README.txt file.
  • 60. Terminal tools • On MacOS, you can just open a terminal window.
  • 61. Terminal tools • On MacOS, you can just open a terminal window. • We use Coda and it has a built-in terminal.
  • 62. Terminal tools • On MacOS, you can just open a terminal window. • We use Coda and it has a built-in terminal. • If you (must) use a PC, you can use cygwin or PuTTy (much better than cmd.exe and installing ssh client.)
  • 63. Terminal tools • On MacOS, you can just open a terminal window. • We use Coda and it has a built-in terminal. • If you (must) use a PC, you can use cygwin or PuTTy (much better than cmd.exe and installing ssh client.) • If you use Linux, you probably know how to do this already. 
  • 65. Common commands • Log in: ssh username@example.com
  • 66. Common commands • Log in: ssh username@example.com • (a note about keys)
  • 67. Common commands • Log in: ssh username@example.com • (a note about keys) • Look inside: ls
  • 68. Common commands • Log in: ssh username@example.com • (a note about keys) • Look inside: ls • Go into: cd  /directory
  • 69. Common commands • Log in: ssh username@example.com • (a note about keys) • Look inside: ls • Go into: cd  /directory • Go up: cd ..
  • 70. Common commands • Log in: ssh username@example.com • (a note about keys) • Look inside: ls • Go into: cd  /directory • Go up: cd .. • Let me do important stuff: sudo
  • 71. Common commands • Log in: ssh username@example.com • (a note about keys) • Look inside: ls • Go into: cd  /directory • Go up: cd .. • Let me do important stuff: sudo • Get it: wget http://somewhere.com/file.tar.gz
  • 72. Common commands • Log in: ssh username@example.com • (a note about keys) • Look inside: ls • Go into: cd  /directory • Go up: cd .. • Let me do important stuff: sudo • Get it: wget http://somewhere.com/file.tar.gz • Unpack it: tar xvf
  • 73. Common commands • Log in: ssh username@example.com • (a note about keys) • Look inside: ls • Go into: cd  /directory • Go up: cd .. • Let me do important stuff: sudo • Get it: wget http://somewhere.com/file.tar.gz • Unpack it: tar xvf • Change permissions: chmod
  • 74. Common commands • Log in: ssh username@example.com • (a note about keys) • Look inside: ls • Go into: cd  /directory • Go up: cd .. • Let me do important stuff: sudo • Get it: wget http://somewhere.com/file.tar.gz • Unpack it: tar xvf • Change permissions: chmod • Remove *caution*: rm
  • 75. Common commands • Log in: ssh username@example.com • (a note about keys) • Look inside: ls • Go into: cd  /directory • Go up: cd .. • Let me do important stuff: sudo • Get it: wget http://somewhere.com/file.tar.gz • Unpack it: tar xvf • Change permissions: chmod • Remove *caution*: rm • Link it: ln -s
  • 76. Common commands • Log in: ssh username@example.com • (a note about keys) • Look inside: ls • Go into: cd  /directory • Go up: cd .. • Let me do important stuff: sudo • Get it: wget http://somewhere.com/file.tar.gz • Unpack it: tar xvf • Change permissions: chmod • Remove *caution*: rm • Link it: ln -s • Move: mv and Copy: cp
  • 77. Common commands • Log in: ssh username@example.com • (a note about keys) • Look inside: ls • Go into: cd  /directory • Go up: cd .. • Let me do important stuff: sudo • Get it: wget http://somewhere.com/file.tar.gz • Unpack it: tar xvf • Change permissions: chmod • Remove *caution*: rm • Link it: ln -s • Move: mv and Copy: cp • Complete file name: tab
  • 78. Common commands • Log in: ssh username@example.com • (a note about keys) • Look inside: ls • Go into: cd  /directory • Go up: cd .. • Let me do important stuff: sudo • Get it: wget http://somewhere.com/file.tar.gz • Unpack it: tar xvf • Change permissions: chmod • Remove *caution*: rm • Link it: ln -s • Move: mv and Copy: cp • Complete file name: tab
  • 79.
  • 81. This team contributes This team hacks modules and themes. core.
  • 83. Installing drush • Go to the directory you want drush to live in: cd / usr/local/share/
  • 84. Installing drush • Go to the directory you want drush to live in: cd / usr/local/share/ • Get drush: [sudo] wget http://ftp.drupal.org/files/ projects/drush-6.x-3.3.tar.gz
  • 85. Installing drush • Go to the directory you want drush to live in: cd / usr/local/share/ • Get drush: [sudo] wget http://ftp.drupal.org/files/ projects/drush-6.x-3.3.tar.gz • Unpack it: tar xvf drush-6.x-3.3.tar.gz
  • 86. Installing drush • Go to the directory you want drush to live in: cd / usr/local/share/ • Get drush: [sudo] wget http://ftp.drupal.org/files/ projects/drush-6.x-3.3.tar.gz • Unpack it: tar xvf drush-6.x-3.3.tar.gz • Remove the package: rm drush-6.x-3.3.tar.gz
  • 87. Installing drush • Go to the directory you want drush to live in: cd / usr/local/share/ • Get drush: [sudo] wget http://ftp.drupal.org/files/ projects/drush-6.x-3.3.tar.gz • Unpack it: tar xvf drush-6.x-3.3.tar.gz • Remove the package: rm drush-6.x-3.3.tar.gz • Change permissions: chmod u+x drush
  • 88. Installing drush • Go to the directory you want drush to live in: cd / usr/local/share/ • Get drush: [sudo] wget http://ftp.drupal.org/files/ projects/drush-6.x-3.3.tar.gz • Unpack it: tar xvf drush-6.x-3.3.tar.gz • Remove the package: rm drush-6.x-3.3.tar.gz • Change permissions: chmod u+x drush • Create a link: ln -s /usr/local/share/drush/drush / usr/local/bin/drush
  • 89. Installing drush • Go to the directory you want drush to live in: cd / usr/local/share/ • Get drush: [sudo] wget http://ftp.drupal.org/files/ projects/drush-6.x-3.3.tar.gz • Unpack it: tar xvf drush-6.x-3.3.tar.gz • Remove the package: rm drush-6.x-3.3.tar.gz • Change permissions: chmod u+x drush • Create a link: ln -s /usr/local/share/drush/drush / usr/local/bin/drush • Run drush: [sudo] drush
  • 91. Installing Drupal • Create a database in your usual way.
  • 92. Installing Drupal • Create a database in your usual way. • cd path/to/webroot (often this is www)
  • 93. Installing Drupal • Create a database in your usual way. • cd path/to/webroot (often this is www) • drush dl
  • 94. Installing Drupal • Create a database in your usual way. • cd path/to/webroot (often this is www) • drush dl • mv drupal-6.XX drupal
  • 95. Installing Drupal • Create a database in your usual way. • cd path/to/webroot (often this is www) • drush dl • mv drupal-6.XX drupal • (notes on where to put files)
  • 96. Installing Drupal • Create a database in your usual way. • cd path/to/webroot (often this is www) • drush dl • mv drupal-6.XX drupal • (notes on where to put files) • drush site-install --db-url=mysql:// root:pass@localhost:port/dbname
  • 97. Installing Drupal • Create a database in your usual way. • cd path/to/webroot (often this is www) • drush dl • mv drupal-6.XX drupal • (notes on where to put files) • drush site-install --db-url=mysql:// root:pass@localhost:port/dbname • Unfortunately, that only works in Drupal 7.
  • 99. Installing Views and CCK • cd into your drupal directory
  • 100. Installing Views and CCK • cd into your drupal directory • drush dl cck views
  • 101. Installing Views and CCK • cd into your drupal directory • drush dl cck views • drush en views content
  • 102. Installing Views and CCK • cd into your drupal directory • drush dl cck views • drush en views content • Brilliant drush will put them in your sites/all/ modules directory.
  • 103. Installing Views and CCK • cd into your drupal directory • drush dl cck views • drush en views content • Brilliant drush will put them in your sites/all/ modules directory. • Let’s watch Aaron do it.
  • 104.
  • 105. This coach sends his players to Drupalcon.
  • 106. This coach sends his This coach hacks core. players to Drupalcon.
  • 109. Uninstall Views • drush dis views • drush uninstall views
  • 113. Clear the cache • drush cc
  • 116. Run cron • drush cron • You’ll see more messages that don’t show up on the regular cron page.
  • 117. Save kittens - go Pats!

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. \n
  84. \n
  85. \n
  86. \n
  87. \n
  88. \n
  89. \n
  90. \n
  91. \n
  92. \n
  93. \n
  94. \n
  95. \n
  96. \n