JBoss Community Archive (Read Only)

RHQ 4.9

Perspectives Subsystem Shared Components

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:

  1. reuse (no need to reinvent, shorter delivery time)

  2. 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

images/author/images/icons/emoticons/help_160.gif

(insert versions)

Opera

images/author/images/icons/emoticons/help_160.gif

(insert versions)

Chrome

images/author/images/icons/emoticons/help_160.gif

(insert versions)

Visual Structures(menus/frames/breadcrumbs/etc.)

Visual structures are basically higher level UI components that are shared across Core UI and perspectives.

Menus

Look here for more details on how Perspective Subsystem Menus changes will enable Perspective Developers to consistently change the Core UI to integrate new pages or global navigation modifications.

Frames/IFrames

It is still unknown what restrictions will be placed on shared frame/iframe usage for perspective developers.

Bread Crumbs

Perspective integration points(defined in perspective descriptor) provide the first level of Bread Crumb data for embedded/perspective applications.

Jon-AGENT > RHEL Cron WorkFlow Page 

For more detailed bread crumb integration, Local and Remote SLSB api methods will be exposed to provide more details Bread Crumb statuses.

Core UI Custom Tags

Delivered with the Core UI are several custom tags to render RHQ specific content. Perspective developers would do well to familiarize and utilize the following elements appropriately when generating rich integration content. See(RHQ PROJECT SOURCE ROOT)/modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/tags/* for more details:

  • (onc:*)on.component.taglib.xml

    • onc:tabBar

    • onc:tab

    • onc:dynamicPanelGroup

    • onc:quickNav

    • onc:icon

    • onc:config

    • onc:paginationControl

    • onc:resourceLineage

    • (etc . . . )

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/*

images/author/download/attachments/73139333/images.png

css: (Core UI Host:Port)/css/*

images/author/download/attachments/73139333/css.png

javascript: (Core UI Host:Port)/js/*

images/author/download/attachments/73139333/js.png

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.

Button placement

TODO:
(Insert description and screen shots of where submit/update buttons should live in general)

Tasks Pane

TODO:
(Insert description of )

(Insert Next)

TODO:
(Insert description of )

JBoss.org Content Archive (Read Only), exported from JBoss Community Documentation Editor at 2020-03-13 08:14:44 UTC, last content change 2013-09-18 19:41:00 UTC.