An overview of bitweaver

Created by: xing, Last modification: 22 Jun 2005 (03:59 UTC) by spiderr

Some background information on why bitweaver exists and what we'd like to achieve can be found here: bitweaverHistory


bitweaver is a web based open-source Web Application Framework software application written in PHP that offers a wide range of bitweaverFeatures.


We have made it a top priority to keep database access numbers to a complete minimum as these can usually be seen as the bottlneck in this type of application. we have reduced the database access number from a whopping 250 to a mere 40 or so for an average page load - and there is still room for improvement!

bitweaver takes advantage of the ADOdb database abstraction library and Smarty Templates. ADOdb allows us to connect to a number of different databases including the incredibly advanced PostgreSQL (used by this site), the ever popular MySQL and Firebird.


bitweaver has experienced an immense amount of code refactorization and new development. The most notable feature however, is the fact that bitweaver is now completely modular! This means that you can simply install a new package (formerly called feature) and customize the functionality of your bitweaver install. it is equally possible to uninstall, or even delete an entire folder from your server without any consequences (save the required folders of course).


We are highly focused on making the core features as powerful as possible and removing the obscure and buggy ones. See bitweaverFeatures for more details.


A Smarty system

The powerful Smarty template system allows us to strictly separate logic from content. The Smarty templates are basically HTML code, which makes them easy to learn and modify. This makes it easy for you to customise the visual aspects of your system without having to learn the guts of the system.

CSS and Tableless

Our sophisticated css class selectors make styling easy, flexible and incredibly powerful. This makes your job easier because there is less to code. As a result, our css files in general are about 10 - 15 kb compared to the the overwhelming 50 - 65 kb in ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and ((bitweaver and bitweaver and TikiWiki or other cms systems. For more information see CssSchema.

We have also refactored and removed a ton of useless css classes and replaced the with the appropriate HTML tags. e.g.: is now . On that topic,
we also made it one of our aims to avoid tables where possible, thus we use tables only where browser compatability issues make it absolutely necessary or appropriate, such as data listings. However, even some of these have been replaced with unordered lists to gain styling freedom using CSS.

XHTML 1.0 Strict Compliancy

Additionally we check virtually all pages on w3c for XHTML 1.0 Strict compliancy and don't commit before all errors and warnings have been dealt with. We must admit, this is a lot of work, but our templates are now easy to read and work with. Despite the indenting and easy to read templates, our output is smaller since we strip all our templates of excess white space, making download times shorter. if you are interested, you can view the source code of this page. If you are developing, see the source code section of the ThemeTutorial for instructions on how to clean up the source code to simplify bug hunting.



We have introduced a number of changes improving usability and user friendliness of bitweaver:
inline help
The most important usability update is the fact that we provide inline help next to virtually every form input, which gives a short description of what a given setting does.
Throughout the administration section we use javascript degradable tabs, which reduces clutter considerably and allows us to hide non essential settings and make the administration screens a more pleasant and powerful area to work with.
We are currently using icons derived from Gnome for most of our icons, which gives the entire application a common feel and provides a comfortable environment.