SlideShare a Scribd company logo
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 JavaScript
Raymond Camden
 
Big Websites
Big WebsitesBig Websites
Big Websites
Four Kitchens
 
Intro to Drush
Intro to DrushIntro to Drush
Intro to Drush
Carson Black
 
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 Chef
Promet Source
 
Continuous Integration, the minimum viable product
Continuous Integration, the minimum viable productContinuous Integration, the minimum viable product
Continuous Integration, the minimum viable product
Julian 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
 
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
The Incredible Automation Day
 
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
Jé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 Software
Chris Weldon
 
WebGL Camp 4 - A3 3D Engine
WebGL Camp 4 - A3 3D EngineWebGL Camp 4 - A3 3D Engine
WebGL Camp 4 - A3 3D Engine
aerotwist
 
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
DevOpsDays Baltimore
 
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
DevOpsDays Baltimore
 
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 Drupal
Rod Martin
 
Devops For Drupal
Devops  For DrupalDevops  For Drupal
Devops For Drupal
Kris Buytaert
 
Gearman and CodeIgniter
Gearman and CodeIgniterGearman and CodeIgniter
Gearman and CodeIgniter
Erik 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 Kerstiens
Citus 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 CMS
Four Kitchens
 
Four Kitchens: We make BIG websites
Four Kitchens: We make BIG websitesFour Kitchens: We make BIG websites
Four Kitchens: We make BIG websites
Four 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 Study
Four Kitchens
 
UX design for every screen
UX design for every screenUX design for every screen
UX design for every screen
Four 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
 
Teaching Drupal
Teaching DrupalTeaching Drupal
Teaching Drupal
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 cookbook
Four Kitchens
 
The Web Chef Cookbook
The Web Chef CookbookThe Web Chef Cookbook
The Web Chef Cookbook
Four 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

UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 

Recently uploaded (20)

UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 

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