Hello list,
I'm thinking of implementing a flat-file backend. As Dom pointed out, metadata and versioning would need to be addressed.
For metadata, I was thinking of using Lucy[0] and storing metadata as fields.
As for versioning, I would have one current version of a file ("foo.txt"), and previous versions would follow a naming convention like "foo__2012-02-03T191540.txt". Moderation could also be represented in the filename somehow.
Additionally, if one didn't want to constrain users from using silly node names with long timestamps on the end, the versioned files could be kept in a directory named from the node.
How does that sound?
Cheers, --Ryan
[0] http://search.cpan.org/~dwheeler/Lucy-0.2.2/lib/Lucy.pod