← Back to team overview

launchpad-dev team mailing list archive

Plan to migrate Blueprint work items from whiteboards

 

Hi,

So, we had a chat with Matt earlier this week and while we work on the
user-testing for the team-based report we'd like to present our plan to
migrate the work items from the whiteboard to the new table. This is
roughly how we see this happening:

0. Land our schema changes:
https://code.launchpad.net/~linaro-infrastructure/launchpad/workitems-schema-changes/+merge/91295

1. Change the blueprint page to have a work-item section,
inline-editable just like the whiteboard. The data displayed there will
have the exact same format[1] we use today for work items (note that
this format is used only on the Web UI; once it's validated we'll parse
it and create/update the individual work items in the DB). We want to do
it that way because:

  - it allows people to edit multiple work items at once, using a
    format they're already familiar with
  - we don't break any tools that rely on screen-scraping (if there
    are any still)
  - it's not any worse than the current user experience (in fact it can
    be considered significantly better as it will validate users input)
  - it should be much cheaper than designing a nice UI that is as
    flexible as editing things in a text area

2. Expose at least a read-only API to get the work items of a Blueprint,
including a way to get a text representation of all of them, using the
standard format. (This is necessary so that we don't have to rewrite too
much stuff in lp-work-items-tracker)

3. Run a script to go through all Blueprints and migrate the work items
from their whiteboard to the new table. (we can actually keep it running
as a garbo job for a while, just in case people fix the whiteboards that
we failed to parse or mistakenly add new WIs to a whiteboard)

4. Update launchpad-work-items-tracker to use the new API

5. Hope it's easy to fix all the things we broke

In order to validate our schema changes I've already done the script
which will migrate work items from the whiteboard[2]. The script is
super strict about the format and out of the 2300 BPs I've run through
it (there are ~2500 in production, with work items in their whiteboard)
it failed to parse only 100 (all because of non-existent
assignees/milestones/states), which seems quite good to me.

So, we'd like to know if this plan sounds sane to you before we move on
to implementing the rest of it.

[1] https://wiki.ubuntu.com/WorkItemsHowto
[2]
https://code.launchpad.net/~linaro-infrastructure/launchpad/workitems-migration-script

-- 
Guilherme Salgado <https://launchpad.net/~salgado>

Attachment: signature.asc
Description: OpenPGP digital signature


Follow ups