bbsengine - simple yet elegant open source (GPLv2) application framework was started on 2008-nov-11 with the goal of providing a simple yet elegant php-based web application library for developers using, at the time, php4. bbsengine1 had some security problems bbsengine1security) which were fixed in bbsengine2. bbsengine3 is written in php5.4 (requires 5.4.x or above) and uses PostgreSQL (9.2.x or above), the Smarty3 template engine (3.1.30+), and several modules from PEAR including pager, html_quickform2, html_quickform2_captcha and mdb2.

In June 2011 use of html_page2 (requires 0.6.5-beta or above) was added and an upgrade to Smarty3 from smarty2 was performed.

To make effective use of bbsengine4 you will need to be a developer comfortable with the use of PEAR packages, Smarty3 Templates, and have hosting with PostgreSQL available. bbsengine4 has not been tested on servers using web-based control panels for system administration. it can be done.

the current version, REPO.102, eliminates use of PEAR::HTML_Page2, makes use of "template inheritance" in smarty3, and requires php 5.4.16+ due to use of "shorthand array syntax".

news: docs updated, new release made which include source, new form handling (2015-nov-03)

based on suggestions from a user, I've merged the project 'bbsenginedotorg' (this website) with 'bbsengine3' to serve as a basic example of how to get a site working using this framework.

I've radically updated the INSTALL file so the version numbers of various packages are accurate, to make descriptions more concise, and to offer some useful hints as to how to configure things so they will work well.

form handling has been simplified down to three function calls which allows for very straight-forward use of enhanced forms:

The bbsengine handbook now uses MarkDown for human-readable markup.

There is now a 'composer.json' file shipped with bbsengine3, but it has not been tested beyond a simple check to make sure it does not contain syntax errors (lint). I am interested in tools that will take a list of package names (f.e. the output of 'pear list') and set up the required records automagically including state ('beta', 'stable', etc).

before existed, I maintained a entry for 'bbsengine' and several applications.


selected changes from bbsengine1 to bbsengine2

selected changes from bbsengine2 to bbsengine3

python package (bbsengine3+)

I've been using the python package of bbsengine to implement various tools and scripts including REPO.102 which works with REPO.102 and REPO.102 to manage projects, tasks, and generate invoices in PDF format.

some sites built with bbsengine4

security issues in bbsengine1 (2006)

in 2006 there were security advisories issued for bbsengine. it was a lot of work to fix all of my projects, and some of them slipped through the cracks.