Sun logo      Previous      Contents      Index      Next     

Sun ONE Portal Server 6.2 Desktop Customization Guide

Chapter 4
Leaf Provider Display Profile Definitions and Properties

This chapter contains information on the display profile definitions and the properties of the building-block providers that ship with Sun™ ONE Portal Server software.

This chapter contains the following sections:


Overview of Display Profile Provider Definitions and Properties

The sample portal makes use of the following display profile definitions in the portal-server-install-root/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, and the Search definitions.

dp-anon.xml

Contains the display profile definitions for channels and containers for the authlessanonymous and anonymous users in the default organization.

Providers have required properties, as well as general properties. This chapter describes each provider-specific property and the general properties of the providers.

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, use the dpadmin command (or the Sun™ ONE Identity Server software administration console) to store it in LDAP. For information about using the dpadmin command, see the Sun ONE Portal Server 6.2 Administrator’s Guide.


Display Profile Definitions and Properties of Leaf Building-Block Providers

This section describes the display profile definitions and the properties of the leaf building-block providers.

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

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.2 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 4-1 shows the display profile definition for JSPProvider.

Code Example 4-1  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"/>

        <ConditionalProperties condition="locale" value="en">

            <String name="helpURL" value="en/desktop/jspchann.htm" advanced="true"/>

        </ConditionalProperties>

        <String name="helpURL" value="en/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>

The following is a list of the properties specific to JSPProvider. This two column table lists the properties in the first (left) column and a brief description in the second (right) column.

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.

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.2 Administrator’s Guide for more information on the Rewriter.

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

Code Example 4-2  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"/>

        <ConditionalProperties condition="locale" value="en">

            <String name="helpURL" value="en/desktop/urlscrpr.htm" advanced="true"/>

        </ConditionalProperties>

        <String name="helpURL" value="en/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>

The following is a list of the properties specific to URLScraperProvider. This two column table lists the properties in the first (left) column and a brief description in the second (right) column.

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 the Sun ONE Portal Server 6.2 Developer’s Guide for information on extending the URLScraperProvider. See "Display Profile Common Properties for Providers" for more information on the editType property.

See "Sample 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 4-3 shows the display profile definition for XMLProvider.

Code Example 4-3  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"/>

    <ConditionalProperties condition="locale" value="en">

        <String name="helpURL" value="desktop/xmlchann.htm" advanced="true"/>

    </ConditionalProperties>

    <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=""/>

    <Boolean name="cookiesToForwardAll" value="true"/>

    <Collection name="cookiesToForwardList">

    </Collection>

  </Properties>

</Provider>

The following is a list of the properties specific to XMLProvider. This two column table lists the properties in the first (left) column and a brief description in the second (right) column.

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 the Sun ONE Portal Server 6.2 Developer’s Guide for more information on extending the XMLProvider. See “Display Profile Provider Required Properties,” on page 98 for more information on the editType property.

See "Sample 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 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 "Sample RSS Channel" for more information.


Display Profile Definition for Service Providers

Service providers are providers who provide a service, such as search service. The Sun ONE Portal Server software includes the following service providers:

SearchProvider

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

Basic search    

Enables users to search within the default document database or discussion database. Document and category matches are then displayed.

Advanced search    

Enables users to search for documents based on author, title, URL within the default document database or discussion database, discussion, and/or comment. 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 Desktop Interface" 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. Code Example 4-4 shows the display profile definition for SearchProvider.

Code Example 4-4  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"/>

        <ConditionalProperties condition="locale" value="en">

            <String name="helpURL" value="en/desktop/search.htm" advanced="true"/>

        </ConditionalProperties>

        <String name="helpURL" value="en/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="false"/>

        <String name="searchServer" value=""/>

        <Integer name="viewHits" value="8"/>

        <Boolean name="basicSearchDefault" value="true"/>

        <String name="defaultMode" value="basic"/>

        <Boolean name="categorySearch" value="false"/>

        <String name="documentDisplay" value="new"/>

    </Properties>

</Provider>

The following is a list of the properties specific to SearchProvider. This two column table lists the properties in the first (left) column and a brief description in the second (right) column.

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="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.) This property is user editable. Edit page displays allowable values as 5, 8, 10, 16.

Boolean name="basicSearchDefault"

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

String name="defaultMode"

Specifies the default search mode. Allowable values are basic, advanced, or browse.

Boolean name="categorySearch"

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

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

DiscussionProvider

The DiscussionProvider is JSPProvider based and uses the Desktop themes. It retrieves data from the back end Search service using search taglibs and API. The discussions and comments are stored as separate Resource Descriptors (RDs) in the discussion database. Discussion RDs require special schema. See schema.rdm file in the /var/opt/SUNWps/https-psserver/portal/config/ directory.

Discussions are stored in the discussion database specified in the dbname property in the display profile. Search server host (searchServer property) and database name (dbname property) are advanced properties that can be configured in the display profile.

Code Example 4-5 shows the display profile definition for DiscussionProvider.

Code Example 4-5  Display Profile Definition for DiscussionProvider  

<Provider name="DiscussionProvider" class="com.sun.portal.providers.jsp.JSPProvider">

    <Properties>

        <String name="title" value="*** Discussions Provider ***"/>

        <String name="description" value="*** DESCRIPTION ***"/>

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

        <String name="helpURL" value="en/desktop/discussions.htm" advanced="true"/>

        <String name="fontFace1" value="Sans-serif"/>

        <String name="productName" value="Sun ONE Portal Server"/>

        <String name="contentPage" value="discussionContent.jsp"/>

        <String name="editPage" value="discussionEdit.jsp"/>

        <String name="processPage" value="discussionDoEdit.jsp"/>

        <Boolean name="isEditable" value="true" advanced="true"/>

        <String name="editType" value="edit_subset" advanced="true"/>

        <Boolean name="showExceptions" value="false"/>

        <Boolean name="showErrors" value="true"/>

        <String name="width" value="thick"/>

        <String name="column" value="2"/>

        <String name="searchServer" value=""/>

        <String name="dbname" value=""/>

        <Integer name="viewHits" value="8"/>

        <String name="defaultDiscussionDisplay" value="Threaded"/>

        <String name="defaultFilter" value="Irrelevant"/>

        <String name="defaultExpansionThreshold" value="Collapse all"/>

        <Boolean name="viewDiscussionWindow" value="false"/>

        <String name="anonymousAuthor" value="anonymous"/>

        <Boolean name="displaySearch" value="true"/>

        <Boolean name="showDescription" value="false"/>

        <String name="ratingText" value="Irrelevant,Routine,Interesting,Important,Must Read"/>

    </Properties>

</Provider>

The following is a list of properties specific to DiscussionProvider. This two column table lists the properties in the first (left) column and a brief description in the second (right) column.

searchServer

Specifies the path to the search server. By default, the value is portal/search.

dbname

Specifies the discussion database where discussions are stored. Any valid database can be specified.

viewHits

Specifies the number of discussions to display on the main discussion page (full view).

defaultDiscussionDisplay

Determines how the comment subtree is displayed. It can be set to flat or threaded to allow the comment subtree to be displayed as flat or threaded.

defaultFilter

Specifies the filter for searching and displaying discussions and this controls display of the subtree. It can be based on ratings such as irrelevant, routine, interesting, important, or must read. By default, its value is irrelevant; so all comments rated irrelevant and above are displayed. The Must read filter will highlight the highly rated comments.

defaultExpansionThreshold

It can be set to expand all or collapse all. By default, its value is set to collapse all. If set to expand all, it will expand all the filtered comments, show description, rating menu, and allow user to post reply via links.

viewDiscussionWindow

A user configurable property. If set to true, the discussion link gets displayed on an entire page; that is, JSPDynamicSingleContainer is invoked. If set to false, the discussion gets displayed within the channel within the tab.

anonymousAuthor

An anonymous user can submit comments. Default author value for an anonymous user is picked from this property. Default value is anonymous. For example, it can be set to unknown author.

displaySearch

Enable or disable Search in discussions.

showDescription

Specifies whether or not to show a description of the discussion.

ratingText

Specifies the type of rating that can be done on a discussion. By default, discussions can be rated as irrelevant, routine, interesting, important, or must read. This property is not used in this release.

See "Discussion Channels" for example of channels that use DiscussionProvider.

SubscriptionsProvider

SubscriptionsProvider provides subscriptions service to users. The Subscriptions service enables users to create a set of profile of interest over a source of information. The source of information supported are categories, discussions, and searchable documents. The profile is updated with the latest information every time the user accesses the Subscriptions channel. The Subscriptions channel summarizes the number of hits (relevant information) that matches each profile entry the user defined for categorized document and/or discussions.

Code Example 4-6 shows the display profile definition for SubscriptionsProvider.

Code Example 4-6  Display Profile Definition for SubscriptionsProvider  

<Provider name="SubscriptionsProvider" class="com.sun.portal.providers.jsp.JSPProvider">

    <Properties>

        <String name="title" value="Subscriptions Provider"/>

        <String name="description" value="Subscriptions to Categoroies and discussions"/>

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

        <ConditionalProperties condition="locale" value="en">

            <String name="helpURL" value="en/desktop/subscriptions.htm" advanced="true"/>

        </ConditionalProperties>

        <String name="fontFace1" value="Sans-serif"/>

        <String name="productName" value="Sun ONE Portal Server"/>

        <String name="contentPage" value="subscontent.jsp"/>

        <String name="editPage" value="subsedit.jsp"/>

        <String name="processPage" value="subsdoedit.jsp"/>

        <Boolean name="isEditable" value="true" advanced="true"/>

        <String name="editType" value="edit_subset" advanced="true"/>

        <Boolean name="showExceptions" value="true"/>

        <String name="width" value="thin"/>

        <String name="column" value="1"/>

    </Properties>

</Provider>

See "Subscriptions Channel" for example of a channel that uses SubscriptionsProvider.


Display Profile Definitions for Content Providers

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

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

AddressBookProvider

The address book provider works with the Sun™ One Messaging Server to provide simple personal address book functionality.

Code Example 4-7 shows the display profile definition for AddressBookProvider.

Code Example 4-7  Display Profile Definition for AddressBookProvider  

<Provider name="AddressBookProvider" class="com.sun.portal.providers.ab.AddressBookProvider" >

    <Properties>

        <String name="title" value="Address Book" />

        <String name="description" value="Sun ONE Address Book" />

        <String name="width" value="thick" />

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

        <String name="productName" value="Sun ONE Portal Server" />

        <String name="fontFace1" value="Sanes-serif" />

        <String name="editType" value="edit_subset" />

        <String name="sunPortalABSortBy" value="none" />

        <String name="sunPortalABSortOrder" value="none"/>

        <String name="ssoAdapter" value="sunOneAddressBook" />

        <Integer name="maxEntries" value="30" />

        <Integer name="numEntries" value="5" />

        <Boolean name="isEditable" value="true" />

        <Boolean name="displayEntries" value="true" />

        <ConditionalProperties condition="locale" value="en">

            <String name="helpURL" value="en/desktop/addressbook.html" />

        </ConditionalProperties>

        <ConditionalProperties condition="client" value="HTML">

            <Collection name="applicationHelperEdit">

                <String value="com.sun.portal.providers.ab.LDAPABApplicationHelper" />

            </Collection>

            <String name="applicationHelperURL" value="com.sun.portal.providers.ab.LDAPABApplicationHelper" />

        </ConditionalProperties>

        <Collection name="ssoEditAttributes">

            <String name="uid" value="string|User Name:"/>

            <String name="password" value="password|User Password:"/>

        </Collection>

        <Collection name="dpEditAttributes">

            <String name="displayEntries" value="check|Display Entries: "/>

            <String name="numEntries" value="int|Number of Entries:"/>

            <String name="sunPortalABSortBy" value="select|Sort By:"/>

            <String name="sunPortalABSortOrder" value="select|Sort Order:"/>

        </Collection>

        <Collection name="sunPortalABSortBySelectOptions">

            <String name="NoSort" value="None"/>

            <String name="Commonname" value="Full name"/>

        </Collection>

        <Collection name="sunPortalABSortOrderSelectOptions">

            <String name="NoSort" value="None"/>

            <String name="Up" value="Ascending"/>

            <String name="Down" value="Descending"/>

        </Collection>

    </Properties>

</Provider>

The following is a list of the properties specific to AddressBookProvider. This two column table lists the properties in the first (left) column and a brief description in the second (right) column.

String name="sunPortalABSortBy"

Specifies the value of the entries displayed to sort by.

String name="sunPortalABSortOrder"

Specifies the sort order of the entries displayed.

String name = "ssoAdapter"

Specifies the SSOAdapter configuration used by this provider/channels.

Integer name="maxEntries"

Specifies the limit for the number of address book entries to display.

Integer name="numEntries"

Specifies the number of entries to display.

Boolean name="displayEntries"

Specifies if the entries should be shown.

Collection name="applicationHelperEdit"

Specifies the mail application helpers that you can edit settings on.

String name="applicationHelperURL"

Specifies the default mail application helper.

Collection name="ssoEditAttributes"

Specifies the attributes that will appear on the 1st edit page for the provider. These are usually server settings and have nothing to do with display profile attributes.

Collection name="dpEditAttributes"

Specifies the attributes that will appear on the edit page for the application helper. These are usually display attributes and there can be multiple attributes based on number of clients, and so on.

Collection name="sunPortalABSortBySelectOptions"

Used to generate the drop down select boxes on the edit page. This specifies None and Full name.

Collection name="sunPortalABSortOrderSelectOption s"

Used to generate the drop down select boxes on the edit page. This specifies Ascending, Descending, and None.

See "Address Book Channel" for an example of a channel that uses AddressBookProvider.

AppProvider

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

Code Example 4-6 shows the display profile definition for AppProvider.

Code Example 4-8  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"/>>

        <ConditionalProperties condition="locale" value="en">

            <String name="helpURL" value="en/desktop/myapps.htm" advanced="true"/>

        </ConditionalProperties>

        <String name="helpURL" value="en/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>

The following is a list of the properties specific to AppProvider. This two column table lists the properties in the first (left) column and a brief description in the second (right) column.

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.

BookmarkProvider

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

Code Example 4-9 shows the display profile definition for the BookmarkProvider.

Code Example 4-9  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"/>

        <ConditionalProperties condition="locale" value="en">

            <String name="helpURL" value="en/desktop/bkmark.htm" advanced="true"/>

        </ConditionalProperties>

        <String name="helpURL" value="en/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>

The following is a list of the properties specific to BookmarkProvider. This two column table lists the properties in the first (left) column and a brief description in the second (right) column.

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.

CalendarProvider

The calendar provider works with the Sun™ One Calender Server so that you can view tasks and events and launch Calendar Express without having to sign in.

Code Example 4-10 shows the display profile definition for the CalendarProvider.

Code Example 4-10  Display Profile Definition for CalendarProvider  

<Provider name="CalendarProvider" class="com.sun.portal.providers.calendar.CalendarProvider">

    <Properties>

        <String name="title" value="Calendar" />

        <String name="description" value="Sun ONE Calendar" />

        <String name="width" value="thick" />

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

        <String name="editType" value="edit_subset" />

        <String name="productName" value="Sun ONE Portal Server" />

        <String name="fontFace1" value="Sans-serif" />

        <String name="view" value="dayWeekView" />

        <String name="calendar" value="" />

        <String name="ssoAdapter" value="sunOneCalendar" />

        <Boolean name="isEditable" value="true" />

        <Boolean name="loadSubscribedCalendars" value="true" />

        <Boolean name="disableTaskEventURLs" value="false" />

        <ConditionalProperties condition="locale" value="en">

            <String name="helpURL" value="en/desktop/calendar.html" />

        </ConditionalProperties>

        <ConditionalProperties condition="client" value="HTML">

            <Collection name="applicationHelperEdit">

                <String value="com.sun.portal.providers.calendar.CalendarExpressHelper" />

            </Collection>

            <String name="applicationHelperURL" value="com.sun.portal.providers.calendar.CalendarExpressHelper" />

        </ConditionalProperties>

        <Collection name="ssoEditAttributes">

            <String name="host" value="string|Server Name:"/>

            <String name="port" value="string|Server Port:"/>

            <String name="uid" value="string|User Name:"/>

            <String name="password" value="password|User Password:"/>

        </Collection>

        <Collection name="dpEditAttributes">

            <String name="view" value="select|Calendar View:"/>

            <String name="calendar" value="select|Calendar:"/>

        </Collection>

        <Collection name="viewSelectOptions">

            <String name="dayView" value="Day"/>

            <String name="dayWeekView" value="Day and Week"/>

            <String name="weekView" value="Week"/>

            <String name="monthView" value="Month"/>

            <String name="none" value="None"/>

        </Collection>

        <Collection name="calendarSelectOptions">

        </Collection>

    </Properties>

</Provider>

The following is a list of the properties specific to CalendarProvider. This two column table lists the properties in the first (left) column and a brief description in the second (right) column.

String name="view"

Specifies the view (day, week, or month) used.

String name="calendar"

Specifies the calendar to display.

String name="ssoAdapter"

Specifies the ssoAdapter configuration to use.

Boolean name="loadSubscribedCalendars"

If set to true, it will try to load all of the subscribed calendars and display them.

Boolean name="disableTaskEventURLs"

If set to true, it will not display links for tasks and events.

Collection name="calendarSelectOptions"

Specifies a list of all subscribed calendars.

Collection name="applicationHelperEdit"

Specifies the mail application helpers that you can edit settings on

String name="applicationHelperURL"

Specifies the default mail application helper

Collection name="ssoEditAttributes"

Specifies the attributes that will appear on the 1st edit page for the provider. These are usually server settings and have nothing to do with display attributes

Collection name="dpEditAttributes"

Specifies the attributes that will appear on the edit page for the application helper. These are usually display attributes and there can be multiple attributes based on number of clients, etc.

Collection name="viewSelectOptions"

Specifies the different Calendar views displayed in the Calendar edit page.

See "Calendar Channel" for an example of a channel that uses CalendarProvider.

IMProvider

The IMProvider includes:

The information is gathered by accessing the Instant Messaging server through the use of the Instant Messaging APIs.

Code Example 4-11 shows the display profile definition for the IMProvider.

Code Example 4-11  Display Profile Definition for IMProvider  

<Provider name="IMProvider" class="com.sun.im.portal.provider.IMProvider">

    <Properties>

        <String name="title" value="Instant Messaging"/>

        <String name="description" value="Desktop access to Instant Messaging contact status"/>

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

        <ConditionalProperties condition="locale" value="en">

            <String name="helpURL" value="en/desktop/imchan.htm" advanced="true" />

        </ConditionalProperties>

        <String name="fontFace1" value="Sans-serif"/>

        <String name="productName" value="Sun ONE Portal Server"/>

        <String name="width" value="thin"/>

        <String name="contentPage" value="IMContent.jsp"/>

        <String name="editPage" value="IMEdit.jsp"/>

        <String name="processPage" value="NOTUSED"/>

        <Boolean name="showExceptions" value="false"/>

        <String name="editType" value="edit_subset" advanced="true"/>

        <Boolean name="isEditable" value="true" advanced="true"/>

        <String name="server" value=""/>

        <String name="port" value=""/>

        <String name="mux" value=""/>

        <String name="muxport" value=""/>

        <String name="codebase" value=""/>

        <String name="netletRule" value="IM"/>

        <String name="clientRunMode" value="plugin"/>

        <String name="authMethod" value="idsvr"/>

        <String name="authUsernameAttr" value="uid"/>

        <String name="username" value=""/>

        <String name="password" value=""/>

        <String name="contactGroup" value="My Contacts"/>

    </Properties>

</Provider>

The following is a list of the properties specific to IMProvider. This two column table lists the properties in the first (left) column and a brief description in the second (right) column.

server

Specifies the name of the instant messaging server to use.

port

Specifies the port on which the instant messaging server listens.

mux

Specifies the name of instant messaging multiplexor to use (used by IM client.)

muxport

Specifies the port on which the instant messaging server listens.

codebase

Specifies where to find the instant messaging client.

netletRule

Specifies where to find the instant messaging client when using the netlet. By default, the value is IM.

clientRunMode

Specifies how the Instant Messaging server client must be run. The client can be run as either a plugin or jnlp. By default, the value is plugin.

authMethod

Specifies the authentication method. Clients can authenticate either via idsvr (for Sun ONE Identity Server) or ldap. By default, the value is idsvr.

authUsernameAttr

Specifies the LDAP attribute where instant messaging username is found. By default, the value is uid.

username

Specifies the username for LDAP authentication. This is not applicable if authMethod is set to idsvr.

password

Specifies the password for LDAP authentication. This is not applicable if authMethod is set to idsvr.

contactGroup

Specifies the contact group to display, or blank for all.

See "Instant Messaging Channel" for an example of a channel that uses IMProvider.

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 administrator 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://hostname: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.

Code Example 4-12 shows the display profile definition for LoginProvider.

Code Example 4-12  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"/>

        <Boolean name="federationEnabled" value="false"/>

        <String name="preLoginURL" value=""/>

        <ConditionalProperties condition="locale" value="en">

            <String name="helpURL" value="en/desktop/login.htm" advanced="true"/>

        </ConditionalProperties>

        <String name="helpURL" value="en/desktop/login.htm" advanced="true"/>

    </Properties>

</Provider>

The following properties are specific to the LoginProvider. This two column table lists the property in the first (left) column and a brief description in the second (right) column.

Boolean name="persistentCookie"

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

Boolean name="federationEnabled"

If set to true, the libertyLogin.Template is inserted.

String name="preLoginURL"

The value specified in the channel. This property is typically of the form:

http://www.siroe.con:80/amserver/preLogin?metaAlias=www.siroe.com&goto=http://www.siroe.com:80/portal/dt

See "Login Channel" for an example of a channel that uses LoginProvider.

LotusNotesAddressBookProvider

The address book provider works with the Lotus Notes Server to provide simple personal address book functionality.

Code Example 4-13 shows the display profile definition for LotusNotesAddressBookProvider.

Code Example 4-13  Display Profile Definition for LotusNotesAddressBookProvider  

<Provider name="LotusNotesAddressBookProvider" class="com.sun.portal.providers.ab.AddressBookProvider" >

    <Properties>

        <String name="title" value="Lotus Notes Address Book" />

        <String name="description" value="Lotus Notes Address Book" />

        <String name="width" value="thick" />

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

        <String name="productName" value="Sun ONE Portal Server" />

        <String name="fontFace1" value="Sanes-serif" />

        <String name="editType" value="edit_subset" />

        <String name="sunPortalABSortBy" value="none" />

        <String name="sunPortalABSortOrder" value="none"/>

        <String name="ssoAdapter" value="notesAddressBook" />

        <Integer name="maxEntries" value="30" />

        <Integer name="numEntries" value="5" />

        <Boolean name="isEditable" value="true" />

        <Boolean name="displayEntries" value="true" />

        <ConditionalProperties condition="locale" value="en">

            <String name="helpURL" value="en/desktop/addressbook.html" />

        </ConditionalProperties>

        <ConditionalProperties condition="client" value="HTML">

            <Collection name="applicationHelperEdit">

                <String value="com.sun.portal.providers.ab.NotesABHelper" />

            </Collection>

            <String name="applicationHelperURL" value="com.sun.portal.providers.ab.NotesABHelper" />

        </ConditionalProperties>

        <Collection name="ssoEditAttributes">

            <String name="uid" value="string|User Name:"/>

            <String name="password" value="password|User Password:"/>

        </Collection>

        <Collection name="dpEditAttributes">

            <String name="displayEntries" value="check|Display Entries: "/>

            <String name="numEntries" value="int|Number of Entries:"/>

            <String name="sunPortalABSortBy" value="select|Sort By:"/>

            <String name="sunPortalABSortOrder" value="select|Sort Order:"/>

        </Collection>

        <Collection name="sunPortalABSortBySelectOptions">

            <String name="NoSort" value="None"/>

            <String name="Commonname" value="Full name"/>

        </Collection>

        <Collection name="sunPortalABSortOrderSelectOptions">

            <String name="NoSort" value="None"/>

            <String name="Up" value="Ascending"/>

            <String name="Down" value="Descending"/>

        </Collection>

    </Properties>

</Provider>

The following properties are specific to LotusNotesAddressBookProvider. This two column table lists the property in the first (left) column and a brief description in the second (right) column.

String name="sunPortalABSortBy"

Specifies the value of the entries displayed to sort by.

String name="sunPortalABSortOrder"

Specifies the sort order of the entries displayed.

String name = "ssoAdapter"

Specifies the SSOAdapter configuration used by this provider/channels.

Integer name="maxEntries"

Specifies the limit of address book entries to display.

Integer name="numEntries"

Specified the number of entries to display.

Boolean name="displayEntries"

Specifies if the entries should be shown.

Collection name="applicationHelperEdit"

Specifies the mail application helpers that you can edit settings on.

String name="applicationHelperURL"

Specifies the default mail application helper.

Collection name="ssoEditAttributes"

Specifies the attributes that will appear on the 1st edit page for the provider. These are usually server settings and have nothing to do with display attributes.

Collection name="dpEditAttributes"

Specifies the attributes that will appear on the edit page for the application helper. These are usually display attributes and there can be multiple attributes based on number of clients, etc.

Collection name="sunPortalABSortBySelectOptions"

Used to generate the drop down select boxes on the edit page. This specifies None and Full name.

Collection name="sunPortalABSortOrderSelectOption s"

Used to generate the drop down select boxes on the edit page. This specifies Ascending, Descending, and None.

See "Lotus Notes Address Book Channel" for an example of a channel that uses LotusNotesAddressBookProvider.

LotusNotesCalendarProvider

The calendar provider works with the Lotus Notes Server so that you can view tasks and events and launch the web application without having to sign in.

Code Example 4-14 shows the display profile definition for LotusNotesCalendarProvider.

Code Example 4-14  Display Profile Definition for LotusNotesCalendarProvider  

<Provider name="LotusNotesCalendarProvider" class="com.sun.portal.providers.calendar.CalendarProvider">

    <Properties>

        <String name="title" value="Lotus Notes Calendar" />

        <String name="description" value="Lotus Notes Calendar" />

        <String name="width" value="thick" />

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

        <String name="editType" value="edit_subset" />

        <String name="productName" value="Sun ONE Portal Server" />

        <String name="fontFace1" value="Sans-serif" />

        <String name="view" value="dayWeekView" />

        <String name="calendar" value="" />

        <String name="ssoAdapter" value="notesCalendar" />

        <Boolean name="isEditable" value="true" />

        <Boolean name="loadSubscribedCalendars" value="false" />

        <Boolean name="disableTaskEventURLs" value="false" />

        <ConditionalProperties condition="locale" value="en">

            <String name="helpURL" value="en/desktop/calendar.html" />

        </ConditionalProperties>

        <ConditionalProperties condition="client" value="HTML">

            <Collection name="applicationHelperEdit">

                <String value="com.sun.portal.providers.calendar.NotesCalendarHelper" />

            </Collection>

            <String name="applicationHelperURL" value="com.sun.portal.providers.calendar.NotesCalendarHelper" />

        </ConditionalProperties>

        <Collection name="ssoEditAttributes">

            <String name="host" value="string|Server Name:"/>

            <String name="port" value="string|Server Port:"/>

            <String name="uid" value="string|User Name:"/>

            <String name="password" value="password|User Password:"/>

        </Collection>

        <Collection name="dpEditAttributes">

            <String name="view" value="select|Calendar View:"/>

        </Collection>

        <Collection name="viewSelectOptions">

            <String name="dayView" value="Day"/>

            <String name="dayWeekView" value="Day and Week"/>

            <String name="weekView" value="Week"/>

            <String name="monthView" value="Month"/>

            <String name="none" value="None"/>

        </Collection>

        <Collection name="calendarSelectOptions">

        </Collection>

    </Properties>

</Provider>

The following properties are specific to LotusNotesCalendarProvider. This two column table lists the property in the first (left) column and a brief description in the second (right) column.

String name="view"

Specifies the view (day, week, or month) used.

String name="calendar"

Specifies the calendar to display.

String name="ssoAdapter"

Specifies the ssoAdapter configuration to use.

Boolean name="loadSubscribedCalendars"

If set to true, it will try to load all of the subscribed calendars and display them.

Boolean name="disableTaskEventURLs"

If set to true, it will not display links for tasks and events.

Collection name="calendarSelectOptions"

Specifies a list of all subscribed calendars.

Collection name="applicationHelperEdit"

Specifies the mail application helpers that you can edit settings on.

String name="applicationHelperURL"

Specifies the default mail application helper.

Collection name="ssoEditAttributes"

Specifies the attributes that will appear on the 1st edit page for the provider. These are usually server settings and have nothing to do with display attributes.

Collection name="dpEditAttributes"

Specifies the attributes that will appear on the edit page for the application helper. These are usually display attributes and there can be multiple attributes based on number of clients, etc.

Collection name="viewSelectOptions"

Specifies the different Calendar views displayed in the Calendar edit page.

See "Lotus Notes Calendar Channel" for an example of a channel that uses LotusNotesCalendarProvider.

LotusNotesMailProvider

The mail provider works with the Lotus Notes Server to provide simple mail functionality.

Code Example 4-15 shows the display profile definition for LotusNotesMailProvider.

Code Example 4-15  Display Profile Definition for LotusNotesMailProvider  

<Provider name="LotusNotesMailProvider" class="com.sun.portal.providers.mail.MailProvider">

    <Properties>

        <String name="title" value="Lotus Notes Mail" />

        <String name="description" value="Lotus Notes Mail" />

        <String name="width" value="thick" />

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

        <String name="sortOrder" value="top" />

        <String name="editType" value="edit_subset" />

        <String name="productName" value="Sun ONE Portal Server" />

        <String name="fontFace1" value="Sans-serif" />

        <String name="ssoAdapter" value="notesMail" />

        <Integer name="numberHeaders" value="10" />

        <Boolean name="displayHeaders" value="true" />

        <Boolean name="sentFolderCopy" value="false" />

        <Boolean name="isEditable" value="true" />

        <ConditionalProperties condition="locale" value="en">

            <String name="helpURL" value="en/desktop/mailhelp.html" />

        </ConditionalProperties>

        <ConditionalProperties condition="client" value="HTML">

            <Collection name="applicationHelperEdit">

                <String value="com.sun.portal.providers.mail.NotesMailHelper" />

            </Collection>

            <String name="applicationHelperURL" value="com.sun.portal.providers.mail.NotesMailHelper" />

        </ConditionalProperties>

        <Collection name="ssoEditAttributes">

            <String name="host" value="string|Server Name:"/>

            <String name="port" value="string|IMAP Server Port:"/>

            <String name="uid" value="string|User Name:"/>

            <String name="password" value="password|User Password:"/>

            <String name="smtpServer" value="string|SMTP Server Name:"/>

            <String name="clientPort" value="string|Client Port:"/>

        </Collection>

        <Collection name="dpEditAttributes">

            <String name="numberHeaders" value="int|Number of Headers:"/>

            <String name="displayHeaders" value="check|Display Headers:"/>

            <String name="sortOrder" value="select|Sort Order:"/>

            <String name="sentFolderCopy" value="check|When sending a message place a copy in Sent Folder: "/>

        </Collection>

        <Collection name="sortOrderSelectOptions">

            <String name="top" value="Most recent at top"/>

            <String name="bottom" value="Most recent at bottom"/>

        </Collection>

    </Properties>

</Provider>

The following properties are specific to LotusNotesMailProvider. This two column table lists the property in the first (left) column and a brief description in the second (right) column.

String name = "sortOrder"

Specifies the sort order for the messages currently displayed.

String name = "ssoAdapter"

Specifies the SSOAdapter configuration used by this provider/channels.

Integer name="numberHeaders"

Specifies the limit of message headers to display. Hard limit is 30.

Boolean name="displayHeaders"

Specifies if the headers should be shown.

Boolean name="sentFolderCopy"

Specifies if sent messages should be copied to the Sent Folder (used by MA).

Collection name="applicationHelperEdit"

Specifies the mail application helpers that you can edit settings on.

String name="applicationHelperURL"

Specifies the default mail application helper.

Collection name="ssoEditAttributes"

Specifies the attributes that will appear on the 1st edit page for the provider. These are usually server settings and have nothing to do with display attributes.

Collection name="dpEditAttributes"

Specifies the attributes that will appear on the edit page for the application helper. These are usually display attributes and there can be multiple attributes based on number of clients, etc.

Collection name="sortOrderSelectOptions"

Specifies the different mail sort order options (recent at top or bottom).

See "Lotus Notes Mail Channel" for an example of a channel that uses LotusNotesMailProvider.

MailCheckProvider

MailCheckProvider gives information about a user’s mail status.

Code Example 4-16 shows the display profile definition for MailCheckProvider.

Code Example 4-16  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"/>

        <ConditionalProperties condition="locale" value="en">

            <String name="helpURL" value="en/desktop/mlchck.htm" advanced="true"/>

        </ConditionalProperties>

        <String name="helpURL" value="en/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>

The following is a list of the properties specific to MailCheckProvider. This two column table lists the properties in the first (left) column and a brief description in the second (right) column.

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.

MailProvider

The mail provider works with the Sun™ One Messaging Server software to provide simple mail functionality and single sign-on services.

Code Example 4-17 shows the display profile definition for MailProvider.

Code Example 4-17  Display Profile Definition for MailProvider  

<Provider name="MailProvider" class="com.sun.portal.providers.mail.MailProvider">

    <Properties>

        <String name="title" value="Mail" />

        <String name="description" value="Sun ONE Mail" />

        <String name="width" value="thick" />

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

        <String name="sortOrder" value="top" />

        <String name="editType" value="edit_subset" />

        <String name="productName" value="Sun ONE Portal Server" />

        <String name="fontFace1" value="Sans-serif" />

        <String name="ssoAdapter" value="sunOneMail" />

        <Integer name="numberHeaders" value="10" />

        <Boolean name="displayHeaders" value="true" />

        <Boolean name="sentFolderCopy" value="false" />

        <Boolean name="isEditable" value="true" />

        <ConditionalProperties condition="locale" value="en">

            <String name="helpURL" value="en/desktop/mailhelp.html" />

        </ConditionalProperties>

        <ConditionalProperties condition="client" value="HTML">

            <Collection name="applicationHelperEdit">

                <String value="com.sun.portal.providers.mail.MessengerExpressHelper" />

            </Collection>

            <String name="applicationHelperURL" value="com.sun.portal.providers.mail.MessengerExpressHelper" />

        </ConditionalProperties>

        <Collection name="ssoEditAttributes">

            <String name="host" value="string|Server Name:"/>

            <String name="port" value="string|IMAP Server Port:"/>

            <String name="uid" value="string|User Name:"/>

            <String name="password" value="password|User Password:"/>

            <String name="smtpServer" value="string|SMTP Server Name:"/>

            <String name="clientPort" value="string|Client Port:"/>

        </Collection>

        <Collection name="dpEditAttributes">

            <String name="numberHeaders" value="int|Number of Headers:"/>

            <String name="displayHeaders" value="check|Display Headers:"/>

            <String name="sortOrder" value="select|Sort Order:"/>

            <String name="sentFolderCopy" value="check|When sending a message place a copy in Sent Folder: "/>

        </Collection>

        <Collection name="sortOrderSelectOptions">

            <String name="top" value="Most recent at top"/>

            <String name="bottom" value="Most recent at bottom"/>

        </Collection>

    </Properties>

</Provider>

The following is a listof the properties specific to MailProvider. This two column table lists the properties in the first (left) column and a brief description in the second (right) column.

String name = "sortOrder"

Specifies the sort order for the messages currently displayed.

String name = "ssoAdapter"

Specifies the SSOAdapter configuration used by this provider/channels.

Integer name="numberHeaders"

Specifies the limit of message headers to display. Hard limit is 30.

Boolean name="displayHeaders"

Specifies if the headers should be shown.

Boolean name="sentFolderCopy"

Specifies if sent messages should be copied to the Sent Folder (used by MA).

Collection name="applicationHelperEdit"

Specifies the mail application helpers that you can edit settings on.

String name="applicationHelperURL"

Specifies the default mail application helper.

Collection name="ssoEditAttributes"

Specifies the attributes that will appear on the first edit page for the provider. These are usually server settings and have nothing to do with display attributes.

Collection name="dpEditAttributes"

Specifies the attributes that will appear on the edit page for the application helper. These are usually display attributes and there can be multiple attributes based on number of clients, etc.

Collection name="sortOrderSelectOptions"

Specifies the different mail sort order options (recent at top or bottom).

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

MSExchangeAddressBookProvider

The address book provider works with the Microsoft Exchange Server to provide simple personal address book functionality.

Code Example 4-18 shows the display profile definition for MSExchangeAddressBookProvider.

Code Example 4-18  Display Profile Definition for MSExchangeAddressBookProvider  

<Provider name="MSExchangeAddressBookProvider" class="com.sun.portal.providers.ab.AddressBookProvider">

    <Properties>

        <String name="title" value="Exchange Address Book"/>

        <String name="description" value="Exchange Address Book"/>

        <String name="width" value="thick"/>

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

        <String name="productName" value="Sun ONE Portal Server"/>

        <String name="fontFace1" value="Sanes-serif"/>

        <String name="editType" value="edit_subset"/>

        <String name="sunPortalABSortBy" value="none" />

        <String name="sunPortalABSortOrder" value="none"/>

        <String name="ssoAdapter" value="exchangeAddressBook"/>

        <Integer name="maxEntries" value="30"/>

        <Integer name="numEntries" value="5"/>

        <Boolean name="isEditable" value="true"/>

        <Boolean name="displayEntries" value="true"/>

        <ConditionalProperties condition="locale" value="en">

            <String name="helpURL" value="en/desktop/addressbook.html"/>

        </ConditionalProperties>

        <ConditionalProperties condition="client" value="HTML">

            <Collection name="applicationHelperEdit">

                <String value="com.sun.portal.providers.ab.ExchangeABHelper"/>

            </Collection>

            <String name="applicationHelperURL" value="com.sun.portal.providers.ab.ExchangeABHelper"/>

        </ConditionalProperties>

        <Collection name="ssoEditAttributes">

            <String name="uid" value="string|User Name:"/>

            <String name="password" value="password|User Password:"/>

            <String name="winDomain" value="string|Domain:"/>

        </Collection>

        <Collection name="dpEditAttributes">

            <String name="displayEntries" value="check|Display Entries: "/>

            <String name="numEntries" value="int|Number of Entries:"/>

            <String name="sunPortalABSortBy" value="select|Sort By:"/>

            <String name="sunPortalABSortOrder" value="select|Sort Order:"/>

        </Collection>

        <Collection name="sunPortalABSortBySelectOptions">

            <String name="NoSort" value="None"/>

            <String name="Commonname" value="Full name"/>

        </Collection>

        <Collection name="sunPortalABSortOrderSelectOptions">

            <String name="NoSort" value="None"/>

            <String name="Up" value="Ascending"/>

            <String name="Down" value="Descending"/>

        </Collection>

    </Properties>

</Provider>

The following properties are specific to MSExchangeAddressBookProvider. This two column table lists the property in the first (left) column and a brief description in the second (right) column.

String name="sunPortalABSortBy"

Specifies the value of the entries displayed to sort by.

String name="sunPortalABSortOrder"

Specifies the sort order of the entries displayed.

String name = "ssoAdapter"

Specifies the SSOAdapter configuration used by this provider/channels.

Integer name="maxEntries"

Specifies the limit of address book entries to display.

Integer name="numEntries"

Specified the number of entries to display.

Boolean name="displayEntries"

Specifies if the entries should be shown.

Collection name="applicationHelperEdit"

Specifies the mail application helpers that you can edit settings on.

String name="applicationHelperURL"

Specifies the default mail application helper.

Collection name="ssoEditAttributes"

Specifies the attributes that will appear on the 1st edit page for the provider. These are usually server settings and have nothing to do with display attributes.

Collection name="dpEditAttributes"

Specifies the attributes that will appear on the edit page for the application helper. These are usually display attributes and there can be multiple attributes based on number of clients, etc.

Collection name="sunPortalABSortBySelectOptions"

Used to generate the drop down select boxes on the edit page. This specifies None and Full name.

Collection name="sunPortalABSortOrderSelectOption s"

Used to generate the drop down select boxes on the edit page. This specifies Ascending, Descending, and None.

See "MS Exchange Address Book Channel" for an example of a channel that uses MSExchangeAddressBookProvider.

MSExchangeCalendarProvider

The calendar provider works with the Microsoft Exchange Server so that you can view tasks and events and launch Exchanges web application.

Code Example 4-19 shows the display profile definition for MSExchangeCalendarProvider.

Code Example 4-19  Display Profile Definition for MSExchangeCalendarProvider  

<Provider name="MSExchangeCalendarProvider" class="com.sun.portal.providers.calendar.CalendarProvider">

    <Properties>

        <String name="title" value="Exchange Calendar"/>

        <String name="description" value="Exchange Calendar"/>

        <String name="width" value="thick"/>

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

        <String name="editType" value="edit_subset"/>

        <String name="productName" value="Sun ONE Portal Server"/>

        <String name="fontFace1" value="Sans-serif"/>

        <String name="view" value="dayWeekView"/>

        <String name="calendar" value=""/>

        <String name="ssoAdapter" value="exchangeCalendar"/>

        <Boolean name="isEditable" value="true"/>

        <Boolean name="loadSubscribedCalendars" value="false"/>

        <Boolean name="disableTaskEventURLs" value="false"/>

        <ConditionalProperties condition="locale" value="en">

            <String name="helpURL" value="en/desktop/calendar.html"/>

        </ConditionalProperties>

        <ConditionalProperties condition="client" value="HTML">

            <Collection name="applicationHelperEdit">

                <String value="com.sun.portal.providers.calendar.ExchangeCalendarHelper"/>

            </Collection>

            <String name="applicationHelperURL" value="com.sun.portal.providers.calendar.ExchangeCalendarHelper"/>

        </ConditionalProperties>

        <Collection name="ssoEditAttributes">

            <String name="host" value="string|Server Name:"/>

            <String name="port" value="string|Server Port:"/>

            <String name="uid" value="string|User Name:"/>

            <String name="password" value="password|User Password:"/>

            <String name="winDomain" value="string|Domain:"/>

        </Collection>

        <Collection name="dpEditAttributes">

            <String name="view" value="select|Calendar View:"/>

        </Collection>

        <Collection name="viewSelectOptions">

            <String name="dayView" value="Day"/>

            <String name="dayWeekView" value="Day and Week"/>

            <String name="weekView" value="Week"/>

            <String name="monthView" value="Month"/>

            <String name="none" value="None"/>

        </Collection>

        <Collection name="calendarSelectOptions">

        </Collection>

    </Properties>

</Provider>

The following properties are specific to MSExchangeCalendarProvider. This two column table lists the property in the first (left) column and a brief description in the second (right) column.

String name="view"

Specifies the view (day, week, or month) used.

String name="calendar"

Specifies the calendar to display.

String name="ssoAdapter"

Specifies the ssoAdapter configuration to use.

Boolean name="loadSubscribedCalendars"

If set to true, it will try to load all of the subscribed calendars and display them.

Boolean name="disableTaskEventURLs"

If set to true, it will not display links for tasks and events.

Collection name="calendarSelectOptions"

Specifies a list of all subscribed calendars.

Collection name="applicationHelperEdit"

Specifies the mail application helpers that you can edit settings on.

String name="applicationHelperURL"

Specifies the default mail application helper.

Collection name="ssoEditAttributes"

Specifies the attributes that will appear on the 1st edit page for the provider. These are usually server settings and have nothing to do with display attributes.

Collection name="dpEditAttributes"

Specifies the attributes that will appear on the edit page for the application helper. These are usually display attributes and there can be multiple attributes based on number of clients, etc.

Collection name="viewSelectOptions"

Specifies the different Calendar views displayed in the Calendar edit page.

See "MS Exchange Calendar Channel" for an example of a channel that uses MSExchangeCalendarProvider.

MSExchangeMailProvider

The mail provider works with the Microsoft Exchange Server to provide simple mail functionality.

Code Example 4-20 shows the display profile definition for MSExchangeMailProvider.

Code Example 4-20  Display Profile Definition for MSExchangeMailProvider  

<Provider name="MSExchangeMailProvider" class="com.sun.portal.providers.mail.MailProvider">

    <Properties>

        <String name="title" value="Exchange Mail" />

        <String name="description" value="Exchange Mail" />

        <String name="width" value="thick" />

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

        <String name="sortOrder" value="top" />

        <String name="editType" value="edit_subset" />

        <String name="productName" value="Sun ONE Portal Server" />

        <String name="fontFace1" value="Sans-serif" />

        <String name="ssoAdapter" value="exchangeMail" />

        <Integer name="numberHeaders" value="10" />

        <Boolean name="displayHeaders" value="true" />

        <Boolean name="sentFolderCopy" value="false" />

        <Boolean name="isEditable" value="true" />

        <ConditionalProperties condition="locale" value="en">

            <String name="helpURL" value="en/desktop/mailhelp.html" />

        </ConditionalProperties>

        <ConditionalProperties condition="client" value="HTML">

            <Collection name="applicationHelperEdit">

                <String value="com.sun.portal.providers.mail.ExchangeMailHelper" />

            </Collection>

            <String name="applicationHelperURL" value="com.sun.portal.providers.mail.ExchangeMailHelper" />

        </ConditionalProperties>

        <Collection name="ssoEditAttributes">

            <String name="host" value="string|Server Name:"/>

            <String name="port" value="string|IMAP Server Port:"/>

            <String name="uid" value="string|User Name:"/>

            <String name="password" value="password|User Password:"/>

            <String name="smtpServer" value="string|SMTP Server Name:"/>

            <String name="clientPort" value="string|Client Port:"/>

            <String name="winDomain" value="string|Domain:"/>

        </Collection>

        <Collection name="dpEditAttributes">

            <String name="numberHeaders" value="int|Number of Headers:"/>

            <String name="displayHeaders" value="check|Display Headers:"/>

            <String name="sortOrder" value="select|Sort Order:"/>

            <String name="sentFolderCopy" value="check|When sending a message place a copy in Sent Folder: "/>

        </Collection>

        <Collection name="sortOrderSelectOptions">

            <String name="top" value="Most recent at top"/>

            <String name="bottom" value="Most recent at bottom"/>

        </Collection>

    </Properties>

</Provider>

The following is a list of the properties specific to MSExchangeMailProvider. This two column table lists the properties in the first (left) column and a brief description in the second (right) column.

String name="sortOrder"

Specifies the sort order for the messages currently displayed.

String name="ssoAdapter"

Specifies the SSOAdapter configuration used by this provider/channels.

Integer name="numberHeaders"

Specifies the limit of message headers to display. Hard limit is 30.

Boolean name="displayHeaders"

Specifies if the headers should be shown.

Boolean name="sentFolderCopy"

Specifies if sent messages should be copied to the Sent Folder (used by MA).

Collection name="applicationHelperEdit"

Specifies the mail application helpers that you can edit settings on.

String name="applicationHelperURL"

Specifies the default mail application helper.

Collection name="ssoEditAttributes"

Specifies the attributes that will appear on the 1st edit page for the provider. These are usually server settings and have nothing to do with display attributes.

Collection name="dpEditAttributes"

Specifies the attributes that will appear on the edit page for the application helper. These are usually display attributes and there can be multiple attributes based on number of clients, etc.

Collection name="sortOrderSelectOptions"

Specifies the different mail sort order options (recent at top or bottom).

See "MS Exchange Mail Channel" for an example of a channel that uses MSExchangeMailProvider.

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 4-21 shows the display profile definition for NotesProvider.

Code Example 4-21  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"/>

        <ConditionalProperties condition="locale" value="en">

            <String name="helpURL" value="en/desktop/notes.htm" advanced="true"/>

        </ConditionalProperties>

        <String name="helpURL" value="en/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>

The following is a list of the properties specific to NotesProvider. This two column table lists the properties in the first (left) column and a brief description in the second (right) column.

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

PersonalNoteProvider

Code Example 4-22 shows the display profile definition for PersonalNoteProvider.

Code Example 4-22  Display Profile Definition for PersonalNoteProvider  

<Provider name="PersonalNoteProvider" class="com.sun.portal.providers.personalnote.PersonalNoteProvider">

    <Properties>

        <String name="title" value="Personal Notes Provider"/>

        <String name="width" value="thick"/>

        <Boolean name="isEditable" value="true" />

        <String name="editType" value="edit_subset" advanced="true"/>

        <String name="description" value="PersonalNotes Provider Channel Sample Implementation"/

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

        <ConditionalProperties condition="locale" value="en">

            <String name="helpURL" value="en/desktop/personalnotes.htm" advanced="true"/>

        </ConditionalProperties>

        <String name="helpURL" value="en/desktop/personalnotes.htm" advanced="true"/>

        <String name="fontFace1" value="Sans-serif"/>

        <Collection name="notes">

        </Collection>

    </Properties>

</Provider>

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 4-23 shows the display profile definition for SimpleWebServiceProvider.

Code Example 4-23  Display Profile Definition for SimpleWebServiceProvider  

<Provider name="simpleWebService" class="com.sun.portal.providers.simplewebservice.apache.ApacheWebServiceProvider">

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

        <ConditionalProperties condition="locale" value="en">

            <String name="helpURL" value="en/desktop/webchann.htm" advanced="true"/>

        </ConditionalProperties>

        <String name="helpURL" value="en/desktop/webchann.htm" advanced="true"/>

        <String name="fontFace1" value="Sans-serif"/>

        <String name="productName" value="Sun ONE Portal Server"/>

        <Integer name="descriptorCacheTimeOut" value="600" advanced="false" lock="false" merge="replace" propagate="true" />

        <Collection name="defaultInput">

        </Collection>

    </Properties>

</Provider>

The following is a list of the properties specific to SimpleWebServiceProvider. This two column table lists the properties in the first (left) column and a brief description in the second (right) column.

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 "Sample Simple Web Service Channel" for an example of a channel that uses SimpleWebServiceProvider.

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 4-24 shows the display profile definition for SimpleWebServiceConfigurableProvider.

Code Example 4-24  Display Profile Definition for SimpleWebServiceConfigurableProvider  

<Provider name="simpleWebServiceConfigurable" class="com.sun.portal.providers.simplewebservice.apache.ApacheWebServiceProvider">

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

        <ConditionalProperties condition="locale" value="en">

            <String name="helpURL" value="en/desktop/webchann.htm" advanced="true"/>

        </ConditionalProperties>

        <String name="helpURL" value="en/desktop/webchann.htm" advanced="true"/>

        <String name="fontFace1" value="Sans-serif"/>

        <String name="productName" value="Sun ONE Portal Server"/

        <Integer name="descriptorCacheTimeOut" value="600" advanced="false" lock="false" merge="replace" propagate="true" />

        <Collection name="defaultInput">

        </Collection>

    </Properties>

</Provider>

The following is a list of the properties specific to SimpleWebServiceConfigurableProvider. This two column table lists the properties in the first (left) column and a brief description in the second (right) column.

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 "Sample Simple Web Service Configurable Channel" for an example of a channel that uses SimpleWebServiceConfigurableProvider.

UserInfoProvider

UserInfoProvider collects information from the display profile and Sun ONE Identity Server. 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 4-25 shows the display profile definition for UserInfoProvider.

Code Example 4-25  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"/>

        <ConditionalProperties condition="locale" value="en">

            <String name="helpURL" value="en/desktop/userinfo.htm" advanced="true"/>

        </ConditionalProperties>

        <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="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>

The following is a list of the properties specific to UserInfoProvider. This two column table lists the properties in the first (left) column and a brief description in the second (right) column.

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.


Display Profile Common Properties for Providers

The Sun™ ONE Portal Server software sample portal display profile XML fragments define the default values for all expected properties, so that channels that use the supplied providers do not have to define all the properties, only the ones that need to be different.


Note

Depending on the merge priorities and locking assigned to the display profile documents that make up a user’s display profile, the ultimate property values that are returned to a user’s Desktop can change. See the Sun ONE Portal Server 6.2 Administrator’s Guide for more information on merging.


The following is a list of common properties for a <Provider> definition. In addition to the following properties, there are properties that are used in specific providers. For example, the lines and maxLines properties are required by the notes provider code.

The following two column table lists the general properties in the first (left) column and a brief description in the second (right) column.

title

Specifies the title that appears in the channel title bar in the Desktop.

description

The description is displayed on the content page to give the user a little more information about what the channel is more. For example:

title: Bookmarks

description: manage your portal-specific bookmarks

refreshTime

The refreshTime property controls how often a channel’s content is reloaded. See "Channel Refresh Times and Container Caching" for more information.

editType

Specifies the edit type, either edit_complete or edit_subset. If edit_complete, the provider’s getEdit() method is responsible for generating the complete Edit page content. If edit_subset, a generic edit provider container is used to put a frame around the Edit page. The provider’s getEdit() page is then called, and displays the content of the Edit page.

isEditable

Determines if the provider has an edit view. If true, the Edit button is generated in the channel title bar. If isEditable is false, no edit view is provided and no Edit button is generate in the title bar. See "isEditable" for more information.

width

A channel’s width setting is a suggestion for containing channels as to how much screen real estate the channel may require. This value is only a suggestion; a container is not required to utilize this value for its contained channels. Possible values are thin, thick, full_top, or full_bottom. In general, these values only make sense for an HTML-based Desktop.

helpURL

Specifies the online help URL, which can be either a fully qualified URL value or a relative path to the doc root location. For example, the online help URL for the bookmark channel is:

http://hostname:port/portal/docs/en/desktop/bkmark.html

This URL could also be defined as desktop/bmark.html. In this case, the provider context code figures out the doc root and the user locale, and locates the online help URL.

A return value of null signifies that this provider does not have a help page.

To have the provider code not generate a Help icon on the title bar for the channel, use a value of “”.

fontFace1

Specifies the default font face for the channel, for example, Sans-serif.

productName

Specifies the name of the product, for example, Sun ONE Portal Server. This is not required1 by all the providers.

Required properties and their values for the <Provider> definition are based on the provider interface. The required properties are necessary for the provider code, but the channel can set its own properties that override these values.

1Required properties and their values for the provider definition are based on the Provider interface. The required properties are necessary for the provider code if the provider class extends ProviderAdapter or the ProfileProviderAdapter class. Note that the channel can set its own properties that override these values.

You can also define other properties in the <Provider> definition. For example:

<Provider name="MyProvider" class="com.sesta.providers.MyProvider">

    <Properties>

        ... required properties ...

        <String name="authorInfo" value="John Doe (john.doe@sesta.com)"/>

    </Properties>

</Provider>

isEditable

The isEditable property determines if the provider has an edit view. When isEditable is set to true, the Edit button is generated in the channel title bar. By clicking the Edit button, users can display an Edit page and customize channel settings such as whether the channel is minimized or detached. The Edit page is generated by the Provider.getEdit() method.

When isEditable is set to false, the Edit button is not generated in the channel title bar and users cannot change the settings for the channel. To implement an editable provider, the default no-operation implementations of ProviderAdapter.getEdit() and ProviderAdapter.processEdit() must be overridden. If the provider has the getEdit() and processEdit() methods defined, you can change the value of isEditable from false to true to cause the Edit button to appear in the channel title bar.

The following providers must have the isEditable property tag set to false, as, by default, there is no code for handling the Edit page:

You would need to extend these providers to enable them to have an edit view. See the Sun ONE Portal Server 6.2 Developer’s Guide for more information on how to extend a provider.

The following providers can have the isEditable property tag set to true or false, but can only be used by an authorized user, such as the administrator:

The following providers have the isEditable property tag set to true by default, though you can change isEditable to false if you do not want users to be able to customize the channels:

authlessState

The authlessState property determines how client specific state is managed when the Desktop is operating in authless mode. Client specific state is accessed via the ProviderContext.get/setClientProperty() methods. The authlessState client type property can take on three values: client, server, and none. When set to:

By default, the authlessState client type property is not present, and defaults to client for HTML devices, and none for non-HTML devices. To modify the default value for a specific client type, add the authlessState client type property and set its value to either client, server, or none.

encoderClassName

The encoderClassName client type property maps an encoding algorithm (class) to a specific client type. This information is used by the ProviderContext.escape() method to escape strings in a client type specific manner.

ConditionalProperties

This provides a generic operation for retrieving conditional properties. The most common conditions are locale and clientType, but the API is generic in that it allows you to define and base properties on any sort of condition.

In the administration console, the conditional properties are displayed as condition-value and can be edited like collections. The conditional properties can be nested and can be added to a channel or inside another conditional property. Use the Add Property page to add a new conditional property.

The <ConditionalProperties> tag must be used to define the filtering criteria. The tag contains the following required attributes:

condition

Specifies name of the filter

value

Specifies the value to be used in the filter

In the display profile, the <ConditionalProperties> tag can be defined as outlined in Code Example 4-26.

Code Example 4-26  <ConditionalProperties> Tag Usage Sample  

<Properties>

    <String name="foo" value="bar">

    <ConditionalProperties condition="locale" value="de">

        <String name="foo" value="german bar">

        <String name="baz" value="a german baz value">

    </ConditionalProperties>

    <ConditionalProperties condition="client" value="nokia">

        <ConditionalProperties condition="locale" value="de">

            <String name="foo" value="nokia german bar">

        </ConditionalProperties>

    </ConditionalProperties>

</Properties>



Previous      Contents      Index      Next     


Copyright 2003 Sun Microsystems, Inc. All rights reserved.