Thread: [Pointrel-discuss] Change to subdirectory format in archive directories
Status: Alpha
Brought to you by:
paulfernhout
From: Paul D. F. <pdf...@ku...> - 2009-03-05 13:51:54
|
I've made a major change to how transactions are stored, moving from storing all the data in one file to having one subdirectory per transaction. All the examples have been migrated to the new format. If you have any transactions in the old format, you would need to migrate them too (there is some code to help with that checked in). But, since I assume no one is seriously using this system yet (there has not been a release), I assume this is not an issue for anyone (otherwise I would have possibly changed the version number for this different format). Still, there is no reason one can't have a backend that reads from the older format (though I did not chose that approach with the switch, and maybe I should have). If you have any significant files in the older format, it might be easiest to just write such a backend (it should be just a few functions, plus maybe some minor changes to Transaction and Triple to optionally read the old format, where "identifier" was changed to "uuid" and "timestamp"). I've checked in the new code and the new examples, but the Synchronizers and backends (other than for ArchiveBackendUsingDirectory) are currently broken. I will be fixing those, probably to use Zip files in general for storing transactions. The reason for this change was to more easily support embedding large files in transactions, like images, audio, video, pdf, CAD files, and in general any other type of file. I am trying to address a concern Bryan Bishop raised in another context (on the open manufacturing list) about the difficulty of looking at standard files when they were encoded into XML files somehow. I also made a related change of embedding timestamps in Transactions and Triples, rather than storing them as metadata. In general, the timestamps were used so heavily in finding most recent changes or sorting lists of items that it seemed more efficient that way in terms of CPU time, although you would need to now use your own code if you still wanted to override the timestamp metadata. (But in practice, I doubt people would want to override timestamps on transactions or triples.) There are notes on the alternatives considered in redesign.txt in SVN. --Paul Fernhout |
From: Paul D. F. <pdf...@ku...> - 2009-03-07 22:54:52
|
Just a note that the Synchronizers and other backends are now working again with the new format and the zip file approach. --Paul Fernhout Paul D. Fernhout wrote: > I've checked in the new code and the new examples, but the Synchronizers and > backends (other than for ArchiveBackendUsingDirectory) are currently broken. > I will be fixing those, probably to use Zip files in general for storing > transactions. |