IMA 2019 File Lens metadata write-back

Started by russbecker, January 19, 2019, 12:33:33 AM

Previous topic - Next topic

russbecker

I have IMatch 2019 and IMA 2019, with IMA 2019 using a copy of the primary IMatch DB. 

I would like to use the IMA File Lens so that IMA users can edit the metadata (keywords, description, etc) that is normally written to the EXIF area of the image file.  I have experimented with this, it does work, but it doesn't actually save the metadata to the source image file but rather to the IMatch DB copy that IMA uses. 

Is there a way to save the metadata changes to the image file?  I would like IMatch itself to then see these metadata changes and then update its own DB, just as if I were editing using IMatch.

Mario

IMatch by default writes metadata changes to the database for performance reasons.
You then later click on the pen icon to write-back changes to the selected files, or you use one of the Commands menu > Metadata Write-back commands to write all pending changes in the current scope or the entire database, when it is convenient.

See Metadata Write-back in the IMatch help.

IMWS applies the same principles. It does not immediately write-back changes to the files on disk.
You do that later when opening the database in IMatch. This gives you the best control over the metadata write-back process.

You can also enable immediate write-back under Edit > Preferences > Database. Note that this may affect the performance of the system negatively, especially if your files are large or on a slow storage medium (NAS).
You also have to make sure to run the IMWS service under a user which has write access to all image files. See the IMWS documentation to learn more about the LocalSystem user and how to configure IMWS to use a different user account.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Jingo

Quote from: Mario on January 19, 2019, 09:21:45 AM
IMatch by default writes metadata changes to the database for performance reasons.
You then later click on the pen icon to write-back changes to the selected files, or you use one of the Commands menu > Metadata Write-back commands to write all pending changes in the current scope or the entire database, when it is convenient.

See Metadata Write-back in the IMatch help.

IMWS applies the same principles. It does not immediately write-back changes to the files on disk.
You do that later when opening the database in IMatch. This gives you the best control over the metadata write-back process.

You can also enable immediate write-back under Edit > Preferences > Database. Note that this may affect the performance of the system negatively, especially if your files are large or on a slow storage medium (NAS).
You also have to make sure to run the IMWS service under a user which has write access to all image files. See the IMWS documentation to learn more about the LocalSystem user and how to configure IMWS to use a different user account.

One add'l question/comment on this... so, does this mean I can now have 1 single database to use between both systems?  Must I shut down the IMA service in order to access the database in IMatch itself?  Up until now, I have been using 2 DB's with an auto-sync'd (IM->IMA) each evening.  Now with 2 way control for edits, I would like to avoid any issues with conflicts and only use a single DB...  Thx!

Mario

You have to use the same database from now on (if you make changes to it in IMatch Anywhere WebViewer). Else your changes will be lost if you replace the database managed by IMWS by another database.
You need to shut-down IMWS if you want to edit the database in IMatch. And vice-versa. Both applications need full control over the database and lock it.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

russbecker

OK, this is fine.  I have set the copy of the IMatch DB that is for use by IMA 2019 to be both read/write and for metadata to update immediately.  I have tested this configuration on two different clients; the updated image files are detected by IMatch itself within a few minutes and the new metadata appears as it should.

Just have to remember to set the source IM DB to allow immediate metadata updates before copying it to the folder that contains the IMA 2019 DB. 

Jingo

Quote from: Mario on January 19, 2019, 02:42:20 PM
You have to use the same database from now on (if you make changes to it in IMatch Anywhere WebViewer). Else your changes will be lost if you replace the database managed by IMWS by another database.
You need to shut-down IMWS if you want to edit the database in IMatch. And vice-versa. Both applications need full control over the database and lock it.

Figured as much... though now I need to play with scripts to auto-stop and auto-start IMA services when starting IMatch again.... never did quite get those to work right for some reason.

Mario

In a regular batch file, just use net stop... net start.
Or the corresponding equivalent in PowerShell. Very easy to do.
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook

Jingo

Quote from: Mario on January 19, 2019, 08:08:07 PM
In a regular batch file, just use net stop... net start.
Or the corresponding equivalent in PowerShell. Very easy to do.

Tried that while back... net stop would take a good 45 seconds to fully stop the service... in the meantime, the DB copy would start and fail because it was still being open by the service.  I needed to place a 90 second pause into the script to ensure the service had fully stopped before attempting the copy...  Even using the Webservices applet would often take awhile to stop the service...

I've since rebuilt my PC so I hope this issue has gone away.  Will try it out and see!

Mario

A service can take some time to shut-down. This is normal. IMWS may be in the middle of calculating categories or whatever...

You normally send the stop to the service and then wait until it is stopped. Then you continue with whatever else is to do (copy the database).
See here, for example: https://stackoverflow.com/questions/28186904/powershell-wait-for-service-to-be-stopped-or-started
-- Mario
IMatch Developer
Forum Administrator
http://www.photools.com  -  Contact & Support - Follow me on 𝕏 - Like photools.com on Facebook