Web-absence is a CGI application designed to help keep track of people
in a group. It is intended to do one thing: allow the user
to display the plans of all people in a group in a way that makes it
easy to see who's present and who's absent. It is not intended for
anything else. The resolution is one day.
It could easily be adapted do handle reservations for any set of objects, as
long as a resolution of a day is acceptable.
An example of a possible use is reserving machines/computers in a laboratory.
Web-absence is based on four Perl CGI-scripts that rely on seven
back-end Perl modules written specifically for web-absence. For each
month, an image (by default, PNG) is generated. Absences are created,
edited, and deleted by clicking on the month-image.
New in V2
- Based on relational database
In versions previous to V2, various flat-files were used to store
data (people/groups/types/holidays). As of V2,
a relational database, PostgreSQL, now stores all data.
- Reservation-Types managed on the admin page
Previous to V2, reservation-types were configured by editing a file.
In V2, they can be managed using the web interface.
- Multiple reservations per day per person
Before V2 it was only possible to make a single reservation for a person
for a particular day. In V2 it is possible to configure Absence to allow
multiple reservations per person per day. This means person-rows must
have more vertical space ("height") to allow more than one reservation
to be displayed. The height can be fixed or variable. If variable,
a minimum and maximum can be specified. See the multiple-reservation
- Extensive holiday management
In V2 two schemes are available for handling holidays: basic and advanced.
"basic" provides the behaviour previous to V2 (holidays are universal).
"advanced" allows holidays to be defined for countries and regions, and
are displayed only for the people to whom they apply. Also, holidays can
be imported in the iCal format, which makes adding holidays very easy.
Absence can be configured to use one of two modes to handle
absence manipulations, server-side or client-side image maps.
server-side image maps
This is not well-tested in V2.0. I recommend using client-side image maps.
The month-image is a link; operations on people in the group are
performed by clicking on the image. The coordinates are used to
determine the nature of the requested operation. Server-side image
maps are simple and allow small web pages to be generated, however
you must click on holidays and absences to get more information
client-side image maps
The month-image is simply an image in conjunction with client-side
image map which defines all possible areas where a click is meaningful.
The advantage to client-side image maps is that tool-tips are used.
The web pages generated using this method can be BIG.
Authentication and Authorization
Absence supports authentication and authorization.
See README-AUTH.txt for details.
In order to generate the images, Web-absence
uses the freely-available Perl module "GD" (with all its dependencies),
the relational database PostgreSQL V8.X.X, the Perl CGI and CGI::Session
modules, with dependencies.
Absence is licensed under the GPL. See LICENSE.txt for more information.
current stable version: web-absence-2.1.tar.gz
I have set up a demo where you can get a feel for how web-absence works.
Please use common-sense when naming people and groups.
demonstration installation: demo-multi
Please note: the above demonstration page is for demonstration purposes only. Anyone can see and change anything.
Robert Urban <email@example.com>