> The basic issue is how to update content. A versioning system would not > allow any document to be modified or deleted to be replaced by a newer > version. The old version would hang around the system until it was > eventually dropped from the datastore, or not if it was popular enough. > Two capabilities need to be provided. The ability to retrieve the > latest version of the document automatically and the ability to access a > specific version. > > To retrieve a later version of a document, you should be able to make > another request using the same search key. If Freenet encounters two > versions of the same document using the same key, it should return the > newer one. This implies that the version information is seperate from > the plaintext the search key is hashed from. One option is to make a > 'Version' header field.
Ok, the problem here is that if you have numerous documents all with the same key then you can't use Freenet's routing mechanism to find all version, in fact, you can never be sure you have found the latest version. Further, how can you specify what version you are looking for? The node which attempts to answer your request probably won't have all of the versions to start with. The way I would approach this gives the same functionality, but doesn't require such an upheaval in the way things operate. Each new version of a document would be stored under a key like "documentname/0.2", and then the key "documentname" would redirect to the latest version (this obviously required that we have implemented data modification and redirection - both of which are on the radar). Ian. _______________________________________________ Freenet-dev mailing list Freenet-dev at lists.sourceforge.net http://lists.sourceforge.net/mailman/listinfo/freenet-dev
