Four Kitchens staffers
Diana Montalion Dupuis, Aaron Forsander, Robert 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% [?]
