The PanelDefinition object is the basic content unit for the application. The PanelDefinition defines a rectangular region of the page with related content referenced by an included JSP content template.

The attributes of the PanelDefinition object, in addition to the attributes inherited from the FrameworkObject base class, are:

Attribute

Description

panelId

Logical identifier that other objects use to refer to this object, which is exposed to other objects and to the code. It is the primary external way to refer to the object.

contentUrl

Use the templateIds mapping on the FrameworkObject to assign arbitrary JSP pages to framework objects. Identifies the contents of the panel.

otherContext

Contains a static context link or a context/URL link.

onload

Contains the optional name of a JavaScript function to evaluate when the panel is loaded by the framework.

onunload

Contains the optional name of a JavaScript function to evaluate when the panel is unloaded by the framework.

helpKey

Provides a string for inline help accessible via a help icon located on the panel title bar.

titleKey

Resource bundle key for the label that is associated with the panel.

visibleYn

Determines whether an enabled tab is rendered or hidden.

showTitleYn

Indicates whether the panel has a visible title bar or only a content area with no title bar.

panelOpenYn

Indicates whether the entire panel is currently closed or minimized with a placeholder displayed in the available panels.

allowPanelToggleYn

Indicates whether the entire panel, including title bar, can be closed or minimized and represented by a placeholder in the available panels.

allowContentToggleYn

Indicates whether the panel contents can be closed or minimized, leaving only the panel title bar visible.

tabHolderYn

Determines whether the panel can hold other panels in a tabbed format.

alwaysTabbedYn

Indicates whether the panel is forced to be tabbed in a row of panel tabs on a tab-holder panel with no ability to be removed from the tabbed position.

tabbedYn

Indicates whether the panel is currently a tabbed in a row of panel tabs on a tab-holder panel.

allowTabbingYn

Indicates whether the panel is allowed to be tabbed in a row of panel tabs on a tab-holder panel.

currentPanelId

Holds the identifier of the currently visible panel based on the selected tab for tab-holder panels.

panelItemCount

Provides a way for the panel label to contain a number representing the number of items displayed in the panel. For example, a panel that displays 17 search results in its content area is able to display My Search Results (17) in the title bar.

accessRight

The access right that defines the security user role required to view the panel.

tabbedPanelIds

Lists the identifiers of the other panels that are tabbed with the current tab-holder panel. The tabs are rendered in the order that the corresponding panels identifiers occur in the list.

The extension method of the PanelDefinitionHome interface is:

Returns

Method

Description

PanelDefinition

findByUserSegment
  AndPanelId

Returns the PanelDefinition with the specified identifier based on the segment of the current user. If the current user does not have a segment or no object is found for the current segment, a default object is returned based on panel identifier only. The appId indicates the framework application in which to look for the object.

Arguments: String appId, String panelId

The following is an example of a PanelDefinition:

<panel-definition>
  <id>SsContactUsPanel</id>
  <app-id>selfService</app-id>
  <enabled-yn>true</enabled-yn>
  <name-key>contactUsPanel.name</name-key>
  <object-type>PanelDefinition</object-type>
  <description-key>contactUsPanel.description</description-key>
  <image-url>/image/default.gif</image-url>
  <panel-id>contactUsPanel</panel-id>
  <content-url>/panels/contactUsPanel.jsp</content-url>
  <help-key>contactUsPanel.help</help-key>
  <title-key>contactUsPanel.label</title-key>
  <visible-yn>true</visible-yn>
  <show-title-yn>true</show-title-yn>
  <panel-open-yn>true</panel-open-yn>
  <allow-panel-toggle-yn>false</allow-panel-toggle-yn>
  <available-yn>false</available-yn>
  <content-open-yn>true</content-open-yn>
  <allow-content-toggle-yn>false</allow-content-toggle-yn>
  <tab-holder-yn>false</tab-holder-yn>
  <always-tabbed-yn>false</always-tabbed-yn>
  <tabbed-yn>false</tabbed-yn>
  <allow-tabbing-yn>false</allow-tabbing-yn>
  <allow-slots-yn>false</allow-slots-yn>
  <tab-scroll-index>0</tab-scroll-index>
  <panel-item-count>0</panel-item-count>
  <access-right>TBD</access-right>
</panel-definition>