VersionThreeDotO/UI/Conversion

Not logged in - Log In / Register

Revision 2 as of 2009-08-03 16:06:31

Clear message

UI 3.0 implementation

A primer about the 3.0 UI and how we go about doing it.

There are some bugs that must be fixed before main_side layouts can be landed:

[[https://launchpad.net/bugs/403641 | 403641 base-layout must support a Set menu]]
There may be three modification links that are global to an object.
[[https://launchpad.net/bugs/403651 | 403651 base-layout must support an Involvement menu]]
There is a static menu to encourage cross application use

We want to minimise the number of developers writing HTML and CSS until there are more HTML examples and CSS rules in place.

Layouts

locationless: A page without tabs, search, or side portlets ::

This is used by non-app pages like errors. Most (maybe all) pages that uses this layout have been converted.

searchless: A page without global search or side portlets ::

This is for pages that implement their own search in the main area. The Launchpad front page, uses this layout. Other pages may want to switch to this layout.

main_only: A page without side portlets ::

This will be the most common layout because modification pages and some listing pages do not have items that qualify for side portlets.

main_side: A page with everything ::

This page is for artefacts that have actions that create notifications, have subscribers, or have notifications that can be placed in the side

Estimate conversion table

Old layout

New layout

5

default(2.0)

main_side

30

applicationhome

main_only

10

pillarindex

main_side

1

search

searchless

256

context/@@main_template/master

main_??

158

onecolumn

main_??

Converting a template to a layout

* Choose the layout

* Mechanical changes

* Design changes

* Implementation changes

* Test changes.

======= 3.0 CSS


Launchpad is using classes for styling, ids are used for testing and scripts. YUI is doing layout, Launchpad is decorating the layout, so many divs will have a yui and a launchpad class.

YUI (layout)

Launchpad (decoration)

There are may css classes we have not written yet because we have not discovered all the kinds of html structures we need to make the layout consistent.

============== Example layout


A common layout will be an intro on top of two columns of content. You can see examples of the four layouts in lib/lp/app/browser/tests/testfiles/

<html

</html>

=========================== Infrastructure improvements


The MenuAPI needs performance fixing. Once we start rendering, link states should never be re-calculated. There should be no cost to using a menu in three templates to render a page.