Hi, all
So, I've been working through a couple of bugs related to export, and
have three proposals I'd like to run by people before checking them
in. If you have objections, or improvements, speak up sometime today
or forever hold your peace :).
1. This first is a user behaviour thing:
Currently, the app exports your data when you quit. The first time
this takes longer than 15 seconds, a dialog appears asking you whether
you want to do this every time or not. I'm proposing that we replace
this dialog (and the somewhat complex code to create and manage it)
with a checkbox in the export progress dialog that says "Always export
my data when I quit Chandler."
2. The second is an implementation issue:
The existing code does an open() on the path to backup.chex, and
writes the data directly to that file. Unfortunately, this means that
your data can get erased, or left in an unusable, incomplete state if
Chandler or the OS crashes, or even if you Cancel the progress dialog.
I have a patch that deals with this by writing all the data into an in-
memory buffer, and then writes that out to disk.
This means extra memory usage, but seems better than trying to deal
with platform-dependent issues that you get when writing to a
temporary file, and renaming it to the path you want. I Googled around
some for ways of doing this in python, but didn't find anything
useful. Does anyone know of something better?
3. Jeffrey proposed in Bug 12001 that we attach the application's
schema version to the backup.chex filename, i.e. we would start
writing out to backup_484.chex on trunk. I'm not totally convinced
this is necessary if #2 is fixed, it might be handy to have a backup
backup.chex for cases when people upgrade to a version that has
broken .chex export for some reason. Any opinions?
--Grant
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Open Source Applications Foundation "chandler-dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/chandler-dev