Package org.olat.modules.fo

Package org.olat.modules.fo Description

See:
          Description

Interface Summary
Forum This is the interface to the forum.
ForumCallback  
Message  
ReadMessage Description:
TODO: Lavinia Dumitrescu Class Description for ReadMessage
 

Class Summary
DemoForumCallback  
FilterForUserController Description:
This controller is implementing a search by user.
ForumChangedEvent Description:
MultiUserEvent fired at close/open or hide/show forum thread, or add/delete thread.
ForumController Description:
CREATE: - new thread (topmessage) -> ask ForumCallback 'mayOpenNewThread' - new message -> ask ForumCallback 'mayReplyMessage'
READ: - everybody may read every message
UPDATE: - who wrote a message may edit and save his message as long as it has no children.
ForumHelper Description:
Provides utilities methods and classes.
ForumImpl Implementation of the Forum Interface
ForumManager  
ForumManagerTest  
ForumMessagesTableDataModel  
ForumNotificationsHandler Initial Date: 25.10.2004
ForumNotificationsUpgrade Description:
Upgrade publisher of forums
ForumThreadViewModeController Description:
Provides a Switch for all supported forum-view-modes and fires Event to ForumController.
ForumUIFactory Description:
Factory for a Titled ForumController, either in a popup or not.
MessageEditController Description:
Can be used for creating / editing or replying to a thread/post.
MessageImpl  
MessageNode Initial Date: 2005-11-08
OpenMessageInThreadEvent Description:
This event trigger the openning of the message in its thread
QuoteAndTagFilter  
ReadMessageImpl  
Status Description:
Encapsulates the status of a Message, and converts the statusCode integer into a meaningful Status object, and vice versa.
TestTextCase  
TestTextCase.Text  
ThreadColumnDescriptor Specialized ColumnDescriptor to display title of Forum messages in a indented (thread-like) way
WordCountTest  
 

Package org.olat.modules.fo Description

Package org.olat.modules.fo Description

Contains all forum related classes and interfaces.

Summary:

Each Forum has 0..* forum threads. Each forum thread has 1..* Message. The thread top Message has the threadtop and the parent message null.
Note: One could improve the Message interface by adding a new isThreadtop() method.

A forum thread has a Status: Sticky, Hidden, Closed, a combination of the mentioned ones, or none of the mentioned ones (Normal). The statusCode integer value is stored on the threadtop message. The Status class converts the statusCode integer into a meaningful Status object and vice versa.
A Sticky forum thread is always displayed on the top of the thread list. That is the sorting of the forum threads should always keep the Sticky threads first.
A Closed forum thread is not editable anymore.
A Hidden forum thread is only visible by the moderators.

The ForumCallback controls the actions the current user is allowed to perfom upon a Forum.
Only a moderator (forumCallback.mayEditMessageAsModerator()) is allowed to create a Sticky thread or to change a thread Status in Sticky, Hidden, Closed or vice versa.
Only a moderator is allowed to edit/delete/attach file a/to message with children or to split a thread.
The split thread outcome is a new thread starting from the selected Message on. The old thread loses the subtree starting from the selected Message.

The ForumManager provides the forum storage layer.
The ForumController provides the business workflow. It processes the events coming from different Components or Controllers either by delegating the storage to the ForumManager or by presenting different Components to the user. (org.olat.modules.fo.MessageEditorController is for creating a thread, editing or replying to a message. It holds the form and allows to handle attachments.

A forum thread view has three options:
1) shows all messages with details (body text, etc) in a threaded view
2) shows all messages with details (body text, etc) in a flat view
3) shows only one message details at a time plus the messages table in the logical (not chronological) order.

The org.olat.modules.fo.ForumControllerFactory provides a Titled ForumController, either in a popup or not.
The MessageNode class represents a tree node (see org.olat.core.util.nodes.INode) adapter for the Message objects. This is later used in org.olat.modules.fo.ForumArchiveManager.
The org.olat.modules.fo.ForumArchiveManager provides the possibility to archive the content of an entire forum or of a forum thread. The org.olat.modules.fo.ForumRTFFormatter is the org.olat.modules.fo.ForumFormatter implementation for RTF. The outcome of the forum archive is a zip containing the RTF file plus the images used for marking the forum thread statuses (e.g. Sticky, Closed).

Use cases: