want "archive" option for import/export
To my understanding "Zotero RDF" is the format that is able to save and restore most (all?) information to and from files, respectively.
However if I export entries on one system and import them on another system, the time-stamps look as if the entry had just been created. This makes it more difficult to find entries that are actually the same.
Therefore I suggest an option that allows true archiving of entries to a file, and also to restore from a file.
With this mechanism, the following statement would apply:
If I "archive" entries to a file, delete those entries in Zotero, and then re-import them from the archive, one cannot find a difference between the entries being archived (exported) and those that exist after import.
However if I export entries on one system and import them on another system, the time-stamps look as if the entry had just been created. This makes it more difficult to find entries that are actually the same.
Therefore I suggest an option that allows true archiving of entries to a file, and also to restore from a file.
With this mechanism, the following statement would apply:
If I "archive" entries to a file, delete those entries in Zotero, and then re-import them from the archive, one cannot find a difference between the entries being archived (exported) and those that exist after import.
If you "archive" items with intention of restoring them at a future date and, in the mean time, end up adding new items that get assigned the same ID as some of your archived items (since Zotero does not, and should not, keep track of item IDs for deleted items), the archived items cannot be restored with the same IDs.
The only way I can see how we could guarantee that IDs persist is by keeping a reference to archived IDs in the database, but at that point, you might as well keep all of the metadata there as well. Otherwise, you might give the users a false impression that an archive could be restored reliably on another computer (which could not be the case).
What's your use case for this BTW?
Related is the question how you create an ID (I assume you create them as soon as a new entry is created). IDs should be free of any semantic (other than being a unique ID). Reading the reasoning above, I conclude that Zotero IDs are likely to be non-unique across installations. Wouldn't the Problem go away if you use a UUID (Universally Unique ID)? Then the likelihood of duplicate IDs would be very close to zero.
Now my use case: Simply assume I want to sync not via a server, but via a file. As I guess "sync to/from file" is not available, export/import is the next closest solution.
are changed to be unique upon syncresult in sync conflicts if collisions occur. However, this would require a rather unique situation of having multiple computers being out of sync for a while and working on a document. Combined with a decent ID pool that Zotero uses (smaller than UUID, but large enough nonetheless), the odds are rather low. I would argue though that backing up a large portion of a library, or the entire library would significantly increase the odds.As for your "sync" solution, there's http://www.zotero.org/support/kb/transferring_a_library Though depending on your reason for avoiding zotero.org there could be a better solution.
Edit: I misremembered collision handling. More here: https://groups.google.com/d/msg/zotero-dev/VT_URBrtFic/XoRPYGzu_wsJ
http://www.zotero.org/support/troubleshooting_translator_issues