I’m currently designing and spiking Bungee, a flexible ROPE. (Got it? Great.)
Bungee is an webserver independent interface to an object-oriented, hierarchical database—currently there is only a Webrick servlet.
Bungee works by mapping an URI into a series of method calls, which are to be applied in order. For example, the fictive request
http://bungee.example.org/chris/blog/42
get’s mapped to this:
root['chris']['blog']['42']
root
could in this case be a Bungee::Directory
, which would be
entered and lookup of 'chris'
would follow (let’s assume this is a
directory too). When we get to 'blog'
, some code could get
evaluated (residing in that directory), and '42'
will return the
final page, in this case, an blog entry.
I think this technique allows some pretty cool uses: For example, you could write a YAML mapper, and “browse” into YAML files directly (and use these virtual paths from your own scripts). And it would be have no differently if the YAML file was expanded into a real directory…
NP: Simon & Garfunkel—The Sound of Silence