BuBOL Logo

BuBOL

Bulletin Board Object Library


Home

About
History
CHANGELOG

Documentation
API Documentation
Coding Standards
Development FAQ
Current Database Schema

Downloads
Latest BuBOL Release
All BuBOL Releases
API Documentation
BuBOL Database Schema
    Requires DBDesigner 4
BuBOL UML Class Diagrams
    Requires ArgoUML

Links
BuBOL Project Page
PHP
ArgoUML
DBDesigner 4
phpDocumentor
PHPMailer

Hosting provided by:
SourceForge.net Logo

Welcome to BuBOL

BuBOL (pronouced like bubble) - Bulletin Board Object Library - is a framework of PHP classes to simplify and speed up development of custom web-based forum/bulletin board software, and also make it easier to integrate forums with 3rd party CMS applications. BuBOL is implemented in PHP5 to take advantage of the improved object model.

The goal of BuBOL is to provide a higher level of abstraction for accessing bulletin-board related objects and data. It provides an abstracted persistence layer - based loosely on PEAR::DB - to support multiple database vendors and possibly other forms of persistence in the future (flat file, XML, etc.). Ideally a client application of BuBOL would never need to use any direct SQL commands for the bulletin-board related data.


04 June 2006 18:00 CST - Update

Wow, has it really been almost a year since my last release? I really need to get going again, heh.

Aside from real life issues taking priority (and playing too much Guild Wars with my wife ;-) ), the main reason for the delay has been simply due to implementing and testing the large amount of features that came out in the previous release. The new features from v0.1.3 are probably about 45% implemented in my proof of concept bulletin board system and that's pretty much just the private messaging system, which was a bit larger and more complex than I initially planned :-)

Aside from the much anticipated arrival of the permissioning layer and a variety of other security enhancements which should greatly increase overall system security from within BuBOL itself, I have another upcoming major change/enhancement up my sleeve: the scrapping of my custom DBI layer for database abstraction and replacing it with PDO. My previous hesitations in using a third party database abstraction layer were because of my own design and implementation preferences and the lack of a "good" pure PHP5 implementation (in my own opinion). But PDO changes all that. Unfortunately PDO is only installed by default with PHP 5.1 which will bump up the minimum default PHP version requirement for BuBOL, but I think the payoff from using PDO will be well worth it (and yes I realize you can build PDO for pre-5.1 PHP releases, but I'm talking about a *default* installation). Primarily, the ability to support numerous DBMSs out of the box!

Side note: My mother-in-law got me a copy of Chris Shiflett's "Essential PHP Security" book for my birthday which past recently, and I have to say it's an excellent read. Expect to see many of Chris' concepts implemented in the next release of BuBOL. :-) Pick your copy up today: http://www.bookpool.com/sm/059600656X No, I don't work for bookpool.com nor Chris Shiflett, I just think it's a great book and bookpool.com generally offers tech books at the best price around.

As usual, feel free to contact me with any questions or comments: russ [d0t] collier [@t] gmail [d0t] com


23 July 2005 23:00 CST - BuBOL v0.1.3 Released!

About 4 months later than expected, heh. As usual, you can see the CHANGELOG for full details, but the executive summary is basically:

  • Announcement class for Forum level announcement style posts
  • Basic private messaging subsystem
  • Basic FAQ subsystem
  • Email support via PHPMailer
  • Changed internal exception handling to pass on exceptions for easier debugging
  • Plenty of bug fixes, both big and small

Thanks to life and work events, and my much larger scope of features for this release, I didn't get this out as soon as I would've liked. But the project's definitely still alive! :-)

The next release should hopefully finally include a permissioning system which (in theory) will help improve security in BuBOL code even more. :-) Watch this space!


23 February 2005 20:30 CST - BuBOL v0.1.2 Released!

Little earlier than usual this time :-) Again, you can see the CHANGELOG for full details, but the executive summary is basically:

  • A custom session handler that uses the PLI
  • Basic authentication framework for session and cookie based logins
  • New Member fields added to the schema: language, template, failed login count, and failed login date
  • Dropped the xbb_post.post_parent_id field and recreated it as post_in_reply_to_id
  • Plenty of bug fixes, both big and small

I released this one a little bit earlier than planned because I've got a whole boat load of new classes and functionality planned and I figured this was a good rest point to actually kick something out the door :-)

I also finally broke down and tried phpDocumentor as my API documentation generator replacement for Doxygen. The results are posted for browsing or downloading in the side bar to the left. Be gentle, though, it's my first time using it :-)

The big ticket items for the next release will be private messaging, admin "announcement" posts, and mailing support. Stay tuned!


06 February 2005 12:00 CST - BuBOL v0.1.1 Released!

Fresh off the assembly line :-D You can see the CHANGELOG for full details, but the executive summary is basically:

  • New Message class for notifying observers of Forum object update() calls
  • New Member birthday field added to the schema
  • New Forum intro text field added to the schema
  • About half a dozen new feature and utility methods across many classes
  • Plenty of bug fixes, both big and small

I should also note that while BuBOL ships with a PostgreSQL driver and schema, it is currently untested and considered unsupported. All of the existing DBI functionality has not been implemented. I mainly put it there as a proof of concept that my PLI/DBI design did in fact work ;-)

And for a little bit of background, I put up a history page detailing the roots of BuBOL, and a tiny glimpse of the future.

Final note: I'm *trying* to do monthly releases. I'm sure I won't be able to sustain this, but it's something to shoot for :-)


03 January 2005 00:30 CST - BuBOL v0.1.0 Released!

I finally finished the PHP5 rewrite! The code is enhanced to take advantage of a lot of PHP5 OOP goodies, along with being cleaner and more powerful than my previous BuBOL versions (which were never and will never be released) in general. =] Get it while it's hot!

Unfortunately, the documentation leaves much to be desired! Even the API docs are currently unavailable as Doxygen doesn't seem to handle PHP5 syntax very well :-( I'll try to explore some better API doc options when it's not less than 6 hours before I need to "wake up" for work ;-)


This page is planned to only serve as a temporary place holder for the time being (which will probably end up being a lot longer than I planned ;-)). For now, feel free to browse the posted documentation. The code base is currently undergoing one of its many, many overhauls - we like to call it, "refactoring" in the industry ;-) - so until the code is at a slightly more stable point, I'd like to avoid releasing it to the public.

Meanwhile, feel free to send questions, suggestions, threats, etc. via email: russ [d0t] collier [@t] gmail [d0t] com. Replace the " [@t] " with "@" and " [d0t] " with "." (no quotes).

PS: For those who are interested, I'm not at all attached to the current logo. It's something I threw together just to get the site up. Email me if you have an alternative :-)



$Id$

Unless otherwise posted, all documentation, content, etc. on this site © Russ Collier 2004, 2005.