Stop losing track of folder name changes on disk
What problem do you see this solving?
When a folder name is changed outside of Capture1 Pro, C1Pro loses track of the folder and forces the user to go and find it. Ever wonder how Google Drive keeps track of folders whose names change? It's possible. NTFS has an API for identifying files by Unique ID.
Start your research here:
https://stackoverflow.com/questions/3892592/unique-file-identifiers-on-ntfs-and-object-id
https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-openfilebyid
Try storing file ID's and folder ID's if they both exist. If only file ID's exist, then use a cryptographic hash function to hash all those ID's together and compare the memorized folder to any other ones on disk in the current folder that have a "recently-modified" date within the past year, and if they match, then you can safely assume the new inode (folder) is the same as the old one, but renamed.
When was the last time you were affected by this lack of functionality, or specific tool?
All the damn time.
Are you using any workarounds or other solutions to achieve your goals in Capture One?
Yeah it's called painstaking worrying and I even had to inspect your database files and hand-delete expired records when Capture1 failed to rename files in an Album and said they didn't exist in that location when they very much do. Your database files are not sanitized properly between version upgrades.
Are you happy to be contacted further about this suggestion or request?
Yep
-
Use Capture One to change the folder name. Once Capture One is indexing a folder you need to use Capture One to make changes.
0 -
Hi Ryan Johnson
expired records when Capture1 failed to rename files in an Album and said they didn't exist in that location when they very much do
Maybe you emphasize and detail the problem you are facing a bit more. From the reaction of Walter, it is not easy to understand your motivation for this request.
0 -
Me too experienced situations in the past years where C1 messed it up, or other situations where I did, accidentially, the latter not often so.
The Locate function is not very efficient to use and one often ends up locating each file individually, e.g. when files were renamed either manually outside of C1 or by the batch renaming function in C1 when something went wrong (according to not only one forum member, if I remember correctly). This seems to be the case for Ryan too, C1 messed it up when batch renaming.
Whatever the reason is, for an out of sync catalog, a smarter locate or synchronize function would be very helpful in many situations.
Ryan's request is a mix of bug description, requirement and solution proposal, a very technical one based on file and file system properties, a solution based on image metadata could be another. That's how I undertand it.
1 -
In re to multiple concerns above:
This is necessary because as a software developer you should build systems to be resilient, internally coherent, and idiot-proof. People don't always have their files and folders nicely grouped, so they may not remember to do it in C1Pro. And you cannot expect people to retrain themselves if they've been editing folder names outside of C1Pro for 50 years.
You would never use metadata to identify files. Cryptographic hash function obviates the need for that. Modern machines have a TPM to calculate hashes on hardware not in CPU or GPU.
A hash of a list of hashes is still unique. Identifies the folder in last known good state. If inodes have a unique ID in NTFS then you never need to hash the files, either. This simplifies the logic and time spent involved in unraveling what happened to a folder.
Using C1Pro to manage all files is not possible when you have multiple catalogs indexing the same folders. This is reason number 1 to do this. Reason number 2 is multiple instances of C1Pro in a professional environment. With the existing db implementation you can't even let people share a single catalog so they'll all have different catalogs pointing to folders.
You need to make your software intelligent so people don't have to be. They need to have the option to reorganize things in a business setting with multiple users. The more assumptions you build into the software, the less flexibly they can set up their environment.
0 -
@... "I fear it's not likely Capture One will do anything useful here as it's been this way forever in their product cycle and they've never found it important enough to put any time in."
Well don't say that out loud, that just plays into their confirmation bias that nobody thinks it's worth it.
It is worth it.
0 -
I upvoted it. As a former Apple Aperture user it was really nice that aperture monitored file system events and noted when files moved. It automatically updated the library with their new location.
There is another feature request out there for improved (smarter) "locate" feature. Aperture was also really good at that. You could locate one file in a folder and if other "missing" files were seen there it would offer to also update their location at the same time. Aperture was very user helpful.
0 -
you cannot expect people to retrain themselves if they've been editing folder names outside of C1Pro for 50 years.
Most software I know does not "heal" broken links / outdated references to files automatically, be it an embedded Excel file in a Word document, or other catalog systems. So I think most people do not need to be "retrained" because they are used to it. This having said, if the folder is still in its place but has a new name, I have nothing against that folder being recognized automatically by C1 and file references updated, provided the user is notified.
A hash of a list of hashes is still unique. Identifies the folder in last known good state.
If I have folders which grow over time by adding new files via Explorer (which I do because I have catalogued my session folders) then the list of hashes would change without the folder being renamed. Your list of file hashes to identify the folder would lead to the wrong assumption, ie. folder name changed whereas the real action was adding files. Do you suggest an autosync for contained files in this case?
What if a user changes some metadata field(s) even of the raw files with Exiftool? Your "hash idea" would lead to the wrong assumption that x files are missing, x files are new, and the folder has renamed too.
Using C1Pro to manage all files is not possible when you have multiple catalogs indexing the same folders.
Not sure what you mean, are you describing the status quo, or is this part of your request? Surely, users do have mutliple catalogs referencing the same folders and files, e.g. a catalog per year and an overall catalog over all years, or a big catalog and smaller catalogs for specific themes. I hope you don't assume your requirements are the requirements of all.
You need to make your software intelligent so people don't have to be. They need to have the option to reorganize things in a business setting with multiple users. The more assumptions you build into the software, the less flexibly they can set up their environment.
"Intelligent" software in the sense you write about it here is based on assumptions, which is self-contradictory.
___________
Walter,
As a former Apple Aperture user it was really nice that aperture monitored file system events and noted when files moved. It automatically updated the library with their new location.
C1 sessions are communicating with the file system, which is probably the reason why the tend to be slower than catalogs for high image numbers. Maybe it is just how it's implemented in C1, but we don't want slower catalogs, do we?
I don't know Aperture. Did Aperture give the user the choice? If the move of files was made by intention to remove them from the catalog, what action would the user need to do in Aperture to remove it? The point is, the user probably needs to remember to do something in the software. Like in C1, just a different assumption about the user's intent.
__________
I think too much logic based on assumptions about the users intentions firstly doesn't fit all users and secondly can reduce the understanding of that software working principles, it might be better to stick to simple concepts, e.g. a catalog will not reflect any change on the files system automatically, but only on users request/action like sync or locate, or (optionally) prompts the user with its findings and suggested actions.
0 -
BeO said :
I don't know Aperture. Did Aperture give the user the choice? If the move of files was made by intention to remove them from the catalog, what action would the user need to do in Aperture to remove it? The point is, the user probably needs to remember to do something in the software. Like in C1, just a different assumption about the user's intent.
If you moved files with Finder then Aperture would update its library to reflect the new location. If you deleted the files with Finder, Aperture would indicate the files were missing. Aperture had a filter for file state - Managed (stored inside the Library), Referenced (stored outside the Library), Missing.
Capture One forklifted Media Pro into Capture One and have done little to maintain it. It needs a significant overhaul to have better file management with catalogs.
1 -
when you have multiple catalogs indexing the same folders.
This.
So many times...
0 -
Aperture had a filter for file state - Managed (stored inside the Library), Referenced (stored outside the Library), Missing.
It is a pity that C1 does not have this, not even for missing images.
0
Please sign in to leave a comment.
Comments
10 comments