= Connecting Milestones and Product Releases = <> == References == * [[https://launchpad.net/bugs/174468|Bug 174468]] Series, releases, and milestones overlap confusingly * [[https://launchpad.net/bugs/4557|Bug 4557]] launchpad doesn't ask for release date when adding a new product release * [[https://launchpad.net/bugs/313299|Bug 313299]] allow to move releases/milestones between series * [[https://launchpad.net/bugs/313299|Bug 156228]] admin page to change milestone details contains two 'Series' select box (Also, the Administer form could be folded into the "Change details" form.) == REST API == Moved addRelease() from ProductSeries to Milestone. The addRelease() method also no longer has the version or description arguments. == DB Changes == * Rename * Milestone.description TO summary * Milestone.visible TO active * `ProductRelease`.description TO release_notes * Delete * `ProductRelease`.summary (append to Milestone.summary) * `ProductRelease`.version (same as Milestone.name) * `ProductRelease`.productseries * Move * Milestone.codename to `ProductRelease` == UI Changes == === Project Overview Page === Since milestones and releases will be closely related, it would be nice to have a single list of versions instead of moving the version number from the milestone list to the product release list. It would also be convenient to display the codename. {{attachment:project_pagelet_for_milestones.png}} '''Proposed UI changes:''' {{{ - Make the series link bigger, it's basically what contains everything. Make sure the UI portrays this. - Milestones and releases should be interleaved, and maybe different colors for them - Ordered ASC instead of DESC - Allow creating releases from here. Should help solve the problem that people don't know how to attach files }}} === Download Files Page === This page shows all the files available for download, and it allows the owner to upload new files for existing releases. It may be worthwhile to make it possible for the admin to turn milestones into releases from this page, since this page is more closely related to the task they are trying to accomplish, as opposed to navigating through the series and milestone hierarchy. {{attachment:download_project_files.png}} '''Proposed UI changes:''' {{{ - As mentioned, allow turning milestones into releases - Remove the actions portlet, and move everything relevant inline (especially "register a release", which should be called "create a release") }}} === View Series === * Milestones should be moved from the portlet into the main table with the product releases. This will require some distinction between milestones and releases in the table. * This screenshot shows one change currently in development. The "Register a release" link has been removed from this page, and it has been added to the milestone page. This brings up the question of whether there should still be a way to create a product release in a single form without creating the milestone first. {{attachment:view_series.png}} '''Proposed UI changes:''' {{{ - If the series has a release with download files, show the download icon - Creating a release without a milestone is a must-have :) - As mentioned, move milestones inline }}} === Add Milestone Page === This form still needs to have the codename field added to it, since that field has been moved from the product release. {{attachment:register_milestone.png}} === Publish Release Page === This form adds just a few pieces of information, and by default it deactivates the milestone so that bugs and blueprints can no longer be targeted to a version that has already been released. The date released field has existed in the db for a long time, but it was just a copy of date created. This screenshot shows that this field has already been added to the form in development. {{attachment:register_release.png}} === View Milestone Page === The pages for viewing a milestone and a release are fairly simplistic except for the ability to upload files. Navigating between two different pages that represent a single version is annoying. The release page has a breadcrumb pointing to the series, but the milestone only has a link back to the series in a portlet. The canonical url for milestones is `$project/+milestone/$milestone`, but the url for releases is `$project/$series/$release`. This is only possible since milestone names are unique per project. Project releases will inherit this restriction, since this does not cause any problems when migrating old releases over to the new db schema. The release url definitely is more informative, although it requires the user to know the series name in order to type the url manually, and it will break links if the owner moves the milestone between series. Navigation tabs are confusing and differ with the release page: * Code tab goes to project code page. (Timeout error for launchpad itself project). * Bugs tab goes to project bugs page. * Blueprints goes to project blueprints page. * Answers goes to project answers page. {{attachment:view_milstone.png}} === View Project Release Page === Navigation tabs are confusing and differ with the milestone page: * Code tab goes to project code page. * Bugs tab goes to project series bugs page. * Blueprints goes to project series blueprints page. * Answers tab is disabled. {{attachment:view_productrelease.png}}