create new tag
, view all tags

ThreadedDiscussionPluginDev Discussion: Page for developer collaboration, enhancement requests, patches and improved versions on ThreadedDiscussionPlugin contributed by the TWikiCommunity.
• Please let us know what you think of this extension.
• For support, check the existing questions, or ask a new support question in the Support web!
• Please report bugs below

ALERT! This plugin requires the TWiki Cairo release!
It is not guaranteed to work under TWiki 4.1 or later.
See below (2008) for discussion.

Feedback on ThreadedDiscussionPlugin

Some words on the current implementation... I have started this based on PeterThoeny's RenderListPlugin. Initially, my goal was to make this plugin an extension to RenderListPlugin, with inheriting as much of the code as possible. Unfortunately, I discovered a gotcha... RenderListPlugin forces all items to be in a single line (there is a mechanism of "manually word-wrapping" by using continuation lines) but for a discussion forum that is a non-starter in my opinion. When making multi-line entries, the beautiful thread icons from RenderListPlugin loose some of their beauty, due to the table rendering.

So I decided to just use simple threadlines for the time being to show indentation. This makes much of the machinery in RenderListPlugin overkill. If I cannot come up with a clever way of recreating the thread icons (I am playing with using table borders to make "T" and "L" shapes), I might move to an implementation based on simple list rendering instead. This would not require parsing the whole list at once, and probably be faster (albeit speed does not seem to be an issue).

-- ThomasWeigert - 02 Mar 2005

Feature Suggestions

Description Proposer Status
Optional formatting for individual discussion items (similar to :icon) ThomasWeigert  
Allow dropping {} on empty parameter list ThomasWeigert  
Allow deletion of item ThomasWeigert  
Allow deletion of thread ThomasWeigert  
Combine with RecursiveRenderPlugin to allow entering arbitrary text as discussion item, including line breaks, lists, etc. ThomasWeigert  
Automatically add signatures and dates of the person last editing ThomasWeigert  
Automatically add flags for recent changes (keep flag for n days, as defined by preference ThomasWeigert  
Put <div> around discussion item to allow user to define style ThomasWeigert  
Allow multiple line comments.
Users cannot be expected to know that typing a return will break the structure of a bulleted list. Should multiple lines be turned into multiple bullets at the same level?
Hide "edit" button in pdf generated by GenPDF add-on package(look at EditTablePlugin for inspiration) SteveWampler  


Interesting concept. Thanks for making this Plugin available to the TWikiCommunity!

-- PeterThoeny - 19 Mar 2005

Updated to provide two styles:

  • The "thread" style with a bar on the left and
  • the "list" style which just uses a bulleted list.
Further, I have provided the ability to customize the "thread" style using style commands.

-- ThomasWeigert - 12 Apr 2005

I have written the requirements discussion from RequirementsForMultipleFormSupport via the ThreadedDiscussionPlugin, using the "list" style, see the referenced topic.

I was hoping to get feedback on this type of plugin and suggestions for improvements... Could you please take a look and play with it?

-- ThomasWeigert - 16 Apr 2005

Very promising idea! This now makes it possible to build fully featured discussion boards. Great!

-- FranzJosefSilli - 17 Apr 2005

I just found the demo - this plugin is exactly what I've felt was needed - a simple wiki list that was editable and insertable. Good show!

-- MartinCleaver - 17 Apr 2005

Dear all, I am hoping to get some feedback on how I should make this plugin more customizable. I am planning to put a <div> around each discussion item and give the user the capability of defining what style is attached with each item for all items, and also, overriding for each individual item.

Of course, there are different definitions of what it means to put a <div> block around a discussion item.

Please go to ThreadedDiscussionExample; there I have put three variations of what one could get. I have wrapped a black thin border around each item to indicate the regions affected.

I hope to get feedback on which of these is preferable. Note that in real life one would not put such a border around the item, but one might highlight some item, or use background or left or right border markings... etc.

-- ThomasWeigert - 18 Apr 2005

I tried your plugin but unable to understand how it works. I followed installation steps as per http://twiki.org/cgi-bin/view/Plugins/ThreadedDiscussionPlugin

I used the example but the simulated view as mentioned on plugin doesn't come. Instead I get "if installed" view.

Is there anything which I am missing?

The version of Twiki is TWiki20040902

-- BhushanBhangale - 20 Apr 2005

Bushan, assuming I understand what you are saying it sounds like the plugin is not loading. Please check the %ACTIVATEDPLUGINS% flag. Then check the error logs (apache and twiki), and finally check whether all files really are installed (you need the *.pm and *.txt files for the plugin to even load). You can try the plugin out at the website mentioned earlier if you are not sure how things should look...

-- ThomasWeigert - 21 Apr 2005

On a Develop install...

[traceback deleted]

-- MartinCleaver - 22 Apr 2005

Martin, this plugin works on Cairo, not Develop branch... I'll port it in time...

-- ThomasWeigert - 22 Apr 2005

Aww. I was planning to move my sites to Dakar frown

-- MartinCleaver - 25 Apr 2005

I just started doing work on Dakar. Once I finish getting the hang of it I'll move the plugin over. Please be patient...

-- ThomasWeigert - 25 Apr 2005

We definitely need more great plugins (e.g. those from Thomas and Crawford) to work smoothly on Dakar. I will help in testing as much as possible, as Lynnwood and others already do. Hopefully more people like Thomas and Michael (Daum) will port there great plugins and skins to support Dakar (resp. the DEVELOP branch). I'm looking forward to what TWiki will become.

-- FranzJosefSilli - 25 Apr 2005

Or better yet, fix the Plugins to use only documented functions and make sure that the Dakar Plugin API remains compatible with TWikiRelease02Sep2004. Never underestimate the value the existing Plugins bring to the TWiki project.

-- PeterThoeny - 30 Apr 2005

Peter, as you know, there is too much existing TWiki functionality that has to be recreated if you want to do certain things with a plugin. Sticking to the API is not always an option. Note that in the cases the underlying TWiki changes, most likely the recreated functionality has to change also. I have put all the direct access to TWiki core into EditContrib so that I can change it in one swoop to Dakar. I have checked; there are no difficulties in moving to Dakar, I just want to do some other work on Dakar first...

-- ThomasWeigert - 30 Apr 2005

A minor point - 'threaded' discussions don't render properly with the genpdf addon - the alignment is off on discussions after the first. 'list' discussions render properly, but I wish there was a way to automatically hide the 'edit comment' tags when rendering to pdf!

-- SteveWampler - 25 May 2005

Does this misalginment also affect RenderListPlugin?

On the hiding of comment tags, when rendering to pdf, do you apply a special skin? Or alternatively, can you apply a style sheet? We could get rid of these tags with styles, but I need some help on that one...

-- ThomasWeigert - 26 May 2005

I don't do anything special beyond the defaults provided by the GenPDF add-on package. However, I can point to the EditTablePlugin, which does successfully hide its "Edit" button in the PDF version. Maybe it has some hints in the code?

-- SteveWampler - 11 Jun 2005

checked .zip into CVS

-- WillNorris - 19 Jul 2005

I just uploaded and installed this. However I am getting a error Use of uninitialized value in numeric gt (>) at /var/www/twiki/lib/TWiki/Plugins/ThreadedDiscussionPlugin.pm line 268 Shouldn't the maxlevel on that line read maxlvl?

I also note that TML that starts and/or stops at the end of the line is broken too... eg. -, = etc.

-- ScottClaridge - 17 Aug 2005

By "error" is assume you mean a message in the apache error log, not a real error? I have cleaned this up and will upload a new version. There is one message I cannot get rid of easily without makeing the code more cumbersome: In

      $text =~ s/%DISCUSSION{(.*?)}%(([\n\r]+[^\t]{1}[^\n\r]*)*?)(([\n\r]+\t[^\n\r]*)+)/&TWiki::Plugins::ThreadedDiscussionPlugin::handleAnalyzeList($1, $2, $4, $theNr, $query, $theSec)/ges;
it is possible that $2 is undefined.

-- ThomasWeigert - 17 Aug 2005

Uploaded a new version which removes most of the apache error log messages and fixes the problem with TML not rendering at end of section, as pointed out so kindly by ScottClaridge.

-- ThomasWeigert - 17 Aug 2005

Thanks for the fix. I'll try it out as soon as I can. (And you're right: it was a apache log error message. Still an error though... )

-- ScottClaridge - 17 Aug 2005

Scott, I am not always sure whether this messages about undefined variables are really errors. Really there is nothing wrong with passing undefined variables, for example to functions. Take this example above:

  • It is perfectly acceptable that the prefix (picked out by $2 is empty
  • and it is legal to pass and undefined value into handleAnalyzeList.
It beats me why apache complains here.

-- ThomasWeigert - 18 Aug 2005

Having problems with an install on Win2003. I've installed the plugin per the instructions; but am not seeing it at all in %ACTIVATEDPLUGINS%

Nothing in either the Apache errors log, or in either the TWiki log or debug log.

I made sure that edittable is in bin, ThreadedDiscussionPlugin.pm is in lib/TWiki/Plugins and ThreadedDiscussionPlugin.txt(,v) are in data/TWiki.

But; when I try looking at the ThreadedDiscussionPlugin topic, the lists are not rendered.

This is with Cairo. Any thoughts, suggestions greatly appreciated.

  • Update (15 Feb 2006): My Bad.... I had neglected to notice the EditContrib dependency. I've put that in and everything seems to work. Appologies for the waste of space. -- SteveAnthony

-- SteveAnthony - 13 Feb 2006

Has anybody been able to successfully use the ThreadedDiscussionPlugin with TWiki401? I'm getting many errors about calls to unknown paths, files, functions, etc... Any ideas?


-- SergioRotstein - 14 Feb 2006

To the Plugin maintainer: Please consider fixing the Plugin to be compatible with Cairo and Dakar codebase. HandlingCairoDakarPluginDifferences has the details.

-- PeterThoeny - 14 Feb 2006

Thomas seems to be busy, guess he needs another trans continental flight. wink

-- FranzJosefSilli - 14 Feb 2006

Has there been any thought given to integrating this with MailInContrib or MailToTWikiAddOn so that email discussions could be archived as Twiki topics?

-- RobertBlumen - 07 Apr 2006

When I try to test the plugin I get the following error:

TWiki detected an internal error - please check your TWiki logs and webserver logs for more information. Undefined subroutine &TWiki::Prefs::formatAsFlag called

Any ideas for that?

-- AlexRaabe - 29 Jun 2006

This plugin is not marked as being tested on 4.0, and it sounds as if it hasn't been upgraded to 4.0.

-- MeredithLesly - 29 Jun 2006

Upgrade to Dakar is in progress...

-- ThomasWeigert - 30 Jun 2006

In my Daker release 4.0.4, this plugin is not working.
Undefined subroutine TWiki::Prefs::formatAsFlag
Update is greatly appreciated.

-- KyawTun - 19 Aug 2006

Sorry, this plugin has not yet been ported to Dakar....

-- ThomasWeigert - 19 Aug 2006

Hi everyone. I made some modifications to the plugin so that it works in both Cairo and Dakar. You can check it out here: http://twiki.org/p/pub/Main/TomPetr/ThreadedDiscussionPlugin_hybrid.zip

-- TomPetr - 25 Aug 2006

Tom, this plugin has a modification policy of PleaseFeelFreeToModify, e.g. you can update the ThreadedDiscussionPlugin with your new version.

-- PeterThoeny - 27 Aug 2006

Tom has sent me his version long ago. The reason why I have not yet integrated it is that it does not pass all my test cases, and I had not time to figure out why.

Also, I am not fond of using suboptimal handling of tags, just to make both Cairo and Dakar work from the same plugin. I personally prefer to focus just on Cairo for a release, rather than both, so that we can move the plugin forward using the new features of Dakar, rather than holding it back due to Cairo restrictions....

-- ThomasWeigert - 27 Aug 2006

I was pleased to install the TomPetr version for Dakar but found that it had an error. I get the following:

 TWiki detected an internal error - please check your TWiki logs and webserver logs for more information.

Undefined subroutine &TWiki::Prefs::formatAsFlag called 
Any help you can give would be appreciated.

-- PaulDzubinski - 06 Sep 2006

I also hve the same problem, I have Dakar version, following error occurs: "Undefined subroutine &TWiki::Prefs::formatAsFlag called " I also unzipped modification of TomPetr: ThreadedDiscussionPlugin_hybrid.zip, but I get the same error?

-- OnurSencer - 06 Oct 2006

At the top of this topic there is a notice "This plugin requires the TWiki Cairo release!"

-- SteveStark - 24 Oct 2006

Change these two lines in ThreadedDiscussionPlugin.pm from the hybrid build:

    #my $int = &TWiki::Prefs::formatAsFlag(&TWiki::Func::extractNameValuePair( $theAttr, "interactive" )) || "";
    #my $noIcons = &TWiki::Prefs::formatAsFlag(TWiki::Func::extractNameValuePair( $theAttr, "noicons" )) || "";

... to: ...

    my $int = &TWiki::Func::getPluginPreferencesValue(&TWiki::Func::extractNameValuePair( $theAttr, "interactive" )) || "";
    my $noIcons = &TWiki::Func::getPluginPreferencesValue(TWiki::Func::extractNameValuePair( $theAttr, "noicons" )) || "";

-- RobertMorton - 03 Nov 2006

I replaced the lines calling formatAsFlag in the hybrid version of the .pm file as specified by RobertMorton, but to no avail. I'm still getting the error "Undefined subroutine &TWiki::Prefs::formatAsFlag called " running under Dakar.

-- RonCostin - 11 Dec 2006

Ok, by replacing the lines with formatAsFlag references, I now get items to display properly. However, when I click the "Edit" or "Comment" link next to a line item, I get the following error: "Software error: Can't call method "enterContext" on an undefined value at /Volumes/Storage/PerlScripts/OurWiki/lib//TWiki/Contrib/EditContrib.pm line 42."

-- RonCostin - 11 Dec 2006

Is there any possibility to add date and signature of the last person editing? That would really make it great!

-- MarijanaPrusina - 19 Dec 2006

People might also want to check out BlogAddOn that offers similar functionality to ThreadedDiscussionPlugin.

-- ArthurClemens - 19 Dec 2006

Hi, is there anybody woking on a update maybe? This plugin is really great and it would be so cool if it worked under Dakar.

-- MarijanaPrusina - 25 Jun 2007

hi, i am new to this twiki. I have installed new version of Twiki-4.1.2 (Edinburgh). I tried installing ThreadedDiscussionPlugin and i am getting error as "Undefined subroutine &TWiki::Prefs::formatAsFlag called". Can you guys help me on this to me? or if this plugin won't works with edinburgh means then which plugin i have to use for discussion forms.

-- SomaShekar - 09 Jul 2007

This plugin is outdated (2005) and calls functions outside of the official plugins API. It does not work on TWiki 4.1. You (or someone you hire) could fix the plugin.

It is possible to create a discussion board application on the TWiki application layer using TWikiForms and FormattedSearch, e.g. you do not need a plugin. See some example applications in the Sandbox web.

-- PeterThoeny - 14 Jul 2007

I've been able to get the plugin working on the latest TWiki release (4.1.2) by using the files from the hybrid build. I did edit the lines in ThreadedDiscussionPlugin.pm as a previous post suggested.

These are the bugs I've found so far: The page will not load if there are more than two discussions The edit and comment buttons don't work after the second thread level The edit and comment buttons don't work if there is more than one consecutive item in a level Apache gives this error in relation to the above three events: [Mon Jan 14 08:52:26 2008] [error] [client] [Mon Jan 14 08:52:26 2008] view: Use of uninitialized value in concatenation (.) or string at /var/www/twiki/lib/TWiki/Plugins/ThreadedDiscussionPlugin.pm line 307.

-- BrianSchmalzried - 14 Jan 2008

The TWikiDotNetForumAppAddOn is done purely as a TWiki application, no plugin code that can go wrong.

-- PeterThoeny - 04 Feb 2008

Edit | Attach | Watch | Print version | History: r64 < r63 < r62 < r61 < r60 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r64 - 2009-05-29 - VickiBrown
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by Perl Hosted by OICcam.com Ideas, requests, problems regarding TWiki? Send feedback. Ask community in the support forum.
Copyright © 1999-2018 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.