launchpad-dev team mailing list archive
-
launchpad-dev team
-
Mailing list archive
-
Message #08782
Blueprint work items as first class objects, and a bit more
Hi there,
Most of you probably know that Linaro and Ubuntu would love to have a
separate form for entering blueprint work items[1], with proper user
input validation and all that, but unfortunately that's never been a
priority so we're still abusing the whiteboard. That situation may be
about to change...
In Linaro we've been discussing a new report that would show the
upcoming work assigned to a given team, aggregating work items from
blueprints and bugs (see the attached mockup for an example; just ignore
the roadmap cards line at the top), but for that we do need to have work
items as first class objects, as well as the history of changes made to
them.
We believe doing it in Launchpad instead of
launchpad-work-items-tracker[2] has many benefits (to ourselves and to
other Launchpad users, who might find that kind of report useful), but
just having work items as first class objects would make it possible to
implement many other things (user input validation when
creating/modifying them, ability to generate reports and see the
progress of a blueprint, etc), so we'd like to know if this is something
that would be accepted into Launchpad.
We have been thinking about a plan to migrate all work items from
whiteboards into the new tables, as well as a UI which allows editing
all work items at once, and we look forward to discussing that in more
detail in case you think this report can be implemented in LP.
Oh, I'm also attaching the SQL for the new tables we think would be
necessary for this.
[1] https://bugs.launchpad.net/launchpad/+bug/578263
[2] https://launchpad.net/launchpad-work-items-tracker
Cheers,
--
Guilherme Salgado <https://launchpad.net/~salgado>
Attachment:
engineering-view-v3.png
Description: PNG image
-- Copyright 2012 Canonical Ltd. This software is licensed under the
-- GNU Affero General Public License version 3 (see the file LICENSE).
SET client_min_messages=ERROR;
CREATE TABLE specificationworkitem (
id SERIAL PRIMARY KEY,
title text NOT NULL,
specification integer NOT NULL REFERENCES specification,
assignee integer REFERENCES person,
milestone integer REFERENCES milestone,
date_created timestamp without time zone DEFAULT
timezone('UTC'::text, now()) NOT NULL,
status integer NOT NULL,
deleted boolean NOT NULL DEFAULT FALSE);
CREATE TABLE specificationworkitemchange (
id SERIAL PRIMARY KEY,
work_item integer NOT NULL REFERENCES specificationworkitem,
new_status integer NOT NULL,
new_milestone integer REFERENCES milestone,
new_assignee integer REFERENCES person,
date date NOT NULL);
CREATE TABLE specificationworkitemstats (
specification integer REFERENCES specification,
date date NOT NULL,
status integer NOT NULL,
assignee integer REFERENCES person,
milestone integer REFERENCES milestone,
count integer NOT NULL);
-- TODO: Add security.cfg entries for the new tables
-- TODO: Add comments.sql entries for the new tables
-- FIXME: The patch number here is bogus.
INSERT INTO LaunchpadDatabaseRevision VALUES (2209, 13, 0);
Follow ups