Freshmeat page: https://github.com/465499642/mod_virgule
Old Project homepage URL:http://www.levien.com/free/mod_virgule/
mod_virgule is the Apache module developed to power the www.Advogato.org web site. Mod_virgule was created by Raph Levien. His code, which we'll call classic mod_virgule, was used to run Advogato through Oct 1, 2006. On that date, Advogato was migrated to a newer fork of the mod_virgule code maintained by Steve Rainwater. This codebase is now used to run both _this_ Advogato and robots.net. It was actively maintained through 2012. Raph's classic version of mod_virgule is no longer maintained. A third
fork of mod_virgule, unrelated to Advogato, was created by Luke Kenneth
Casson Leighton and is called xmlvl.
Your Help is Needed!
Below are a few of the things where we most need some help right now
Remove GLib dependency: Building mod_virgule now relies on GLib only for the GHash functions in netflow.c.
These could be rewritten to use the Apache APR hash
functions instead. This would reduce the compiled module
size and simplify the build requirements. Because this code
affects the trust metrics, any patch would need to be throughly
tested before being accepted.
Document the existing codebase using Doxygen
The mod_virgule codebase is large and poorly documented. Some
sections of code have no comments at all. The comments that
do exist are not in a consistent style. In order to facilitate continued improvements to the code, it would be very helpful to have well-commented code in Doxygen style. This task is more
complicated than it sounds. Much of the existing code is
less than ideal and may take substantial research to
document fully. The current maintainer as well as the
original author of significant portions of the code will
attempt to answer questions about the
functionality where possible.
Improved build system: At present, building
mod_virgule is complicated and generally doesn't work if the
target platform varies slightly from the development
platform. It would be nice if a potential user could
download mod_virgule, type configure, make, and get a
functional mod_virgule or a meaningful explanation of any
missing libraries that need to be installed. Completing this
project would involve using the GNU autotools (e.g.
autoconf, automake, etc). At a minimum, the goal would be to
achieve successful builds on Red Hat Enterprise Linux,
CentOS Enterprise Linux, Debian, Ubuntu, and other common
Razvan Cojocaru has submitted a patch for
Automated testing framework for mod_virgule: With the increased development activity surrounding mod_virgule,
it would be helpful to have an automated method of
regression testing for new builds. This work could be
completed in any of a variety of scripting languages such as
Python or Perl. An existing web testing framework such as twill might
simplify this process.
Updating Legacy APR and libxml API Use:
Mod_virgule has been patched over the years to use more recent
versions of the Apache Portable Runtime (APR) library andDV's libxml++ but,
in many cases, this was done using backward compatibility
layers to minimize the effort of moving to the newer
libraries. We still rely on deprecated functions and
old-style API usage that we can't be sure will present in
future versions of these libraries. It would be very helpful
to have someone audit the codebase, looking for deprecated
API usage, and offering patches to bring the code up to
date. Additionally, the APR library shipped with Apache 2.x
is much more extensive than the API available on Apache 1.3.
There may be cases where mod_virgule utility functions can
be removed altogether and replaced with APR API calls.
Websites based on mod_virgule
Help us improve this list by adding a link to your
License: GNU GPL
This project has the following developers:
New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.
Keep up with the latest Advogato features by reading the Advogato status blog.
If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!