Categories: show parent direct assignments when on a child record.

Started by hamishr, April 12, 2024, 07:43:20 PM

Previous topic - Next topic

hamishr

When I click on a category I want to see not only the records directly assigned to it and records assigned to its child categories but I also want to see the records directly assigned to its parent categories. I can't work out how to show the parent direct assignments with the child direct assignments, when I am on the child record.  - can you help? Apologies if this query has been posted before - I was unsuccessful in finding a discussion on the topic.

Mario

A category (virtually) contains all of it's directly assigned files and the files assigned to it's child categories.
A category has no access to the files assigned to it's parent category. It does not even know it's parent category - the hierarchy works parent -> child, not child -> parent.

For which scenario would that even be useful? What are you trying to do?
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

hamishr

I am working with historical date ranges (dates that go back before 1600, when IMatch date fields don't work anymore). For what I am doing, an image represents a historical event with a date or date range. I am storing the date range in a text field (I am using the Headline field) in the format AD yyyy-mm-dd to AD yyyy-mm-dd. I am intending to have BC and BP dates as well. The field is formatted so that the dates sort correctly. However, if I want to see what happened in a particular year, date ranges that start before that year and end after it, will not show. One solution of course, is to develop an algorithm that works out whether the date range includes that year, for each image - this is a bit beyond me plus I am concerned that it will be quite slow. So, I have been experimenting with using Categories for date ranges where there is a category for each year and years are grouped into decades and decades into centuries. If I want to tick off the years for the date range AD 1527 to AD 1553, I am ticking 1527, 1528, 1529, the decades 1530s, 1540s, and the years 1550, 1551, 1552, 1553. If the IMatch Categories panel had a way of selecting a range of records and marking them with one click then I could simply tick each year, but I have not been able to find a quick way of doing this. So, using the method above, I should be able to see the record in the list of date categories when I click on say 1535, but I can't see it because it is marked for the parent record (1530s) and not for the particular year.  I am sure there is a simpler way of doing this, so suggestions are welcome. Thank-you.

Mario

Please consider pressing <Enter> occasionally to start a new paragraph.
Posting such a wall of text is not a good idea. On my phone, these produces several pages of virtually illegible text.
Thank you.

I believe the date routines IMatch uses work until 1601, which is typically more than enough for typical photographic workflows. I don't remember why this lower limit is enforced at the moment. I thought the limit was 100 to 9999 for the year. I shall look into this maybe when there is a free time slot.

QuoteIf the IMatch Categories panel had a way of selecting a range of records...
The Category Panel does not support multiple categories being selected.
The Category View does, however. You can select any number of categories and the File Window shows the files combined via the OR Boolean operator (all files in all selected categories).
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

hamishr

In the Category view, if I select a child and another child (with same or different parents) it behaves correctly and I see the associated records for both. However, if I select a child and the parent of the child, only the parent records show. So this doesn't work the way I need it to do. 

hamishr

Filtering the records in the media view to include the desired parent and child categories does work but it is rather clunky (can't switch between years fast). But I might use it to select each of the parent decades and tick off all the years for the records associated with that decade, and then use the Category view in the normal way. That would be a reasonable workaround.

Mario

Quote from: hamishr on April 13, 2024, 10:38:56 AMIn the Category view, if I select a child and another child (with same or different parents) it behaves correctly and I see the associated records for both. However, if I select a child and the parent of the child, only the parent records show. So this doesn't work the way I need it to do. 
When I select the children A,B,C of parent category P, I see the files in A,B,C combined (3 files, one in each category).
When I now also select P, I see 4 files. The 3 files in A,B,C and the one file I have assigned to P for this test.
This is the same result I get when I only select P, since P implicitly contains all files in its child categories (unless you set the direct files only option for P).

PS.: the year 1601 limit is not caused by IMatch (IMatch can store dates like 1407:01:01 in XMP data), but the formatting and output routines in Windows for parsing and displaying dates only handle dates with years >= 1601.
Replacing all date and time formatting routines Windows offers with my own that deal with larger time ranges would be a major task, for a probably minute number of users.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

hamishr

I need one child selected and to see the direct parent files as well. My tests were done with direct files only. However, I am not going to take this further as I am happy with the solution above (ticking off all the years for all the files linked to a parent decade).

I agree that the current earliest date limit of 1601 is OK. Historical dates inevitably will go beyond the limits and the methodology I am coming up with will work quite well I think. If I photograph the pyramids at Giza I want to record the date I took the photo but I also want to enter the date of their creation (2600 BC) for which I need a separate field where historical dates sort correctly over the entirety of existence. 

Thanks for your help.