The DiscussionProvider is JSPProvider based and hence customizable. It 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.
The DiscussionProvider includes features such as discussion threads, starting discussions based on documents or new topics, searching discussions, and rating discussions. By default, the Discussions channel is available on the sample portal for anonymous users. However, an anonymous user cannot subscribe to a discussion or edit the Discussion channel.
The DiscussionProvider supports a full view (through the Discussions channel) and a lite view (through the DiscussionLite channel.) It has the following main functions:
Start a new discussion from the discussion channel.
Start a new discussion based on web documents from the search channel.
Add a comment to an existing discussion or post a reply to an existing discussion.
Rate all discussions and comments. Note that the displayed ratings are based on an algorithm such that the rating for any comment goes up gradually. For example, a comment has to be rated important three times before it is marked as important.
Search all discussions and search within a discussion. These functions are routed to the search provider. The displaySearch property can be disabled if the search feature is not required in the discussion channel. Users can also search by rating in Advance Search.
Authenticated users can choose to subscribe to a particular discussion by selecting the subscribe link. The request is handled by the SubscriptionProvider. The displaySubscription property can be disabled if the feature is not required. By default, the value is true.
A Discussion Lite view retrieves main posts sorted by last-modified date and has pagination so users can access older discussions. View discussion displays each discussion subtree. The main item is displayed in detail and the subtree is displayed below the main item.
View discussion includes:
Several filters on the page. A document display can be based on filters such as document rating (irrelevant, routine, interesting, important, and must read).
Display preference can be set to threaded or flat display.
Expansion threshold helps to control displayed items in the subtree. The users can choose to expand only highly rated documents, or expand all or collapse all. Default value is collapse all. Expand all will expand all the filtered comments. It will also show a description of the discussion, provide a menu for rating the discussion, and allow the user to post a reply.
The DiscussionLite channel and the Discussions channel are based on the DiscussionProvider.
The DiscussionLite channel displays the top twenty discussion titles (which can be reconfigured) and the date. The discussions are sorted by creation date (last modified) and the newest discussion is displayed first. The DiscussionLite channel view has links to view each discussion, view all discussions, and start a new discussion. All these links target the Discussions channel which gets displayed in the JSPDynamicSingleContainer.
Properties for this channel can be configured from the administration console. By default, there are no user editable properties for this channel.
The Discussions channel includes a full view that:
Shows detailed descriptions for the top eight discussions sorted in descending order. This can be reconfigured from the channel edit page.
Includes pagination so that users can see all the discussions.
Supports search. The search returns discussion and comment results.
Similar to the search channel JSPs, the discussion channel JSPs have a query portion, a display portion, and use Desktop themes.
For more information on the channel specific JSP files, see the Sun Java System Portal Server 7.1 Technical Reference.