mod_virgule
Raph Levien is the
original author and maintainer of the
official mod_virgule.
What you're looking at here is a hacked version that I use to run
robots.net. I needed more
features than are provided in the official version but the project
accepts few patches and tends to progress at a glacial pace. While
both the original mod_virgule and my forked version are far from
being well-optimized, my little robot
site gets around 70k raw hits / 25k page views per day and is
holding up just fine with this code. We've also been Slashdotted
twice with no ill effects, which isn't bad for a site running on a
PII 400 MHz box!
Raph has absorbed some of my modifications and changes into the
official mod_virgule since I released this version and may eventually
fold more of this functionality in (or not). In any case, this is
strictly an unofficial version. Use at your own risk and don't
expect Raph to provide any support for my changes.
There is no
guarantee that future official versions of mod_virgule will be
compatible with
this version or will contain any of the features I've
added.
Raph's original
version had lots of hard-coded references to
Advogato.org. I've replaced all of those with user configurable
equivalents or generic replacements. Now, if all the
disclaimers haven't scared you off, you're probably
wondering
what my version does that the original doesn't:
- FOAF RDF records are generated for each user account
- Blogs may be aggregated via Atom, RSS, and RDF Site Summary
- Faster trust metric and diary rating updates
- Spam score triggers auto-removal of spammer accounts
- Trusted users can flag observer accounts as spam
- Special users can delete user accounts
- Function names now conform to Apache module guidelines
- New head_content tag makes additions to page headers possible
- Site admin email address is now user configurable
- Article topic/categories are now easily configurable
- Config.xml loaded once instead of on every hit
- Compiles against Apache 2 API
- Compiles against libxml2 (Martijn van Beers libxml2 patch)
- RSS 2.0 support
- RSS exports 15 rather than 10 headlines
- User list is configurable, paged and sorted by cert level
- The /article/ index page is no longer hard-coded
- The sitemap is configurable instead of hard-coded
- "Forgot password" feature (roughly based on Steve Kemp's patch)
- Trust Metric handling is more robust
- No "vanishing file" problem
- Improvements and fixes to UTF-8 handling in forms
- Link element in headers to allow automated RSS discovery
- Article titles are links to articles
- User account page has consistent, easy to read menu layout
- Usernames may have spaces, dashes, underscores, and dots
- Articles can have topics/icons like slash or scoop sites
- Users cannot certify themselves
- Favicon support
- Improved, detailed diagnostic info on test page
- Posting, replying, project creation authorized independently based on cert level
- Code has been partially cleaned up and commented
- Underlying code now has the ability to delete as well as add db entries
- Removed certs are actually deleted
- Removed project relations are actually deleted
- XML-based banner add rotation module
- Path handler allowing banner ad to be inserted as SSI
- "include" tag for including nested XML files
- Assorted compiler warnings were fixed
- Assorted improvements to makefile
- Assorted segfault bugs fixed
Also, a few of the features found in my version have slowly made
their way into the main version:
- Usernames are passed to Apache and logged
- Configurable pass-through directories
- XML tag that renders differently based on user login state
- Code to prevent duplicate replies to articles
- External CSS used to configure color scheme
- External CSS used to configure cert colors
- Cert levels are configurable
- Project list is alphabetized
- Trust metric seeds are configurable
- Removed much illegal HTML
- DoS vulnerability in cookie parsing fixed
Download latest mod_virgule
mod_virgule version 1.41-20070308 is the latest stable release
mod_virgule-svn.tar.gz Daily tarball from Subversion repository (may be unstable!)
Changelog from Subversion repository
To get the latest code from the Subversion repository using svn:
svn checkout http://svn.dprg.org/repos/mod_virgule/trunk
Version number note: The version number in the official
mod_virgule has been stuck at "1.41" for a couple of years, so I've
added a concatenated date string to the "official" version number.
This version/date number is reflected in the Apache module
registration to make it clear what version of code is being run
on a given server.
If you have any mod_virgule patches you'd like to submit or
features you'd like to see added,
send
me some email and I'll see what
I can do.
More mod_virgule information:
License: All software on this page is
Free Software
licensed under the
GNU GPL.
|