uPortal3 navigation features Fall’05 developer meeting day 2
uPortal3 Navigation Colliers’ presentation
uPortal3: navigation discussion topics Common preferences portlet Making use of Marks’ administrative channel work What other administrative features can be included? AJAX features Gradual improvements Enhance the base Single-portlet refresh Lazy loading Can do theme transform on the client May look weird Drag-and-drop portlet management
uPortal 3: URL construction and processing Parameter processors Independent, serving specific framework components Protlet, UserLayout, Transformer, persistence controller URL constructors Independent, but can make use of common base syntax provider to have a common style Can be aware of internal states of other components URL decorators automatically invoked constructors used to reflect states of framework components
uPortal 3: URL construction and processing Configuration-specific URL syntax Can be very flexible (i.e. human-writable URLs) May not implement all of the features for different components Can be configured on per-component basis Not packaged – a set of parameter processors and URL constructors that need to be injected/configured within the portal context uP2 syntax support can and will be implemented limiting in a number of cases Example: explicit structure and theme separation
uPortal 3: default URL syntax Encoding navigation state Purpose: bookmarking, URL chopping Example: http://site/portal/myTab/mySection/ Implementation: decorator that’s aware of the structure transform preferences and their meaning parameter processor that analyzes secondary path Generalization: stylesheet description declares navigation params/attributes (hard to do as nice of a syntax)
uPortal 3: default URL syntax Encoding navigation state: problems What is “myTab” ? Is that a tab name (English only) or a tab id ? How to separate request path element processing portal context is currently resolved by the first path element Is there a nice syntax for other nav. state variables ?
uPortal 3: default URL syntax Returning to a bookmark: authentication Personal tab Need to know what user the tab belongs to http://portal/~user/myTab/mySection Need to authenticate before content can be shown Guest-accessible portlet (bookmark by fname) Can be shown initially without additional authentication User can authenticate later
uPortal3: URL generation in stylesheets Framework stylesheets Generate a lot of URLs, using different constructors Portlet stylesheets Current approach: use Xalan extensions see Confluence page