home/about - roadmap - docs
- mailing
list - downloads/cvs
- sourceforge project page
- links
pVigil - Object Oriented Bug/Issue tracker and to-do list.
pVigil is an API that provides all the functions needed for tracking bugs,
issues and to-do list items. Because the heart and soul of the application is
the API, it provides a lot of flexibility with the user interface.
Of course, pVigil would not be very useful if it were only an API. It will
include a full featured web interface, a basic e-mail interface and a windows
interface designed in visual basic.
Keeping in line with the user interface flexibility, pVigil is also abstracted
from it's storage medium as well. The API will use a file system for storage
by default, but for larger databases, an SQL rdbms can also be used.
Goals
OK, so now you know what pVigil is/will be, but let's be more clear about the
goals.
First and foremost, pVigil needs to be easy to set up and use. The world has
enough complex, difficult bug trackers. Let's buck the trend and focus on simplicity.
In a nutshell, I feel this means:
- Platform independent. With PHP it's not hard to develop cross platform applications.
- No database required. I feel that active sites will want to use a database
for their storage, but I think we should design this so that the database
is optional.
- Clearly separate the API from the interface. By doing this, it makes it
easy to achieve the next requirement, which is,
- Easily customize pVigil and even integrate it into an existing application
or website.
Secondly, I think that a variety of UI options suit the user's well. By keeping
a separate API and licensing it under LGPL, we make it easy for people to create
their own UI. Despite this, pVigil will be a failure unless some good, functional
interfaces are made available. Initial interfaces will be:
- E-mail interface that allows basic tasks such as creating
bugs, adding comments and closing bugs to be performed by sending e-mails
to the system,
- Web interface which allows greater control and to do some
tasks that can't be done via e-mail. These include user management and creating
reports.
- Visual Basic/Windows/Fat client interface that supports
OFF-LINE usage. The fact of the matter is, pVigil is being created
to scratch an itch that I have. I have users that need to be able to create
new bugs off-line and then sync them when they return on-line. I can write
visual basic code to do this, but if someone is interested in doing it in
C/C++ and supporting multiple platforms in addition to windows, I'm happy
to support this. The first version of the fat client will probably only support
creating bugs and adding comments, simply because those are the only features
required by my users. Once again, if help is offered, other features are welcome.
- Nate and I have discussed
other interface ideas, that will come later, such as an Instant Messenger
interface that allows aol, msn, yahoo and jabber IM users create and manage
tickets, a Microsoft Outlook interface that integrates with
the Outlook to-do list, Palm Pilot interface that also integrates
with the Palm to-do list or uses a separate palm application. These are all
less important than the previously mentioned interfaces.
History
pVigil came into existence during August of 2002. A serious need existed for
an easy to use issue tracker and project manager program. Most applications
had a steep learning curve or so many features that it was difficult to do the
simple stuff. Additionally, it was difficult to integrate any of the systems
into my existing web site and work patterns.
The name came to me while take a break one day. I had been trying to think
up catchy names and had given up. While reading an article in a magazine I saw
the word vigil and thought it was good. I added a p at beginning to make it
unique and to tie it into PHP.
The Webster's dictionary has a few definitions
for vigil, my two favorites are:
- the act of keeping awake at times when sleep is customary
- an act or period of watching or surveillance
Both seemed fitting for the task of de-bugging software and managing issues.
Requirements
Ideally, pVigil should run on a variety of platforms without trouble. For basic
functionalty, only php 4.x should be required. Each UI though may impose extra
limitations. At the moment, these are all theoretical, but here's a list for
starters:
API requirements
- PHP 4.x
- Storage area for bugs, one of:
- Text files in a folder (for light use bug trackers)
- Relational database supported by ADODB, which from
the adodb docs
is one of: "We currently support MySQL, Oracle, Microsoft SQL Server,
Sybase, Sybase SQL Anywhere, Informix, PostgreSQL,
FrontBase, Interbase (Firebird and Borland variants), Foxpro, Access,
ADO and ODBC." Keep in mind that you will need to have PHP configured
to support for your database.
E-Mail interface requirements
- PHP support for IMAP/POP3
Web interface
- A webserver supported by PHP
To-do
- Planning Stage
- (API) What are the requirements?
- (API) What data will need to be collected for each issue?
- (API) What classes will we need?
- (API) What methods should the classes have?
- (API) How can we abstract the storage classes so that they can easily
be modified later on?
- Coding Stage
- Class structure generated
- Begin implementing features
Licensing
In order to be as flexible and useful as possible, the pVigil API is licensed
under the LGPL. This means that you can use the API in open source and closed
source applications. However, any changes made to the API code must be released
back into open source.
The included user interfaces are licensed under the GPL. This means that any
changes made to the UI code must be returned to the community. If you would
like to include pVigil in a proprietary software product, you must create your
own UI.