From: David Cantrell Date: 15:44 on 08 Mar 2004 Subject: YaBB 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.
Generated at 10:27 on 16 Apr 2008 by mariachi