if you've got a login mechanism and a database hookup, it should be very simple to set up a basic threaded discussion. Use something high-level like Class::DBI and you could do it in an afternoon, most of which could be spent on fun stuff like tree display and mutual moderation. All you really need is a discussion class, a message class and three templates (thread, message and input). You've got the rest already.

Integration with other parts of the site has been a big advantage, in my experience: you start thinking about attaching discussions to all sorts of things in ways that wouldn't otherwise be possible, and the goodwill generated in the discussion is much more directly shared with the rest of the site.

But if you want something more complicated than basic conversation, or you just have to have those little (gak) smily things, you might be better off taking one of the existing systems and hacking on it a bit to use your layout templates and user identities. The open directory has hundreds to choose from, though installing ACS just to run your forum might be a bit rough.

Normally i wouldn't recommend the commercial ones like UBB, but since your users are computer people they might go for that button-crazy look.

As for the html input, my (blush) HTML::TagFilter was written for exactly this purpose and will give you more fine-grained control and fewer loopholes than if you hand-roll it. It's stable, but not exactly mature. Version 0.08 is due, oh, any day now.


In reply to Re: Where to begin on coding a forum by thpfft
in thread Where to begin on coding a forum by Coplan

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.