Code review comment for lp:~sinzui/launchpad/milestone-design-oops

Revision history for this message
Curtis Hovey (sinzui) wrote :

This is my branch to fix timeout issues and IProject issues with the
milestone page and improve the layout.

    lp:~sinzui/launchpad/milestone-design-oops
    Diff size: 155
    Launchpad bug: https://bugs.launchpad.net/bugs/430726
    Test command: ./bin/test -vv -t "milestone-views|object-milestones"
    Pre-implementation: wgrant
    Target release: 3.1.0

= Fix timeout issues and IProject issues with the milestone page =

There is a content and a design problem with the milestone page.

1. There are many more timeouts because of the cost of showing the bug tags.
    Remove them, they do not work well are they are in the design.

2. For most users, the side bar has one link, and if the context is an
   IProject, there is no side bar. The content does not fill the page well.
   Remove the side bar from the IProject case, consider moving the three
   action links inline or float a fake side bar so that the content can fill
   the page.

== Rules ==

1. Removed the tags from the page.

2. This is hard to do. I had several failures before settling on the CSS
   approach.
   a) I could not conditional set the page macro
   b) I could not reliably make a mock side bar in a main_only template --
      If someone changed the yui-* definition in the CSS, the template would
      be out of sync.
   c) I tried using CSS to collapse the yui-* widths to reclaim the space,
      but Firefox ignored them
   d) I decided to give up a just add a conditional CSS block that hides the
      empty background of the side bar.

3. I then saw that the Project milestone table is still very compressed
   because it has a "Product" column. Well that is not right. It should
   read "Project"

4. The I experimented with a new class that was on a different z-index and
   very wide. The bug and spec work items filled the space very well.

5. I decided to a .wide to the release files portlets so that its description
   was not compressed.

== QA ==

The side bar and wide tables show look like these images.
    http://people.canonical.com/~curtis/milestones/

== Lint ==

Linting changed files:
  lib/canonical/launchpad/icing/style-3-0.css
  lib/lp/registry/browser/tests/milestone-views.txt
  lib/lp/registry/stories/milestone/object-milestones.txt
  lib/lp/registry/templates/milestone-index.pt

== Test ==

    * lib/lp/registry/browser/tests/milestone-views.txt
      * Added a test to verify that CSS is added to hide the project group
        milestone side bar.
    * lib/lp/registry/stories/milestone/object-milestones.txt
      * Updated the test to verify that the UI uses "Project", not "Product".

== Implementation ==

    * lib/canonical/launchpad/icing/style-3-0.css
      * Added a wide rule for content to reclaim the space lost to the
        side bar.
    * lib/lp/registry/templates/milestone-index.pt
      * Added CSS for the is_project_milestone condition
      * Added .wide to the product release files portlet and the bug/blueprint
        work items portlet
      * Removed the bug tags that were cause a zillion queries.

« Back to merge proposal