Category unassignment not working correctly

Started by Carlo Didier, July 01, 2021, 09:08:40 PM

Previous topic - Next topic

Carlo Didier

This is what I do:
- In the Categories tab I have thousands of images displayed for a certain category
- from those, I select any number of them
- in the category panel, I open the tab "Current" to show the currently assigned categories for the selected files
- If I un-check the category of which the files are currently displayed, all the selected files should be removed from that category and disappear from the view, right?
- This works for a low number of files, but above ~100 files, not all get unassigned and I have to re-select the ones that were not treated (~10-20) and un-check the category again for those.

Debug log attached.

Mario

Press <F5> to make the File Window update immediately. Who knows what is going on in the background currently, so many things depend on categories.

Usually you would just use the normal way to do this: Select the files you want to un-assign from the currently displayed category and press <U>.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Carlo Didier

<F5> doesn't change anything. The images are still assigned to the category, it's not only a display problem. See the debug logs (previous posts and this one).
My normal way to cleanup work categories (like "needs WHO", etc, automatically assigned when added to the database) is to open that category, select the images which do not need to be there and unassign them. Nothing unusual with that workflow IMHO.
Independently from my workflow, if I unassign a category from a bunch of selected images, that should just do that for all the selected images, not only 90% of them ...

I just did another run.
See attached screenshots and debug log.
I selected 402 images out of 4724 displayed.
Unassigned the category "QUEUES|_new|needs WHO" for those 402 selected images
After the unassign, the category should have only 4322 images left, but there are still 4408 images as 86 have not had the category removed
Neither waiting nor <F5> did change that

This is clearly a bug somewhere. I can regularly reproduce it.
Database on SSD. Database Diagnostic shows no problems.

Mario

#3
I cannot see anything in the log file, no warnings or errors (except for a missing spell checker dictionary, which disables spell checking in the Metadata and Attributes panel).

When I create a category structure like yours and then select a couple of hundred or thousand files and un-tick the category, all files are removed.
Do you use any special assignment actions for these categories?

If you can reproduce this apparently unique issue with your database, please upload the database to your cloud space and send me a link to support email address.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook


Mario

I see you are working with stacked files.
Note that files collapsed into a stack are not selected (they are not even loaded).
Maybe this is causing the issue?

When you toggle the option to show all stacked files and repeat your test, does this change anything? Now stacked files can also be selected.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Carlo Didier

I looked for stacked images and re-tested and it looks like that could be the cause.
It would be nice to be able to select really all files in the "selection", stacked or not, without having to select, expand, collapse.
In the case here, the problem is also, if I expand stacks, re-select the files, then unassign from the category, then those files disappear from the window and I cannot collapse them again ...

Mario

QuoteIn the case here, the problem is also, if I expand stacks, re-select the files, then unassign from the category, then those files disappear from the window and I cannot collapse them again ...

You are removing files from the very category you have loaded.
If IMatch would not refresh the File Window, users would complain that the files are not removed.
If IMatch refreshes the File Window and removes the no longer assigned files, users complain that they cannot longer process the files.

The typical solution is to not remove files from the active category when you want to continue to work with them. Or to use a another (temporary) category.
Or place the files into the IMatch clipboard, so you can re-select them with a mouse-click in another category or even in @All or the Database. That's one of the purposes of the IMatch clipboard.

QuoteIt would be nice to be able to select really all files in the "selection", stacked or not, without having to select, expand, collapse.

That's what the global "show stacked files" switch in the File Window toolbar is for (<Shift>+<Ctrl>+<T>).
The File window does not load files hidden by a collapsed stack. It does not even know about the files. That's the purpose of stacking files, removing the clutter and reducing the load on the File Window.
Note: there is also an "undo" step for selections.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

sinus

Quote from: Mario on July 02, 2021, 02:34:32 PM
QuoteIt would be nice to be able to select really all files in the "selection", stacked or not, without having to select, expand, collapse.

That's what the global "show stacked files" switch in the File Window toolbar is for (<Shift>+<Ctrl>+<T>).
The File window does not load files hidden by a collapsed stack. It does not even know about the files. That's the purpose of stacking files, removing the clutter and reducing the load on the File Window.
Note: there is also an "undo" step for selections.

I use this global "show stacked files" from time to time. The only "problem" is here, that once stacked, I forgot sometimes to unstack for some tasks.
But generally, a good thing, this button.  :D

But more often I use my Corsair-keyboard with special keys.

If I select for example one file, I have ONE key for each of these things:

1) unstack the stack, select all files in this stack and open them in a result window
2) unstack the stack
3) select all stacks in the window and stack all stacks, unstacked or not

I use specialy key 1 and 3 very often.

This saves me a lot of time and I hit simply a key without thinking a lot  :)
Best wishes from Switzerland! :-)
Markus

Carlo Didier

Quote from: Mario on July 02, 2021, 02:34:32 PM
You are removing files from the very category you have loaded.
Of course, that's the whole purpose of going through that category, to remove the images that don't belong there ...

Quote from: Mario on July 02, 2021, 02:34:32 PM
If IMatch would not refresh the File Window, users would complain that the files are not removed.
If IMatch refreshes the File Window and removes the no longer assigned files, users complain that they cannot longer process the files.
Fully understood and agreed. But for me it's a perfectly normal workflow to look at my workflow categories and unassign files from there (like removing images which don't really need location information from the category "QUEUES|_new|needs WHERE"). How else could you easily do that?

Quote from: Mario on July 02, 2021, 02:34:32 PM
The typical solution is to not remove files from the active category when you want to continue to work with them. Or to use a another (temporary) category.
Or place the files into the IMatch clipboard, so you can re-select them with a mouse-click in another category or even in @All or the Database. That's one of the purposes of the IMatch clipboard.
Waaaaay too complicated for such a simple task. And it doesn't address the main problem: If I unstack and then unassign, I have no way to easily and quickly collapse those stacks again as they are not displayed anymore ...

Quote from: Mario on July 02, 2021, 02:34:32 PM
QuoteIt would be nice to be able to select really all files in the "selection", stacked or not, without having to select, expand, collapse.

That's what the global "show stacked files" switch in the File Window toolbar is for (<Shift>+<Ctrl>+<T>).
The File window does not load files hidden by a collapsed stack. It does not even know about the files. That's the purpose of stacking files, removing the clutter and reducing the load on the File Window.
Note: there is also an "undo" step for selections.
All that also doesn't address the issue above.

JohnZeman

Quote from: Carlo Didier on July 02, 2021, 04:25:41 PM
Waaaaay too complicated for such a simple task. And it doesn't address the main problem: If I unstack and then unassign, I have no way to easily and quickly collapse those stacks again as they are not displayed anymore

I don't know if this will be of any help or not but for what it's worth what I do when I need to unassign a category from some of my stacked images is I first bookmark the master images I will be removing from a category.

In Preferences > File Relations I have IMatch configured to propagate bookmarks from master to version so when I bookmark files both the stacked masters and versions are bookmarked.

Then I switch to bookmarks, click the icon at the top of the file window to show all stacked files, which shows the masters and versions of the files I want to remove from a category.

Select all, remove them from the category, do a writeback if necessary  And it's all done.

Doing it this way means I don't have to go back later to unassign the versions from the same category I'd unassigned from the masters.

Mario

As far as I understand, IMatch is working correctly, right?
No need for me to download your database to reproduce the behavior you've described in your first post?

Quote from: Carlo Didier on July 02, 2021, 08:11:10 AM
All that also doesn't address the issue above.

I'm not sure I understand. You work with stacked files.
Some of the stacks are collapsed, some are not?
You want to remove stacked files and/or masters from the currently active category.

To see all the files (stacked or not) you enable the "show stacked files" option via the File Window button.
This does not change the state of the stacks (collapsed stacks remain collapsed, expanded remain expanded). But all files are now visible.

You select the files you want to un-assign and un-assign them.
They are removed from the File Window.

Now you press Shift+Ctrl+T again to disable the "Show stacked files".
All previously collapsed stacks now show as collapsed again, all previously expanded stacks remain expanded.
Is this not what you want?

Of course when you have removed a master from the category, all the versions stacked under it are now visible - because the stack no longer exists.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Carlo Didier

Quote from: Mario on July 02, 2021, 07:09:06 PM
As far as I understand, IMatch is working correctly, right?
No need for me to download your database to reproduce the behavior you've described in your first post?
Correct!

Quote from: Mario on July 02, 2021, 07:09:06 PM
Quote from: Carlo Didier on July 02, 2021, 08:11:10 AM
All that also doesn't address the issue above.

I'm not sure I understand. You work with stacked files.
Some of the stacks are collapsed, some are not?
You want to remove stacked files and/or masters from the currently active category.

To see all the files (stacked or not) you enable the "show stacked files" option via the File Window button.
This does not change the state of the stacks (collapsed stacks remain collapsed, expanded remain expanded). But all files are now visible.

You select the files you want to un-assign and un-assign them.
They are removed from the File Window.

Now you press Shift+Ctrl+T again to disable the "Show stacked files".
All previously collapsed stacks now show as collapsed again, all previously expanded stacks remain expanded.
Is this not what you want?

Of course when you have removed a master from the category, all the versions stacked under it are now visible - because the stack no longer exists.
That's the best solution for now. Although it is not as simple as directly applying the unassign to all files in the selection, stacked or not, but I think I can live with that.

Mario

Quote from: Carlo Didier on July 03, 2021, 12:41:15 PM
That's the best solution for now. Although it is not as simple as directly applying the unassign to all files in the selection, stacked or not, but I think I can live with that.
That is the best you will ever get.

1. Shift+Ctrl+T to show all files, stacked or not.
2. Select what needs to be unassigned.
3. Unassign.
4. Shift+Ctrl+T to hide all stacked files again.

Not that complicated or hard to do, I believe.

This behavior will never change. As I said above and and also in the documentation: The File Window does not load stacked files, it does not know about them, it cannot select them, it cannot apply commands on files not even loaded. The reason for stacking files is exactly this: Reduce the clutter in the file window and reduce the load by not loading stacked files, their metadata, collections, categories.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook