View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0004564||Slicer4||Core: Base Code||public||2018-05-25 13:35||2018-05-30 11:34|
|Target Version||Fixed in Version|
|Summary||0004564: Opening scene, too, kinda leads to loss of all data|
If one closes the default scene, after saving original work, then starts new work and save the new work, the original work will be overwritten and lost. Yes, there's a prompt about overwriting (or not), but since a user will quickly learn to always click "yes to all" that isn't much of a deterrent.
The problem is two-fold:
|Tags||No tags attached.|
You get a warning for each and every file overwrite. How would you make it more obvious that data is getting overwritten?
Perhaps at least use the current date as the default name for a scene, not arbitrarily the date (or name) of the last scene that happened to be open?
But It'll be fine to close the ticket as do-not-fix, because I realize this little problem is a consequence of the scene concept and even if the project name doesn't collide with something already on disk, something else in the scene may. There's simply not a notion of "New scence" or of an encapsulated project in 3D Slicer.
Yet in practice almost all warnings about file overwrites are superfluous and tedious.
Normally, a "save" is a "save" in project oriented applications, no questions asked. They'll simply ask the user once to distinguish data when it's imported. Either something is a mutable copy, to be stored inside the project directory, or it's a read-only file reference. Instead, 3D Slicer seems to take the approach that a project -- a scene -- is a bunch of mutable file references across the whole file system that the UI offer easy opportunities to change by an errant mouse click (often undoable!!!!).
So I would make it more obvious that data is to be overwritten by only warning if there were files outside the project that were to be overwritten (and perhaps eliminate that possibility all together by enforcing such object to be non-changeable). That's a bigger question.
The current date is used as default name, so that's done. However, we keep the last scene name when the scene is closed. It is a good idea to reset the scene file name when we close the scene.
Partial saving, overwriting, referring to same data files from multiple scene files are very useful features but I completely agree that the behavior is too complicated for new users.
Maybe we should have separate Save and Export in the menu instead of having a single dialog box that handles both. I've posted this idea on the forum to get some feedback (https://discourse.slicer.org/t/separate-save-and-export-features/3018).
I've committed a fix (r27219), now scene file name is no longer preserved after a scene is closed (on save, scene file name will be the default - generated from today's date).
|2018-05-25 13:35||nick_slizer||New Issue|
|2018-05-25 13:35||nick_slizer||Status||new => assigned|
|2018-05-25 13:35||nick_slizer||Assigned To||=> jcfr|
|2018-05-29 22:42||lassoan||Note Added: 0015773|
|2018-05-30 09:15||nick_slizer||Note Added: 0015835|
|2018-05-30 09:53||lassoan||Note Added: 0015836|
|2018-05-30 11:34||lassoan||Note Added: 0015837|