Migrations, Upgrades and Relaunches

21
Philip Bauer Starzel.de Migrations Upgrades Relaunches irc & github: pbauer twitter: StarzelDe

description

Selling an update to a client who is clinging to their ages-old Plone-site is only the first of many problems you face when it comes to updates. This talk is a collection of best-practices and lessons-learned during many migrations from "cosmetic designs-changes" that ended up in complete relaunches to "minor version upgrades" that ended up in large-scale coding-horrors. Audience-participation to trade tips and tricks is highly encouraged. Topics covered include: - Explaining reasons to upgrade to humans - Why almost everything is a relaunch - "What did you do to my pixel?" - Surviving design-upgrades - Content-Migration: Tools, Tactics and Troubles - When every feature becomes a bug - What can break? - What to migrate and what you might want to loose - How to keep your own developments upgrade-safe(ish) See a video of thetalk at http://www.youtube.com/watch?v=1Qx0JALp3lQ

Transcript of Migrations, Upgrades and Relaunches

Page 1: Migrations, Upgrades and Relaunches

Philip BauerStarzel.de

MigrationsUpgrades

Relaunches

irc & github: pbauertwitter: StarzelDe

Page 2: Migrations, Upgrades and Relaunches

"I'm not sure we can launch without the preview-button."

Page 3: Migrations, Upgrades and Relaunches

Align Expectations

Communication and Project-Management

Page 4: Migrations, Upgrades and Relaunches

Update

Upgrade

Migration

Redesign

Rewrite

Relaunch

Page 5: Migrations, Upgrades and Relaunches

if len(terms) >= 2: print("It's a relaunch!")

Page 6: Migrations, Upgrades and Relaunches

• Ease Development

• Cool new Features

• Learn new Things

Why devs want to upgrade

Page 7: Migrations, Upgrades and Relaunches

Selling migrations

• Design

• Functionality

• Usability

• Speed

• TinyMCE in IE9

Page 8: Migrations, Upgrades and Relaunches

Which will it be?

• What about the content?

• What about the design?

Page 9: Migrations, Upgrades and Relaunches

How to migrate

• Make a Plan

• Make generous Timeline

• Present Changes before they happen

• Know the Upgrade-Guide

• Migrate your Code

• Migrate Add-ons

Page 10: Migrations, Upgrades and Relaunches

• Lot‘s of Disk-Space

• /tmp

• Keep Original for Comparison

• Make Snapshots

Page 11: Migrations, Upgrades and Relaunches

Pittfalls

Page 12: Migrations, Upgrades and Relaunches

• Remove Customisations

• Cleanup Add-ons & Design

• Clear & Rebuild

• Copy DB to new Buildout

Page 13: Migrations, Upgrades and Relaunches
Page 14: Migrations, Upgrades and Relaunches

• Startup

• Fix all Errors

• Document

• Disable irrelevant stuff

• Remove obsolete stuff

• Work hard

Page 15: Migrations, Upgrades and Relaunches

• Migrate the DB

• Integrate Customisations

• Write Migration-Steps

• Automate almost Everything

• collective.upgrade

• ftw.upgrade

Page 16: Migrations, Upgrades and Relaunches

Test the Hell out of it

Page 17: Migrations, Upgrades and Relaunches

Add shiny new stuff

Page 18: Migrations, Upgrades and Relaunches

Repeat

Page 19: Migrations, Upgrades and Relaunches

Challenges and Pitfalls

• The customer

• Your big mouth

• Design

• Legacy

• Multilingual

• Relations

Page 20: Migrations, Upgrades and Relaunches

Lessons

• Bad Communication and PM kill Projects

• Every Case is different

• Every non-trivial Upgrade should be approached as a Relaunch

• Don‘t experiment

Page 21: Migrations, Upgrades and Relaunches

Questions

• How do you estimate time & cost?

Philip BauerStarzel.de

irc & github: pbauertwitter: StarzelDe