Plumtree EDK (Enterprise Web Development Kit) 5.4.0 |

# Plumtree.Remote.PRC.Collaboration.Discussion Namespace

Provides classes and interfaces for creating, modifying, managing, and querying for Collaboration discussions and posts. See Discussion Example

Since EDK 5.1

Namespace hierarchy

### Classes

Class | Description
--- | ---
DiscussionMessageQueryOrder | `DiscussionMessageQueryOrder` represents a pair that consists of a `DiscussionMessageAttributes` and a boolean value indicating whether to order ascending. This class is used in `IFilter`.

### Interfaces

Interface | Description
--- | ---
IDiscussion | An `IDiscussion` represents a collaboration discussion object. A Discussion contains zero or more messages and reply messages. This interface handles creation of messages, modifications of discussion metadata and security. Note that all operations modifying the discussion will not be stored permanently until `Store` method is called.
IDiscussionFilter | Filters used for querying Discussions.
IDiscussionManager | `IDiscussionManager` is an interface for discussion-related functionality. It handles discussion message creation, deletion and query. A discussion contains zero or more messages. A Message is the smallest unit in a discussion and contains zero or one parent message and replies. A child of a message is a reply. See Discussion Examples.
IDiscussionMessage | `IDiscussionMessage` represents a collaboration discussion message object. This interface handles message modification and reply message creation. A Message is the smallest unit in a discussion contains zero or one parent and zero or more children. A child of a message is a reply. To create a reply message to a topic, call `CreateDiscussionReplyMessage` method on the topic message. To create a reply to a reply message, call `CreateDiscussionReplyMessage` method on the parent reply message, which is also an `IDiscussionMessage`. This will create a tree-like structure of the messages with various levels of reply. Note that all discussion message modifications will not be stored permanently until `Store` method is called.
IDiscussionMessageFilter | Filters used for querying Discussion messages. By default a discussion message filter will be set to give the largest possible result set. The various setter methods can be used to narrow the kinds of results to return.

### Enumerations

Enumeration | Description
--- | ---
DiscussionMessageAttributes | An enumerated type used to describe the specific fields that can be used in constructing a `DiscussionMessageQueryOrder` for Discussion Messages.
DiscussionMessageModeratorFilterTypes | An enumerated type passed to an instance of `IDiscussionFilter` to describe the moderator filter type for discussions, used in `IDiscussionMessageFilter.ModeratorType` attribute.
DiscussionMessageStatusFilterTypes | An enumerated type passed to an instance of `IDiscussionFilter` to specify whether to return only messages in approved status (default), unapproved status, or both, used in `IDiscussionMessageFilter.MessageStatusType` attribute.
DiscussionPermissions | An enumerated type used to represent permission to perform a specific action on a Discussion, used in `IDiscussion.IsActionAllowed`.