Task #12965 (closed)
RFE: warn when unlinking at chown and Move
Reported by: | pwalczysko | Owned by: | wmoore |
---|---|---|---|
Priority: | critical | Milestone: | OMERO-5.1.4 |
Component: | Web | Version: | 5.1.2 |
Keywords: | n.a. | Cc: | ux@… |
Resources: | n.a. | Referenced By: | n.a. |
References: | n.a. | Remaining Time: | n.a. |
Sprint: | n.a. |
Description
Present behaviour of Move and chown of a container (e.g. dataset) is that if it contains Projections, these get unlinked as you move the Dataset into another group with NO Warning. Additionally, the images now end up in Orphaned ==> virtually lost for the user, although the Move reports successful move of the Dataset.
The same happens when chown command is executed on such Dataset. (images get lost into Orphaned folder, Dataset get chowned)
Suggestion : Either warn user in advance that the images will not be going and let him stop the action or at least pop up a message that something was unlinked and left in Orphaned folder -> apparently enough methods are available to facilitate this.
Creating corresponding ticket for Insight.
Change History (13)
comment:1 Changed 9 years ago by mtbcarroll
comment:2 Changed 9 years ago by jburel
- Milestone changed from 5.1.3 to 5.1.4
comment:3 Changed 9 years ago by wmoore
Mark, what's the best way to query whether Chgrp or Chown of a Container will leave some objects behind?
comment:4 Changed 9 years ago by mtbcarroll
The response will report that it deleted some links, e.g., some DatasetImageLink IDs. Unfortunately, by that time they're deleted so you don't know what they linked to: if you want to report which objects were orphaned then you'd probably have to do a dry-run first and query.
comment:5 Changed 9 years ago by mtbcarroll
(Of course, they may not be actually orphaned if multiply linked.)
comment:6 Changed 9 years ago by jamoore
- Milestone changed from 5.1.4 to OMERO-5.1.4
Splitting 5.1.4 due to milestone decoupling
comment:7 Changed 9 years ago by wmoore
Mark: how do we do a "dry-run" query of chgrp?
Current chgrp call itself we are doing like this:
https://github.com/openmicroscopy/openmicroscopy/blob/dev_5_1/components/tools/OmeroPy/src/omero/gateway/__init__.py#L3902
comment:8 Changed 9 years ago by mtbcarroll
chgrp.dryRun = True will probably do it; in that case you'd obviously want to avoid any requests.extend(saves).
comment:9 Changed 9 years ago by wmoore
When we are actually doing chgrp of Datasets, we first move any split-fileset images into those Datasets to avoid split-fileset Exceptions.
But is there any way we can perform a dry-run, to test loss of annotations etc, without moving images into Datasets (which will be hard to undo if user decides not to go ahead)?
comment:10 Changed 9 years ago by mtbcarroll
For chgrp of datasets that would split a MIF, unless you set includeType={'Image'} you wouldn't normally get an exception, it would instead simply unlink those MIF images from the dataset and leave them behind. You /could/ do a dry run move of the dataset to see which images would get unlinked, then try a dry run move of their fileset to see which annotations would be left behind. That move of the images might still fail for some other reason, though: for instance, before we solve the problem of moving an image but not its projection.
comment:11 Changed 9 years ago by wmoore
PR at https://github.com/openmicroscopy/openmicroscopy/pull/4165
Not closing this ticket yet, as we really need some tests for this functionality - and port same behaviour to handle Chown too.
comment:12 Changed 9 years ago by wmoore
- Resolution set to fixed
- Status changed from new to closed
Some web integration tests added. Other work covered by different tickets / cards.
comment:13 Changed 9 years ago by Will Moore <w.moore@…>
(In [799427f8cd0f0766a39e3b64f373d7323aba888a/ome.git] on branch develop) web chgrp shows what will be moved or unlinked. See #12965
Conflicts:
components/tools/OmeroWeb/omeroweb/webclient/static/webclient/javascript/ome.chgrp.js
components/tools/OmeroWeb/omeroweb/webclient/static/webclient/javascript/ome.webclient.actions.js
components/tools/OmeroWeb/omeroweb/webclient/webclient_gateway.py
Could possibly be fixed at the same time as https://trello.com/c/Eyly75Xv/20-warning-about-loss-of-annotations-with-move-group.