Shared Components for Perspective Developers
The Perspective Subsystem allows Perspective Developers to integrate with the Core UI to update/replace or otherwise modify areas within the shared Core UI to customize the user experience for the targeted users/personae. Within the shared UI it is important that all components, including the Core UI elements, use/present the same look and feel for a consistent user experience for the delivered product.
It is assumed that the product system administrator will be the final arbiter of what a logged in user will see, being the person responsible for what combinations(Core UI + Perspectives) are actually installed/enabled.
This page represents the current thinking and you should expect more concrete examples/images/screenshots to be added later as usage patterns become better established.
Reusable UI Components
All shared components should be used as often and as consistently as possible by the Perspective Developer for:
-
reuse (no need to reinvent, shorter delivery time)
-
consistent utility(i.e. buttons in same place and look the same).
Core UI Internals
Consistent Web page construction across all supported browsers is hard especially in dynamic/AJAX style interfaces. While advancements in CSS and XHTML standards adoption within recent versions of popular browsers is improving, the need to embed browser specific code/segments still exists. The Core UI is built using java based JSF/RichFaces libraries that boast consistent widget and functionality support across the major browser versions. JSF/RichFaces has a matching Java object hierarchy that parallels the html/js/css component constructs used to build AJAX style applications. This means that in some edge cases, embedded into the dynamic page renderings are some of the browser specific snippets that have evolved for consistent usage over the years. As such the most consistent integrations with the least amount of effort are likely to occur for Perspective Developers that use the RichFaces model employed by the core UI. With that being said, consistently rendered content(current/legacy/etc.) for all Core UI web pages still hinges entirely on html/xhtml/javascript/image constructs that can be created with any modern page generation framework(Java/PHP/Ruby/etc.). At any time you can look at a page rendered in the core UI and view source to understand what display elements were used in it's construction. The most important takeaway for Perspective Developers is that all of the apps(Core UI + N perspectives) live within the same browser page and can/will share CSS/images/js when contributing to the rendered product.
Supported/Targetted Browsers
(We need to get signoff on the supported browsers for Core UI + perspectives deliverables. Below is just a starter list assuming cross platform support per browser)
TODO:
Browser
|
Supported
|
Versions
|
Firefox
|
Yes
|
(insert versions)
|
Internet Explorer
|
Yes
|
(insert versions)
|
Safari
|
|
(insert versions)
|
Opera
|
|
(insert versions)
|
Chrome
|
|
(insert versions)
|
Visual Subcomponents(css/js/images/etc.)
The Perspective Developer needs to know how to use the typical look and feel Core UI elements:
(see (RHQ PROJECT SOURCE ROOT)/modules/enterprise/gui/portal-war/src/main/webapp for more details)
images: (Core UI Host:Port)/images/*
css: (Core UI Host:Port)/css/*
javascript: (Core UI Host:Port)/js/*
Shared Component Themes/Examples
There are several paradigms and best practices already in use in the Core UI and related to Task Oriented UI changes that are better explained/demonstrated through the following screen shots. Perspective Developers should use/follow the examples below as it applies to rendering their specific displays.
Tasks Pane
TODO:
(Insert description of )
(Insert Next)
TODO:
(Insert description of )