Home | About | Partners | Contact Us
VA Linux Systems

Welcome to http://virgule.sourceforge.net/

virgule is yet another scripting language. the sample site, sample_db/advogato.org is a self-regulating community site. it is data-driven - primarily by XML, and is conceptually similar to Lisp. in its simplest form, virgule is just an html pretty-printer. any tags that virgule is not programmed to understand are treated as data and are passed from input to output.
Download here

mod_virgule is an apache module written in c. it interfaces with virgule in a similar way to mod_proxy, using a tiny XML protocol to wrap the html request and receive the html response.

there is a simple API which can be used to extend virgule's capabilities, with a simple HOWTO outlining how to create new tags.

Documentation on the XML Virgule Language and its implementation is underway, with assistance from Thom (thanks, thom!).

Contact Details: Luke Kenneth Casson Leighton

mod_virgule 1.0.1 release notes:

This is the final release 1.0.1 of the advanced mod_virgule engine, http://sourceforge.net/projects/virgule. mod_virgule is essentially a community resource forum engine, with peer-review governed by Trust Metrics, however it is rapidly becoming much, much more.

Most of the hard-coded formatting and capabilities of the original have been replaced with a simple scripting language, in XML. The sample_db for advogato.org has been updated accordingly. The example site includes a newsfeed, articles, users, projects, URL notifications, diary and messaging.

For those people who are c-coders, it is possible to add your own extensions to mod_virgule, to interpret XML tags into html output. A HOWTO has been added with a simple <testtag/> example.

Current xml tags: login, XML database manipulation, directory listing, authorisation and trust metric evaluation, cgi-bin [to unix shell scripts].

Planned xml tags: xmlrpc interface tag, a perl tag, gabber client, IRC client, regedit and usrmgr implementations [using samba source code!], etc.

Lastly, it is worth reminding people that this developer is incapable of writing good html, having avoided it for years [see http://validator.c3.org]. Feel free to use mod_virgule to write superlative dynamic content html pages, to your heart's content and your users' satisfaction.

20 Oct 2000 Luke Kenneth Casson Leighton

mod_virgule features:

  • The sample database, advogato.org, shows how to provide users with a diary (or journal) messages, the ability to post articles and news on the front page, the creation of projects (a project TODO is planned), and URL annotation.
  • Trust Metric Certification. This is similar to the concept of moderation on slashdot and kuro5hin. The significant difference is that the right to post messages and articles is conveyed by the user's own peers, not by moderators.
  • A simple scripting language, which allows site administrators to customise the presentation in a simple and easily understood manner. The code in mod_virgule implements tags (e.g. <dir:list/>) which can then be used in the site files. There is a HOWTO describing how to implement your own tags. It includes an example testtag.c, a Makefile.in and a testtag.xml file to test it with.


There is a demo running at Linuxcare Australia. I will keep a list of references here to sites as I find them.

Advanced mod_virgule is currently running at:

XML Tag names

A brief, non-inclusive list of tag names and some of their capabilities is being developed. All harmless fun. really.


Lastly, for anyone wishing to use this version of mod_virgule, please bear in mind that in order to make it dynamically extensible, it has had to be simplified. The site database files are no longer compatible with the old version of mod_virgule, currently running Advogato. At some point, advanced virgule will contain sufficient logic in its scripting language to reference the old-format files or even to write a conversion script. Just not right now :)
All trademarks and copyrights on this page are properties of their respective owners. Forum comments are owned by the poster. The rest is copyright 1999-2000 VA Linux Systems, Inc.