Introduction
This project started as a result of my desire to accomplish
several things at one time. I had worked for several employers
that were quite dis-organized and did not use a bug, user
complaint, or job request system. I had never used SqLite or
SQL PDO and had attempted several times to have projects
approved using these tools. Finally, I became unemployed and
wanted to brush up on some technical areas. This project was
born in the summer of 2010 out of these issues.
Contact
The very latest information and updates for this
project are located at
[ buglite.SourceForge.net ] .
I can be contacted through my website message system at the bottom of this home page...
[ NeatInfo.com ] .
Copyright 2010-2011 by Jan Zumwalt, www.neatinfo.com, all rights reserved.
This software is free and open to the public. You may
use, copy, modify, distribute, and sell this program (and any variants)
without restriction, so long as you do not restrict others from
doing the same.
Design Goals
BugLite was designed to satisfy 95% of the needs of
small project users up to a medium sized organization, division or
department. It is best suited for applications where
less than 50-100 users would daily
access the database. Some features are not incorporated for the
sake of simplicity. For example there is no automatic e-mail
notification. It would be easy to incorporate, but the extra
database and administration menus would thwart the simple
lean and mean design goal.
BugLite and SqLite where not designed for applications
that demand heavy simultaneous multiuser work loads. No bullet
proof file locking or data collision control is used. SqLite
does incorporate modest record collision
control, but speed is given precedence over robustness.
That being said, extensive testing of BugLite in a multi-user
environment has been unable to have data collision corruption.
It is possible that several hundred daily users my over task the
collision control safety measures, just not very likely.
Features
• BugLite uses SqLite which does not require MySql to be installed.
• Php is shipped with SqLite support built in and ready to run.
• Buglite uses PDO which is a native driver to PHP and does not require an installation.
• Simple menu system allows access to all user settings through intuitive interface.
• Expanded error warnings describe in simple terms what has happened.
• Code has generous comments to assist customizing.
• Compatible with most, if not all major browsers.
• Commercial look and feel that does not compromise usability.
• Dark color scheme eases eye strain.
• Formatted to fit small legacy screen resolutions.
Performance
BugLite performance is primarily a function of the
SqLite database engine. By far, the most popular industrial
strength database engine is MySql. In speed comparison tests between
SqLite and MySql, both ran at nearly
identical speed - except for new record insertions.
SqLite takes about 4 times longer than MySql to create
a new record. MySql is able to create about 50 new records per second
on a avergae 3ghz computer, compared to Sqlites 10 records per second -
who cares? (That's about the speed it takes to blink an eye.)
Most of the hidden database operations going on behind the scene
is query searching. SqLite compares very nicely to all
the other databases, even extremely optimized engines.
The other speed bottle neck is Internet or Lan
network latency issues. Since this equally hinders all database
communication it is not an issue here. If page refreshes are taking
longer than a few seconds, the problem is probably a slow network
and not the program.
Wish list
Here is a list of possible improvments in future versions.
• Improved reports with graphs and charts.
• Replace text menu links with graphic buttons.
• Context sensitive help and mouse hints.
• Multiple databases (projects) based on user login or choice.
Updates
The very latest information and updates for this
project are located at
[SourceForge.net/projects/buglite/].
What is SqLite
SqLite is an Open Source project developed by
volunteers at [SqLite.org].
The volunteers that maintain SQLite wanted a small lightweight feature
rich database that would compare to MySql. SQLite takes less than 1mb
of disk storage space compared to 80 to 100mb for MySql. To keep
SQLite lean and mean the developers chose to forfeit complicated
multitasking and multiuser criteria that loaded down MySql. This is not
a problem, it is a feature.
SqLite.org describes SQLite is a software library that
implements a self-contained, serverless, zero-configuration,
transactional SQL database engine. SQLite is the most widely deployed
SQL database engine in the world. The source code for SQLite is in the
public domain.
At some point, some of the original ways of doing things
in earlier versions of SQLite became such a problem that the developers
decided to create an entirely new command and database structure between
version 2 & 3. As part of the new Ver 3 support, PDO became supported.
What is PDO
PDO is a PHP extension to PHP's database connection
commands that provides a uniform interface. This allows developers
to create code which is portable across many database engines and
platforms. Simply explained, PDO lets you use the same commands in
PHP for different database engines. This makes programming a whole
lot easier!
PDO is already a part of PHP. The PDO drivers for PHP
are supposed to be shipped with all copies of PHP. In most cases no
setup is needed to start using a PDO - PHP - SqLite application. In
rare cases, a PHP configuration file will need to be told that PDO
can be used. This will be covered in the next section.
Do I have PDO
Clicking on this link [Click to see PDO info]
or the image to test for PDO on the computer BugLite is installed on. The image
below is an example of what I see on my XP computer.
Sample Output