Sun ONE logo     Previous     Contents     Index     Next     
Sun ONE Portal Server 6.0 Desktop Customization Guide



Chapter 2   Display Profile Provider Definitions


This chapter contains information on the provider display profile definitions that ship with Sun™ ONE Portal Server.

This chapter contains the following sections:

Overview of Display Profile Provider Definitions

The sample portal makes use of the following display profile definitions in the /opt/SUNWps/samples/desktop directory:

  • dp-org.xml - Contains the display profile definitions for channels and containers.

  • dp-providers.xml - Contains the display profile definitions for providers.

  • dp-org-final.xml - Contains the display profile definitions for channels and containers and includes NetMail and NetMail Lite definitions.

  • dp-anon.xml - Contains the display profile definitions for channels and containers for the authlessanonymous user in the default organization.

Providers have required properties, as well as general properties. See Chapter 4 "Display Profile Properties" for more information.

By editing the provider properties in the display profile XML files, you can create customized display profile provider definitions. Any time you modify a display profile document, you need to use the dpadmin command (or the iPlanet™ Directory Server Access Management Edition admin console) to store it in LDAP. For information about using the dpadmin command, see the Sun ONE Portal Server 6.0 Administrator's Guide.

You can also create new providers by using Sun ONE Portal Server SDK. See the Sun ONE Portal Server 6.0 Developer's Guide for more information.

Properties Files

A provider can have more than one properties file, which is actually a Java™ resource bundle file that enables localization of on-screen images or text.

Properties files for content providers are stored in the following directory:

/opt/SUNWps/web-apps/https-pssever/portal/WEB-INF/classes

Customized properties file are stored in the following directory:

/etc/opt/SUNWps/desktop/classes

See the Sun ONE Portal Server 6.0 Developer's Guide for more information on properties files.

Display Profile Definitions for Leaf Building-Block Providers

This section describes the display profile definitions for leaf building-block providers.

Leaf building-block providers generate their own content. They include:

  • URLScraperProvider

  • XMLProvider

  • JSPProvider



    Note Each provider property can also contain the advanced attribute, for example:

    <String name="refreshTime" value="0" advanced="true"/>

    The advanced attribute is a Boolean attribute that can take a value of true or false. The default value is false.

    The advanced attribute "hides" the display profile property from users in the iPlanet Directory Server Access Management Edition console admin console Channel and Container Management link when set to true. (However, it does not hide the property when using the Edit XML or Download XML links.)



URLScraperProvider

URLScraperProvider takes a URL, opens a connection to the URL, and reads the contents into a buffer. The contents are then sent to the Desktop servlet, which displays it. URLScraperProvider uses the Rewriter to construct the URL information and an XML file to describe how to display it. See the Sun ONE Portal Server 6.0 Administrator's Guide for more information on the Rewriter.

Code Example 2-1 shows the display profile definition for URLScraperProvider.



Code Example 2-1    Display Profile Definition for URLScraperProvider 
<Provider name="URLScraperProvider" class="com.sun.portal.providers.urlscraper.URLScraperProvider">
  <Properties>
    <String name="title" value="UrlScraper Channel"/>
    <String name="description" value="This is a test for urlscraper"/>
    <Boolean name="isEditable" value="false" advanced="true"/>
    <String name="url" value="/desktop/ipinfo.html"/>
    <String name="urlScraperRulesetID" value="default_ruleset"/>
    <String name="width" value="thick" advanced="true"/>
    <String name="refreshTime" value="0"advanced="true"/>
    <String name="helpURL" value="desktop/urlscrpr.htm" advanced="true"/>
    <String name="fontFace1" value="Sans-serif"/>
    <String name="productName" value="Sun ONE Portal Server"/>
    <Boolean name="cookiesToForwardAll" value="true"/>
    <String name="inputEncoding" value="iso-8859-1"/>
    <Collection name="cookiesToForwardList">
    </Collection>
    <Integer name="timeout" value="100"/>
  </Properties>
</Provider>

Table 2-1 lists the properties specific to URLScraperProvider. This two column table lists the properties in the first column and a brief description in the second column.


Table 2-1    URLScraperProvider Specific Properties  

Property

Description

String name="url"  

Specifies the URL to be scraped. The default value is /desktop/ipinfo.html.  

String name="urlScraperRulesetID"  

Specifies the ID of the ruleset to be used by the Rewriter for rewriting content.  

Boolean name="cookiesToForwardAll"  

Specifies whether to forward cookies.  

String name="inputEncoding"  

Specifies the input encoding to be used by URLScraperProvider to encode the scraped content.  

Collection name="cookiesToForwardList"  

Specifies the list of cookies to be forwarded by URLScraperProvider if cookiesToForwardAll is set to false.  

Integer name="timeout"  

Specifies the timeout for which the provider should wait to fetch content before displaying the timed out message.  

The isEditable property for URLScraperProvider cannot be turned on (set to true) as this channel is not editable. There are no getEdit() and processEdit() methods defined for this provider. If you want edit functionality for URLScraperProvider, define another provider that extends URLScraperProvider. In so doing, you would need to implement the getEdit()and processEdit() methods, and also define the editType property. See "Display Profile Provider Required Properties" for more information on the editType property.

See "URL Scraper Channel" for an example of a channel that uses URLScraperProvider.

XMLProvider

XMLProvider transforms an XML document into HTML using an XSLT (XML Style Sheet Language) file. You must create the appropriate XSLT file to match the XML document type. XMLProvider is an extension of URLScraperProvider. This provider uses the JAXP 1.1 JAR files that come with Sun™ ONE Web Server 6.0 SP1.



Note This guide does not discuss XML and XSL technologies. See http://www.w3.org/TR/xslt for more information.



Code Example 2-2 shows the display profile definition for XMLProvider.



Code Example 2-2    Display Profile Definition for XMLProvider 
<Provider name="XMLProvider" class="com.sun.portal.providers.xml.XMLProvider">
  <Properties>
    <String name="title" value="*** XML Provider ***"/>
    <String name="description" value="*** DESCRIPTION ***"/
    <String name="width" value="thick"/>
    <String name="refreshTime" value="0" advanced="true"/>
    <Boolean name="isEditable" value="false" advanced="true"/>
    <String name="helpURL" value="desktop/xmlchann.htm" advanced="true"/>>
    <String name="fontFace1" value="Sans-serif"/>
    <String name="productName" value="Sun ONE Portal Server"/>
    <String name="url" value="file:///etc/opt/SUNWps/desktop/default/XMLProvider/getQuotes.xml"/>
    <String name="xslFileName" value="html_stockquote.xsl"/>
    <Integer name="timeout" value="100"/>
    <String name="inputEncoding" value="iso-8859-1"/>
    <String name="urlScraperRulesetID" value="default_ruleset"/>
    <Boolean name="cookiesToForwardAll" value="true"/>
    <Collection name="cookiesToForwardList">
    </Collection>
  </Properties>
</Provider>

Table 2-2 lists the properties specific to XMLProvider. This two column table lists the properties in the first column and a brief description in the second column.


Table 2-2    XMLProvider Specific Properties  

Property

Description

String name="url"  

Specifies the URL that XMLProvider is to transform.  

String name="xslFileName"  

Specifies the path to the local file to be used as the XSL style sheet.

The provider code tries to pick up the XSL file either from the XML channel directory (that is, /etc/opt/SUNWps/desktop/default/SampleXML), or if not specified here, from the XML provider directory (/etc/opt/SUNWips/desktop/default/XMLProvider/xml).  

String name="urlScraperRulesetID"  

Specifies the ID of the ruleset to be used by the Rewriter for rewriting content.  

Boolean name="cookiesToForwardAll"  

Specifies whether to forward cookies.  

String name="inputEncoding"  

Specifies the input encoding to be used by XMLProvider to encode the scraped content.  

Collection name="cookiesToForwardList"  

Specifies the list of cookies to be forwarded by URLScraperProvider if cookiesToForwardAll is set to false.  

Integer name="timeout"  

Specifies the timeout for which the provider should wait to fetch content before displaying the timed out message.  

The isEditable property for XMLProvider cannot be turned on (set to true) as this channel is not editable. There are no getEdit() and processEdit() methods defined for this provider. If you want edit functionality for XMLProvider, define another provider that extends XMLProvider. In so doing, you would need to implement the getEdit()and processEdit() methods, and also define the editType property. See "Display Profile Provider Required Properties" for more information on the editType property.

See "XML Channel" for an example of a channel that uses XMLProvider.

Rich Site Summary (RSS) Channel

There is no separate RSS provider. Instead, the Sample RSS channel is a channel of XMLProvider. It is supports RSS version 0.91, which is XML compliant and uses an XSLT (style sheet) file to transform the RSS XML file into HTML. By using different XSL files the same output can be changed and presented differently for different channels.

See "RSS Channel" for more information.

JSPProvider

JSPProvider uses JavaServer Pages™ (JSP™). JSPProvider obtains content from one or more JSP files. A JSP file can be a static document (HTML only) or a standard JSP file with HTML and Java code. A JSP can include other JSP files. However, only the topmost JSP can be configured through the display profile. The topmost JSP files are defined through the contentPage, editPage, and processPage properties. See the Sun ONE Portal Server 6.0 Developer's Guide for more information on how JSPProvider uses these JSPs.

If you need to make other customizations, you do so in the JSP files themselves.

Code Example 2-3 shows the display profile definition for JSPProvider.



Code Example 2-3    Display Profile Definition for JSPProvider 
<Provider name="JSPProvider" class="com.sun.portal.providers.jsp.JSPProvider">
  <Properties>
    <String name="title" value="*** JSP Provider ***"/>
    <String name="description" value="*** DESCRIPTION ***"/>
    <String name="refreshTime" value="0" advanced="true"/>
    <String name="helpURL" value="desktop/jspchann.htm" advanced="true"/>
    <String name="fontFace1" value="Sans-serif"/>
    <String name="productName" value="Sun ONE Portal Server"/>
    <String name="width" value="thick"/>
    <String name="contentPage" value="samplecontent.jsp"/>
    <String name="editPage" value="sampleedit.jsp"/>
    <String name="processPage" value="sampledoedit.jsp"/>
    <Boolean name="showExceptions" value="false"/>
    <String name="editType" value="edit_subset" advanced="true"/>
    <Boolean name="isEditable" value="false" advanced="true"/>
  </Properties>
</Provider>

Table 2-3 lists the properties specific to JSPProvider. This two column table lists the properties in the first column and a brief description in the second column.


Table 2-3    JSPProvider Specific Properties  

Property

Description

String name="contentPage"  

Specifies the JSP that is used to generate the channel content (by using the getContent method).  

String name="editPage"  

Specifies the JSP that is used to generate the Edit page content (by using the getEdit method).  

String name="processPage"  

Specifies the JSP that is used to process the results of an Edit page (by using the processEdit method).  

Boolean name="showExceptions"  

If true, makes JSPProvider show exceptions generated while processing the JSP as the channel output for the getContent and getEdit methods. This can be useful for developing and troubleshooting your portal.  

See "JSP Channel" for an example of a channel that uses JSPProvider.

Display Profile Definitions for Container Building-Block Providers

Container building-block providers enable you to aggregate channels inside the Desktop. The container building-block providers are building blocks in a sense since you can also customize them or use them differently by changing the container properties. They include:

See the Javadocs for more information on these containers.

JSPTableContainerProvider

JSPTableContainerProvider is an extension of JSPProvider. This JSP table provider displays the content channels in a table.

Code Example 2-4 shows the display profile definition for JSPTableContainerProvider.



Code Example 2-4    Display Profile Definition for JSPTableContainerProvider 
<Provider name="JSPTableContainerProvider" class="com.sun.portal.providers.containers.jsp.table.JSPTableContainerProvider ">
  <Properties>
    <String name="contentPage" value="table.jsp"/>
    <Integer name="timeout" value ="60"/>
    <Integer name="layout" value="1"/>
    <Boolean name="showExceptions" value="false"/>
    <Boolean name="parallelChannelsInit" value="false"/>
    <String name="title" value="*** Table Container Provider ***"/>
    <String name="description" value="*** DESCRIPTION ***"/>
    <String name="refreshTime" value="" advanced="true"/>
    <String name="width" value="thin"/>
    <String name="fontFace1" value="Sans-serif"/>
    <String name="Desktop-fontFace1" value="Sans-serif"/>
    <String name="productName" value="Sun ONE Portal Server"/>
    <String name="presetThemeChannel" value="JSPPresetThemeContainer" advanced="true"/>
    <String name="customThemeChannel" value="JSPCustomThemeContainer" advanced="true"/>
    <String name="parentTabContainer" value="FrameTabContainer" advanced="true"/>
    <Boolean name="refreshParentContainerOnly" value="false" advanced="true"/>
    <Boolean name="isEditable" value="true" advanced="true"/>
    <String name="editType" value="edit_complete" advanced="true"/>
    <String name="editContainerName" value="JSPEditContainer" advanced="true"/>
    <Integer name="thin_popup_height" value="200"/>
    <Integer name="thin_popup_width" value="500"/>
    <Integer name="thick_popup_height" value="300"/>
    <Integer name="thick_popup_width" value="600"/>
    <Integer name="fullwidth_popup_height" value="500"/>
    <Integer name="fullwidth_popup_width" value="600"/>
    <Collection name="categories">
    <String value="Personal Channels"/>
    <String value="Sample Channels"/>
    <String value="News Channels"/>
    </Collection>
    <Collection name="Personal Channels">
    <String value="UserInfo"/>
    <String value="MailCheck"/>
    <String value="Bookmark"/>
    <String value="App"/>
    </Collection>
    <Collection name="Sample Channels">
    <String value="SampleSimpleWebService"/>
    <String value="SampleJSP"/>
    <String value="SampleXML"/>
    <String value="SampleURLScraper"/>
    </Collection>
    <Collection name="News Channels">
    <String value="SampleRSS"/>
    <String value="Notes"/>
    <String value="Search"/>
    </Collection>
    <Collection name="Search Channels">
    <String value="Search"/>
    </Collection>
    <Boolean name="defaultChannelIsMinimizable" value="true"/>
    <Boolean name="defaultChannelIsMinimized" value="false" advanced="true"/>
    <Boolean name="defaultChannelIsDetached" value="false" advanced="true"/>
    <Boolean name="defaultChannelIsDetachable" value="true"/>
    <Boolean name="defaultChannelIsRemovable" value="true"/>
    <Boolean name="defaultChannelHasFrame" value="true" advanced="true"/>
    <Boolean name="defaultChannelIsMovable" value="true"/>
    <Boolean name="defaultBorderlessChannel" value="false" advanced="true"/>
    <String name="defaultChannelColumn" value="1" advanced="true"/>
    <String name="defaultChannelRow" value="1"advanced="true"/>
    <Collection name="channelsIsMinimized" advanced="true"/>
    <Collection name="channelsIsDetached" advanced="true"/>
    <Collection name="channelsHasFrame" advanced="true"/>
    <Collection name="channelsIsMinimizable"/>
    <Collection name="channelsRow" advanced="true"/>
    <Collection name="channelsColumn" advanced="true"/>
    <Collection name="channelsIsMovable"/>
    <Collection name="channelsIsDetachable"/>
    <Collection name="channelsIsRemovable"/>
    <Collection name="borderlessChannels"/>
  </Properties>
</Provider>

JSPTabContainerProvider

JSPTabContainerProvider is an extension of JSPProvider. This tab container provider displays a channel that is made up of a number of tabs with titles on them. JSPTabContainerProvider uses JSPTableContainer to lay out content for each tab.

Code Example 2-5 shows the display profile definition for JSPTabContainerProvider.



Code Example 2-5    Display Profile Definition for JSPTabContainerProvider  
<Provider name="JSPTabContainerProvider" class="com.sun.portal.providers.containers.jsp.tab.JSPTabContainerProvider">
  <Properties>
    <String name="contentPage" value="tab.jsp"/>
    <Boolean name="showExceptions" value="false"/>
    <String name="title" value="*** Tab Container Provider ***"/>
    <String name="description" value="*** DESCRIPTION ***"/>
    <String name="refreshTime" value="0"/>
    <String name="width" value="thin" advanced="true"/>
    <String name="fontFace1" value="Sans-serif"/>
    <String name="productName" value="Sun ONE Portal Server"/>
    <String name="presetThemeChannel" value="JSPPresetThemeChannel" advanced="true"/>
    <String name="customThemeChannel" value="JSPCustomThemeChannel" advanced="true"/>
    <Boolean name="isEditable" value="true" advanced="true"/>
    <String name="editType" value="edit_complete" advanced="true"/>
    <String name="editContainerName" value="JSPEditChannel" advanced="true"/>
    <Integer name="thin_popup_height" value="200"/>
    <Integer name="thin_popup_width" value="500"/>
    <Integer name="thick_popup_height" value="300"/>
    <Integer name="thick_popup_width" value="600"/>
    <Integer name="fullwidth_popup_height" value="500"/>
    <Integer name="fullwidth_popup_width" value="600"/>
    <Boolean name="defaultChannelIsMinimizable" value="true"/>
    <Boolean name="defaultChannelIsMinimized" value="false" advanced="true"/>
    <Boolean name="defaultChannelIsDetached" value="false" advanced="true"/>
    <Boolean name="defaultChannelIsDetachable" value="true"/>
    <Boolean name="defaultChannelIsRemovable" value="true">
    <Boolean name="defaultChannelHasFrame" value="true" advanced="true"/>
    <Boolean name="defaultChannelIsMovable" value="true"/>
     <Boolean name="defaultBorderlessChannel" value="false" advanced="true/>
    <String name="defaultChannelColumn" value="1" advanced="true"/>
    <String name="defaultChannelRow" value="1" advanced="true"/>
    <Collection name="channelsIsMinimized" advanced="true"/>
    <Collection name="channelsIsDetached" advanced="true"/>
    <Collection name="channelsHasFrame"/ advanced="true">
    <Collection name="channelsIsMinimizable"/>
    <Collection name="channelsRow" advanced="true"/>
    <Collection name="channelsColumn" advanced="true"/>
    <Collection name="channelsIsMovable"/>
    <Collection name="channelsIsDetachable"/>
    <Collection name="channelsIsRemovable"/>
    <Collection name="borderlessChannels"/>
  </Properties>
</Provider>

JSPSingleContainerProvider

JSPSingleContainerProvider is an extension of the JSP container provider. The single container provider displays one channel in it. Code Example 2-6 shows the display profile definition for JSPSingleContainerProvider.



Code Example 2-6    Display Profile Definition for JSPSingleContainerProvider 
<Provider name="JSPSingleContainerProvider" class="com.sun.portal.providers.containers.jsp.single.JSPSingleContainerProvid er">
  <Properties>
    <String name="contentPage" value="single.jsp"/>
    <Boolean name="showExceptions" value="false"/>
    <String name="title" value="*** Single Container Provider ***"/>
    <String name="description" value="*** DESCRIPTION ***"/>
    <String name="refreshTime" value="0" advanced="true"/>
    <String name="width" value="thin" advanced="true"/>
    <String name="fontFace1" value="Sans-serif"/>
    <String name="productName" value="Sun ONE Portal Server"/>
    <Boolean name="isEditable" value="true" advanced="true"/>
    <String name="editType" value="" advanced="true"/>
    <String name="editContainerName" value="JSPEditChannel" advanced="true"/>
    <String name="presetThemeChannel" value="JSPPresetThemeChannel" advanced="true"/>
    <String name="customThemeChannel" value="JSPCustomThemeChannel" advanced="true"/>
    <Integer name="thin_popup_height" value="200"/>
    <Integer name="thin_popup_width" value="500"/>
    <Integer name="thick_popup_height" value="300"/>
    <Integer name="thick_popup_width" value="600"/>
    <Integer name="fullwidth_popup_height" value="500"/>
    <Integer name="fullwidth_popup_width" value="600"/>
    <Boolean name="defaultChannelIsMinimizable" value="true" advanced="true"/>
    <Boolean name="defaultChannelIsMinimized" value="false" advanced="true"/>
    <Boolean name="defaultChannelIsDetached" value="false" advanced="true"/>
    <Boolean name="defaultChannelIsDetachable" value="true"/>
    <Boolean name="defaultChannelIsRemovable" value="true"/>
    <Boolean name="defaultChannelHasFrame" value="true" advanced="true"/>
    <Boolean name="defaultChannelIsMovable" value="true"/>
    <Boolean name="defaultBorderlessChannel" value="false" advanced="true"/>
    <String name="defaultChannelColumn" value="1" advanced="true"/>
    <String name="defaultChannelRow" value="1" advanced="true"/>
    <Collection name="channelsIsMinimized" advanced="true"/>
    <Collection name="channelsIsDetached" advanced="true"/>
    <Collection name="channelsHasFrame" advanced="true"/>
    <Collection name="channelsIsMinimizable"/>
    <Collection name="channelsHasFrame"/>
    <Collection name="channelsIsMinimizable"/>
    <Collection name="channelsRow" advanced="true"/>
    <Collection name="channelsColumn" advanced="true"/>
    <Collection name="channelsIsMovable"/>
    <Collection name="channelsIsDetachable"/>
    <Collection name="channelsIsRemovable"/>
    <Collection name="borderlessChannels"/>
  </Properties>
</Provider>

TemplateTableContainerProvider

TemplateTableContainerProvider is the template-based table container. This provider displays the content channels in a table. Code Example 2-7 shows the display profile definition for TemplateTableContainerProvider.



Code Example 2-7    Display Profile Definition for TemplateTableContainerProvider  
<Provider name="TemplateTableContainerProvider" class="com.sun.portal.providers.containers.template.table.TemplateTableContain erProvider">
  <Properties>
    <String name="title" value="*** Desktop Front Page ***"/>
    <String name="description" value="*** DESCRIPTION ***"/>
    <Integer name="timeout" value ="60"/>
    <Integer name="layout" value="1"/>
    <String name="refreshTime" value="0"/>
    <String name="width" value="thin"/>
    <String name="fontFace1" value="Sans-serif"/>
    <String name="productName" value="Sun ONE Portal Server"/>
    <Boolean name="isEditable" value="true" advanced="true"/>
    <String name="editType" value="edit_complete" advanced="true"/>
    <String name="editContainerName" value="TemplateEditContainer" advanced="true"/>
    <String name="presetThemeChannel" value="JSPPresetThemeChannel" advanced="true"/>
    <String name="customThemeChannel" value="JSPCustomThemeChannel" advanced="true"/>
    <Boolean name="defaultChannelIsMinimizable" value="true"/>
    <Boolean name="defaultChannelIsMinimized" value="false" advanced="true"/>
    <Boolean name="defaultChannelIsDetached" value="false" advanced="true"/>
    <Boolean name="defaultChannelIsDetachable" value="true"/>
    <Boolean name="defaultChannelIsRemovable" value="true"/>
    <Boolean name="defaultChannelHasFrame" value="true" advanced="true"/>
    <Boolean name="defaultChannelIsMovable" value="true"/>
    <Boolean name="defaultBorderlessChannel" value="false" advanced="true"/>
    <String name="defaultChannelColumn" value="1" advanced="true/>
    <String name="defaultChannelRow" value="1" advanced="true/>
    <Integer name="thin_popup_height" value="200"/>
    <Integer name="thin_popup_width" value="500"/>
    <Integer name="thick_popup_height" value="300"/>
    <Integer name="thick_popup_width" value="600"/>
    <Integer name="fullwidth_popup_height" value="500"/>
    <Integer name="fullwidth_popup_width" value="600"/>
    <Collection name="channelsBackgroundColor"/>
    <Collection name="channelsIsMinimized" advanced="true"/>
    <Collection name="channelsIsDetached" advanced="true"/>
    <Collection name="channelsHasFrame" advanced="true"/>
    <Collection name="channelsIsMinimizable"/>
    <Collection name="channelsRow" advanced="true"/>
    <Collection name="channelsColumn" advanced="true"/>
    <Collection name="channelsIsMovable"/>
    <Collection name="channelsIsDetachable"/>
    <Collection name="channelsIsRemovable"/>
    <Collection name="borderlessChannels"/>
  </Properties>
</Provider>

TemplateTabContainerProvider

TemplateTabContainerProvider is the template-based tab container. TemplateTabContainerProvider contains support for a number of tabs in it. Code Example 2-8 shows the display profile definition for TemplateTabContainerProvider.



Code Example 2-8    Display Profile Definition for TemplateTabContainerProvider  
<Provider name="TemplateTabContainerProvider" class="com.sun.portal.providers.containers.template.tab.TemplateTabContainerPr ovider">
  <Properties>
    <String name="title" value="*** Tabbed Front Page ***"/>
    <String name="description" value="*** DESCRIPTION ***"/>
    <String name="refreshTime" value="" advanced="true"/>
    <String name="width" value="thin" advanced="true"/>
    <String name="fontFace1" value="Sans-serif"/>
    <String name="productName" value="Sun ONE Portal Server"/>
    <Boolean name="isEditable" value="true" advanced="true"/>
    <String name="editType" value="edit_complete" advanced="true"/>
    <String name="editContainerName" value="TemplateEditContainer" advanced="true"/>
    <String name="presetThemeChannel" value="JSPPresetThemeChannel" advanced="true"/>
    <String name="customThemeChannel" value="JSPCustomThemeChannel" advanced="true"/>
    <Boolean name="defaultChannelIsMinimizable" value="true"/>
    <Boolean name="defaultChannelIsMinimized" value="false" advanced="true"/>
    <Boolean name="defaultChannelIsDetached" value="false" advanced="true"/>
    <Boolean name="defaultChannelIsDetachable" value="true"/>
    <Boolean name="defaultChannelIsRemovable" value="true"/>
    <Boolean name="defaultChannelHasFrame" value="true" advanced="true"/>
    <Boolean name="defaultChannelIsMovable" value="true"/>
    <Boolean name="defaultBorderlessChannel" value="false" advanced="true"/>
    <String name="defaultChannelColumn" value="1" advanced="true"/>
    <String name="defaultChannelRow" value="1" advanced="true"/>
    <Integer name="thin_popup_height" value="200"/>
    <Integer name="thin_popup_width" value="500"/>
    <Integer name="thick_popup_height" value="300"/>
    <Integer name="thick_popup_width" value="600"/>
    <Integer name="fullwidth_popup_height" value="500"/>
    <Integer name="fullwidth_popup_width" value="600"/>
    <Collection name="channelsBackgroundColor"/>
    <Collection name="channelsIsMinimized" advanced="true"/>
    <Collection name="channelsIsDetached" advanced="true"/>
    <Collection name="channelsHasFrame" advanced="true"/>
    <Collection name="channelsIsMinimizable"/>
    <Collection name="channelsRow" advanced="true"/>
    <Collection name="channelsColumn" advanced="true"/>
    <Collection name="channelsIsMovable"/>
    <Collection name="channelsIsDetachable"/>
    <Collection name="channelsIsRemovable"/>
    <Collection name="borderlessChannels"/>
  </Properties>
</Provider>

Display Profile Definitions for Internally Used Container Providers

Sun ONE Portal Server uses other container providers internally to perform such tasks as creating new tabs and edit containers. They include:

JSPTabCustomTableContainerProvider

JSPTabCustomTableContainerProvider is used when a new tab is created in the user's JSP tab-based Desktop, and is specified in the makeTabProvider property of JSPTabContainer.



Note The custom table container channels are created "on the fly" when the user wants to make a new tab. If you view the user's display profile after creating a new tab on the Desktop, you will see the newly created container channels.



JSPTabCustomTableContainerProvider is based on the JSP table container provider. Code Example 2-9 shows the display profile definition for JSPTabCustomTableContainerProvider.



Code Example 2-9    Display Profile Definition for JSPTabCustomTableContainerProvider 
<Provider name="JSPTabCustomTableContainerProvider" class="com.sun.portal.providers.containers.jsp.table.JSPTableContainerProvider ">
  <Properties>
    <String name="contentPage" value="tabcustomtable.jsp"/>
    <String name="description" value="Make from Scratch Tab"/>
    <String name="Desktop-fontFace1" value="Sans-serif"/>
    <Integer name="timeout" value ="60"/>
    <Integer name="layout" value="1"/>
    <Boolean name="showExceptions" value="false"/>
    <Boolean name="parallelChannelsInit" value="false"/>
    <Boolean name="defaultChannelIsMinimizable" value="true"/>
    <Boolean name="defaultChannelIsMinimized" value="false"/>
    <Boolean name="defaultChannelIsDetached" value="false"/>
    <Boolean name="defaultChannelIsDetachable" value="true"/>
    <Boolean name="defaultChannelIsRemovable" value="true"/>
    <Boolean name="defaultChannelHasFrame" value="true"/>
    <Boolean name="defaultChannelIsMovable" value="true"/>
    <Boolean name="defaultBorderlessChannel" value="false" advanced="true"/>
    <String name="defaultChannelColumn" value="1"/>
    <String name="defaultChannelRow" value="1"/>
    <Integer name="thin_popup_height" value="200"/>
    <Integer name="thin_popup_width" value="500"/>
    <Integer name="thick_popup_height" value="300"/>
    <Integer name="thick_popup_width" value="600"/>
    <Integer name="fullwidth_popup_height" value="500"/>
    <Integer name="fullwidth_popup_window" value="600"/>
    <String name="title" value="*** Tab Custom Table Container Provider ***"/>
    <String name="refreshTime" value="" advanced="true"/>
    <String name="width" value="thin" advanced="true"/>
    <String name="fontFace1" value="Sans-serif"/>
    <String name="productName" value="Sun ONE Portal Server"/>
    <String name="presetThemeChannel" value="JSPPresetThemeChannel" advanced="true"/>
    <String name="customThemeChannel" value="JSPCustomThemeChannel" advanced="true"/>
    <Boolean name="isEditable" value="true" advanced="true"/>
    <String name="editType" value="edit_complete" advanced="true"/>
    <String name="editContainerName" value="JSPEditContainer" advanced="true"/>
    <Collection name="categories">
      <String value="Personal Channels"/>
      <String value="Sample Channels"/>
      <String value="News Channels"/>
      <String value="Search Channels"/>
    </Collection>
    <Collection name="Personal Channels">
     <String value="UserInfo"/>
      <String value="MailCheck"/>
      <String value="Bookmark"/>
      <String value="App"/>
    </Collection>
    <Collection name="Sample Channels">
      <String value="SampleSimpleWebService"/>
      <String value="SampleJSP"/>
      <String value="SampleXML"/>
      <String value="SampleURLScraper"/>
    </Collection>
    <Collection name="Search Channels">
      <String value="Search"/>
    </Collection>
    <Collection name="channelsIsMinimized" advanced="true"/>
    <Collection name="channelsHasFrame" advanced="true"/>
    <Collection name="channelsColumn" advanced="true"/>
    <Collection name="channelsRow" advanced="true"/>
    <Collection name="channelsIsMinimizable"/>
    <Collection name="channelsIsDetached" advanced="true"/>
    <Collection name="channelsIsDetachable"/>
    <Collection name="channelsIsRemovable"/>
    <Collection name="channelsIsMovable"/>
    <Collection name="borderlessChannels"/>
  </Properties>
</Provider>

JSPFrameCustomTableContainerProvider

JSPFrameCustomTableContainerProvider is used when a new frame is created in the user's JSP frameset-based Desktop, and is specified in the makeTabProvider property.



Note The custom frame channels are created "on the fly" when the user wants to make a new tab. If you view the user's display profile after creating a new tab on the Desktop, you will see the newly created container channels.



JSPFrameCustomTableContainerProvider is based on the table container provider. Code Example 2-10 shows the display profile definition for JSPFrameCustomTableContainerProvider.



Code Example 2-10    Display Profile Definition for JSPFrameCustomTableContainerProvider  
<Provider name="JSPFrameCustomTableContainerProvider" class="com.sun.portal.providers.containers.jsp.table.JSPTableContainerProvider ">
  <Properties>
    <String name="contentPage" value="framecustomtable.jsp"/>
    <String name="description" value="Make from Scratch Page"/>
    <String name="Desktop-fontFace1" value="Sans-serif"/>
    <Integer name="timeout" value ="60"/>
    <Integer name="layout" value="1"/>
    <Boolean name="showExceptions" value="false"/>
    <Boolean name="parallelChannelsInit" value="false"/>
    <Boolean name="defaultChannelIsMinimizable" value="true"/>
    <Boolean name="defaultChannelIsMinimized" value="false" advanced="true"/>
    <Boolean name="defaultChannelIsDetached" value="false" advanced="true"/>
    <Boolean name="defaultChannelIsDetachable" value="true"/>
    <Boolean name="defaultChannelIsRemovable" value="true"/>
    <Boolean name="defaultChannelHasFrame" value="true" advanced="true"/>
    <String name="defaultChannelColumn" value="1"/>
    <String name="defaultChannelRow" value="1"/>
    <Boolean name="defaultBorderlessChannel" value="false" advanced="true"/>
    <Integer name="thin_popup_height" value="200"/>
    <Integer name="thin_popup_width" value="500"/>
    <Integer name="thick_popup_height" value="200"/>
    <Integer name="thick_popup_width" value="600"/>
    <Integer name="fullwidth_popup_height" value="500"/>
    <Integer name="fullwidth_popup_window" value="600"/>
    <String name="title" value="*** frame Custom Table Container Provider ***"/>
    <String name="refreshTime" value="" advanced="true"/>
    <String name="width" value="thin" advanced="true" advanced="true"/>
    <String name="helpURL" value="desktop/fdesktop.htm"/>
    <String name="fontFace1" value="Sans-serif"/>
    <String name="productName" value="Sun ONE Portal Server"/>
    <String name="presetThemeChannel" value="JSPPresetThemeChannel" advanced="true"/>
    <String name="customThemeChannel" value="JSPCustomThemeChannel" advanced="true"/>
    <Boolean name="isEditable" value="true" advanced="true"/>
    <String name="editType" value="edit_complete" advanced="true"/>
    <String name="editContainerName" value="JSPEditContainer"/>
    <String name="parentTabContainer" value="FrameTabContainer" advanced="true"/>
    <Boolean name="refreshParentContainerOnly" value="true" advanced="true"/>
    <Collection name="categories">
      <String value="Personal Channels"/>
      <String value="Sample Channels"/>
      <String value="News Channels"/>
    </Collection>
     <Collection name="Personal Channels">
      <String value="UserInfo"/>
      <String value="MailCheck"/>
      <String value="Bookmark"/>
      <String value="App"/>
    </Collection>
    <Collection name="Sample Channels">
      <String value="SampleSimpleWebService"/>
      <String value="SampleJSP"/>
      <String value="SampleXML"/>
      <String value="SampleURLScraper"/>
    </Collection>
    <Collection name="News Channels">
      <String value="SampleRSS"/>
      <String value="Notes"/>
      <String value="Search"/>
    </Collection>
    <Collection name="channelsIsMinimized" advanced="true"/>
    <Collection name="channelsHasFrame" advanced="true"/>
    <Collection name="channelsColumn" advanced="true"/>
    <Collection name="channelsRow"/>
    <Collection name="channelsIsMinimizable"/>
    <Collection name="channelsIsDetached" advanced="true"/>
    <Collection name="channelsIsDetachable"/>
    <Collection name="channelsIsRemovable"/>
    <Collection name="channelsIsMovable"/>
    <Collection name="borderlessChannels"/>
   </Properties>
</Provider

TemplateEditContainerProvider

TemplateEditContainerProvider is used by the template-based containers (TemplateTabContainer and TemplateTableContainer) as their edit provider. If a channel's editType is edit_subset, this provider is used to draw the frame for the Edit page. Code Example 2-11 shows the display profile definition for TemplateEditContainerProvider.



Code Example 2-11    Display Profile Definition for the TemplateEditContainerProvider  
<Provider name="TemplateEditContainerProvider" class="com.sun.portal.providers.containers.template.TemplateEditProvider">
  <Properties>
    <String name="title" value="*** Edit Provider***"/>
    <String name="description" value="*** DESCRIPTION ***"/>
    <Integer name="timeout" value ="60"/>
    <Integer name="layout" value="1"/>
    <String name="refreshTime" value="0" advanced="true"/>
    <Boolean name="isEditable" value="true" advanced="true"/>
    <String name="editType" value="edit_complete" advanced="true"/>
    <String name="width" value="thin" advanced="true"/>
    <String name="fontFace1" value="Sans-serif"/>
    <String name="productName" value="Sun ONE Portal Server"/>
    <String name="presetThemeChannel" value="JSPPresetThemeChannel" advanced="true"/>
    <String name="customThemeChannel" value="JSPCustomThemeChannel" advanced="true"/>
  </Properties>
</Provider>

TemplateTabCustomTableContainerProvider

TemplateTabCustomTableContainerProvider is used when a new tab is created in the user's template-based tab Desktop. TemplateTabCustomTableContainerProvider is based on the template-based table container provider. Code Example 2-12 shows the display profile definition for TemplateTabCustomTableContainerProvider.



Code Example 2-12    Display Profile Definition for TemplateTabCustomTableContainerProvider 
<Provider name="TemplateTabCustomTableContainerProvider" class="com.sun.portal.providers.containers.template.table.TemplateTableContain erProvider">
  <Properties>
    <Integer name="timeout" value ="60"/>
    <String name="title" value="Front Container"/>
    <String name="refreshTime" value="" advanced="true"/>
    <Integer name="layout" value="1"/>
    <String name="description" value="This is the channel for the front provider"/>
    <String name="width" value="thin" advanced="true"/>
    <String name="fontFace1" value="Sans-serif"/>
    <String name="productName" value="Sun ONE Portal Server"/>
    <Boolean name="isEditable" value="true" advanced="true"/>
    <String name="editType" value="edit_complete" advanced="true"/>
    <String name="editContainerName" value="TemplateEditContainer" advanced="true"/>
    <Boolean name="defaultChannelIsMinimizable" value="true" advanced="true"/>
    <Boolean name="defaultChannelIsMinimized" value="false" advanced="true"/>
    <Boolean name="defaultChannelIsDetached" value="false" advanced="true"/>
    <Boolean name="defaultChannelIsDetachable" value="true" advanced="true"/>
    <Boolean name="defaultChannelIsRemovable" value="true" advanced="true"/>
    <Boolean name="defaultChannelHasFrame" value="true" advanced="true"/>
    <Boolean name="defaultChannelIsMovable" value="true" advanced="true"/>
    <Boolean name="defaultBorderlessChannel" value="false" advanced="true"/>
    <String name="defaultChannelColumn" value="1" advanced="true"/>
    <String name="defaultChannelRow" value="1" advanced="true"/>
    <String name="presetThemeChannel" value="JSPPresetThemeChannel" advanced="true"/>
    <String name="customThemeChannel" value="JSPCustomThemeChannel" advanced="true"/>
    <Integer name="thin_popup_height" value="200"/>
    <Integer name="thin_popup_width" value="500"/>
    <Integer name="thick_popup_height" value="300"/>
    <Integer name="thick_popup_width" value="600"/>
    <Integer name="fullwidth_popup_height" value="500"/>
    <Integer name="fullwidth_popup_width" value="600"/>
    <Collection name="channelsBackgroundColor"/>
    <Collection name="channelsIsMinimized" advanced="true"/>
    <Collection name="channelsHasFrame" advanced="true"/>
    <Collection name="channelsColumn" advanced="true"/>
    <Collection name="channelsRow" advanced="true"/>
    <Collection name="channelsIsMinimizable"/>
    <Collection name="channelsIsDetached" advanced="true"/>
    <Collection name="channelsIsDetachable"/>
    <Collection name="channelsIsRemovable"/>
    <Collection name="channelsIsMovable"/>
    <Collection name="borderlessChannels"/>
  </Properties>
</Provider>

Display Profile Definition for SearchProvider

SearchProvider supplies the search function using the Sun ONE Portal Server Search Engine. SearchProvider is a JSP-based provider. The resultant channel has three interfaces:

  • Basic search - Enables users to type keywords in a search box. Document and category matches are then displayed.

  • Advanced search - Enables users to search for documents based on author, title, and URL. Users can also search on the last-modified date of a document. Advanced search is a more complex user interface, and supports customization. See Chapter 7 "Customizing the Search Provider" for more information.

  • Browse - Enables users to browse the category tree and search within categories.

Search results are displayed based on the categorySearch and viewHits properties.

SearchProvider

Code Example 2-13 shows the display profile definition for SearchProvider.



Code Example 2-13    Display Profile Definition for SearchProvider 
<Provider name="SearchProvider" class="com.sun.portal.providers.jsp.JSPProvider">
  <Properties>
    <String name="title" value="*** Search Provider ***"/>
    <String name="description" value="*** DESCRIPTION ***"/>
    <String name="refreshTime" value="0" advanced="true"/>
    <String name="helpURL" value="desktop/search.htm" advanced="true"/>
    <String name="fontFace1" value="Sans-serif"/>
    <String name="productName" value="Sun ONE Portal Server"/>
    <String name="contentPage" value="searchContent.jsp"/>
    <String name="editPage" value="searchEdit.jsp"/>
    <String name="processPage" value="searchDoEdit.jsp"/>
    <Boolean name="isEditable" value="true" advanced="true"/>
    <String name="editType" value="edit_subset" advanced="true"/>
    <String name="windowPref" value="all_new"/>
    <String name="title" value="Search and Browse Channel"/>
    <String name="width" value="thick"/>
    <String name="column" value="2"/>
    <Boolean name="showExceptions" value="true"/>
    <String name="searchServer" value=""/>
    <Integer name="viewHits" value="8"/>
    <Boolean name="basicSearchDefault" value="true"/>
    <Boolean name="categorySearch" value="false"/>
    <String name="desc" value="full"/>
    <String name="documentDisplay" value="new"/>
  </Properties>
</Provider>

Table 2-4 lists the properties specific to SearchProvider. This two column table lists the properties in the first column and a brief description in the second column.


Table 2-4    SearchProvider Specific Properties  

Property

Description

String name="contentPage"  

Specifies the JSP that is used to generate the channel content (by using the getContent method).  

String name="editPage"  

Specifies the JSP that is used to generate the Edit page content (by using the getEdit method).  

String name="processPage"  

Specifies the JSP that is used to process the results of an Edit page (by using the processEdit method).  

Boolean name="showExceptions"  

If true, makes SearchProvider show exceptions generated while processing the JSP as the channel output for the getContent and getEdit methods. This can be useful for developing and troubleshooting your portal, and for debugging the Search provider.  

String name="windowPref"  

Specifies how to launch a link. The possible values are:

  • all_new (New window is opened for every link)

  • one_new (All links open on the same new window)

  • same (Desktop window)

 

String name="searchServer"  

Specifies the Search server's URL.  

Integer name="viewHits"  

Specifies the number of hits that should be displayed per page. The maximum desirable number is 25. (The Edit page specifies to choose a number between 1 and 100.)  

Boolean name="basicSearchDefault"  

If true, specifies that the default search mode should be basic. (Users can set this to advanced if desired.)  

Boolean name="categorySearch"  

Specifies the category search to be displayed by default. If set to false, category matches are not displayed.  

String name="desc"  

Specifies how the search results are displayed. Can be Full Description (full), Brief Description (brief), or Title Only (title). Full takes up more channel space in the Desktop. The Full Description displays the document size in kilobytes and the categories that the document belongs to. The Brief Description displays only the title and document description. The default is Brief Description.  

String name="documentDisplay"  

Specifies whether the document result is displayed in a new, separate page (new) each time a search result is clicked, or in the same new page (same). In general, new is not desirable unless you want to open several documents for comparison.  

See "Search Channel" for an example of a channel that uses SearchProvider.

Display Profile Definitions for Content Providers

This section provides definitions and examples for the following content providers that ship with Sun ONE Portal Server.

You cannot extend content providers as their APIs are not public.

BookmarkProvider

BookmarkProvider enables a user to add or remove URLs from a list of bookmarks.

Code Example 2-14 shows the display profile definition for the BookmarkProvider.



Code Example 2-14    Display Profile Definition for BookmarkProvider 
<Provider name="BookmarkProvider" class="com.sun.portal.providers.bookmark.BookmarkProvider">
  <Properties>
    <String name="title" value="Bookmark Provider"/>
    <String name="windowPref" value="all_new"/>
    <String name="width" value="thin" advanced="true"/>
    <Boolean name="isEditable" value="true" advanced="true"/>
    <String name="editType" value="edit_subset" advanced="true"/>
    <String name="description" value="Bookmark Channel Provider Sample Implementation"/>
    <String name="refreshTime" value="0" advanced="true"/>
    <String name="helpURL" value="desktop/bkmark.htm" advanced="true"/>
    <String name="fontFace1" value="Sans-serif"/>
    <String name="productName" value="Sun ONE Portal Server"/>
    <Collection name="targets">
        <String value="Sun ONE home page|http://www.iplanet.com"/>
      </Collection>
  </Properties>
</Provider>

Table 2-5 lists the properties specific to BookmarkProvider. This two column table lists the properties in the first column and a brief description in the second column.


Table 2-5    BookmarkProvider Specific Properties  

Property

Description

String name="windowPref"  

Specifies how to launch a link. The possible values are:

  • all_new (New window is opened for every link)

  • one_new (All links open on the same new window)

  • same (Desktop window)

 

Collection name="targets"  

Specifies the list of bookmarks that is shown in the channel in the following format: BookmarkName|URL

 

See "Bookmark Channel" for an example of a channel that uses BookmarkProvider.

NotesProvider

NotesProvider enables the administrator or users the administrator has authorized to post a note to all users' Desktops in the Notes channel.

Code Example 2-15 shows the display profile definition for NotesProvider.



Code Example 2-15    Display Profile Definition for NotesProvider 
<Provider name="NotesProvider" class="com.sun.portal.providers.notes.NotesProvider">
  <Properties>
    <String name="title" value="Notes Provider"/>
    <String name="width" value="thick"/>
    <String name="editType" value="edit_subset" advanced="true"/>
    <Boolean name="isEditable" value="false" advanced="true"/>
    <String name="description" value="Notes Provider Channel Sample Implementation"/>
    <String name="refreshTime" value="0" advanced="true"/>
    <String name="helpURL" value="desktop/notes.htm" advanced="true"/>
    <String name="fontFace1" value="Sans-serif"/>
    <String name="productName" value="Sun ONE Portal Server"/>
    <String name="location" value="/var/tmp/notes.txt"/>
    <String name="lines" value="2"/>
    <String name="maxLines" value="2"/>
    <Integer name="timeout" value="100"/>
    <String name="timezone" value="PST"/>
  </Properties>
</Provider>

Table 2-6 lists the properties specific to NotesProvider. This two column table lists the properties in the first column and a brief description in the second column.


Table 2-6    NotesProvider Specific Properties  

Property

Description

String name="location"  

Specifies the path to the text file, which contains the notes, in the file system.  

String name="lines"  

Specifies the number of lines of notes that is displayed in the channel.  

String name="maxLines"  

Specifies the maximum number of lines that can be displayed in the channel.  

Integer name="timeout"  

Specifies the time zone of the time stamp at which the notes were logged, either as an abbreviation such as PST, a full name such as America/Los_Angeles, or a custom ID such as GMT-8:00. Support of abbreviations is for JDK™ 1.1.x compatibility only and full names should be used.  

Notes are stored and read in a text file in the following format:

userid | date | message

where | is the delimiter and date is long value that denotes the time elapsed in milliseconds since January 1, 1970.

Following is a sample notes file.


User1|1007159465858|Message to Portal Desktop Team : Lets meet today at 2PM
User2|1007159465858|Information related to project is availble at home page

See "Notes Channel" for an example of a channel that uses NotesProvider.

AppProvider

AppProvider enables a user to add or remove applications from a list of applications.

Code Example 2-16 shows the display profile definition for AppProvider.



Code Example 2-16    Display Profile Definition for AppProvider 
<Provider name="AppProvider" class="com.sun.portal.providers.app.AppProvider">
  <Properties>
    <String name="title" value="App Provider Title"/>
    <String name="description" value="App Description"/>
    <Integer name="timeout" value="100"/
    <String name="refreshTime" value="0" advanced="true"/>
    <Boolean name="isEditable" value="true" advanced="true"/>>
    <String name="editType" value="edit_subset" advanced="true"/
    <String name="width" value="thin" advanced="true"/>>
    <String name="helpURL" value="desktop/myapps.htm" advanced="true"/>
    <String name="fontFace1" value="Sans-serif"/>
    <String name="productName" value="Sun ONE Portal Server"/>>
    <String name="windowPref" value="all_new"/>
    <Collection name="targets">
      <String value="NetFile Lite|/NetFileLiteUIServlet?func=initOptions"/>
    </Collection>
    <Collection name="userApps">
      <String value="NetFile Lite"/>
    </Collection>
    <String name="description" value="AppProvider Channel Sample Implementation"/>
    <String name="title" value="AppProvider"/>
  </Properties>
</Provider>

Table 2-7 lists the property specific to AppProvider. This two column table lists the properties in the first column and a brief description in the second column.


Table 2-7    AppProvider Specific Properties  

Property

Description

String name="windowPref"  

Specifies how to launch a link. The possible values are:

  • all_new (New window is opened for every link)

  • one_new (All links open on the same new window)

  • same (Desktop window)

 

Collection name="targets"  

Specifies the list of application links in name | URL format, where name should match should match the entry in the userApps collection.  

Collection name="userApps"  

Specifies the list of applications that appear in the applications channel.  

See "Applications List Channel" for an example of a channel that uses AppProvider.

UserInfoProvider

UserInfoProvider collects information from the display profile and iPlanet Directory Server Access Management Edition. It displays a greeting, the user's name, time zone, and locale, and has access to the user's IMAP and SMTP data.

Code Example 2-17 shows the display profile definition for UserInfoProvider.



Code Example 2-17    Display Profile Definition for UserInfoProvider  
<Provider name="UserInfoProvider" class="com.sun.portal.providers.userinfo.UserInfoProvider">
  <Properties>
    <String name="title" value="*** Userinfo Provider ***"/>
    <String name="description" value="*** DESCRIPTION ***"/>
    <String name="refreshTime" value="0" advanced="true"/>
    <Boolean name="isEditable" value="true" advanced="true"/>
    <String name="editType" value="edit_subset" advanced="true"/>
    <String name="width" value="thin" advanced="true"/>
    <String name="helpURL" value="desktop/userinfo.htm" advanced="true"/>
    <String name="fontFace1" value="Sans-serif"/>
    <String name="productName" value="Sun ONE Portal Server"/>
    <String name="greeting" value="Welcome!"/>
    <Collection name="tags" advanced="true">
      <String name="greeting" value="dp"/>
      <String name="fontFace1" value="dp"/>
      <String name="cn" value="attribute"/>
      <String name="givenname" value="attribute"/>
      <String name="sn" value="attribute"/>
      <String name="uid" value="attribute"/>
      <String name="sunPortalNetmailIMAPServerName" value="attribute"/>
      <String name="sunPortalNetmailSMTPServerName" value="attribute"/>
      <String name="sunPortalNetmailIMAPUserid" value="attribute"/>
      <String name="sunPortalNetmailIMAPPassword" value="imappw"/>
      <String name="currentDate" value="datetime"/>
      <String name="timeLeft" value="datetime"/>
      <String name="maxIdle" value="datetime"/>
      <String name="preferredtimezone" value="timezone"/>
      <String name="timezoneList" value="timezone"/>
      <String name="locale" value="localelist"/>
      <String name="localeList" value="localelist"/>
      <String name="preferredlocale" value="localelist"/>
      <String name="membershipNewPassword" value="membershippw"/>
      <String name="membershipConfirmPassword" value="membershippw"/>
      <String name="membershipOriginalPassword" value="membershippw"/>
    </Collection>
    <Collection name="tagModules" advanced="true">
      <String name="dp" value="com.sun.portal.providers.userinfo.tag.DPTag"/>
      <String name="attribute" value="com.sun.portal.providers.userinfo.tag.AttributeTag"/>
      <String name="imappw" value="com.sun.portal.providers.userinfo.IMAPPWTag"/>
      <String name="datetime" value="com.sun.portal.providers.userinfo.DateTimeTag"/>
      <String name="timezone" value="com.sun.portal.providers.userinfo.TimezoneTag"/>
      <String name="localelist" value="com.sun.portal.providers.userinfo.LocaleListTag"/>
      <String name="membershippw" value="com.sun.portal.providers.userinfo.MembershipPWTag"/>
    </Collection>
    <Collection name="authTypes" advanced="true">
      <String value="Membership"/>
    </Collection>
    <String name="netmailServiceName" value="SunPortalNetMailService"/>
  </Properties>
</Provider>

Table 2-8 lists the properties specific to UserInfoProvider. This two column table lists the properties in the first column and a brief description in the second column.


Table 2-8    UserInfoProvider Specific Properties  

Property

Description

Collection name="tags"  

Specifies the collection tags used in the user info template.  

String name="greeting"  

Specifies the tag name for greeting.  

String name="cn"  

Specifies the tag name for common name.  

String name="givenname"  

Specifies the given name.  

String name="sn"  

Specifies the surname.  

String name="uid"  

Specifies the user ID.  

String name="sunPortalNetmailIMAPServerName"  

Specifies the IMAP server name.  

String name="sunPortalNetmailSMTPServerName"  

Specifies the SMTP server name.  

String name="sunPortalNetmailIMAPUserid"  

Specifies the IMAP user ID.  

String name="sunPortalNetmailIMAPPassword"  

Specifies the IMAP password.  

String name="currentDate"  

Specifies the tag name for the current date.  

String name="timeLeft"  

Specifies the tag name for the time remaining.  

String name="maxIdle"  

Specifies the tag name for the maximum idle time.  

String name="preferredtimezone"  

Specifies the user's preferred time zone.  

String name="timezoneList"  

Specifies the tag name for the time zone.  

String name="locale"  

Specifies the user's locale.  

String name="localeList"  

Specifies the tag name for language.  

String name="preferredlocale"  

Specifies the user's preferred locale.  

String name="membershipNewPassword"  

Specifies the tag name for membership new password.  

String name="membershipConfirmPassword"  

Specifies the tag name for membership confirm password.  

String name="membershipOriginalPassword"  

Specifies the tag name for the original membership password.  

Collection name="tagModules"  

Specifies the collection of tag modules.  

String name="dp"  

Specifies the tag module to get and set user info channel properties.  

String name="attribute"  

Specifies the tag module to get and set user info channel attributes.  

String name="imappw"  

Specifies the tag module to get and set IMAP password.  

String name="datetime"  

Specifies the tag module to get current time.  

String name="timezone"  

Specifies the tag module to get and set time zone list.  

String name="localelist"  

Specifies the tag module to get and set local list.  

String name="membershippw"  

Specifies the tag module to get and set membership password.  

Collection name="authTypes"  

Specifies the collection of authentication types.  

String value="Membership"  

Specifies the value of authentication type.  

String name="netmailServiceName"  

Specifies the NetMail service name.  

See "User Information Channel" for an example of a channel that uses UserInfoProvider.

MailCheckProvider

MailCheckProvider gives information about a user's mail status.

Code Example 2-18 shows the display profile definition for MailCheckProvider.



Code Example 2-18    Display Profile Definition for MailCheckProvider  
<Provider name="MailCheckProvider" class="com.sun.portal.providers.mailcheck.MailCheckProvider">
  <Properties>
    <String name="title" value="MailCheck Provider"/
    <Boolean name="isEditable" value="false"/>
    <String name="editType" value="edit_subset" advanced="true"/>
    <String name="width" value="thin" advanced="true"/>
    <String name="description" value="MailCheck Provider Sample Implementation"/>
    <String name="refreshTime" value="0" advanced="true"/>
    <String name="helpURL" value="desktop/mlchck.htm" advanced="true"/>
    <String name="fontFace1" value="Sans-serif"/>
    <String name="productName" value="Sun ONE Portal Server"/
    <String name="Title" value="Mailcheck Provider"/>
    <String name="IMAPServerName" value=""/>
    <String name="IMAPUserID" value=""/>
    <String name="IMAPPassword" value="" advanced="true"/>
    <Boolean name="defaultConfigParameters" value="true"/>
    <Collection name="targets">
      <String value="NetMail Lite|NetMailServlet?nsid=newHTMLSession"/>
      <String value="NetMail|NetMailServlet?nsid=newAppletSession"/>
    </Collection>
    <Collection name="userApps">
      <String value="NetMail Lite"/>
      <String value="NetMail"/>
    </Collection>
  </Properties>
</Provider>

Table 2-9 lists the property specific to MailCheckProvider. This two column table lists the properties in the first column and a brief description in the second column.


Table 2-9    MailCheckProvider Specific Properties  

Property

Description

String name="IMAPServerName"  

Specifies the IMAP server name.  

String name="IMAPUserID"  

Specifies the IMAP user name.  

String name="IMAPPassword"  

Specifies the IMAP password.  

Boolean name="defaultConfigParameters"  

MailCheckProvider uses the defaultConfigParameters property to read a user's mail settings. If set to true, MailCheckProvider reads the mail settings (server name, username, and password) from the NetMail service definition. If set to false, MailCheckProvider reads the mail settings from the properties defined in its display profile provider properties (IMAPServerName, IMAPUserId, and IMAPPassword). When defaultConfigParameters is set to true, the property isEditable is set to false implying that the Edit button is not available. If you change defaultConfigParameters to false, change isEditable to true for the Edit button to appear.  

Collection name="targets"  

Specifies the list of application links in name | URL format, where name should match should match the entry in the userApps collection.  

Collection name="userApps"  

Specifies the list of mail applications that appear in the applications channel.  

See "Mail Check Channel" for an example of a channel that uses MailCheckProvider.

LoginProvider

LoginProvider enables the Login channel to show up in the anonymous user's Desktop. You can configure LoginProvider to enable users to log in and out using the Login channel. The system admintrator can select one out of the three methods to enable users to log in: LDAP, Membership, or Unix.

For the sample portal, if you type the following URL in a browser, you see the authlessanonymous user's Desktop, which has the login channel.

http://server:port/portal/dt

By default, LoginProvider uses Membership authentication. No additional setup is required to use this channel. From the authlessanonymous user page, valid users can use the login channel, and new users can register using the Sign me up link in the channel. You can change the authentication module for the login channel. See "To Use Unix Authentication with LoginProvider" for more information.

Code Example 2-19 shows the display profile definition for LoginProvider.



Code Example 2-19    Display Profile Definition for LoginProvider
<Provider name="login" class="com.sun.portal.providers.login.LoginProvider">
  <Properties>
    <String name="title" value="Login"/>
    <String name="description" value="Login Information"/>
    <String name="refreshTime" value="0" advanced="true"/>
    <Boolean name="isEditable" value="true" advanced="true"/>
    <String name="editType" value="edit_subset" advanced="true"/>
    <String name="width" value="thin"/>
    <String name="fontFace1" value="Sans-serif"/>
    <String name="productName" value="Sun ONE Portal Server"/>
    <Boolean name="persistentCookie" value="false"/>
<String name="helpURL" value="desktop/login.htm" advanced="true"/>
  </Properties>
</Provider>

Table 2-10 lists the property specific to LoginProvider. This two column table lists the property in the first column and a brief description in the second column.


Table 2-10    LoginProvider Specific Properties  

Property

Description

Boolean name="persistentCookie"  

Specifies if a persistent cookie is used to remember the user ID and password.  

SimpleWebServiceProvider

SimpleWebServiceProvider, an extension of JSPProvider, makes simple web services available to an end user channel. SimpleWebServiceProvider dynamically constructs a user interface given a Web Services Description Language (WSDL) URL and a web service method name.

Using the URL, SimpleWebServiceProvider fetches the WSDL document, parses and validates it. Based on its content, SimpleWebServiceProvider generates input parameters to the method that return the information from the web service. The information is then displayed in the channel content window.

SimpleWebServiceProvider can generate channels that use the same web service, and the same method, so default parameter values can be stored using the Edit function.

SimpleWebServiceProvider supports basic data types such as String, int, and float as defined in the WSDL specification. It supports Complex Types if they are made up of only basic types (one level of nesting). There is no support for arrays.

SimpleWebServiceProvider can provide WSDL parsing for any other provider that needs it. SimpleWebServiceProvider is designed for stock quote or currency exchange rate content.

Code Example 2-20 shows the display profile definition for SimpleWebServiceProvider.



Code Example 2-20    Display Profile Definition for SimpleWebServiceProvider  
<Provider name="simpleWebService" class="com.sun.portal.providers.simplewebservice.apache.ApacheWebServiceProvid er">
  <Properties>
    <String name="title" value="******* Simple Web Service Provider ********"/>
    <String name="description" value="******* DESCRIPTION *******"/>
    <String name="width" value="thick"/>
    <String name="wsdlURL" value="http://www.xmethods.net/sd/2001/CurrencyExchangeService.wsdl"/>
    <String name="methodName" value="getRate"/>
    <Boolean name="isDefaultShowOutput" value="false"/>
    <Boolean name="isEditable" value="true" advanced="true"/>
    <String name="editType" value="edit_subset" advanced="true"/>
    <String name="contentPage" value="webserviceContent.jsp"/>
    <String name="editPage" value="webserviceInputEdit.jsp"/>
    <Boolean name="showExceptions" value="false"/>
    <Boolean name="isDefaultAvailable" value="false"/>
    <String name="refreshTime" value="0" advanced="true"/>
    <String name="helpURL" value="desktop/webchann.htm" advanced="true"/>
    <String name="fontFace1" value="Sans-serif"/>
    <String name="productName" value="Sun ONE Portal Server"/>
    <Collection name="defaultInput">
    </Collection>
  </Properties>
</Provider>

Table 2-11 lists the properties specific to SimpleWebServiceProvider. This two column table lists the properties in the first column and a brief description in the second column.


Table 2-11    SimpleWebServiceProvider Specific Properties  

Property

Description

String name="wsdlURL"  

Specifies the URL to web service WSDL.  

String name="methodName"  

Specifies the web service method name that is going to be executed.  

Boolean name="isDefaultShowOutput"  

Specifies the default value. If true, the channel uses the default input value. If false, the channel uses the user input value.  

String name="contentPage"  

Specifies the JSP that is used to generate the channel content (by using the getContent method).  

String name="editPage"  

Specifies the JSP that is used to generate the Edit page content (by using the getEdit method).  

Boolean name="showExceptions"  

If true, makes SimpleWebServiceProvider show exceptions generated while processing the JSP as the channel output for the getContent and getEdit methods. This can be useful for developing and troubleshooting your portal.  

Boolean name="isDefaultAvailable"  

If true, the default value is available from the profile database.  

Collection name="defaultInput"  

Specifies the default input value.  

See "Simple Web Service Channel" for an example of a channel that uses MailCheckProvider.

SimpleWebServiceConfigurableProvider

SimpleWebServiceConfigurableProvider is similar to SimpleWebServiceProvider, except that it permits users to use the Edit function to change URLs and methods, hence, it is configurable. See "SimpleWebServiceProvider" for details on how the provider works.

Code Example 2-21 shows the display profile definition for SimpleWebServiceConfigurableProvider.



Code Example 2-21    Display Profile Definition for SimpleWebServiceConfigurableProvider  
<Provider name="simpleWebServiceConfigurable" class="com.sun.portal.providers.simplewebservice.apache.ApacheWebServiceProvid er">
  <Properties>
    <String name="title" value="Configurable Simple Web Service Provider"/>
    <String name="description" value="******* DESCRIPTION *******"/>
    <String name="width" value="thick"/>
    <String name="wsdlURL" value="http://www.xmethods.net/sd/2001/CurrencyExchangeService.wsdl"/>
    <String name="methodName" value="getRate"/>
    <Boolean name="isDefaultShowOutput" value="false"/>
    <Boolean name="isEditable" value="true" advanced="true"/>
    <String name="editType" value="edit_subset" advanced="true"/>
    <String name="contentPage" value="webserviceContent.jsp"/>
    <String name="editPage" value="webserviceWsdlEdit.jsp"/>
    <Boolean name="showExceptions" value="false"/>
    <Boolean name="isDefaultAvailable" value="false"/>
    <String name="refreshTime" value="0" advanced="true"/>
    <String name="helpURL" value="desktop/webchann.htm" advanced="true"/>
    <String name="fontFace1" value="Sans-serif"/>
    <String name="productName" value="Sun ONE Portal Server"/
    <Collection name="defaultInput">
    </Collection>
  </Properties>
</Provider>

Table 2-12 lists the properties specific to SimpleWebServiceConfigurableProvider. This two column table lists the properties in the first column and a brief description in the second column.


Table 2-12    SimpleWebServiceConfigurableProvider Specific Properties  

Property

Description

String name="wsdlURL"  

Specifies the URL to web service WSDL.  

String name="methodName"  

Specifies the web service method name that is going to be executed.  

Boolean name="isDefaultShowOutput"  

Specifies the default value. If true, the channel uses the default input value. If false, the channel uses the user input value.  

String name="contentPage"  

Specifies the JSP that is used to generate the channel content (by using the getContent method).  

String name="editPage"  

Specifies the JSP that is used to generate the Edit page content (by using the getEdit method).  

Boolean name="showExceptions"  

If true, makes SimpleWebServiceConfigurableProvider show exceptions generated while processing the JSP as the channel output for the getContent and getEdit methods. This can be useful for developing and troubleshooting your portal.  

Boolean name="isDefaultAvailable"  

If true, the default value is available from the profile database.  

Collection name="defaultInput"  

Specifies the default input value.  

See "Simple Web Service Configurable Channel" for an example of a channel that uses SimpleWebServiceConfigurableProvider.


Previous     Contents     Index     Next     
Copyright 2002 Sun Microsystems, Inc. All rights reserved.

Last Updated August 29, 2002