#format wiki #language en = Code User Stories = Blatantly copied from the Registry user story page. This section contains the [[http://www.agile-software-development.com/2008/04/writing-good-user-stories.html|story cards]] for the Launchpad Code team. Completed stories are moved to the [[VersionThreeDotO/Code/StoryCardsArchive]]. Priorities are found on the [[VersionThreeDotO/Code|main code page]]. <> <> == Official source package branch for Distribution == '''Story Points:''' 5 As a distribution vendor, I want to be able to specify a certain branch as being the trunk branch for a package in my distribution in order to allow any developer to easily fetch source for a package. <> == Official source package branch for Distro Series == '''Story Points:''' 5 As a distribution vendor, I want to be able to specify a certain branch as being the focus branch for a package in a distro series so that developers working on that series know where to fetch the latest source branch for it from. <> == Distribution source package branch listings == '''Story Points:''' 3 As a package maintainer, I want to be able to see what branches have been recorded for my source package in order to collaborate with their developers. <> == Enabling Source Package Branches == '''Story Points:''' 5 * As a web user I want to be able to change an existing branch to have a source package so I can use Bazaar to create and change source packages. * e.g. I have a branch associated with the bzr product, and I want to associate it with the bzr source package in ubuntu/intrepid e.g. ~jml/bzr/fix-loom => ~jml/ubuntu/hoary/bzr/fix-loom <> == API for code review diffs against target == '''Story Points:''' 5 We want to be able to provide an API to update the diffs against the the merge proposal target. '''Notes:''' * API needs to expose work in progress and needs review proposals for a project (source package / branch container) * API needs to allow the setting of the diff information * DB classes for DynamicDiff * LP is not validating the diff text in the API * Includes conflict count / text <> == UI for viewing codereview diffs against target == '''Story Point:''' 3 As a launchpad user I'd like to be able to see the diffs that have been saved for my pending merges. '''Notes:''' * LP UI needs to show links to the diff on mp & mp listing pages * Diff rendered in plaintext * Show conflict count from db <> == Show diffstats for merge proposals == '''Story Points:''' 5 As a reviewer / branch author, I want to see the diffstat for a moving diff, so that I can get an overall feeling for the changes in that branch. '''Notes:''' * Extend the content class if necessary. * Extend the dynamic diff to calculate the diffstat on the diff text * Include lines added/removed, files changed * Show it in a
 blob ala diffstat on the command line


<>
== Merge analysis daemon ==

'''Story Points:''' 8

  As a Launchpad user I want to be able to run a script that updates the diffs against targets for my project.

'''Notes:'''
    * Merge Analysis Deamon (MAD) will be the client script
    * A project on LP with the script available for a user to download and run
    * This story does not include getting it packaged
    * this story does not include getting it working on EC2
    * includes minimal HOWTO docs
    * also includes some form of testing.



<>
== git imports - lp db updates ==

'''Story Points:''' 2

  Data model updates to support git imports

'''Notes:'''
    * Adding a git option for import type (i.e. extend the enum)
    * DB patch to add git data to CodeImport (repo url and git branch [default to MASTER?])

<>
== git import worker ==

'''Story Points:''' 3

  The import worker script to do the imports from a remote git repository.

'''Notes:'''
    * Jelmer is finishing off bzr-git v.1 ETA 2 weeks for stable import ids -- assume we have that
    * Writing a new worker script + hair to call it



<>
== git import web ui ==

'''Story Points:''' 3

  As a web user, I want to be able to request and view an import from a git branch, so I can feel the bzr love.

'''Notes:'''
    * Update new code import to allow entering of git repo/branch
    * Branch UI update to show GIT import (rather than subversion / cvs)
    * Available code import page



= Needs estimating =

These stories will be estimated in the weekly planning meeting.


<>
== Example Story ==

'''Story Points:''' ??

  Description of the story

'''Notes:'''
    * Any notes.

= Needs definition =

These stories are incomplete, not understood, and cannot be estimated.

<>
== Site branches ==

'''Story Points:''' ?? (too hard right now, need to get confirmation on actual feature)

  We'd like Launchpad to be able to have user defined sites for personal pages and projects.

'''Notes:'''
    * Add a table for SiteBranches with links to one of Person, Product, Project
      * We want this instead of fields on respective tables as we may well want to add an emum for any given link to specify pre-processing options (none, rest, some wiki processing et al).
    * Content class
    * Web UI for configuring the behaviour
    * Branch job to checkout/update
    * LP subdomain to host on (site.launchpad.net) ?
    * Machine to host it on (quotas?)