Dallas Drupal 2011 – The Economist: Tech Talk Session Notes


Four Kitchens staffers
Diana Montalion DupuisAaron ForsanderRobert Ristroph

All items relate to the ongoing support and development for http://www.economist.com/

Front page components:

  • Frontpage made up of lots of pieces and parts
  • Hero box.
  • Each item in each area of FP is individually selected. Admin is a single place tabbed for each section so easily managed to “build the page”

London – New York – Austin

  • Mailing list (Team), IRC (Team), Skype (1 to 1)
  • Developers / Core Committers
  • 1 Designer
  • SCRUM manager

2 week sprints. 15 minute stand-up daily. (What I did yesterday, What I’m doing today, any impediments)
Demo what is done to customer.
Code review, Tested, Deployed.

Use Google Docs for multi-organization teams as the SCRUM tool. Four Kitchens uses JIRA internally.
Defined single person that is the final approved/decline of any feature request. (Product Owner)

The Most X Box (Most commented, Most recommended)

  • Too query intensive to run on every page load. Ran in cron, cached every x minutes and then use the cache for display.
  • No longer using it this way as it has gotten more intelligent.
    • Jenkins runs jobs that pre-load cache.
    • User page loads only every get this box content from cache. Never sets cache.
    • If no cache, blank box.

Dev Ops

  • Branching – BZR -
  • Every feature starts in a feature branch Use launchpad to manage.
  • Trunk -> Stage -> Live
  • Fridays – Promote to stage. Teams signoff via email
  • Tuesday – Push live.

Testing

  • Selenium – More features than simpletest
  • Wow! – Runs in a headless Ubuntu X-Window recorded with FFMPEG so you actually see what was happening on a failure.

Vendor Branching

  • Each contrib module has a vendor branch
  • Pristine version of contrib as base and changes tracked.

Topic trees

  • At least ten pieces of content for a topic before it will be vailable as a topic.

Jenkins

  • Web based system for automating builds. Used to be called Hudson.
  • Now can do other things.
    • Make calls to drush cron
      • Take your imports and such and make them as drush cron calls
  • Drupal CRON runs in order of module weight. If a module cron run fails, everything after will not run
    • Database download and sanitize user data.

Performance

  • Caching
    • Varnish front-end (Pressflow for Drupal 6 or Drupal 7)
    • Logged in session cookie, Varnish is setup to not serve cached is user is logged in.
  • Database
    • MySQL replication
      • All write queries to master (Pressflow)
      • reads are from one of the replicants

Migration

  • Continual Integration
  • All stories created in CCI – Oracle
  • Custom code pulls from Oracle and then creates/updates nodes in drupal

They wrote menu_callback_cache as finer grain control of caching in drupal

Popularity: 1% [?]

Tags: , ,

About Tom

Christ follower, husband, father, technology and photography enthusiast. Attempting to live life out as a light in this world and stumbling at times in this fallen world. Got a topic you want to have me look into? Did I miss something in a post? Let me know. Just add a comment below.