Help with versions

Started by mtjj, January 21, 2018, 08:02:39 AM

Previous topic - Next topic

mtjj

So, struggling here with understanding how to get versions to do what I want - I *think* it should, but I'm not 100% sure I understand how it works.
I have:

  • image01.jpg
  • image01_print.jpg
  • image01_web.jpg

I'm currently setting up folder structures, so right now it's not fixed, I can either put them all in the same folder or the _print and _web files into subfolders if it's easier. Currently all files have exactly the same metadata and all are processed, so I don't need to worry about propagating changes across the versions.
What I want is:

  • In IMatch - to be able to filter to browse only 1,2, or 3
  • In IMatch Anywhere - to be able to limit user access to only set 2 or set 3 (e.g. one user group should only be able to access the web versions)

Is this possible and how can I do this?  :)

I did try to work through this, but got stuck. I got as far as trying to define versions in "manage relations" and copying one of the existing ones so I have:

  • Master Expression: \.(jpg|jpeg)$
  • ^_*//
  • ^(_*{name})[+\-_]*[0-9|a-z]*\.(jpg|jpeg)$
When I tested this, it seemed to work, but when I save it and refresh relations, nothing happens - I don't get any version stacks appearing. Then, I'm not quite sure how I could go about limiting visibility to versions - it seems like it should be possible to build categories somehow then use Access Control Lists based on those categories?

Any help / advice much appreciated!

EDIT: sorry, I think I posted this in the wrong sub-forum, it should be photools.com Community » IMatch Discussion Boards » General Discussion and Questions

mtjj

I worked out the first bit - when you click "refresh relations" you need to have all files selected - I'd assumed this was a refresh across the database until I actually went slowly and read the pop up text.  :)  Is there a way to mass-refresh?

Now I'm trying to work out if there is a way to filter only certain versions......

Mario

#2
Like all commands, Refresh relations works on the selected folder(s), categories etc. Including the entire Database (when you select the database node in the Media & Folders View).

If your version expression does not find your files, update it until it works. Start simple. Use the integrated test tool.
If you want help from the community:

a) Post in the proper board (I have moved your post into General Discussion where it belongs)
b) Provide sample file names (for your masters and the versions you want to find)
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

mtjj

Yes, sorry about the incorrect board, I only noticed once I posted. Actually I think I may have worked it out: in order to create a collection to filter different versions, I need to have a separate relation definition per version I want to distinguish, is that correct?

In other words, and to give an example, I have files:


  • 20171011-140142-P1180830.jpg
  • 20171011-140142-P1180830_web.jpg
  • 20171011-140142-P1180830_print.jpg

I want to create collections for web and print, in order to create filters. That means I need to create one "relation definition" for the _web files and one for the _print files?

The first relation definition is then:
Master Expression: \.(jpg|jpeg)$
Replacement Expression: ^_*//
Link Expression: ^(_*{name})_web*\.(jpg|jpeg)$

... and then another relation definition with "_print" instead of "_web"? Is that the way that you would do it? I have only the most limited experience with regular expressions, however, so I may be doing something stupid or redundant here  :)

Mario

The main purpose of versioning is to propagate metadata from the master to the version (copy keywords, descriptions etc.). Not for creating collections.
I'm not sure if you are using the right concept for your purpose.

Filtering is much easier done using the file name filter (and then searching for _web or _print).
Or if you just want to group together files having _print in the file name (or _web) a data-driven category on the file name with a filter would be better.

What are you trying to achieve? When you say "filter" do you mean you want to use the Filter Panel to find files with _print in the file name?

Your other question:

You can use a reg exp to grab both _web and _print. If the file name is always the same, you can use a very simple regular expression:

^{name}(_print|_web)\.jpg$

This regular expression matches all files with the same name as the master file followed by either _print or _web and the extension.jpg.
All the complex mumbo-jumbo is only needed when your version file names differ in more than the _print or _web postfix.

And, yes. If you want to have _print and _web in separate relation collections, you need to create two relation definitions.

But, again, versioning is not primarily meant to be used to group files into collections. Versioning is for copying metadata between master and version files.
For grouping all _print and _web files together., a data-driven category is much easier. Or just use the Filter Panel file name filter.

-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

mtjj

(Thank you for the swift reply, I know these kinds of questions must be annoying, and I appreciate you taking the time to answer. I'm not trying to be awkward, I just want to validate that it's possible to do what I'm looking to do - I'm fairly sure it is possible, but IMatch is so sophisticated that I know there are easy and hard ways of doing things :) )

Second (easy) bit first:

Quote from: Mario on January 21, 2018, 02:19:30 PM
You can use a reg exp to grab both _web and _print. If the file name is always the same, you can use a very simple regular expression:

^{name}(_print|_web)\.jpg$

This regular expression matches all files with the same name as the master file followed by either _print or _web and the extension.jpg.
All the complex mumbo-jumbo is only needed when your version file names differ in more than the _print or _web postfix.
Thank you! That's simpler.

And then the main bit:

Quote from: Mario on January 21, 2018, 02:19:30 PM
The main purpose of versioning is to propagate metadata from the master to the version (copy keywords, descriptions etc.). Not for creating collections.
I'm not sure if you are using the right concept for your purpose.

Filtering is much easier done using the file name filter (and then searching for _web or _print).
Or if you just want to group together files having _print in the file name (or _web) a data-driven category on the file name with a filter would be better.

What are you trying to achieve? When you say "filter" do you mean you want to use the Filter Panel to find files with _print in the file name?


What I'm trying to achieve is some kind of filter I can use in IMWS Access Control Lists to restrict access to just the _print files (or just the _web files). That way I can give family access through IMA and they are automatically limited to the _print files -the ones I have added a border and a title block, resized for web viewing, etc. Not an immediate goal, but eventually I'd like to have a "guest" user with access only to the _web files (resized to much smaller resolution) and share this with friends. I need to make sure that the user *only* has access to the _web files so that I don't have full size images getting spread across the web. And if I myself browse through IMatch I see all the different versions, or can filter to just the masters (the ones with no _suffix).

My initial thought was to use a keyword or some kind of metadata to distinguish, but because I'm pushing out all the 3 files from lightroom it involves extra manual steps to generate a _print file with an extra keyword or different colour label or something like that. The only thing that's easy to change is the filename. I guess in theory I guess I could put the three sets of files into different directorie trees and drive it that way, but that seems a little inelegant :-)

I didn't think of doing a data driven category based on file name. Is it possible to use that to drive a IMWS ACL?

Mario

I would then go the data-driven road. If you create a data-driven category which contains all files with names containing _print and another for _web you can use these categories to restrict ACLs.
Let us know if you need help with setting up a data-driven category.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

mtjj

I'll give it a try, thank you again!

mtjj

Sorry, me again, I think I have it working, but I just need a sense check I'm not missing something.

I tried to create data driven categories, but reading the help file warnings on variables being slower than tags, tried to keep it as simple as possible. Thinking about it a bit, I decided to use prefixes not suffixes, so my files are now called:

  • AP_20021225-192642-DSCF0041
  • HF_20021225-192642-DSCF0041
  • HW_20021225-192642-DSCF0041
  • PP_20021225-192642-DSCF0041

Then I defined a data driven category called FileClas:

Basic Settings
...
   Based on: Tag
    Tag: photools.com::IMatch\101100\file.name\0
...
Formatting
   Use Part of Value: Yes
   Start and Length: 1,2

This neatly created a set of categories:
-MyCats
- - FileClas
- - - AP
- - - HF
- - - HW
- - - PP

Then I created an ACL in IMWS, excluded everything, then included category "HW". Works exactly as I intended, a test user has access only to the HW files (low res web copies). Perfect!

Just a couple of questions:

  • Am I missing something obvious that will come back and cause problems later? E.g. will this slow the database to a crawl once I add tens of thousands of records all starting with the same prefixes?
  • To include the category in the ACL, I just typed "HW". Is there a way to specify precisely that specific category within the category hierarchy so that I don't get issues later if I have another category with the letters HW in it?

Many thanks!!

JJ

Mario

1. How large is your database? How long does the category take to update?
2. You can use ^HW_ to make your regexp more precise. ^ means "starts with".
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

mtjj

Quote from: Mario on January 23, 2018, 08:15:58 AM
1. How large is your database? How long does the category take to update?
2. You can use ^HW_ to make your regexp more precise. ^ means "starts with".

1 - at the moment I'm just using test data of a couple of hundred photos, so it's almost instant. I need to consolidate and systematically re-generate photos, but I estimate I'll have about 50-60,000 in total once it's all done, of which I guess around 40,000 will fall into the single category "AP". Do you think that's going to be a problem?
2- Thanks!

Mario

#11
1. Nope. Just tried on a 80,000 files database. The category calculates in less than one second.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

mtjj

Great, thank you!

And just to let you know that in the course of investigating IMatch I've been seriously impressed with the capabilities. It's sometimes not intuitive, and the details can be tricky, but it has far more functionality than other software I've tried. I bought a license today and will recommend it to anyone looking at DAM software.

Mario

Thank you for your business and your kind comments. Spread the word.

I hear the "I did not even know that IMatch exists and now it is indispensable" often. It's just hard to get the word out, competing against Adobe's 160 million dollar annual marketing budget... ;)
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook