33 Integrating the Discussions Service

This chapter explains how to integrate the Discussions service in a WebCenter Portal application at design time. For more information about managing and including discussions, see:

This chapter includes the following sections:

33.1 Introduction to Discussions

The Discussions service lets you expose discussion forums on your application pages, so users can create forums, post questions, and search for answers. For example, customers can share product reviews, or a customer service department can answer questions online. Discussion forums additionally provide the means to preserve and revisit discussions.

The back-end server that provides the Discussion service manages content in a hierarchy. At the top of the hierarchy are categories, below that are forums, and then topics. Within each topic are messages, and messages can be nested within messages.

Where categories are exposed in your WebCenter Portal application, authorized users can create multiple forums within a given scope and multiple topics under those forums. Where categories are not exposed, authorized users can create multiple topics under one forum within a given scope.

33.1.1 Understanding the Discussions Service

With the Discussions service, you can do the following (according to your permissions):

  • Create a new discussion forum or a new topic.

  • Navigate into a forum from a list of available forums.

  • Edit, reply to, or delete an existing discussion forum, topic, or message.

  • View the number of replies for a topic on the main forum view.

  • Drill into a topic to read all replies by clicking the topic name.

  • Add a "watch" to a topic or forum.

  • View the following in a quick view:

    • Watched topics

    • Watched forums

    • Most popular (frequently viewed) topics

    • Most recent topics

Note:

In a secured WebCenter Portal application, Discussions permissions are allotted according to an individual user's assigned user role. A user can be a moderator, participant, or viewer. Some activities require moderator or participant roles. For more information, see Section 33.2.3, "Setting Security for Discussions."

The Discussions service is integrated with many WebCenter services, such as Instant Messaging and Presence, RSS, and Search (to search within forums) services. Use the Mail service to archive mails into discussions as threads. Use the Links service to link to a discussion from any WebCenter object, or, link to a WebCenter object.

33.1.2 Requirements for Discussions

The Discussions service requires a discussions server. Install and configure the discussions server that comes with Oracle Fusion Middleware.

For information on installing the discussions server that comes with Oracle Fusion Middleware, see Oracle Fusion Middleware Installation Guide for Oracle WebCenter.

33.1.3 What Happens at Runtime

To create forums in WebCenter Portal applications, you must be a moderator or administrator on the back-end discussion server. For more information, see "Granting Administrator Role for Oracle WebCenter Discussions Server" in Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter.

Figure 33-1 shows a discussion forum at runtime.

Figure 33-1 Discussion Forums Task Flow at Runtime

Description of Figure 33-1 follows
Description of "Figure 33-1 Discussion Forums Task Flow at Runtime"

For more information about the service at runtime, see Oracle Fusion Middleware User's Guide for Oracle WebCenter Spaces.

33.2 Basic Configuration for the Discussions Service

This section describes required steps for adding the Discussions service to your application. It includes the following subsections:

33.2.1 Setting up Connections for Discussions

You must create a connection to the discussions server in your WebCenter Portal application.

The Discussions service requires a WebCenter Discussion connection to the discussions server. You can register additional WebCenter Discussion connections, but only one connection is active at a time.

When you create a WebCenter Discussion connection or set a connection as active, both the Announcements and Discussions services use this same connection. If you have an existing connection, then you can skip this section and see Section 33.2.2, "Adding the Discussions Service at Design Time."

If you do not have an existing connection, then you must create a new WebCenter Discussion connection.

33.2.1.1 Discussions Connections

The Discussions service requires a WebCenter Discussion connection to the discussions server.

Note:

While you can set up the connections to back-end servers at design time in Oracle Developer, you can later add, delete, or modify connections in your deployed environment using Enterprise Manager Fusion Middleware Control. For more information, see Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter.

33.2.1.2 How to Set Up Connections for Discussions

Follow these steps to set up the discussions connection.

  1. In Oracle JDeveloper, open the application in which you plan to consume discussion forums.

    Note:

    If you created a WebCenter Discussion connection for the Announcements service, then that is used by default for the Discussions service. No extra configuration is required.
  2. In the Resource Palette, click the New icon and select New Connection, WebCenter Discussion Connection.

  3. On the Name page, select to create the connection in Application Resources. (A connection in Application Resources is available only for that application, while a connection in IDE Connections is available for all applications you create. If you plan to use the connection in other applications, then select IDE Connections so you do not need to re-create it.)

  4. For Connection Name, enter a unique name; for example, MyDiscussions.

  5. Select the Set the default connection checkbox. You can have multiple connections, but only one can be active (default). If you have different discussions servers (for example, for each page in a Space), then do not select the checkbox, but the service requires that one connection be marked as the default connection (Figure 33-2).

    Note:

    After you create a connection as the default connection, you cannot edit it so that it is not the default. To use a different default connection, you must create a new connection and mark that as the default connection.

    Figure 33-2 Create Discussion Connections, Step 1

    Description of Figure 33-2 follows
    Description of "Figure 33-2 Create Discussion Connections, Step 1"

  6. Click Next.

  7. On the General page, enter values for the required parameters:

    • URL: Enter the URL of the discussions server hosting discussion forums and announcements. For example: http://discuss-example.com:8888/owc_discussions

    • Admin User: The user name of your WebCenter Discussions Server administrator; for example, admin. This account is used by the Discussions and Announcement services to perform administrative operations on behalf of WebCenter users.

      In WebCenter Spaces, this account is mostly used for managing Space-related discussions and announcements. It is not necessary for this user to be a super admin. However, the user must have administrative privileges on the current root category for WebCenter Spaces, that is, the category (on the discussions server) under which all Space-related discussions and announcements are stored.

      Note:

      If your WebCenter application does not include Space-related functionality, the administrator's user name is not required.
  8. Optionally, enter a value for the other parameters:

    • Connection Timeout: Specify a suitable timeout for the connection. This is the length of time (in seconds) the WebCenter Portal application waits for a response from the discussions server before issuing a connection timeout message. The default is -1, which means that the service default is used. The service default is 10 seconds.

    • Policy URI for Authenticated Access: Select the SAML token client policy this connection uses for authenticated access to the discussions server Web service.SAML (Security Assertion Markup Language) is an XML-based standard for passing security tokens defining authentication and authorization rights. An attesting entity (that has trust relationship with the receiver) vouches for the verification of the subject by method called sender-vouches. Options available are:

      • WSS 1.0 SAML Token Client Policy (oracle/wss10_saml_token_client_policy)

      • WSS 1.1 SAML Token With Message Protection Client Policy (oracle/wss11_saml_token_with_message_protection_client_policy)

      The client policy specified must be compatible with the service policy that is configured for the OWCDiscussionsServiceAuthenticated endpoint in the discussions server. Out-of-the-box, the default service policy is WSS 1.0 SAML Token Service Policy (oracle/wss10_saml_token_service_policy).

    • Policy URI for Public Access: Select the client policy this connection uses to enforce message security and integrity for public access to the discussions server Web service. Options available are:

      • None - This is the default setting.

      • WSS 1.1 Message Protection Client Policy (oracle/wss11_with_message_protection_client_policy)

      The client policy specified must be compatible with the service policy that is configured for the OWCDiscussionsServicePublic endpoint in the discussions server. Out-of-the-box, a service policy is not configured for public access.

    • Recipient Key Alias: Enter the recipient key alias to be used for message protected policies (applicable to the OWCDiscussionsServicePublic and OWCDiscussionsServiceAuthenticated endpoints). This is the alias to the certificate that contains the public key of the discussions server in the configured keystore.

      For more information, see the chapter "Configuring WS-Security for WebCenter Portal Applications and Components" in Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter.

    Figure 33-3 Create Discussions Connection, Step 2

    Description of Figure 33-3 follows
    Description of "Figure 33-3 Create Discussions Connection, Step 2"

  9. Click Test Connection, and if it is successful, then click Next.

  10. On the Create Discussion Connection - Step 3 of 3 page, you can configure additional parameters.

    application.root.category.id: (WebCenter Spaces only) The application root category ID on the discussions server under which all discussion forums are stored. For example, if set to 3, then all forums are stored inside the category 3.

    Note:

    To encrypt property values, such as passwords, click Add Secured Property.
  11. Click Finish. Your connection should now appear as a node under Application Resources - Connections.

33.2.2 Adding the Discussions Service at Design Time

This section explains a basic incorporation of the Discussions service.

33.2.2.1 Discussions Task Flows

The Discussions service provides several task flows (Table 33-1) to enable you to include the service in a form that best suits your needs.

Table 33-1 Discussions Service Task Flows

Task Flow Description

Discussion Forums

This task flow displays the Discussion Forums view, which allows the user to see all the discussions and their respective replies.

It also allows users to perform various operations based on their privileges. A Moderator can perform create, read, update, and delete operations on all objects. A Participant can create a topic, edit a topic that has been created by him, and reply to a topic. A Viewer can only view objects.

All watched forums and topics are accessible from this task flow. The Watched Forums and Watched Topics task flows provide more focussed views of watched forums or watched topics.

The parameters alter the way the view appears. For more information, see Section 33.2.2.3, "How to Modify the Discussions Service Task Flow Parameters."

Discussions - Popular Topics

This task flow provides a view that allows users to see the most frequently viewed topics in the application under a given category ID or forum ID.

For more information, see Section 33.3.1, "Adding the Discussions - Popular Topics Task Flow."

Discussions - Recent Topics

This task flow displays a view that allows users to see all the recent topics in the application given a category ID or forum ID.

For more information, see Section 33.3.2, "Adding the Discussions - Recent Topics Task Flow."

Discussions - Watched Forums

This task flow displays a view that allows users to see all of their watched forums in the application under a given category ID.

For more information, see Section 33.3.3, "Adding the Discussions - Watched Forums Task Flow."

Discussions - Watched Topics

This task flow displays a view that allows users to see all their watched topics in the application under a given category ID or forum ID.

For more information, see Section 33.3.4, "Adding the Discussions - Watched Topics Task Flow."

Discussions - Quick View

This task flow displays a combined view of the Popular Topics, Recent Topics, Watched Topics, and Watched Forums task flows. Instead of adding four separate task flows, this single task flow presents all four views with a dropdown list so that end users can personalize it

For more information, see Section 33.3.5, "Adding the Discussions - Quick View Task Flow."


33.2.2.2 How to Add Discussions to a Page

The Discussion Forums task flow provides a complete view of your discussions. To add the Discussion Forums task flow to your WebCenter Portal application, follow these steps.

  1. Follow the steps described in Section 7.2.1, "How to Prepare Your Application to Consume Services" to implement security and create a new customizable page in your application.

  2. Open the page on which you want to add the Discussions service.

  3. In the Resource Palette, expand My Catalogs, WebCenter Services Catalog, and Task Flows.

  4. Drag Discussions from the Resource Palette and drop it onto the page.

  5. When prompted, select Region as the way to create the task flow.

  6. You may be prompted to add the discussions library to your project. If so, then click Add Library. This operation may take a moment to complete.

  7. In the Edit Task Flow Binding dialog box, enter values for the parameters, and click OK. Table 33-2 describes the parameters.

  8. Save and run your page.

    Notes:

    If you created a connection in IDE and not in the application, then the connection must be added to the application. For example, in the Resource Palette under IDE Connections, right-click the connection and select Add to Application.

    All instances of the Discussion Forums task flow in an application run against the same discussions server: it is unnecessary to add multiple Discussion Forums task flow instances. This is true for all service task flows that require connections to back-end servers, such as task flows from the Announcements or Mail services.

The Discussion Forums main view contains some features that require other services in your application.

  • For the links in the main view to work, you must have configured the Links service. For more information, see Chapter 42, "Integrating the Links Service."

  • For users' presence indicators to work, you must have configured the Oracle WebCenter Presence service. For more information, see Chapter 34, "Integrating the Instant Messaging and Presence Service."

  • Oracle recommends that the discussions server and WebCenter point to the same identity store. If the WebCenter Portal application and the discussions page are configured to be secure, then upon logging in to the application, then the Discussions service respects those credentials in the discussions server.

33.2.2.3 How to Modify the Discussions Service Task Flow Parameters

The Discussions service task flows have optional task flow binding parameters.

You can adjust the parameter values when you drop the task flows onto a page or after you have placed a task flow on a page:

  1. Navigate to the Edit Task Flow Binding dialog by clicking the Bindings tab at the bottom of the page (next to the Source tab).

  2. Under Executables, you'll see the task flow you added. Figure 33-4 shows an example of a Search task flow in the Executables section.

    Figure 33-4 Page Data Binding Definition

    Description of Figure 33-4 follows
    Description of "Figure 33-4 Page Data Binding Definition"

  3. Select the task flow, and next to the Executables heading, click the Edit selected element (pencil) icon.

  4. In the Edit Task Flow Binding dialog Figure 33-5, revise the binding parameter values as required.

    Figure 33-5 Edit Task Flow Binding Dialog for Discussion Forums Task Flow

    Description of Figure 33-5 follows
    Description of "Figure 33-5 Edit Task Flow Binding Dialog for Discussion Forums Task Flow"

  5. When you are finished, click OK.

  6. Save and run your page to see the results.

Table 33-2 describes the properties that are unique to the Discussions service task flows.

Table 33-2 Discussions Service Task Flow Parameters

Property Description Task Flow

categoryId

This optional parameter is an identifier for an existing category in your Oracle WebCenter Discussions instance to which the view should be scoped.

When no value is supplied, it defaults to the appropriate root category of the discussions server. (This root category ID can be overridden by supplying an additional property named application.root.category.id in the connection.)

For testing purposes, you may want to create a category through the Oracle WebCenter Discussions administrator interface and then reference that category identifier here.

  • Discussion Forums

  • Discussions - Quick View

  • Popular Topics

  • Recent Topics

  • Watched Forums

  • Watched Topics

forumId

This parameter is an identifier for an existing forum in your Oracle WebCenter Discussions instance for which popular topics should be fetched.

If both categoryId and forumId are given, then only categoryId is honored.

  • Discussion Forums

  • Popular Topics

  • Recent Topics

  • Watched Topics

disableToolbar

This parameter indicates whether the toolbar, including the Refresh icon, should be displayed. It can be ${true}, ${false}, or undefined. If you leave this parameter undefined, then the default behavior (false) is to show the toolbar.

  • Popular Topics

  • Recent Topics

  • Watched Forums

  • Watched Topics

showRecursiveForums

This parameter determines if you show forums either in a category only or in subcategories.

True means all forums under a given category/subcategory are shown; false means only the category's direct child forums are shown. The default value is false.

Note: A value of true can impact performance.

Discussion Forums

isCategoryView

A means of showing the forums grouped under the Category ID category or the topics specified under the Forum ID forum. True means you want the task flow to display the forums classified under categoryId; false, the default value, means you want the task flow to display the topics associated with the specified forumId.

This parameter value works in combination with other parameters.

Discussion Forums


You can customize the look and feel of Discussion Forums views by changing parameter values. The following combinations are possible:

Note:

A bidirectional link connects back and forth. For example, when you create a link from a discussion topic to a document, a link from the document back to the topic also is created. Similarly, when you delete the link from the discussion topic to a document, the link from the document back to the topic automatically is deleted.
  • categoryId: This displays the forums list view if there are multiple forums. If there is only one forum, then it drills into the forum and lists all topics with a bidirectional link enabled.

  • categoryId and forumId: This displays the topics list view with a bidirectional link enabled.

  • isCategoryView is set to true: This displays the topics list view with a bidirectional link enabled.

  • categoryId and forumId and isCategoryView is set to false: This displays the topics list view, but a bidirectional link is not enabled.

  • categoryId and isCategoryView is set to true: This displays the forums list view if there are multiple forums. If there is only one forum, then it displays that forum with a bidirectional link enabled.

  • forumId and isCategoryView is set to false: This displays the topics list view, but a bidirectional link is not enabled.

  • categoryId and isCategoryView is set to false: This is similar to when categoryId alone is given.

  • forumId and isCategoryView is set to true: This is similar to when forumId and isCategoryView is set to false.

  • isCategoryView = true or false: This is ignored. It goes with the default scope (that is, all forums listed under the root category) in a WebCenter Portal application.

  • forumId: This is similar to forumId and isCategoryView is set to false.

33.2.3 Setting Security for Discussions

By default, authenticated users of WebCenter applications can view and participate in discussion forums. Any user who has logged in to a WebCenter application can view discussions, and users with sufficient permissions can create forums and topics. To create forums in WebCenter applications, you must be a moderator or administrator on the back-end discussion server that provides the Discussions service.

In an unsecured WebCenter Portal application, the user identity is not propagated to the discussions server; consequently, users are identified as GUEST (that is, as anonymous users) and can view only public categories and forums.

Note:

Categories and forums are server-side classifications that move from category to forum to topic. That is, a category can head a collection of forums, just as a forum can head a collection of topics.

In a secured WebCenter Portal application, discussions permissions are allotted according to an individual user's assigned user role. For example, a user can be a moderator, participant, or viewer. A forum moderator can edit and delete any topics and messages within a forum. A forum participant can create topics and edit his or her own topics. A forum viewer can view topics and messages.

In an unsecured WebCenter Portal application, identity propagation cannot happen. A user is a guest (or anonymous) user who can view only public categories and forums.

In an ADF-secured WebCenter Portal application, identity propagation is enabled. Based on the identity, appropriate permissions are matched and corresponding actions are enabled. The user name that you use to log in to the application is used to log in to the discussions server. The recommended approach is to have the discussions server and the WebCenter Portal application point to the same identity store. When you run the page, you are presented with a login page for user credentials. Enter the credentials with the required privileges in the discussions server.

Note:

The Discussions services requires that the identity store be LDAP-based; that is, not file-based with jazn-data.xml.

ADF security is configured by default if you created your application using the WebCenter Portal Application template. For information about configuring ADF security, see Section 67.3, "Configuring ADF Security."

33.3 Advanced Information for the Discussions Service

This section describes optional features available with this service. It includes the following subsections:

33.3.1 Adding the Discussions - Popular Topics Task Flow

The Discussions - Popular Topics task flow provides a view that allows users to see the most frequently viewed discussion topics under a given category ID or forum ID.

Note:

Popular topics are based on topic replies. The administrator is not able to determine popularity.

To add the Discussions - Popular Topics task flow to your WebCenter Portal application, follow the same instructions that you did for the Discussion Forums task flow in Section 33.2.2.2, "How to Add Discussions to a Page," but drag and drop Discussions - Popular Topics onto the page.

Table 33-2 describes the available parameters for this task flow.

Figure 33-6 shows how the Discussions - Popular Topics task flow looks at runtime.

Figure 33-6 Discussions - Popular Topics View at Runtime

Description of Figure 33-6 follows
Description of "Figure 33-6 Discussions - Popular Topics View at Runtime"

33.3.2 Adding the Discussions - Recent Topics Task Flow

The Discussions - Recent Topics task flow displays a view that allows users to see all the recent topics (that is, topics posted within the past two days) given a category ID or forum ID.

To add the Discussions - Recent Topics task flow to your WebCenter Portal application, follow the same instructions that you did for the Discussion Forums task flow in Section 33.2.2.2, "How to Add Discussions to a Page," but drag and drop Discussions - Recent Topics onto the page.

Table 33-2 describes the available parameters for this task flow.

Figure 33-7 shows how the Discussions - Recent Topics task flow looks at runtime. To view a topic post, simply click the relevant topic.

Figure 33-7 Discussions - Recent Topics View at Runtime

Description of Figure 33-7 follows
Description of "Figure 33-7 Discussions - Recent Topics View at Runtime"

33.3.3 Adding the Discussions - Watched Forums Task Flow

The Discussions - Watched Forums task flow displays a view that allows users to see all of their watched forums under a given category ID.

You can watch discussion forums and topics to keep a close eye on the information most current and relevant to your efforts. The forums and topics you select to watch are personal, in that your selections appear on your view of watch lists. No other user is affected by the forums and topics you choose to watch.

When a user places a watch on a forum or a topic, whenever users add to that forum or topic, in addition to it appearing in the user's watched forums or topics list, the user receives an mail notification.

All watched forums and topics are accessible from the Forums task flow. The Watched Forums and Watched Topics task flows provide more focussed views of watched forums or watched topics.

To add the Discussions - Watched Forums task flow to your WebCenter Portal application, follow the same instructions that you did for the Discussion Forums task flow in Section 33.2.2.2, "How to Add Discussions to a Page," but drag and drop Discussions - Watched Forums onto the page.

Table 33-2 describes the available parameters for this task flow.

Figure 33-8 shows how the Discussions - Watched Forums task flow looks at runtime.

Figure 33-8 Discussions - Watched Forums View at Runtime

Description of Figure 33-8 follows
Description of "Figure 33-8 Discussions - Watched Forums View at Runtime"

For information on how to watch a forum or topic at runtime, see "Working with the Discussions Service" in the Oracle Fusion Middleware User's Guide for Oracle WebCenter Spaces.

33.3.4 Adding the Discussions - Watched Topics Task Flow

Similar to the Discussions - Watched Forums task flow, the Discussions - Watched Topics task flow displays a view that allows users to see all their watched topics under a given category ID or forum ID.

To add the Discussions - Watched Topics task flow to your WebCenter Portal application, follow the same instructions that you did for the Discussion Forums task flow in Section 33.2.2.2, "How to Add Discussions to a Page," but drag and drop Discussions - Watched Topics onto the page.

Table 33-2 describes the available parameters for this task flow.

Figure 33-9 shows how the Discussions - Watched Topics task flow looks at runtime.

Figure 33-9 Discussions - Watched Topics View at Runtime

Description of Figure 33-9 follows
Description of "Figure 33-9 Discussions - Watched Topics View at Runtime"

For information on how to watch a forum or topic at runtime, see "Working with the Discussions Service" in the Oracle Fusion Middleware User's Guide for Oracle WebCenter Spaces.

33.3.5 Adding the Discussions - Quick View Task Flow

The Discussions - Quick View task flow displays a combined view of the Popular Topics, Recent Topics, Watched Topics, and Watched Forums task flows. Instead of adding four separate task flows, this single task flow presents all four views with a dropdown list so that end users can personalize it.

By default, Watched Topics are displayed. This task flow takes only one parameter: categoryId.

To add the Discussions - Quick View task flow to your WebCenter Portal application, follow the same instructions that you did for the Discussion Forums task flow in Section 33.2.2.2, "How to Add Discussions to a Page," but drag and drop Discussions - Quick View onto the page.

Table 33-2 describes the available parameters for this task flow.

Figure 33-10 shows how the Discussions - Quick View task flow looks at runtime.

Figure 33-10 Discussions - Quick View at Runtime

Description of Figure 33-10 follows
Description of "Figure 33-10 Discussions - Quick View at Runtime"

33.3.6 Obtaining Space RSS News Feed URL for the Discussions Service

You can expose Oracle WebCenter Spaces functionality in a WebCenter Portal application. Your WebCenter Portal application users can find out what is happening in a specific Space through RSS news feeds.

Configure RSS news feeds for the Discussions service to enable users to view Space discussions from within a WebCenter Portal application. To obtain the Space RSS news feed URL for the Discussions service, use either of the following WebCenter Spaces APIs:

  • getServiceRSSFeedURL

  • getServiceRSSFeedURLbyGuid

To obtain an RSS feed URL, you must identify the Space (by name or GUID) and specify the service required (by service ID). The service ID for the Discussions service is GroupSpaceWSClient.DISCUSSION_SERVICE_ID.

For information about how to use these APIs, see Section 54.2.5.3.9, "Retrieving RSS Feed URLs for Space Services."

33.3.7 Using Custom Discussions APIs

The back-end Oracle WebCenter Discussions Server includes APIs to further customize your application. To learn more about them, see the Jive Forums documentation on the Oracle Fusion Middleware documentation library (in the WebCenter product area).

33.3.8 Using the Discussions Service REST APIs

Oracle WebCenter provides REST APIs to support the Discussions service. Use the Discussions service REST APIs to post, read, update, and delete discussion forums, topics, and messages.

This section describes the REST APIs associated with the Discussions service. It includes the following subsections:

For an introduction to the REST APIs, see Chapter 55, "Using Oracle WebCenter REST APIs."

Note:

REST APIs do not work out of the box. Before you can use REST APIs, you must take the configuration steps outlined in the following section: Section 55.2, "Before You Begin: Performing Required Configurations."

33.3.8.1 Discussions Entry Point

Each REST service has a link element within the Resource Index that provides the entry point for that service. To find the entry point for the Discussions service, find the link element with a resourceType of:

urn:oracle:webcenter:discussions:forums

The corresponding href or template element provides the URI entry point. The client sends HTTP requests to this entry point to work with the Discussions service.

For more information about the Resource Index, see Section 55.6.1, "The Resource Index."

For more information about resource types, see Section 55.6.2.1, "Resource Type."

33.3.8.2 Discussions Resource Type Taxonomy

When the client has identified the entry point, it can then navigate through the resource type taxonomy to perform the required operations. For more information about the individual resource types, see the appropriate section in Section 55.6.2.1, "Resource Type."

The taxonomy for the Discussions service is:

urn:oracle:webcenter:discussions:forums
   urn:oracle:webcenter:discussions:forum
   urn:oracle:webcenter:discussions:forum:topics
      urn:oracle:webcenter:discussions:forum:topic
      urn:oracle:webcenter:discussions:forum:topic:messages
         urn:oracle:webcenter:discussions:forum:topic:message

Beyond the service entry points, URL templates allow clients to pass query parameters to customize their requests and control the form of returned data.

Collection resources in the discussions resources support pagination (startIndex and itemsPerPage). Other query parameters are not supported (that is, search and projection).

33.3.8.3 Security Considerations

There are no specific security considerations for this service. For general security considerations, see Section 55.9, "Security Considerations for WebCenter REST APIs."

33.3.8.4 Discussions Resource Types

This section provides the information about each resource type. It includes the following subsections:

33.3.8.4.1 urn:oracle:webcenter:discussions:forums

Use this resource type to identify the URI to use to read (GET) and write (POST) discussion forums. The response from a GET operation includes each forum in this collection of forums, and each forum includes links used to operate on that forum. The response from a POST operation includes the forum that was created in this collection of forums and a link to operate on that forum.

Navigation Paths to forums

This section shows how the client can navigate through the hypermedia to access this resource:

resourceindex
   forums
resourceindex
   spaces
      spaces:resourceindex
         spaces:forums

Supported Methods for forums

The following methods are supported by this resource:

  • GET

    • request - body: none, Parameters: startIndex, itemsPerPage (pagination)

    • response - body: forums

  • POST

    • request - body: forum

    • response - body: forum

For more information, see Section 55.6.2.5, "Templates."

Resource Types Linked to From forums

Table 33-3 lists the resource types that the client can link to from this resource.

Table 33-3 Related Resource Types for forums

rel resourceType

self

urn:oracle:webcenter:discussions:forums

 

urn:oracle:webcenter:discussions:forum


33.3.8.4.2 urn:oracle:webcenter:discussions:forum

Use this resource type to identify the URI to use to read (GET), update (PUT), and delete (DELETE) a specific discussion forum. The response from a GET operation includes the specific forum identified by the URI. The response from a PUT operation includes the modified version of the forum identified by the URI. The response from a DELETE operation is a 204.

Navigation Paths to forum

This section shows how the client can navigate through the hypermedia to access this resource:

resourceindex
   forums
      forum
resourceindex
   spaces
      spaces:resourceindex
         spaces:forums
            forum
resourceindex
   activities
      forum

Supported Methods for forum

The following methods are supported by this resource:

  • GET

    • request - body: none

    • response - body: forum

  • PUT

    • request - body: forum

    • response - body: forum

  • DELETE

    • request - body: none

    • response - body: none

Writable Elements for forum

Table 33-4 lists the writable elements for this resource.

Table 33-4 Writable Elements for forum

Element Type Required Constraints Description

name

String

Yes

1 or more characters

Name of the forum

displayName

String

No

1 or more characters

Name used in presentation

description

String

No

1 or more characters

Description of the forum


Read-only Elements for forum

Table 33-5 lists the read-only elements for this resource.

Table 33-5 Read-only Elements for forum

Element Type Description

id

Integer

ID of the forum

parentId

Integer

ID of the parent category

createdBy

String

ID of the user that created the forum

author

personReference

User information about the user that created the forum, including GUID, ID, display name, and a link to the profile icon (same user as createdBy)

createdOn

Date

Date on which the forum was created

updatedBy

String

ID of the user that performed the last modification

modifiedBy

personReference

User information about the user that performed the last modification, including GUID, ID, display name, and a link to the profile icon (same user as updatedBy)

updatedOn

Date

Date on which the forum was last modified

webUrl

String

URL for direct access to the Oracle WebCenter Discussions Server

topicCount

Integer

Number of topics

messageCount

Integer

Number of messages

locked

Boolean

True if this forum is locked

favorite

Boolean

True if this forum is marked as a favorite


Resource Types Linked to From forum

Table 33-6 lists the resource types that the client can link to from this resource.

Table 33-6 Related Resource Types for forum

rel resourceType

self

urn:oracle:webcenter:discussions:forum

 

urn:oracle:webcenter:discussions:forum:topics


33.3.8.4.3 urn:oracle:webcenter:discussions:forum:topics

Use this resource type to identify the URI to use to read (GET) and write (POST) discussion topics. The response from a GET operation includes each topic in this collection of topics, and each topic includes links used to operate on that topic. The response from a POST operation includes the topic that was created in this collection of topics and a link to operate on that topic.

Navigation Paths to topics

This section shows how the client can navigate through the hypermedia to access this resource:

resourceindex
   forums
      topics
resourceindex
   spaces
      spaces:resourceindex
         spaces:forums
            topics

Supported Methods for topics

The following methods are supported by this resource:

  • GET

    • request - body: none, Parameters: startIndex, itemsPerPage (pagination)

    • response - body: topics

  • POST

    • request - body: topic

    • response - body: topic

For more information, see Section 55.6.2.5, "Templates."

Resource Types Linked to From topics

Table 33-7 lists the resource types that the client can link to from this resource.

Table 33-7 Related Resource Types for topics

rel resourceType

self

urn:oracle:webcenter:discussions:forum:topics

 

urn:oracle:webcenter:discussions:forum:topic


33.3.8.4.4 urn:oracle:webcenter:discussions:forum:topic

Use this resource type to identify the URI to use to read (GET), update (PUT), and delete (DELETE) a specific discussion topic. The response from a GET operation includes the specific topic identified by the URI. The response from a PUT operation includes the modified version of the topic identified by the URI. The response from a DELETE operation is a 204.

Navigation Paths to topic

This section shows how the client can navigate through the hypermedia to access this resource:

resourceindex
   forums
      topics
         topic
resourceindex
   spaces
      spaces:resourceindex
         spaces:forums
            topics
               topic
resourceindex
   activities
      topicT

Supported Methods for topic

The following methods are supported by this resource type:

  • GET

    • RequestBody: none

    • ResponseBody: topic

  • PUT

    • RequestBody: topic

    • ResponseBody: topic

  • DELETE

    • RequestBody: none

    • ResponseBody: none

Writable Elements for topic

Table 33-8 lists the writable elements for this resource type.

Table 33-8 Writable Elements for topic

Element Type Required Constraints Description

subject

String

Yes

1 or more characters

Subject of the topic

body

String

No

0 or more characters

Contents of the topic


Read-only Elements for topic

Table 33-9 lists the read-only elements for this resource type.

Table 33-9 Read-only Elements for topic

Element Type Description

id

Integer

Identifier for the topic

parentId

Integer

Identifier for the parent message

forumId

Integer

Identifier for the forum under which this topic is posted

topicId

Integer

Identifier for the topic under which this topic is posted

createdBy

String

ID of the user who created the topic

author

personReference

User information about the user who created the topic, including GUID, ID, display name, and a link to the profile icon (same user as createdBy)

createdOn

Date

Date on which the topic was created

updatedBy

String

User who lasted updated the topic

updatedOn

Date

Date on which the topic was last updated

webUrl

String

URL for direct access to the Oracle WebCenter Discussions Server

depth

Integer

Depth in the hierarchy of messages

messageCount

Integer

Number of child messages under this topic

numberOfReplies

Integer

Number of replies to this topic

favorite

Boolean

Whether the topic is marked as a favorite for the user

locked

Boolean

Whether the topic is locked

hidden

Boolean

Whether the topic is hidden

hasAttachment

Boolean

Whether the topic has attachments


Resource Types Linked to From topic

Table 33-10 lists the resource types that the client can link to from this resource.

Table 33-10 Related Resource Types for topic

rel resourceType

self

urn:oracle:webcenter:discussions:forum:topic

 

urn:oracle:webcenter:discussions:forum:topic:messages


33.3.8.4.5 urn:oracle:webcenter:discussions:forum:topic:messages

Use this resource type to identify the URI to use to read (GET) and write (POST) discussion topic messages. The response from a GET operation includes each message in this collection of messages, and each message includes links used to operate on that message. The response from a POST operation includes the message that was created in this collection of messages and a link to operate on that message.

Navigation Paths to messages

This section shows how the client can navigate through the hypermedia to access this resource:

resourceindex
   forums
      topics
         messages
resourceindex
   spaces
      spaces:resourceindex
         spaces:forums
            topics
               messages

Supported Methods for messages

The following methods are supported by this resource:

  • GET

    • request - body: none, Parameters: startIndex, itemsPerPage (pagination)

    • response - body: messages

  • POST

    • request - body: message

    • response - body: message

For more information, see Section 55.6.2.5, "Templates."

Resource Types Linked to From messages

Table 33-11 lists the resource types that the client can link to from this resource.

Table 33-11 Related Resource Types for messages

rel resourceType

self

urn:oracle:webcenter:discussions:forum:topic:messages

 

urn:oracle:webcenter:discussions:forum:topic:message


33.3.8.4.6 urn:oracle:webcenter:discussions:forum:topic:message

Use this resource type to identify the URI to use to read (GET), update (PUT), and delete (DELETE) a specific discussion topic message. The response from a GET operation includes the specific message identified by the URI. The response from a PUT operation includes the modified version of the message identified by the URI. The response from a DELETE operation is a 204.

Navigation Paths to message

This section shows how the client can navigate through the hypermedia to access this resource:

resourceindex
   forums
      topics
         messages
            message
 
resourceindex
   spaces
      spaces:resourceindex
         spaces:forums
            topics
               messages
                  message

Supported Methods for message

The following methods are supported by this resource:

  • GET

    • request - body: none

    • response - body: message

  • PUT

    • request - body: message

    • response - body: message

  • DELETE

    • request - body: none

    • response - body: none

Writable Elements for message

Table 33-12 lists the writable elements for this resource.

Table 33-12 Writable Elements for message

Element Type Required Constraints Description

subject

String

Yes

1 or more characters

Subject of this message

body

String

No

0 or more characters

Content of this message


Read-only Elements for message

Table 33-13 lists the read-only elements for this resource.

Table 33-13 Read-only Elements for message

Element Type Description

id

Integer

ID of the message

parentId

Integer

ID of the parent message

forumId

Integer

ID of the forum under which the message is posted

topicId

Integer

ID of the topic under which the message is posted

createdBy

String

ID of user that created the message

author

personReference

User information about the user that created the message, including GUID, ID, display name and a link to the profile icon (same user as createdBy)

createdOn

Date

Date on which the message was created

updatedBy

String

User that performed the last modification

updatedOn

Date

Date on which the message was last modified

webUrl

String

URL for direct access to the Oracle WebCenter Discussions Server

depth

Integer

Depth in the hierarchy of messages

messageCount

Integer

Number of messages

numberOfReplies

Integer

Number of replies to this message

hidden

Boolean

True if this message is hidden

hasAttachment

Boolean

True if this message has attachments


Resource Types Linked to From message

Table 33-14 lists the resource types that the client can link to from this resource.

Table 33-14 Related Resource Types for message

rel resourceType

self

urn:oracle:webcenter:discussions:forum:topic:message

 

urn:oracle:webcenter:discussions:forum:topic:messages


33.3.9 Troubleshooting the Discussions Service

This section describes common problems and solutions for the Discussions service.

Problem

It can take several minutes to fetch data from recursive forums. For example, if you drop the Discussions task flow on the page with the categoryId and forumId parameters left blank and you set the showrecursive parameter to ${'true'}, then it could take several minutes to scroll through all the forums.

Solution

The option to show recursive forums is not recommended for performance reasons.

Problem

Users can log on to Oracle WebCenter but cannot log on to Oracle WebCenter Discussions.

Solution

Make sure that Oracle WebCenter Discussions is configured to use the same LDAP provider as the WebCenter Portal application. Contact your administrator for details. For information about configuring LDAP, see the "Configuring the Identity Store" section in Oracle Fusion Middleware Administrator's Guide for Oracle WebCenter.

Problem

When you access a discussions forum from your WebCenter Portal application, the following error message is displayed:

No default or active connection available for: Discussion Forum

Solution

Ensure the following:

  • Ensure that you have created a WebCenter Discussion connection.

  • Ensure the required WebCenter Discussion connection is marked as the default connection.

Problem

While performing certain operations on Discussions Forums task flows, you encounter error messages like "Forum not found" or "Topic not found."

Solution

Check the following:

  • Ensure that the Oracle WebCenter Discussions Server is up and running.

  • Ensure the forum or topic exist on the discussions server.

  • Ensure that you have the required privileges for the forum or topic that you are editing.

If all of these settings are fine and the problem persists, contact your administrator for details.

Problem

If you change the connection to use a different discussions server, and if you change the application root category ID from administrator-services-discussions, then you could see exceptions like, "Category Not Found."

Solution

Restart the managed server on which the WebCenter Portal application is deployed.