SlideShare a Scribd company logo
May 16th, 2013 php|tek 2013 1
E-mail: chris@ctankersley.com
Twitter: @dragonmantank
App.net: @ctankersleyhttps://joind.in/8153
 ChrisTankersley
 Doing PHP for 9Years
 Lots of projects no one uses, and a few that
some do
 TL;DR https://github.com/dragonmantank
 Heavy Drupal Development for 2 years
May 16th, 2013 php|tek 2013 2
 Don’t use Drupal
May 16th, 2013 php|tek 2013 3
 Don’t abuse Drupal
May 16th, 2013 php|tek 2013 4
What powers your site
May 16th, 2013 php|tek 2013 5
 Pre-built *AMP Stack
 Available for Drupal 6 or 7
 Install and Ready to Go
May 16th, 2013 php|tek 2013 6
Advantages
Disadvantages
 Not built for multiple installs
 Can’t use for existing sites
 Only forWindows and Mac
 Best to use for module or theme
development
 I don’t like it for full site development
May 16th, 2013 php|tek 2013 7
 Make use of the “Sites” option to help
separate work
 On Mac, only the /sites/all/ folder is writable
 Even Sites you create are not writable
 Don’t put the entire stack inVC, just your
work
May 16th, 2013 php|tek 2013 8
May 16th, 2013 php|tek 2013 9
 Full server to run code
 Self contained and can be replicated
 Most modern machines can doVM
Advantages
Disadvantages
 Uses more resources
 Easier to break
 Best to use for full site development
 Or use it all the time, it’s nice to have an
environment you control
May 16th, 2013 php|tek 2013 10
 Try and pick a distro that is close to your production
setup. If you are running Redhat in production, set up
an CentOS box
 Set up the document root for your web server to be
the /vagrant folder (or sub folder, depending on your
site layout).This way your site will run automatically.
 If you are running CentOS and Apache, disable
SELinux so that Apache will use the /vagrant folder
 Don't use PHP 5.4 with Drupal 7 or lower
 Make sure APC, or some opcode cache, is installed
 Provide lots of RAM, at least 1GB
May 16th, 2013 php|tek 2013 11
 Run everything off of your local machine!
 Great if you can do it, I like vagrant better
May 16th, 2013 php|tek 2013 12
@grmpyprogrammer will track you down if you don’t
May 16th, 2013 php|tek 2013 13
Automatically making sure your code works
May 16th, 2013 php|tek 2013 14
 Write your tests before you code
 Watch it fail
 Write code to make your tests pass
 Feel better
May 16th, 2013 php|tek 2013 15
 Drupal ships with SimpleTest baked in
 Supports unit testing and functional testing
 Unit tests are done by extending
DrupalUnitTestCase
 Functional tests are done by extending
DrupalWebTestCase
May 16th, 2013 php|tek 2013 16
May 16th, 2013 php|tek 2013 17
 Unit tests do not bootstrap Drupal, so are
very quick
 FunctionalTests bootstrap Drupal, so are very
slow
May 16th, 2013 php|tek 2013 18
 The test runner is AJAX, so it can break very
easily
 Debugging can be hard since extra output
breaks the test runner, and since the DB is
destroyed watchdog() is useless
 You can use $this->verbose(‘message’) or
debug(‘message’) though
May 16th, 2013 php|tek 2013 19
Your command line friend
May 16th, 2013 php|tek 2013 20
Dump your database to an SQL file
$ drush sql-dump --result-file=/PATH/TO/dump.sql
Back up the entire site to a tarball
$ drush archive-dump default
View watchdog entries
$ drush watchdog-list
Update Drupal and modules
$ drush pm-update
Download module
$ drush pm-download [module_name]
May 16th, 2013 php|tek 2013 21
I couldn’t think of a good tagline that should go here
May 16th, 2013 php|tek 2013 22
 Allows you to quickly back up the DB and
move it
 No need to use a DB GUI
 Can do automatic local or remote backups
 Useful for moving databases from one server
to another
May 16th, 2013 php|tek 2013 23
 Exposes a lot of the structure of Drupal
 Things like nodes can be clicked through to see
their object structure
 Can auto-generate dummy content
 Better debugging output
 dpm() and dvm() for pretty output
 dpr(), kpr(), and dvr() will dump to the page
header
May 16th, 2013 php|tek 2013 24
 Package system for Drupal
 Takes a lot of stuff in the DB and makes it
exportable and portable via code
 Lot of stuff works out of the box, extra
modules like UUID, boxes, and features_extra
pick up the slack
 ftools makes updating features easy
May 16th, 2013 php|tek 2013 25
Understand it and harness its power
May 16th, 2013 php|tek 2013 26
 Page caching for full output caching
 Block caching so that dynamic content can
still update if it needs to
 You can configure how long to cache things
for
May 16th, 2013 php|tek 2013 27
 In Full Page Caching, most of the PHP isn’t
run
 Effectively turns your site into a static site (kind
of)
 With block caching, not all blocks will cache.
What and when to cache is up to the block
May 16th, 2013 php|tek 2013 28
It’s kind of like nuclear fusion, but without all the explosions
May 16th, 2013 php|tek 2013 29
 Will group needed JS and CSS files
together, reducing the number of HTTP
requests
 Will minify CSS, reducing some of the
transmission size
YOU have to make your modules take
advantage of it, though
May 16th, 2013 php|tek 2013 30
 Let Drupal know about your files
 drupal_add_js()
 drupal_add_css()
 Add the files to your .info file
 Don’t just add JS and CSS files via <script>
and <style> tags in your theme
May 16th, 2013 php|tek 2013 31
Really, ask.
May 16th, 2013 php|tek 2013 32
 Acquia Dev Desktop
 vagrant
 Drupal SimpleTest
 drush
 Backup and Migrate
 Devel
 Features
May 16th, 2013 php|tek 2013 33
May 16th, 2013 php|tek 2013 34
E-mail: chris@ctankersley.com
Twitter: @dragonmantank
App.net: @ctankersley
https://joind.in/8153

More Related Content

What's hot (20)

PDF
Capistrano deploy Magento project in an efficient way
Sylvain Rayé
 
PDF
WordPress security 101 - WP Turku Meetup 2.2.2017
Otto Kekäläinen
 
PDF
Automatic testing and quality assurance for WordPress plugins and themes
Otto Kekäläinen
 
PDF
Improving WordPress performance (xdebug and profiling)
Otto Kekäläinen
 
PDF
Optimising Your Front End Workflow With Symfony, Twig, Bower and Gulp
Matthew Davis
 
PDF
Why it's dangerous to turn off automatic updates and here's how to do it
Onni Hakala
 
PDF
WordPress modern development
Roman Veselý
 
PPTX
Python/Flask Presentation
Parag Mujumdar
 
PPTX
WordPress Hardening
Maurizio Pelizzone
 
KEY
Php Power Tools
Michelangelo van Dam
 
PDF
The MetaCPAN VM for Dummies Part One (Installation)
Olaf Alders
 
PDF
WordPress security 101 - WP Jyväskylä Meetup 21.3.2017
Otto Kekäläinen
 
PPTX
Use Symfony2 components inside WordPress
Maurizio Pelizzone
 
PDF
Developers, Be a Bada$$ with WP-CLI
WP Engine
 
PPTX
Building a PWA - For Everyone Who Is Scared To
Raymond Camden
 
PDF
Quick flask an intro to flask
juzten
 
PDF
WPDay Bologna 2013
Danilo Ercoli
 
PDF
Open web mail setup
Chacheng Oo
 
PDF
Philipp Von Weitershausen Plone Age Mammoths, Sabers And Caveen Cant The...
Vincenzo Barone
 
PDF
Technical SEO for WordPress - 2017 edition
Otto Kekäläinen
 
Capistrano deploy Magento project in an efficient way
Sylvain Rayé
 
WordPress security 101 - WP Turku Meetup 2.2.2017
Otto Kekäläinen
 
Automatic testing and quality assurance for WordPress plugins and themes
Otto Kekäläinen
 
Improving WordPress performance (xdebug and profiling)
Otto Kekäläinen
 
Optimising Your Front End Workflow With Symfony, Twig, Bower and Gulp
Matthew Davis
 
Why it's dangerous to turn off automatic updates and here's how to do it
Onni Hakala
 
WordPress modern development
Roman Veselý
 
Python/Flask Presentation
Parag Mujumdar
 
WordPress Hardening
Maurizio Pelizzone
 
Php Power Tools
Michelangelo van Dam
 
The MetaCPAN VM for Dummies Part One (Installation)
Olaf Alders
 
WordPress security 101 - WP Jyväskylä Meetup 21.3.2017
Otto Kekäläinen
 
Use Symfony2 components inside WordPress
Maurizio Pelizzone
 
Developers, Be a Bada$$ with WP-CLI
WP Engine
 
Building a PWA - For Everyone Who Is Scared To
Raymond Camden
 
Quick flask an intro to flask
juzten
 
WPDay Bologna 2013
Danilo Ercoli
 
Open web mail setup
Chacheng Oo
 
Philipp Von Weitershausen Plone Age Mammoths, Sabers And Caveen Cant The...
Vincenzo Barone
 
Technical SEO for WordPress - 2017 edition
Otto Kekäläinen
 

Similar to Drupal Development Tips (20)

PDF
Modernize Your Drupal Development
Chris Tankersley
 
ZIP
Staging and Deployment
heyrocker
 
PDF
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Mack Hardy
 
PDF
Intro to drupal_7_architecture
Hai Vo Hoang
 
ODP
Drupal in 5mins + Previewing Drupal 8.x
Wong Hoi Sing Edison
 
PPTX
Introduction to drupal
Rachit Gupta
 
ODP
Hong Kong Drupal User Group - 2014 March 8th
Wong Hoi Sing Edison
 
PDF
Recipes for Drupal distributions
Lakshmi Narasimhan Parthasarathy
 
KEY
Drupal Meetup Lisbon
Paulo Gomes
 
ODP
Drupal Architecture and functionality
Ann Lam
 
PDF
Scaling Drupal @ iMoney - DrupalCamp Singapore 2014
imoneytech
 
ZIP
Voiture tech talk
Hoppinger
 
PDF
DrupalCampLA 2011: Drupal backend-performance
Ashok Modi
 
PPTX
Drupal Camp Porto - Developing with Drupal: First Steps
Luís Carneiro
 
PPTX
Drupal Overview For Techies
Robert Carr
 
PDF
Choosing Drupal as your Content Management Framework
Mediacurrent
 
PDF
Os Harkins
oscon2007
 
PDF
Сontinuous Integration - step to continuous deployment
Игорь Родионов
 
PDF
Drupal Recipe
hernanibf
 
KEY
DrupalCon 2011 Highlight
Supakit Kiatrungrit
 
Modernize Your Drupal Development
Chris Tankersley
 
Staging and Deployment
heyrocker
 
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Mack Hardy
 
Intro to drupal_7_architecture
Hai Vo Hoang
 
Drupal in 5mins + Previewing Drupal 8.x
Wong Hoi Sing Edison
 
Introduction to drupal
Rachit Gupta
 
Hong Kong Drupal User Group - 2014 March 8th
Wong Hoi Sing Edison
 
Recipes for Drupal distributions
Lakshmi Narasimhan Parthasarathy
 
Drupal Meetup Lisbon
Paulo Gomes
 
Drupal Architecture and functionality
Ann Lam
 
Scaling Drupal @ iMoney - DrupalCamp Singapore 2014
imoneytech
 
Voiture tech talk
Hoppinger
 
DrupalCampLA 2011: Drupal backend-performance
Ashok Modi
 
Drupal Camp Porto - Developing with Drupal: First Steps
Luís Carneiro
 
Drupal Overview For Techies
Robert Carr
 
Choosing Drupal as your Content Management Framework
Mediacurrent
 
Os Harkins
oscon2007
 
Сontinuous Integration - step to continuous deployment
Игорь Родионов
 
Drupal Recipe
hernanibf
 
DrupalCon 2011 Highlight
Supakit Kiatrungrit
 
Ad

More from Chris Tankersley (20)

PDF
8 Rules for Better Applications - PHP Tek 2025
Chris Tankersley
 
PDF
The Art of API Design - PHP Tek 2025, Chris Tankersley
Chris Tankersley
 
PDF
Docker is Dead: Long Live Containers
Chris Tankersley
 
PDF
Bend time to your will with git
Chris Tankersley
 
PDF
Using PHP Functions! (Not those functions, Google Cloud Functions)
Chris Tankersley
 
PDF
Dead Simple APIs with OpenAPI
Chris Tankersley
 
PDF
Killer Docker Workflows for Development
Chris Tankersley
 
PDF
You Got Async in my PHP!
Chris Tankersley
 
ODP
Docker for Developers - PHP Detroit 2018
Chris Tankersley
 
ODP
Docker for Developers
Chris Tankersley
 
ODP
They are Watching You
Chris Tankersley
 
ODP
BASHing at the CLI - Midwest PHP 2018
Chris Tankersley
 
PDF
You Were Lied To About Optimization
Chris Tankersley
 
ODP
Docker for PHP Developers - php[world] 2017
Chris Tankersley
 
ODP
Docker for PHP Developers - Madison PHP 2017
Chris Tankersley
 
ODP
Docker for Developers - php[tek] 2017
Chris Tankersley
 
ODP
Why Docker? Dayton PHP, April 2017
Chris Tankersley
 
PPTX
OOP Is More Then Cars and Dogs - Midwest PHP 2017
Chris Tankersley
 
PPTX
From Docker to Production - SunshinePHP 2017
Chris Tankersley
 
PPTX
Docker for Developers - Sunshine PHP
Chris Tankersley
 
8 Rules for Better Applications - PHP Tek 2025
Chris Tankersley
 
The Art of API Design - PHP Tek 2025, Chris Tankersley
Chris Tankersley
 
Docker is Dead: Long Live Containers
Chris Tankersley
 
Bend time to your will with git
Chris Tankersley
 
Using PHP Functions! (Not those functions, Google Cloud Functions)
Chris Tankersley
 
Dead Simple APIs with OpenAPI
Chris Tankersley
 
Killer Docker Workflows for Development
Chris Tankersley
 
You Got Async in my PHP!
Chris Tankersley
 
Docker for Developers - PHP Detroit 2018
Chris Tankersley
 
Docker for Developers
Chris Tankersley
 
They are Watching You
Chris Tankersley
 
BASHing at the CLI - Midwest PHP 2018
Chris Tankersley
 
You Were Lied To About Optimization
Chris Tankersley
 
Docker for PHP Developers - php[world] 2017
Chris Tankersley
 
Docker for PHP Developers - Madison PHP 2017
Chris Tankersley
 
Docker for Developers - php[tek] 2017
Chris Tankersley
 
Why Docker? Dayton PHP, April 2017
Chris Tankersley
 
OOP Is More Then Cars and Dogs - Midwest PHP 2017
Chris Tankersley
 
From Docker to Production - SunshinePHP 2017
Chris Tankersley
 
Docker for Developers - Sunshine PHP
Chris Tankersley
 
Ad

Recently uploaded (20)

PPTX
Darren Mills The Migration Modernization Balancing Act: Navigating Risks and...
AWS Chicago
 
PDF
HydITEx corporation Booklet 2025 English
Георгий Феодориди
 
PPTX
Simplifying End-to-End Apache CloudStack Deployment with a Web-Based Automati...
ShapeBlue
 
PDF
Novus Safe Lite- What is Novus Safe Lite.pdf
Novus Hi-Tech
 
PDF
Bitcoin+ Escalando sin concesiones - Parte 1
Fernando Paredes García
 
PPTX
The Yotta x CloudStack Advantage: Scalable, India-First Cloud
ShapeBlue
 
PPTX
UI5Con 2025 - Beyond UI5 Controls with the Rise of Web Components
Wouter Lemaire
 
PDF
Sustainable and comertially viable mining process.pdf
Avijit Kumar Roy
 
PDF
Ampere Offers Energy-Efficient Future For AI And Cloud
ShapeBlue
 
PDF
Novus-Safe Pro: Brochure-What is Novus Safe Pro?.pdf
Novus Hi-Tech
 
PDF
HR agent at Mediq: Lessons learned on Agent Builder & Maestro by Tacstone Tec...
UiPathCommunity
 
PPTX
Extensions Framework (XaaS) - Enabling Orchestrate Anything
ShapeBlue
 
PDF
Market Wrap for 18th July 2025 by CIFDAQ
CIFDAQ
 
PPTX
Earn Agentblazer Status with Slack Community Patna.pptx
SanjeetMishra29
 
PDF
TrustArc Webinar - Data Privacy Trends 2025: Mid-Year Insights & Program Stra...
TrustArc
 
PDF
Arcee AI - building and working with small language models (06/25)
Julien SIMON
 
PDF
CloudStack GPU Integration - Rohit Yadav
ShapeBlue
 
PDF
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
PDF
2025-07-15 EMEA Volledig Inzicht Dutch Webinar
ThousandEyes
 
PDF
OpenInfra ID 2025 - Are Containers Dying? Rethinking Isolation with MicroVMs.pdf
Muhammad Yuga Nugraha
 
Darren Mills The Migration Modernization Balancing Act: Navigating Risks and...
AWS Chicago
 
HydITEx corporation Booklet 2025 English
Георгий Феодориди
 
Simplifying End-to-End Apache CloudStack Deployment with a Web-Based Automati...
ShapeBlue
 
Novus Safe Lite- What is Novus Safe Lite.pdf
Novus Hi-Tech
 
Bitcoin+ Escalando sin concesiones - Parte 1
Fernando Paredes García
 
The Yotta x CloudStack Advantage: Scalable, India-First Cloud
ShapeBlue
 
UI5Con 2025 - Beyond UI5 Controls with the Rise of Web Components
Wouter Lemaire
 
Sustainable and comertially viable mining process.pdf
Avijit Kumar Roy
 
Ampere Offers Energy-Efficient Future For AI And Cloud
ShapeBlue
 
Novus-Safe Pro: Brochure-What is Novus Safe Pro?.pdf
Novus Hi-Tech
 
HR agent at Mediq: Lessons learned on Agent Builder & Maestro by Tacstone Tec...
UiPathCommunity
 
Extensions Framework (XaaS) - Enabling Orchestrate Anything
ShapeBlue
 
Market Wrap for 18th July 2025 by CIFDAQ
CIFDAQ
 
Earn Agentblazer Status with Slack Community Patna.pptx
SanjeetMishra29
 
TrustArc Webinar - Data Privacy Trends 2025: Mid-Year Insights & Program Stra...
TrustArc
 
Arcee AI - building and working with small language models (06/25)
Julien SIMON
 
CloudStack GPU Integration - Rohit Yadav
ShapeBlue
 
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
2025-07-15 EMEA Volledig Inzicht Dutch Webinar
ThousandEyes
 
OpenInfra ID 2025 - Are Containers Dying? Rethinking Isolation with MicroVMs.pdf
Muhammad Yuga Nugraha
 

Drupal Development Tips

  • 1. May 16th, 2013 php|tek 2013 1 E-mail: [email protected] Twitter: @dragonmantank App.net: @ctankersleyhttps://joind.in/8153
  • 2.  ChrisTankersley  Doing PHP for 9Years  Lots of projects no one uses, and a few that some do  TL;DR https://github.com/dragonmantank  Heavy Drupal Development for 2 years May 16th, 2013 php|tek 2013 2
  • 3.  Don’t use Drupal May 16th, 2013 php|tek 2013 3
  • 4.  Don’t abuse Drupal May 16th, 2013 php|tek 2013 4
  • 5. What powers your site May 16th, 2013 php|tek 2013 5
  • 6.  Pre-built *AMP Stack  Available for Drupal 6 or 7  Install and Ready to Go May 16th, 2013 php|tek 2013 6 Advantages Disadvantages  Not built for multiple installs  Can’t use for existing sites  Only forWindows and Mac
  • 7.  Best to use for module or theme development  I don’t like it for full site development May 16th, 2013 php|tek 2013 7
  • 8.  Make use of the “Sites” option to help separate work  On Mac, only the /sites/all/ folder is writable  Even Sites you create are not writable  Don’t put the entire stack inVC, just your work May 16th, 2013 php|tek 2013 8
  • 9. May 16th, 2013 php|tek 2013 9  Full server to run code  Self contained and can be replicated  Most modern machines can doVM Advantages Disadvantages  Uses more resources  Easier to break
  • 10.  Best to use for full site development  Or use it all the time, it’s nice to have an environment you control May 16th, 2013 php|tek 2013 10
  • 11.  Try and pick a distro that is close to your production setup. If you are running Redhat in production, set up an CentOS box  Set up the document root for your web server to be the /vagrant folder (or sub folder, depending on your site layout).This way your site will run automatically.  If you are running CentOS and Apache, disable SELinux so that Apache will use the /vagrant folder  Don't use PHP 5.4 with Drupal 7 or lower  Make sure APC, or some opcode cache, is installed  Provide lots of RAM, at least 1GB May 16th, 2013 php|tek 2013 11
  • 12.  Run everything off of your local machine!  Great if you can do it, I like vagrant better May 16th, 2013 php|tek 2013 12
  • 13. @grmpyprogrammer will track you down if you don’t May 16th, 2013 php|tek 2013 13
  • 14. Automatically making sure your code works May 16th, 2013 php|tek 2013 14
  • 15.  Write your tests before you code  Watch it fail  Write code to make your tests pass  Feel better May 16th, 2013 php|tek 2013 15
  • 16.  Drupal ships with SimpleTest baked in  Supports unit testing and functional testing  Unit tests are done by extending DrupalUnitTestCase  Functional tests are done by extending DrupalWebTestCase May 16th, 2013 php|tek 2013 16
  • 17. May 16th, 2013 php|tek 2013 17
  • 18.  Unit tests do not bootstrap Drupal, so are very quick  FunctionalTests bootstrap Drupal, so are very slow May 16th, 2013 php|tek 2013 18
  • 19.  The test runner is AJAX, so it can break very easily  Debugging can be hard since extra output breaks the test runner, and since the DB is destroyed watchdog() is useless  You can use $this->verbose(‘message’) or debug(‘message’) though May 16th, 2013 php|tek 2013 19
  • 20. Your command line friend May 16th, 2013 php|tek 2013 20
  • 21. Dump your database to an SQL file $ drush sql-dump --result-file=/PATH/TO/dump.sql Back up the entire site to a tarball $ drush archive-dump default View watchdog entries $ drush watchdog-list Update Drupal and modules $ drush pm-update Download module $ drush pm-download [module_name] May 16th, 2013 php|tek 2013 21
  • 22. I couldn’t think of a good tagline that should go here May 16th, 2013 php|tek 2013 22
  • 23.  Allows you to quickly back up the DB and move it  No need to use a DB GUI  Can do automatic local or remote backups  Useful for moving databases from one server to another May 16th, 2013 php|tek 2013 23
  • 24.  Exposes a lot of the structure of Drupal  Things like nodes can be clicked through to see their object structure  Can auto-generate dummy content  Better debugging output  dpm() and dvm() for pretty output  dpr(), kpr(), and dvr() will dump to the page header May 16th, 2013 php|tek 2013 24
  • 25.  Package system for Drupal  Takes a lot of stuff in the DB and makes it exportable and portable via code  Lot of stuff works out of the box, extra modules like UUID, boxes, and features_extra pick up the slack  ftools makes updating features easy May 16th, 2013 php|tek 2013 25
  • 26. Understand it and harness its power May 16th, 2013 php|tek 2013 26
  • 27.  Page caching for full output caching  Block caching so that dynamic content can still update if it needs to  You can configure how long to cache things for May 16th, 2013 php|tek 2013 27
  • 28.  In Full Page Caching, most of the PHP isn’t run  Effectively turns your site into a static site (kind of)  With block caching, not all blocks will cache. What and when to cache is up to the block May 16th, 2013 php|tek 2013 28
  • 29. It’s kind of like nuclear fusion, but without all the explosions May 16th, 2013 php|tek 2013 29
  • 30.  Will group needed JS and CSS files together, reducing the number of HTTP requests  Will minify CSS, reducing some of the transmission size YOU have to make your modules take advantage of it, though May 16th, 2013 php|tek 2013 30
  • 31.  Let Drupal know about your files  drupal_add_js()  drupal_add_css()  Add the files to your .info file  Don’t just add JS and CSS files via <script> and <style> tags in your theme May 16th, 2013 php|tek 2013 31
  • 32. Really, ask. May 16th, 2013 php|tek 2013 32
  • 33.  Acquia Dev Desktop  vagrant  Drupal SimpleTest  drush  Backup and Migrate  Devel  Features May 16th, 2013 php|tek 2013 33
  • 34. May 16th, 2013 php|tek 2013 34 E-mail: [email protected] Twitter: @dragonmantank App.net: @ctankersley https://joind.in/8153

Editor's Notes

  • #7: Show the acquiadev desktop
  • #9: Show the directory structure