Sun Java System Portal Server 7.1 Technical Reference

Part IX Desktop Templates

Chapter 69 Overview of Desktop Templates

This chapter contains the following sections:

Introduction

To generate the rendered Desktop user interface (what the industry refers to as the “presentation”), the Sun Java System Portal Server 7.1 software makes use of either JSPs or template files.

Installation Location

The default set of template files are installed in /var/opt/SUNWportal/portals/<portal_id>/desktop/default directory. The developer sample template files are installed in /var/opt/SUNWportal/portals/<portal_id>/desktop/developer_sample and /var/opt/SUNWportal/portals/<portal_id>/desktop/developer_anonymous_sample directories. Files in the /var/opt/SUNWportal/portals/<portal_id>/desktop/developer_anonymous_sample directory are specific to the developer sample Anonymous Desktop.

The Desktop and Template Files

Providers that use template files hardcode their names and the template file names are not configurable in the Display Profile. For Providers that are based on JSP provider, the names of the JSP used by provider can be administratively changed as it is a property of the channel.

Both JSP and Desktop templates serve the purpose of separating business and presentation logic in the Portal Server 7.1. JSP is an accepted standard and is widely employed in many web-based applications. Desktop templates pre-date the emergence of JSP. JSP has many advantages over Desktop templates.

It is highly recommended that new Portal Server 7.1 providers be based on JSP and the Portal Server 7.1 JSPProvider. However, there may be cases where the simplicity of Desktop templates provides an advantage. Desktop templates are fully supported in Portal Server 7.1. Many pieces of the product, such as the communications channels, continue to use them.

File Lookup Scenario

The Portal Server software uses the lookup scenario outlined in this section to find the JSPs it needs. Use this order to decide the final location of your own JSPs.


Example 69–1 Template File Lookup Scenario


            
desktoptype_
            locale/
            channelname/
            clientPath

            desktoptype_
            locale/
            provider/
            clientPath

            desktoptype_
            locale/
            channelname

            desktoptype_
            locale/
            provider

            desktoptype_
            locale/
            clientPath

            desktoptype_
            locale

            desktoptype/
            channelname/
            clientPath

            desktoptype/
            provider/
            clientPath

            desktoptype/
            channelname

            desktoptype/
            provider

            desktoptype/
            clientPath

            desktoptype
default_
            locale/
            channelname/
            clientPath
default_
            locale/
            provider/
            clientPath
default_
            locale/channelname
default_
            locale/
            provider
default_
            locale/
            clientPath
default_
            locale
default/
            channelname/
            clientPath
default/
            provider/
            clientPath
default/
            channelname
default/
            provider
default/
            clientPath
default

            templateroot

If there is no clientPath specified, then the directory search order is as follows:


Example 69–2 Template File Lookup Scenario (no clientPath)


            
desktoptype_
            locale/
            channelname

            desktoptype_
            locale/
            provider

            desktoptype_
            locale

            desktoptype/
            channelname

            desktoptype/
            provider

            desktoptype
default_
            locale/
            channelname
default_
            locale/
            provider
default_
            locale
default/
            channelname
default/
            provider
default

            templateroot

The lookup scenario relies on the following parameters:

desktoptype

For example default (set in the administration console). Note that desktop type is now a comma separated string list and so the look up will be based on the desktop type(s) that are defined in the desktoptype attribute.

locale

Preferred locale is the user’s locale. For example, en_US (set by users through the administration console in the “User” setting)

clientPath

This is an optional file-path containing client-specific templates; for example, html (set through the administration console Client Detection service)

channelname

This is the name of the channel; for example, newSingleContainer (set in the display profile)

provider

This is the provider name; for example, JSPSingleContainerProvider (set in the display profile)

templateroot

This is defined in the desktopconfig.properties file. The root of the search directory (default value of /var/opt/SUNWportal/portals/<portal_id>/desktop/) can be changed by modifying the templateBaseDir property in the desktopconfig.properties file.

Chapter 70 Desktop Templates in the default Directory

This chapter contains the following sections

AddressBookProvider

The following table lists the templates in the html subdirectory of the AddressBookProvider, LotusNotesAddressBookProvider, and MSExchangeAddressBookProvider and includes a brief description of the template file. In this two columned table, the left column contains the template file name and the right column includes a brief description of the corresponding template file.

display-clientURL.template

Used for displaying the “Launch Address Book” link

display-entries.template

Used for formatting the table headers

display-entry.template

Used for formatting the display of the address book entry

display-error.template

Used for displaying error messages

display-summary.template

Used for formatting number of total and unread messages

display.template

Used for overall channel formatting

edit-checkbox.template

Used for creating edit page checkboxes

edit-end.template

Used for creating end of the edit page

edit-link.template

Used for creating application helper edit link

edit-password.template

Used for creating edit page password boxes

edit-select.template

Used for creating edit page select boxes

edit-selectoption.template

Used for creating edit page select box options

edit-start.template

Used for creating the start of the edit page

edit-string.template

Used for creating edit page text boxes

edit.template

Used for creating edit the template

ma-edit-link.template

ma edit link template

ma-edit.template

ma edit template

AppProvider

The template available in the AppProvider subdirectory and its description is:

display.template

Contains the JavaScript code that launches the windows that the HTML applications show up in.

BookmarkProvider

The templates available in the html subdirectory of BookmarkProvider and their description are:

display.template

Contains JavaScript code for the Bookmark provider to open new windows with the URLs typed in and do the correct URL http:// prepending. Also contains a small bit of formatting for the URL entry box.

edit.template

Contains the formatting for the Edit page for the Bookmark provider.

editUrlWrapper.template

Used by the edit page of Bookmark Provider to draw the part where the bookmarks are removed.

editWindowOption.template

Contains the markup for the radio buttons used to select the window option.

urlWrappter.template

Contains markup for each URL shown in display.template.

CalendarProvider

The templates available in the html subdirectory of the CalendarProvider, LotusNotesCalendarProvider, and MSExchangeCalendarProvider and their description are:

display-clientURL.template

Used for displaying the Launch Calendar link.

display-dayView-emptyEventList.template

Used for displaying the message “No events scheduled for today.”

display-dayView-emptyTaskList.template

Used for displaying the message “No tasks are pending for today.”

display-dayView-event.template

Used for formatting events

display-dayView-eventAllDay.template

Used for formatting an all day event

display-dayView-otherTasks.template

Used for formatting other tasks

display-dayView-overdueTasks.template

Used for formatting overdue tasks

display-dayView-task.template

Used for formatting a “normal” task

display-dayView.template

Used for formatting the layout of all tasks and events

display-error.template

Used for displaying error messages

display-monthView-dayOfWeek.template

Used for creating week layout within the month

display-monthView-emptyEventList.template

Used for formatting when there are no events

display-monthView-emptyTaskList.template

Used for formatting when there are no tasks

display-monthView-event.template

Used for formatting an event

display-monthView-eventAllDay.template

Used for formatting an all day event

display-monthView-task.template

Used for formatting a task

display-monthView-weekView.template

Used for formatting the week view with a month

display-monthView.template

Used for generating the entire month layout

display-summary-events.template

Used to show number of events

display-summary-tasks.template

Used to show number of tasks

display-summary.template

Used for formatting number of total and unread messages

display-weekView-currentDayHeader.template

Used for formatting header for week view

display-weekView-emptyEventList.template

Used for formatting an empty event list

display-weekView-emptyTaskList.template

Used for formatting an empty task list

display-weekView-event.template

Used for formatting an event

display-weekView-eventAllDay.template

Used for formatting an all day event

display-weekView-task.template

Used for formatting a task

display-weekView.template

Used for the overall week view

display.template

Used for overall channel formatting

edit-checkbox.template

Used for creating edit page checkboxes

edit-config-options.template

Edit config options template

edit-end.template

Used for creating end of the edit page

edit-link.template

Used for creating application helper edit link

edit-password.template

Used for creating edit page password boxes

edit-select.template

Used for creating edit page select boxes

edit-selectoption.template

Used for creating edit page select box options

edit-separate.template

Edit separate template

edit-start.template

Used for creating the start of the edit page

edit-string.template

Used for creating edit page text boxes

edit.template

Edit template

url.template

Used for creating hyperlinks

error

The templates available in the error subdirectory and their description are:

banner.template

The banner across the top of the Desktop pages.

banner_nocontext.template

Banner non context template

error.template

Error template

error_nocontext.template

Displayed when no context is available.

noneditablechannel.template

Template that will be used when there is an error in desktop when an edit page for a channel which is not editable is accessed. Displayed only when the user attempts to edit a channel which cannot be edited.

noprivilege.template

Template that will be used when there is an error in desktop when a user with no privilege to access the desktop is trying to access the desktop. Displayed when a user who doesn’t have the privilege to see the desktop attempts to access the desktop.

unknownchannel.template

Template that will be used when there is an error in desktop when an undefined channel is being accessed. Displayed when the user is trying to access a channel which is not defined in the system.

LoginProvider

The templates available in the LoginProvider subdirectory and their description are:

display.template

Contains the JavaScript code that launches the login window.

display_AuthLDAP.template

Contains the JavaScript code that launches the LDAP login window.

display_AuthUnix.template

Contains the JavaScript code that launches the UNIX login window.

libertyLogin.template

Library login template.

persistentCookie.template

Partial HTML template for remembering the user’s name and password.

default

The templates available in the default directory and their description are:

AtachCommand.template

Handles reattaching a detached channel.

banner.template

The banner across the top of the Desktop pages

contentLayout.template

Content bar for template displayed on the Desktop before the user selects Content or Layout.

detachCommand.template

Handles detaching a channel.

detachEditCommand.template

Handles link to the Edit page for the detached channel.

detachRemoveCommand.template

Handles closing or removing a detached channel.

editCommand.template

Handles link to the Edit page for this channel.

helpHref.template

Generates the help URL for each of the channels. Displays the help contents in a new window.

inlineError.template

Inline error template.

MaximizeCommand.template

Allows the channel to be displayed in the maximize mode so that the channel occupies the entire Desktop.

menubar.template

HTML for the menubar across the bottom of the Desktop pages.

minimizeCommand.template

Allows the channel to be displayed in the minimize mode so that only the title bar of the channel is displayed and no content of the channel is displayed.

minMaximizeCommand.template

Handles minimizing and maximizing a channel.

normalizeCommand.template

Allows the channel to be displayed in the normal mode so that the channel is displayed in the Desktop, with all other channels in the same table container.

providerCommands.template

Commands available in title bar.

redirect.template

Redirect template.

removeCommand.template

Removes the channel.

bulletColor.js

JavaScript code used to select and display bullet color.

isPageCompletelyLoaded.js

Is page completely loaded.

openURLInParent.js

JavaScript to open a URL in the parent window. Used in popup windows.

pageLoaded.js

Page loaded.

toolbarRollovers.js

JavaScript code use to display selection of Content or Layout by color change.

Chapter 71 Desktop Templates in the Developer Sample Directory

This chapter contains the following sections:

MyFrontPageTemplatePanelContainer

The templates available in the MyFrontPageTemplatePanelContainer directory and their description are:

banner.template

The banner across the top of the Desktop pages.

menubar.template

HTML for the menubar across the bottom of the Desktop pages, including the Edit, Layout, and Content pages, and containing Home, Help and Log Out links.

PredefinedFrontPageTemplatePanelContainerProvider

The templates available in the PredefinedFrontPageTemplatePanelContainerProvider directory and their description are:

banner.template

The banner across the top of the Desktop pages.

bareProviderWrapper.template

Template for each provider wrapper with no titlebar.

contentBarInContent.template

Content bar for template displayed when a user selects Content on any other page’s Content bar.

contentBarInLayout.template

Content bar for template displayed when user selects Layout on any other page’s Content bar.

contentLayout.template

Content bar for template displayed on the Desktop before the user selects Content or Layout.

contentTemplate.template

The HTML template for the Content (Channels) page that displays when a user selects Content.

layout1Template.template

left/thin, right/wide.

layout2Template.template

left/wide, right/thin.

layout3Template.template

left/thin, center/wide, right/thin.

layout4Template.template

left/thin, center/thin, right/thin.

layoutFullBottom.template

Partial HTML template for Layout pages when the user has a full width channel available at the bottom of the layout.

layoutFullTop.template

Partial HTML template for Layout pages when the user has a full width channel available at the top of the layout.

maximizedTemplate.template

Template of a provider when it’s in its maximized state.

menubar.template

HTML for the menubar across the bottom of the Desktop pages, including the Edit, Layout, and Content pages and containing Home, Help and Log Out links.

minimized.template

Template of a provider when it’s in its minimized state - just the title/button bar showing, no content area showing.

optionsTemplate.template

Template for the Options page of the Desktop.

popupMenubar.template

Menubar to be used in popup windows.

popupTemplate.template

Used to show provider/channel content in detached windows. Similar use to providerWrapper.template, but not in a table structure.

providerWrapper.template

Template that all providers and channels use for layout on Desktop. Defines the look of the border of the providers and channels on the screen.

userTemplate.template

The base Desktop layout structure document. Very little in this file, as most of the content of the Desktop is swapped in during processing in the servlets.

arrangeProvider.js

JavaScript code used in the Desktop Layout page.

launchPopup.js

JavaScript code to launch a popup window.

performColumnSubstitution.js

JavaScript code used on the Layout page.

performSubstitution.js

JavaScript code used on the Layout page.

removeProvider.js

JavaScript code used to remove a channel from the Desktop.

selectAll.js

JavaScript code used on the Layout page.

switchColumns.js

JavaScript code used on the Layout page.

PredefinedSamplesTemplatePanelContainerProvider

The templates available in the PredefinedFrontPageTemplatePanelContainerProvider directory and their description are:

banner.template

The banner across the top of the Desktop pages.

bareProviderWrapper.template

Template for each provider wrapper with no titlebar.

contentBarInContent.template

Content bar for template displayed when a user selects Content on any other page’s Content bar.

contentBarInLayout.template

Content bar for template displayed when user selects Layout on any other page’s Content bar.

contentLayout.template

Content bar for template displayed on the Desktop before the user selects Content or Layout.

contentTemplate.template

The HTML template for the Content (Channels) page that displays when a user selects Content.

layout1Template.template

left/thin, right/wide.

layout2Template.template

left/wide, right/thin.

layout3Template.template

left/thin, center/wide, right/thin.

layout4Template.template

left/thin, center/thin, right/thin.

layoutFullBottom.template

Partial HTML template for Layout pages when the user has a full width channel available at the bottom of the layout.

layoutFullTop.template

Partial HTML template for Layout pages when the user has a full width channel available at the top of the layout

maximizedTemplate.template

Template of a provider when it’s in its maximized state.

menubar.template

HTML for the menubar across the bottom of the Desktop pages, including the Edit, Layout, and Content pages, and containing Home, Help and Log Out links.

minimized.template

Template of a provider when it’s in its minimized state - just the title/button bar are displayed and no content area is displayed.

optionsTemplate.template

Template for the Options page of the Desktop.

popupMenubar.template

Menubar to be used in popup windows.

popupTemplate.template

Used to show provider/channel content in detached windows. Similar use to providerWrapper.template, but not in a table structure.

providerWrapper.template

Template that all providers and channels use for layout on Desktop. Defines the look of the border of the providers and channels on the screen.

userTemplate.template

The base Desktop layout structure document. Very little in this file, as most of the content of the Desktop is swapped in during processing in the servlets.

launchPopup.js

JavaScript code to launch a popup window.

performColumnSubstitution.js

JavaScript code used on the Layout page.

performSubstitution.js

JavaScript code used on the Layout page.

removeProvider.js

JavaScript code used to remove a channel from the Desktop.

selectAll.js

JavaScript code used on the Layout page.

switchColumns.js

JavaScript code used on the Layout page.

SamplesTemplatePanelContainer

The templates available in the SamplesTemplatePanelContainer directory and their description are:

banner.template

The banner across the top of the Desktop pages.

menubar.template

HTML for the menubar across the bottom of the Desktop pages, including the Edit, Layout, and Content pages, and containing Home, Help and Log Out links.

ToolsTemplatePanelContainer

The templates available in the ToolsTemplatePanelContainer directory and their description are:

banner.template

The banner across the top of the Desktop pages.

menubar.template

HTML for the menubar across the bottom of the Desktop pages, including the Edit, Layout, and Content pages, and containing Home, Help and Log Out links.

developersample

The templates available in the developersample directory and their description are:

AtachCommand.template

Handles reattaching a detached channel.

MaximizeCommand.template

Allows the channel to be displayed in the maximize mode so that the channel occupies the entire Desktop.

detachEditCommand.template

Handles link to the Edit page for the detached channel.

detachCommand.template

Handles detaching a channel.

detachRemoveCommand.template

Handles closing or removing a detached channel.

editCommand.template

Handles link to the Edit page for the detached channel.

helpHref.template

Generates the help URL for each of the channels. Displays the help contents in a new window.

minimizeCommand.template

Allows the channel to be displayed in the minimize mode so that only the title bar of the channel is displayed and no content of the channel is displayed.

normalizeCommand.template

Allows the channel to be displayed in the normal mode so that the channel is displayed in the Desktop, with all other channels in the same table container.

removeCommand.template

Removes the channel.

Chapter 72 Portal Server : Java Enterprise System Monitoring Framework Integration

This chapter contains the following sections to explain the integration of Portal Server product and Java Enterprise System Monitoring Framework (JESMF):

JESMF

JESMF is a Java Enterprise System (JES) common component that provides a single view of all the elements that compromise the JES stack. JESMF aims to simplify business by providing a single, consistent, qualified (Information relating to each component product is always equivalent. For example, a state of DEGRADED has the same meaning for every component product), relational (all the components in the monitored stack are interrelated) , and actionable (rather than simply regularly polling different monitored components to obtain information about them, it is sent by the component products only when action is required) service-oriented monitoring model for all JES components thereby providing information about the performance and status of the various JES component products in the stack.

JESMF follows a Common Information Model (CIM) - based monitoring model, improves usability, and adds support for existing CP metrics, and SNMP exposure of well known MIBs. It also implements Lockhart based JES Monitoring Console (JESMC) application on top of the infrastructure software that allows users to view monitored data.

JESMC

JES Monitoring Console helps visualizing JES component products monitored data exposed by JESMF. JESMC provides JES end users with a clear view of how their JES stack is performing and to provide them the means to take action appropriately. The data collected by JESMF is made available to such industry standard management applications as HP Open View, Tivoli or Solaris Management Agent.

The JESMC is a Lockhart based GUI. When the Monitoring Console and Lockhart are installed on your system, you can view the console by entering the following URL into the browser:

https://host_name:6789 where the host_name represents the name or IP address of the machine on which Lockhart and JESMF are running. Port number 6789 is the officially registered port reserved for Lockhart.

The Monitoring Console exposes the following through various data views:

The JESMC operates within real-time (given the inherent refresh restrictions of a browser). As a host is added to the scope of the console, installed and running JES component products are automatically discovered. As Component Products are discovered, the monitored objects that represent these products are visualized within the console. When the user refreshes the browser, the current JES installation and associated statistics are reflected in the console.

The Monitoring Console allows the user to set threshold values on any monitored object by creating a Monitoring Rule. An alarm is generated when a threshold value is crossed.

The JESMC is not a management console. No administrative commands, other than creating monitoring rules are possible.

In particular, the Console does not:

The Monitoring Console is composed of two elements:

Users expect JES to deliver an integrated management and monitoring system, which deliver the services they need in a reliable and predictable manner. The JESMF is a major step toward achieving this.

The benefits expected from JESMF architecture are:

For more information JESMF and JESMC, refer the Sun Java Enterprise System 5 Monitoring Guide in http://docs.sun.com.

Common Agent Container

Common agent container is a stand alone Java program that implements a container for Java management applications. Common agent container provides a management infrastructure designed for JMX and JDMK - based management functionality. Common agent container is designed to accept modules that extend an existing JMX or JDMK agent with new managed objects, connectors, or new functionality.

The Portal Server JESMF integration adds a common agent container module for itself.

Portal Server:JESMF Detailed Mapping

This section provides a list of attributes, which are used to map the Portal Server and JESMF.

CMM_InstalledProduct:PortalServer

Table 72–1 CMM_InstalledProduct:PortalServer

Attributes 

Portal Sever : JESMF integration common agent container module is identified as com.sun.cmm.ps module. JESMF uses common agent container module parameters from the deployment descriptor to initialize Portal Server : JESMF integration module. The module MBean ObjectName is of the form, com.sun.cacao:type=ModuleManager, instance=com.sun.cmm.ps with attributes initialized from common agent container deployment descriptor.

An example of Portal Server : JESMF integration common agent container deployment descriptor is listed below. 

<xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE module SYSTEM "urn:sun:n1:cacao:module:dtd:1_1">
<module name="com.sun.cmm.ps"
initial-administrative-state
="UNLOCKED">
	<description>
	PS:JESMF Integration Module
	</description>

	<module-dependencies>
		<instance-dependency dependency-type=
		"STRONG-DEPENDENCY">
			<name>
				com.sun.mfwk
			</name>
		</instance-dependency>
	</module-dependencies>

	<module-class>
			com.sun.mfwk.MfCPmodule
	</module-class>

	<cacao-version-supported>
			1.1
	</cacao-version-supported>

	<heap-requirements-kilobytes>
			100
	</heap-requirements-kilobytes>

		<parameters>
			<parameter>
				<param-name>ProductName</param-name>
				<param-value>Portal Server</param-value>
			</parameter>

					<parameter>
				<param-name>InstalledLocation</param-name>
				<param-value>/opt/SUNWportal</param-value>
			</parameter>

				<parameter>
				<param-name>BuildNumber</param-name>
				<param-value>7.1</param-value>
			</parameter>
   
			<parameter>
				<param-name>PatchID</param-name>
				<param-value>7.1</param-value>
			</parameter>

			<parameter>
				<param-name>RevisionNumber
				</param-name>
				<param-value>7.1</param-value>
			</parameter>

			<parameter>
				<param-name>InstallDate</param-name>
				<param-value>1160635803475
				</param-value>
			</parameter>

			<parameter>
				<param-name>Caption</param-name>
				<param-value>Portal Server
				</param-value>
			</parameter>

			<parameter>
				<param-name>Description</param-name>
				<param-value>Portal Server
				</param-value>
			</parameter>
   
			<parameter>
				<param-name>ProductIdentifyingNumber
				</param-name>
				<param-value>7.1</param-value>
			</parameter>

			<parameter>
				<param-name>ProductVendor
				</param-name>
				<param-value>SMI</param-value>
			</parameter>

			<parameter>
				<param-name>ProductVersion
				</param-name>
				<param-value>7.1</param-value>
			</parameter>
	</parameters>
</module>

Settings 

None 

 

Statistics 

None 

 

States 

None 

 

Logs 

None 

 

Events 

None 

 

Relations 

CMM_RunningApplication AGGREG with

CMM_ApplicationSystem:PortalInstance as parent [1..*]

 

CMM_ApplicationSystem:PortalServerInstance

Table 72–2 CMM_ApplicationSystem:PortalServerInstance

Attributes 

Name=<portalDomain>.<portalID>.

<instanceID>

portalDomain is a String that identifies PortalDomain. Default value is

default.

portalId is a String that represents Portals context URI. Default value is portal1.

instanceId is a String that is typically set as WebContainer instance name, For example, <machineFQDN>-<httpPort>

Settings 

None 

 

Statistics 

None 

 

States 

None 

 

Logs 

None 

 

Events 

None 

 

Relations 

  • CMM_RunningApplication AGGREG with CMM_InstalledProduct:PortalServer as child [1..*]

  • CMM_ApplicationSystemLogicalComponent COMP with CMM_LogicalComponent:Desktop as parent [1]

  • CMM_HostedService COMP with CMM_Service:Desktop as parent [1]

  • CMM_HostedAccessPoint COMP with CMM_ServiceAccessURI:DesktopServiceAccessURI as parent [1]

  • CMM_ResourceOfSystem COMP with CMM_ThreadPool:GetterPool as parent [1]

  • CMM_ResourceOfSystem COMP with CMM_ThreadPool:CallerPool as parent [1]

 

Portal Server:Desktop Detailed Mapping

CMM_LogicalComponent:Desktop

Table 72–3 CMM_LogicalComponent:Desktop

Attributes 

Name=<portalDomain>.<portalID>.

<instanceID>.Desktop

portalDomain, portalId, instanceId values are same as those that constitute CMM_ApplicationSystem:PortalInstance Name attribute.

Settings 

None 

 

Statistics 

None 

 

States 

None 

 

Logs 

None 

 

Events 

None 

 

Relations 

  • CMM_LogicalComponentHierarchy COMP with CMM_LogicalComponent:Provider as parent [1..*]

  • CMM_ServiceLogicalComponent ASSOC with CMM_Service:Desktop as parent [1]

  • CMM_ApplicationSystemLogicalComponent COMP with CMM_LogicalComponent:Desktop as child [1]

 

CMM_Service:Desktop

Table 72–4 CMM_Service:Desktop

Attributes 

Name=<portalDomain>.<portalID>.

<instanceId>.Desktop

portalDomain, portalId, instanceId values are same as those that constitute CMM_ApplicationSystem:PortalInstance Name attribute.

 

Description=Aggregating content from content Providers and presenting it to client 

 

Settings 

None 

 

Statistics 

None 

 

States 

None 

 

Logs 

None 

 

Events 

None 

 

Relations 

  • CMM_ServiceComponent COMP with 7 (sub-)services: CMM_Service:- Content, Edit, Process, Logout, PreLogin, LocalAuth, Exception as parent [1 each]

  • CMM_ServiceResource ASSOC with CMM_ThreadPool:GetterPool as child [1]

  • CMM_ServiceResource ASSOC with CMM_ThreadPool:CallerPool as child [1]

  • CMM_HostedService COMP with CMM_ApplicationSystem:PortalInstance as child [1]

  • CMM_ServiceLogicalComponent ASSOC with CMM_LogicalComponent:Desktop as child [1]

 

CMM_ServiceAccessURI:DesktopServiceAccessURI

Table 72–5 CMM_ServiceAccessURI:DesktopServiceAccessURI

Attributes 

isSecured=false typically.

If HTTP protocol is used to access Desktop service, isSecured=false. If HTTPS protocol is used to access Desktop service, isSecured=true.

Settings 

CMM_ServiceAccessURISetting

 

Statistics 

CMM_ServiceAccessURIStats

Counts number of requests served at PS:Desktop URI with service and resident times.

States 

None 

 

Logs 

None 

 

Events 

None 

 

Relations 

  • CMM_HostedAccessPoint COMP with CMM_ApplicationSystem:PortalInstance as child [1]

 

CMM_LogicalComponent:Provider

Table 72–6 CMM_LogicalComponent:Provider

Attributes 

Name=<fullyQualifiedChannelName>

Fully Qualified Channel Name (FQCN) is typically of the form, name=<channelName>, class=<fullyQualifiedProviderClassName>.

Settings 

None 

 

Statistics 

None 

 

States 

None 

 

Logs 

None 

 

Events 

None 

 

Relations 

  • CMM_ServiceLogicalComponent ASSOC with 3 CMM_Services CMM_Service:- Content, Edit, Process as parent [1 each]

  • CMM_LogicalComponentHierarchy COMP with CMM_LogicalComponent:Desktop as child [1..*]

 

CMM_Service:- Content, Edit, Process, Logout, PreLogin, LocalAuth, Exception

Table 72–7 CMM_Service:- Content, Edit, Process, Logout, PreLogin, LocalAuth, Exception

Attributes 

Name=<portalDomain>.<portalID>.

<instanceId>.Desktop.<Content>

| Edit | Process | Logout |

PreLogin | LocalAuth | Exception>

portalDomain, portalId, instanceId values are same as those that constitute CMM_ApplicationSystem:PortalInstance Name attribute.

 

Description=<Presenting Content View to client | Presenting Edit View to client | Completing Edit processing | ...>

 

Settings 

CMM_PSRollingAvgServiceSetting

 

Statistics 

CMM_PSRollingAvgServiceStats

 

States 

None 

 

Logs 

None 

 

Events 

None 

 

Relations 

  • CMM_ServiceComponent COMP for the 7 (sub-)services: CMM_Service:- Content, Edit, Process, Logout, PreLogin, LocalAuth, Exception as child with CMM_Service:Desktop [1 each]

  • CMM_ServiceServiceDependency ASSOC with CMM_Services: Content, Edit, Process as parent offered by CMM_LogicalComponent:Provider respectively [1 each].

 

CMM_Service:- Content, Edit, Process

Table 72–8 CMM_Service:- Content, Edit, Process

Attributes 

Name=<fullyQualifiedChannelName>

FQCN is typically of the form name=<channelName>, class=<fullyQualifiedProviderClassName>.

 

Description=<Presenting Content View of a channel | Presenting Edit View of a channel | Completing Edit processing of a channel>

 

Settings 

CMM_PSServiceSetting

 

Statistics 

CMM_PSServiceStats

 

States 

None 

 

Logs 

None 

 

Events 

None 

 

Relations 

  • CMM_ServiceLogicalComponent ASSOC of the 3 CMM_Services CMM_Service:- Content, Edit, Process as child to CMM_LogicalComponent:Provider [1 each]

  • CMM_ServiceServiceDependency ASSOC with CMM_Services: Content, Edit, Process as child offered by CMM_LogicalComponent:Desktop respectively [1 each].

 

CMM_ThreadPool:- GetterPool, CallerPool

Table 72–9 CMM_ThreadPool:- GetterPool, CallerPool

Attributes 

Name=<GetterPool | CallerPool>

 
 

Description=<Thread pool to invoke Provider.init() method | Thread pool to invoke Provider.getContent() method>

 

Settings 

CMM_ThreadPoolSetting

MaxThreadPoolSize

MinThreadPoolSize

ThreadPoolId=<PoolClassName>

Max-, Min-ThreadPoolSize are picked up from the /var/opt/SUNWportal/portals/<portalID>/config/desktopconfig.properties file.

PoolClassName identifies if it is a GetterPool or CallerPool. GetterPool threads are used to initialize Portal Server Desktop providers and CallerPool threads are used to run provider's getContent() method.

Statistics 

CMM_ThreadPoolStats

How many threads from the thread pool are present currently. 

States 

None 

 

Logs 

None 

 

Events 

None 

 

Relations 

  • CMM_ServiceResource ASSOC with CMM_Service:Desktop as parent [1 each]

  • CMM_ResourceOfSystem COMP with CMM_ApplicationSystem:PortalInstance as child [1 each]

 

JESMF Extensions for Portal Server

The JESMF extensions for Portal Server product are:

CMM_PSServiceStats

CMM_PSRollingAvgServiceStats extends CMM_ServiceStats with the following two additional metrics:

Table 72–10 CMM_PSRollingAvgServiceStats

RollingAvgServiceTime

Rolling average of ServiceTime property of CMM_ServiceStats.

RollingAvgResidentTime

Rolling average of ResidentTime property of CMM_ServiceStats.

CMM_PSServiceSetting

CMM_PSRollingAvgServiceStats works with CMM_PSRollingAvgServiceSetting. CMM_PSRollingAvgServiceSetting extends CMM_ServiceSetting with the following two additional properties that help managing CMM_PSRollingAvgServiceStats:

Table 72–11 CMM_PSRollingAvgServiceStats

LowerBound

Minimum number of service requests after which rolling average metric comes into effect. Prior to LowerBound number of service requests, rolling average is a simple average. Default value is 100.

UpperBound

Number of service requests whose service or resident time is considered when calculating rolling average. Default value is 1000. 

Installing and Configuring Portal Server:JESMF Integration

In JES 5, the installation and configuration of Portal Server:JESMF integration occurs by default. If you need to upgrade the system to JES 5, then you require to install and configure. This section explains about how you can install and configure Portal Server:JESMF Integration.

PS:JESMF Integration depends on three JES shared components:

These shared components are part of JES 5. JES 4 supported earlier versions such as Jdmk5.1, Cacao1.1, and JESMF1.0. Use these components if you use JES 4. While upgrade, you need to first upgrade the shared components to JES 5 and then enable Portal Server:JESMF Integration.

For upgrade or migration, when Cacao2.0 or JESMF2.0 is not installed, then Portal Server:JESMF Integration should be disabled. This means that no configuration should happen for Portal Server:JESMF Integration.

    These are high level requirements to configure Portal Server:JESMF Integration:

  1. Copy /opt/SUNWportal/template/jesmf/com.sun.cmm.ps.xml to /tmp, and change the following tokens:

    • %ps.product.location%

    • %PRODUCT_VERSION%

    • %ps.install.datetime%

  2. Register JESMF 2.0 module using com.sun.cmm.ps.xml from <baseDir>/template/jesmf/com.sun.cmm.ps.xml. Following tokens should be replaced with correct values at config time in this file:

  3. InstallLocation should be set to install directory of portal. For example, on Solaris with default install location as /opt.

  4. InstalledDate should be set to current system time of configuration. For example, System.currentTimeMillis() value should be dumped as token value.


    Note –

    You need to use “<jesmfInstallDir>/bin/mfwksetup -r <path_to_com.sun.cmm.ps.xml>” to register Portal Server:JESMF common agent container module. This should happen only for the first instance for any portal getting created on this Operating System (OS) node. There is only one Portal Server:JESMF common agent container 2.0 module on one OS node.


  5. Check the web containers configuration to see if this jar (and jdmkrt.jar) is present in the server classpath. If it is not present, add it to web containers server classpath.

  6. Copy desktopmfwk.properties to /var/opt/SUNWportal/portals/<portalid>config/<instanceId> form <baseDir>/template/jesmf/desktopmfwk.properties.

  7. In the desktopmfwk.properties file, replace the %PS_DIR% token with install location. For example, /opt/SUNWportal on Solaris.

The Portal Server:JESMF Integration unconfiguration happens when a portal server instance is deleted from an OS-node. These are high level requirements to unconfigure Portal Server:JESMF Integration:

Enabling or Disabling Portal Server:JESMF Integration

This section explains how to enable or disable Portal Server:JESMF integration.

ProcedureTo Enable Portal Server:JESMF Integration:

  1. Set the com.sun.portal.mfwk.disable property in desktopmfwk.properties to “False”.

  2. Restart Portal Server to make the changes take effect.

ProcedureTo Disable Portal Server:JESMF Integration:

  1. Set the com.sun.portal.mfwk.disable property in desktopmfwk.properties to “True”.

  2. Restart Portal Server to make the changes take effect.