View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002326 | Slicer4 | Core: Base Code | public | 2012-07-18 15:13 | 2018-05-30 01:59 |
Reporter | inorton | Assigned To | pieper | ||
Priority | normal | Severity | major | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | |||||
Target Version | Slicer 4.3.0 | Fixed in Version | Slicer 4.3.0 | ||
Summary | 0002326: Save Data should always make unique filenames | ||||
Description | See screenshot. | ||||
Tags | No tags attached. | ||||
related to | 0003125 | closed | pieper | Compressed Nifti files not stored properly in MRML |
related to | 0003019 | closed | jcfr | Renaming a node (1) does not update file name and (2) does not update modified status |
related to | 0003890 | acknowledged | pieper | Renaming node in the scene changes the filename in the storage node |
2012-07-18 15:13
|
|
Still a problem. |
|
We discussed at the developer hangout making the filenames always track the node name. http://www.slicer.org/slicerWiki/index.php/Developer_Meetings/20130514#To_discuss |
|
Please give r22004 a try and let me know if it doesn't do the trick. |
|
This looks great - thanks! |
|
r22004 introduced the following pb:
|
|
Interesting - I would say that is a special case and I wonder what we should do about it. What happens here is that the SampleData the loaded volume name doesn't match the filename. I guess there's an easy fix - I could just change the name of the temp file to match the volume name. But still the use case that Julien pointed out could be problematic in other ways - basically the SampleData is stored in a transient directory and the scene could become invalid after a reboot. Probably the better thing would be to remove the storage node from the SampleData after loading so that the user will be explicitly prompted to save. |
|
Removed storage node from sample data downloads r22162 |
|
I'm still not convinced :-) |
|
Ah - I see what you mean! :o Is there a place we can move this easily in the file dialog code? Basically I think we want to set the text that appears in the File Name column to match the node name - that way the storage node is only modified if the save takes place. |
|
Specifying the file name for a node to save is done here: Effectively changing the node filename is done automatically here: Therefore, the filename table widget item contains the filename of the node to save. If the row is unchecked, then nothing happens to the node: So I believe what can be done is to change the initial value of the filename table widget item: I still don't think it will solve the "uniqueness" of filenames. What if 2 nodes have the same names (names are not uniques, only IDs are (actually IDs are not really unique (because of scene view nodes), but it's a different issue :-) )? if you write them, they will overwrite each others. |
|
Thanks for the pointers - I'll look into it. I notice that a few tests are now failing because they assumed that the nodes loaded by sample data would still have storage nodes. I'll look into changing the tests so they don't make this assumption. |
|
Related commit: r22162 |
|
@Steve: Commit r22162 related to this issue seems sub-optimal, it is now causing the following tests to fail: py_vtkITKArchetypeScalarReaderFile and py_vtkITKArchetypeDiffusionTensorReaderFile |
|
Issues related to r22162 fixed by r22217. Original issue related to file renaming still under investigation. |
|
I think r22260 is a good compromise that handle the reported use cases. |
|
Nice fix ! Comments about r22259: Comments about r22260: |
|
Thanks for the review J2 :) Regarding r22259: Regarding r22260: maybe actually want vtkMRMLStorableNode::SetName to call this->StorableModifiedTime.Modified() since we have modified the storable node. I still think the right thing is to update the time stamp of the storable node itself is more logical, since that's the node the user actually did explicitly change. Invalidating the storage node is a side effect. If you want we can leave this open but retarget for 4.4 since the current bad behavior has been fixed. |
|
I think something might be goofy in the heuristic here, because I just saw an mrb with files called "xxx.nhdr.nrrd.nrrd.nrrd" |
|
Closing resolved issues that have not been updated in more than 3 months |
|
Slicer: 2145-support-for-installing-extension-from-file ccdfdd31 2013-05-16 11:17:33 Details Diff |
BUG: 0002326 make save dialog name match node name With this change, the file save name will be made to match the name of the node. This way when a user has specified a meaningful name in the GUI it will be transferred to the filename as well for consistency. http://www.na-mic.org/Bug/view.php?id=2326#c8637 git-svn-id: http://svn.slicer.org/Slicer4/trunk@22004 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Base/QTGUI/qSlicerSaveDataDialog.cxx | Diff File | ||
Slicer: 2145-support-for-installing-extension-from-file 2748442a 2013-07-09 19:00:39 Details Diff |
BUG: 0002326 remove storage nodes for sample data downloads Since the download is in a temp directory, make sure the user is prompted to save when saving the scene. git-svn-id: http://svn.slicer.org/Slicer4/trunk@22162 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Modules/Scripted/SampleData/SampleData.py | Diff File | ||
Slicer: 2145-support-for-installing-extension-from-file ce6c1b88 2013-07-19 16:04:05 Details Diff |
BUG: 0002326 Fix tests and ENH: refactor sample data The bug refers to failures of the py_vtkITKArchetypeScalarReaderFile and py_vtkITKArchetypeDiffusionTensorReaderFile tests after commit [1]. These tests relied on a side-effect of downloading the sample data in order to determine the file to load data from, but this was not reliable since the data was in a temp directory. Now the tests request the download directly. The enhancement is that the sample data module now supports the concept of categories of sample data sources, such that modules can register their sample data. This way a version of slicer can offer sample data appropriate for use with the particular extensions that have been installed. [1] http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=22162 git-svn-id: http://svn.slicer.org/Slicer4/trunk@22217 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Libs/vtkITK/Testing/vtkITKArchetypeDiffusionTensorReaderFile.py | Diff File | ||
mod - Libs/vtkITK/Testing/vtkITKArchetypeScalarReaderFile.py | Diff File | ||
mod - Modules/Scripted/SampleData/SampleData.py | Diff File | ||
Slicer: 2145-support-for-installing-extension-from-file 2c0985ad 2013-08-06 09:43:58 Details Diff |
BUG: 0002326 mark a node as modified if the name has changed When the user has changed the name of a node this is reflected in the suggested name of the file (see issue 0003125). With this fix the node is also marked as modified so that it will be checked for saving. This means that changing the name of a node in the scene will cause it to be saved to a new file on disk which is a slight change in behavior and may cause people to use more disk space. But in general I think this is safer and more clear, since file names will always match the name of the node in the scene and users will prefer that I believe. git-svn-id: http://svn.slicer.org/Slicer4/trunk@22260 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Base/QTGUI/qSlicerSaveDataDialog.cxx | Diff File | ||
mod - Libs/MRML/Core/vtkMRMLStorableNode.h | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2012-07-18 15:13 | inorton | New Issue | |
2012-07-18 15:13 | inorton | File Added: needuniques.png | |
2012-08-20 08:25 | nicole | Assigned To | => finetjul |
2012-08-20 08:25 | nicole | Status | new => assigned |
2012-08-20 08:25 | nicole | Target Version | => Slicer 4.3.0 |
2013-05-14 10:30 | inorton | Note Added: 0008637 | |
2013-05-14 10:30 | inorton | Assigned To | finetjul => kikinis |
2013-05-14 12:55 | pieper | Assigned To | kikinis => pieper |
2013-05-14 12:56 | pieper | Note Added: 0008641 | |
2013-05-14 12:56 | pieper | Status | assigned => acknowledged |
2013-05-16 07:18 | pieper | Note Added: 0008651 | |
2013-05-16 07:18 | pieper | Status | acknowledged => resolved |
2013-05-16 07:18 | pieper | Fixed in Version | => Slicer 4.3.0 |
2013-05-16 07:18 | pieper | Resolution | open => fixed |
2013-05-29 08:03 | inorton | Note Added: 0008683 | |
2013-05-29 08:03 | inorton | Status | resolved => closed |
2013-07-09 14:05 | finetjul | Note Added: 0008973 | |
2013-07-09 14:05 | finetjul | Status | closed => assigned |
2013-07-09 14:06 | finetjul | Severity | minor => major |
2013-07-09 15:00 | pieper | Note Added: 0008974 | |
2013-07-09 15:01 | pieper | Note Added: 0008975 | |
2013-07-09 15:01 | pieper | Status | assigned => resolved |
2013-07-09 15:20 | finetjul | Note Added: 0008976 | |
2013-07-09 15:20 | finetjul | Status | resolved => assigned |
2013-07-09 15:40 | pieper | Note Added: 0008977 | |
2013-07-10 04:17 | finetjul | Note Added: 0008978 | |
2013-07-10 04:24 | finetjul | Note Edited: 0008978 | |
2013-07-10 05:16 | pieper | Note Added: 0008979 | |
2013-07-11 13:32 | pieper | Relationship added | related to 0003125 |
2013-07-13 00:41 | jcfr | Note Added: 0009040 | |
2013-07-13 00:42 | jcfr | Note Added: 0009041 | |
2013-07-13 00:44 | jcfr | Note Edited: 0009041 | |
2013-07-19 12:04 | pieper | Note Added: 0009149 | |
2013-08-06 05:44 | pieper | Note Added: 0009389 | |
2013-08-06 05:44 | pieper | Status | assigned => resolved |
2013-08-06 06:37 | finetjul | Note Added: 0009392 | |
2013-08-06 09:26 | pieper | Note Added: 0009408 | |
2013-08-06 14:34 | pieper | Relationship added | related to 0003019 |
2013-08-28 12:24 | inorton | Note Added: 0009671 | |
2014-03-06 05:22 | jcfr | Note Added: 0011175 | |
2014-03-06 05:22 | inorton | Status | resolved => closed |
2017-06-07 23:27 | pieper | Changeset attached | => Slicer 2145-support-for-installing-extension-from-file 2c0985ad |
2017-06-07 23:27 | pieper | Changeset attached | => Slicer 2145-support-for-installing-extension-from-file ce6c1b88 |
2017-06-07 23:27 | pieper | Changeset attached | => Slicer 2145-support-for-installing-extension-from-file 2748442a |
2017-06-07 23:27 | pieper | Changeset attached | => Slicer 2145-support-for-installing-extension-from-file ccdfdd31 |
2018-05-30 01:59 | lassoan | Relationship added | related to 0003890 |