Code review comment for lp:~sinzui/launchpad/action-menu-bug-403641

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

This is my branch to add support for an action menu and involvement portlet.
This branch is extracted form my product index page branch.

    lp:~sinzui/launchpad/action-menu-bug-403641
    Diff size: 496
    Launchpad bug: https://bugs.launchpad.net/bugs/403641
                   https://bugs.launchpad.net/bugs/403651
    Test command: ./bin/test -vvt "(tales|menu|pillar-views).txt"
    Pre-implementation: beuno
    Target release: 2.2.8

= Add support for an action menu and involvement portlet =

Bug 403641 [base-layout must support a object action menu]
    The 3.0 design allows an object to have an action menu for links
    that affect the object that cannot be represented in the content.
    The examples links are "Change details", "Change password", and
    "Make private".

Bug 403651 [base-layout must support an Involvement menu]
    The 3.0 design has an involvement portlet to encourage users to
    participate.

Martin asked me to remove the 2.0 backward compatibility style hacks
and land it as soon as possible so that the engineers designing pages
see their work appear as the example designs.

== Rules ==

Bug 403641 [base-layout must support a object action menu]
    Reuse the NavigationMenu to present the menu. The nav menu is
    best because it can be used with with context object and views
    (which may be necessary)

Bug 403651 [base-layout must support an Involvement menu]
    Create a view to render the involvement menu for pillars. The
    menu should only list the officially supported applications.

== QA ==

Bug 403641 [base-layout must support a object action menu]
    Nothing uses this on edge/staging. It works with the product-page
    branch. We can get feedback from engineers who want to use this
    now.

Bug 403651 [base-layout must support an Involvement menu]
    Nothing uses this on edge/staging. It works with the product-page
    branch. We can get feedback from engineers who want to use this
    now.

As for the style changes, the search page will have smaller fonts.
Developers will stop complaining that the fonts looks to big and the
space is wrong.

== Lint ==

Checking for conflicts. and issues in doctests and templates.
Running jslint, xmllint, pyflakes, and pylint.
Using normal rules.

Linting changed files:
  lib/canonical/launchpad/browser/launchpad.py
  lib/canonical/launchpad/doc/tales.txt
  lib/canonical/launchpad/icing/style-3-0.css
  lib/canonical/launchpad/images/answers-arrow-right.png
  lib/canonical/launchpad/images/bg-project-downloads.png
  lib/canonical/launchpad/images/blueprints-arrow-right.png
  lib/canonical/launchpad/images/bugs-arrow-right.png
  lib/canonical/launchpad/images/code-arrow-right.png
  lib/canonical/launchpad/images/link-grey-arrow.png
  lib/canonical/launchpad/images/translations-arrow-right.png
  lib/canonical/launchpad/webapp/tales.py
  lib/lp/app/browser/configure.zcml
  lib/lp/app/browser/tests/menu.txt
  lib/lp/app/templates/navigationmenu-actions.pt
  lib/lp/registry/browser/configure.zcml
  lib/lp/registry/browser/pillar.py
  lib/lp/registry/browser/tests/pillar-views.txt
  lib/lp/registry/templates/pillar-involvement-portlet.pt

== Test ==

    * lib/canonical/launchpad/doc/tales.txt
      * Added support for the releasefile urls that are needed by the
        forthcoming download portlet.
    * lib/lp/app/browser/tests/menu.txt
      * Added a test to verify the action portlet renders the expected
        content.
    * lib/lp/registry/browser/tests/pillar-views.txt
      * Added a test to verify that the involvement portlet renders links
        to official applications.

== Implementation ==

    * lib/canonical/launchpad/icing/style-3-0.css
    * lib/canonical/launchpad/images/answers-arrow-right.png
    * lib/canonical/launchpad/images/bg-project-downloads.png
    * lib/canonical/launchpad/images/blueprints-arrow-right.png
    * lib/canonical/launchpad/images/bugs-arrow-right.png
    * lib/canonical/launchpad/images/code-arrow-right.png
    * lib/canonical/launchpad/images/link-grey-arrow.png
    * lib/canonical/launchpad/images/translations-arrow-right.png
      * Removed the backward-compatible 2.0 isms.
      * Added the final art for the CSS. The art we were first given were
        GIFS.
      * I re-implement the .downloads .released CSS rule because the text
        length is variable and will not work with background image we
        were given.

    * lib/canonical/launchpad/browser/launchpad.py
      * Added the enabled_links property to the NavigationMenuTabView so that
        the template not need to filter the links itself.
    * lib/canonical/launchpad/webapp/tales.py
      * Added the fmt:url rules for releasefiles
    * lib/lp/app/browser/configure.zcml
      * Registered the +global-actions url for the actions menu.
    * lib/lp/app/templates/navigationmenu-actions.pt
      * Added the template to render the actions menu
    * lib/lp/registry/browser/configure.zcml
      * Registered the pillar view
    * lib/lp/registry/browser/pillar.py
      * Create a pillar view.
    * lib/lp/registry/templates/pillar-involvement-portlet.pt
      * Added a template to render the involvement menu.

« Back to merge proposal