I stumbled across the recent discussion on this list regarding the TaxAlmanac Discussion Forum and thought I'd join in and participate in the discussion. My name is Tim Doyle, and I am the moderator for the TaxAlmanac wiki (http://www.taxalmanac.org), and also responsible for driving the effort to launch our discussion forums. Our forum was launched mid-November last year and has been a great success for us. Our customers have found it much easier to use than the standard talk pages. Contributions to the site increased dramatically shortly after we launched these forums. Let me take a stab at answering some of the comments from the earlier discussion thread:
Erik Moeller wrote:
I just saw that Tax Almanac, a MediaWiki customized by Intuit software, has a very interesting integrated discussion system:
http://www.taxalmanac.org/index.php/Discussion_Forum_Index
It uses normal wiki pages in the "Discussion:" namespace to store the threads, and stores the comments themselves as parametrized templates within these pages. But the user interface looks like any ordinary bulletin board.
I don't see any links to source code and don't expect that it is available. Has someone talked to them about whether they'd be willing to open source it already?
We wanted our discussion forum to be built into / based on standard MediaWiki pages, which allows for links to other articles, enables searches, and also encourages users to become familiar with the wiki in general. We created a namespace specifically for these discussions, and added categories to the topic pages so that they could be segmented into different discussion categories. This approach allows us to easily move a discussion from one category to another, or to add it to multiple categories.
We used a set of templates on the site to define what is added to new topics or when other users reply. These refer to other templates which then work with a modified monobook.css to define how the pages actually look.
phil.boswell at gmail wrote:
They seem to be using an extension to provide the "most recent
discussions"
view, sourced from a particular namespace JOINed with a given category.
That is correct. We wrote another extension which returns a current list of articles within a specified namespace, and optionally filtered on a given category. We can also pass in the number of items to return, the name of a template to apply to the results to customize the look of the results, etc.
ecable at avxw wrote:
I contacted the person who developed that system, may be able to get the source code and start working on it; perhaps I can even get him involved in this list! (-;
You succeeded. Regarding the source code, it is not currently available, but we are currently reviewing if we should do this. I will keep you informed. We've been approached by Jimmy on this issue, so you can be assured that we are taking the requests seriously.
timwi at gmx wrote:
That is indeed interesting; however from a software engineering point of view it is extremely hacky and probably hard to maintain. I strongly recommend against using this in official MediaWiki.
I'm not sure why you consider our approach a 'hack' or hard to maintain. Could you explain?
Platonides at gmail wrote:
They use special extensions Special:Newthread (not listed at specialpages)
and probably the edit form is tweaked too.
They format it through several templates:
{{ForumThreadHeading|title|title}} {{ForumNewPost|UserID=Foo|Date=29 February 2006|Text= .......}} {{ForumReplyPost|UserID=Joe|Date=30 February 2006|Text=....}}
<recentpages> namespace=Discussion |category=User_Introductions |limit=50 |template=DiscussionsOnIndex |top=sticky </recentpages>
I guess they do it with the templates. Don't know wat would happen if we started writeng there invalid wiki syntax and closing the template mark.
;)
Platonides got it basically correct. As far as how we protect against incorrect syntax, any characters, such as "}" or "|" which might adversely affect the discussion posts are converted to HTML entities before they are written to the page. Of course users could edit the page using the standard wiki editing mechanism, but we have not found this to be a problem. On the few occasions where someone has made a mistake here, they typically fix it very quickly. Yes, it is possible for someone to vandalize the discussions in this way, but we would deal with that as we would with any other type of vandalism.
I'd be very interested to hear more from the community, and I look forward to participating in the discussions!
Thank you,
Tim Doyle
wikitech-l@lists.wikimedia.org