Discussion Forum Plugin
Description
The DiscussionPlugin adds discussion forums to Trac. An arbitrary number of forums can be added, organised to forum groups. Users can create topics in forums and reply to them which together creates discussion threads. Threaded or flat view to topics and its replies is supported. Each forum has a list of moderators who can delete topics, replies, etc. Plugin is administrated directly or via WebAdminPlugin with apropriate rights. Appending new forums and topics either as new replies shows up in timeline. Searching capability in topics and replies is supported too.
Live Example
To get an idea how the forums look, see BlackTrac discussion.
Bugs/Feature Requests
Existing bugs and feature requests for DiscussionPlugin are here.
If you have any issues, create a new ticket but read BugReporting page first, please.
Download and Source
You can download zipped sources, check out using Subversion, or browse the source with Trac.
Dependencies
DiscussionPlugin depends on WebAdminPlugin since many configuration options are available only on appropriate WebAdminPlugin's pages. The SpamFilterPlugin is also required.
Plugin Versions
As many other plugins in this site even this plugin names its branches according to Trac versions. Here is a simple table explaining this convention for DiscussionPlugin:
| Plugin Branch | Trac Branch | Plugin Version |
| 0.9 | 0.9-stable | 0.5 |
| 0.10 | 0.10-stable | 0.5 |
| 0.11 | 0.11-stable | 0.6 |
Main difference between 0.5 and 0.6 version is that 0.6 uses Genshi templates and 0.5 ClearSilver ones.
Installation
After installing plugin's egg you can set in trac.ini configuration file following variables:
[discussion] title = Discussion default_display = tree forum_sort = id forum_sort_direction = asc topic_sort = id topic_sort_direction = asc
Option title changes title of main navigation bar button, default_display defines default display mode for message list. Possible values are tree, flat, flat-asc and flat-desc. flat is synonym for flat-desc. forum_sort is column by which will be sorted forum lists. Possible values are: id, group, name, subject, time, moderators, description, topics, replies, lasttopic and lastreply. Topic lists may be sorted with topic_sort option. It has values id, forum, subject, time, author, body, replies and lastreply. Options forum_sort_direction and topic_sort_direction are directions of that sorting. They may be asc and desc. Previous example shows default values for these options.
If you run Trac in environment which needs to enable plugins explicitly put in trac.ini these lines:
[components] # Enable this component for 0.11 branch and 0.10 branch from revision r3518. tracdiscussion.api.DiscussionApi = enabled tracdiscussion.admin.DiscussionWebAdmin = enabled tracdiscussion.core.DiscussionCore = enabled tracdiscussion.init.DiscussionInit = enabled tracdiscussion.search.DiscussionSearch = enabled tracdiscussion.timeline.DiscussionTimeline = enabled tracdiscussion.wiki.DiscussionWiki = enabled tracdiscussion.notification.DiscussionNotifyEmail = enabled
The next step is to upgrade your environment:
# trac-admin <path_to_environment> upgrade
For now sqlite version 3 or PostgreSQL is required as SQL backend for running this plugin.
Permissions
Discussion plugin defines four permissions. With DISCUSSION_VIEW permission you can view all topics and you can post replies to them with DISCUSSION_APPEND permission. DISCUSSION_MODERATE permission gives you rights to delete replies or topics where are you defined as moderator. DISCUSSION_ADMIN permission gives you administrator rights to create, modify or delete forum groups, forums and topics. You can add these permissions by typing following commands from commandline or you can use WebAdminPlugin to do it for you.
# trac-admin <path_to_environment> permission add <user> DISCUSSION_VIEW # trac-admin <path_to_environment> permission add <user> DISCUSSION_APPEND # trac-admin <path_to_environment> permission add <user> DISCUSSION_MODERATE # trac-admin <path_to_environment> permission add <user> DISCUSSION_ADMIN
Macros
There are few wiki macros available:
[forum:<forum_id> <text>]
Displays link to forum with id <id> and text <text>. Second argument is optional.
[topic:<topic_id> <text>]
Displays link to topic with id <id> and text <text>. Second argument is optional.
[message:<message_id> <text>]
Displays link to reply with id <id> and text <text>. Second argument is optional.
[[ViewTopic(<topic_subject>)]]
Displays content of topic with subject <topic_subject>. If no subject given displays content of topic with same subject as name of current wiki page. Currently there is a limitation of post length using this macro because of using GET method of HTML form.
Example
Discuss this on the [forum:5 Trac Development forum]. Useful threads are [topic:23 this one] and [topic:96 this one].
Planned Features
- Better permission system (maybe using 0.11 permissions policies).
- Better email notification. (make notification a component and more configurable)
Notes
- Branch 0.9 of plugin is considered as deprecated and not developed anymore.
- Please test if all links and forms redirects page to proper location after request processing in 0.11 branch. If they don't or any error occurs, create a ticket describing error or behavior you expect.
Feedback
Change Log
[6060] by Blackhex on 06/17/09 14:55:10
- Two styles of topic listing are now supported: classic table view and more compact one. default_display trac.ini option is renamed to default_message_display and default_topic_display is added.
[6058] by Blackhex on 06/15/09 16:49:41
- Pagination for messages (#5378).
- Fixed regression with missing trac.ini options for default tables sorting caused by merge from trunk.
[6051] by Blackhex on 06/14/09 18:38:42
- Pagination for topics (#5378).
[6044] by Blackhex on 06/12/09 23:22:40
- Topics now can have attachments (DISCUSSION_ATTACH permission added).
- Link to current message list view is not active now.
[6034] by Blackhex on 06/11/09 15:36:37
- trunk merged into 0.11 branch.
- trunk removed.
[6033] by Blackhex on 06/11/09 15:23:20
- Another fixes in anchors and redirection.
[5424] by Blackhex on 03/29/09 17:13:54
- Resource paths changed to /discussion/forum/<id>, /discussion/topic/<id> and /discussion/message/<id>.
- Client-side redirection in ViewTopic? macro implemented.
- Anchors corrected, all requests should scroll page to some reasonable place now. Report if they don't, please.
[5258] by Blackhex on 02/13/09 14:58:43
- Refactoring completed.
- Fixes bug with RSS links (#4467).
- Links generated by wiki syntax in tables are stripped (#3628).

