reviewer sinzui = Summary = This branch fixes bug 413158, updating the /people top level page to UI 3.0. == Proposed fix == Update the people-index.pt template and clean up the UI as necessary. == Pre-implementation notes == Curtis and Martin have seen mockups of the page and made comments on the original bug report. Many of these have been addressed but there are still imperfection in the page. In the interest of time boxing, we'll deal with those at a later date. == Implementation details == There are still two known imperfections that I won't fix now. First, the style-3.0.css isn't quite right for the column headers. In style.css, these headings are red and bold, but in style-3.0.css they are only red, though they are also slightly larger. The problem is that the thead styles are reset in style-3.0.css and although I copied the thead styles over, the font-weight does not seem to work. I don't know why. The other imperfection is that there is only one navigation menu, even though it contains a few actions. This is a legitimate case for having two menus, but I have been unable to get two menus working. The single menu approach doesn't look horrible, so I consider this acceptable in the interest of time boxing the work. I have refactored the calculation of whether a batch navigation has multiple pages into the base class, and added a test. Previously, this test was in the branch listing page, but it's of general usefulness and belongs in the base class. The /people/+portlet-about text has been moved inline so this portlet was removed, as was a test that depended on it. I also moved /people/+portlet-stats inline and removed that portlet. I refactored the top-level object menu into a mixin. This menu will be shared with the top-level projects and project-group pages when I update their UI next. I renamed FOAFSearchView to PeopleSearchView since we're not really doing FOAF. lint complained about some duplicate methods in class BranchListingItemsMixin. In fact, there's no way the shadowed (i.e. earlier) methods could possibly be called, so I removed them. I'm about to send the branch through ec2 so we'll see if they broke anything, but I'd be quite surprised if they did. I did some other refactoring and cleanup I found along the way. == Tests == bin/test -vv -t batch_navigation.txt -t people-views.txt == Demo and Q/A == * Visit http://launchpad.dev/people as an admin, a normal user, and not logged in. As an admin you'll get a little extra text in the narrative, and as an anonymous user you'll get a 'Create an account' action link. This was approved by Martin. * As a normal user, visit http://launchpad.dev/people and search for 's' to see the multi-page batch navigation. * As a normal user, visit http://launchpad.dev/people and search for 'test' to see the single-page batch navigation. = Launchpad lint = Checking for conflicts. and issues in doctests and templates. Running jslint, xmllint, pyflakes, and pylint. Using normal rules. Linting changed files: lib/lp/registry/browser/configure.zcml lib/canonical/launchpad/pagetests/basics/notfound-traversals.txt lib/lp/registry/browser/menu.py lib/canonical/launchpad/doc/batch_navigation.txt lib/lp/registry/browser/product.py lib/canonical/launchpad/webapp/batching.py lib/canonical/launchpad/icing/style-3-0.css lib/lp/registry/templates/people-index.pt lib/lp/registry/browser/person.py lib/lp/code/browser/branchlisting.py lib/lp/registry/browser/tests/people-views.txt == Pylint notices == lib/lp/registry/browser/person.py 224: [F0401] Unable to import 'lazr.uri' (No module named uri)