Doing some research into ModVirgule and thought I'd document what I found so I didn't have to find it again. -- AdamShand
For reference mod_virgule is an Apache module which powers the Advogato site (http://www.advogato.org/). The interesting part of it is that it has an extensive trust/relationship system built into it.
It works as an XML style sheet processor. Virgle specific tags are put into HTML and the mod_virgle runs some code and inserts its generated HTML result. It means the entire page is limited to mod_virgle tags, foregoing any use of PHP or perl on that page. -- DonPark
Important Stuff
RaphLevien, the original author and maintainer of advogato.org, hasn't had time to properly maintain ModVirgule for quite a while. As such there have been several forks and a multitude of web sites with differring information. I've attempted to collect all the various sites and information and collate it here. If I'm missing any please feel free to email me or update the page directly.
Currently (5 October 2003) the best version to use seems to be StevenRainwater's fork, it has all the patches from the official branch plus a bunch of additional fixes and enhancements (see his email for details).
- mod_virgule home page(s)
- mod_virgule advogato project page
- mod_virgule cvs repository
- virgule mailing lists
Documentation
- Install documentation (really old)
- Description of the trust metric
- Advogato XML-RPC Interface
Modifications and Extensions
- mod_virgule source forge site (this appears to be a fork)
- a modularized version of mod_virgule based on xml style tags (part of the fork?)
- steve's "email password reminder" hack
- hacked mod_virgule (Steve Rainwater's fork):
- pymmetry - a pure python implementation of the virgule trust metric.
Other Trust Metric Systems
- Affero - Have yet to find docs on exactly what it does.
- Keynote - Another trust metric implementation (referenced in the XVL docs)
Further Reading
Trust metric page on MeatBall wiki.
Installation
Notes on how to install ModVirgule. Very brief and very incomplete ...
Get the latest from CVS HEAD (actually should get StevenRainwater's version these days).
- Make sure you have the appropriate packages installed:
# apt-get install apache-dev libglib1.2-dev libxml-dev
- Edit the Makefile
- set apxs path
- set apachectl path
- Compile mod_virgule
# make
- Install the module
# /usr/bin/apxs -i -a -n 'virgule' mod_virgule.so
- Setup a virtual host (you're left to your own here) for Apache and add these lines to configure mod_virgule (you need to point to a directory):
VirguleDb /var/www/www.domain.org
- Copy the sample files to your document root: `# cp -r src/mod_virgule/sample_db/* /var/www/www.domain.org
- Make sure that your web server can read/write to the entire directory:
# chown -R www-data /var/www/www.domain.org
Edit config.xml to set initial seeds etc:
# vi /var/www/www.domain.org/config.xml
- Customize your look and feel by modifing the XML files (note that they *MUST* be valid XML so beware of not closing your tags):
# vi /var/www/www.domain.org/site/index.xml