YaBB

[prev] [thread] [next] [lurker] [Date index for 2004/03/08]

From: David Cantrell
Subject: YaBB
Date: 15:44 on 08 Mar 2004
YaBB - Yet Another Bulletin Board - is a free webby forums thing, and as
such is hateful.  Clued people know that instead of using such horrors
they should use mailing lists or Usenet, or at least if Usenet is
inappropriate use Usenettish software on your private network, like what
the BBC does for web chat.

At work, I was asked to come up with proposals for some way for our
sales and marketing people to share information easily.  Obvious, innit,
either a mailing list or a newsgroup.  That way, they get discussion
threading for free, we get easy replication of data to our NZian office,
users get their own local copies of the data to refer to when they're
out and about, but most importantly we get to use concepts and software
which have been extensively tested, fixed, and where there is copious
documentation for me to refer to.

But no.  We can't use mailing lists because we're a Doze shop and
Lookout can't do threading.  Newsgroups are vetoed by the IT department
because "it's too complicated" and "it needs desktop software
installed".  Neither of which is true, as once I'd shown my IT-illiterate
boss how to start Lookout Express (which was already installed) and how
to configure it to look at the news server I had running on a dev box,
he found that it Just Worked.  So I had to do something webby for them.

I'm not reinventing that particular wheel thankyouverymuch, and after
looking at several variations on the theme, I settled on YaBB.  And it
was mostly good - tweak the config files and the HTML "template"
(actually embedded in the code, but please let's not go there) and it
Just Worked.  I have happy users.  Oh, but it can't do proper threading,
just like Lookout, but that seems to not be an issue now.  Grrr.

Now, users want more features.  For various good reasons, they want
particular discussion forums to only be accessible to particular users.
This we achieve by making all users log in first, by assigning users to
groups, and then saying "forum thus-and-so is only accessible to group
such-and-such".  And now, a user wants access to two different sets of
forums.  I *can* do this, as the software already supports having forums
accessible by multiple groups, but I can see a huge explosion of groups,
most with just one user, and an administrative nightmare in my immediate
future.  I *need* to be able to put a user into multiple groups.

There is a patch already available to do this, but it sucks.  To start
with, it has a hard-coded number of groups someone can be a member of.
So I need to patch the app to do this properly.  And so I start
grovelling in the source, and it is hateful.  Sins such as rewriting their
own versions of standard functionality abound.  The amount of
wheel-reinvention is *amazing*.  It has code to open a user's profile
repeated in 11 different files.  It often appears several times in a
file:

In one file we find these, each accompanied by code to parse the file:
   fopen(MEMBERFILEREAD,"$memberdir/$name.dat");
   fopen(MEMBERFILEREAD,"$memberdir/$memberfile.dat");
   fopen(MEMBERFILEREAD,"$memberdir/$membername.dat");

And in another, we find these:
   fopen(FILE, "$memberdir/$currentmem.dat");
   fopen(FILE, "$memberdir/$curmem.dat");

Grrr.

-- 
David The Peeved

Generated at 14:02 on 01 Jul 2004 by mariachi 0.52