It requires the Imagick PHP extension, not just ImageMagick. I've considered making a command line version (after finishing Gmagick support), so that may come in the future for servers with ImageMagick but not Imagick.
I seem to see the same problem with some of the albums in the same version of zen that gjunk is using. However it is certainly camera dependent, and in those cases where the field EXIF:ImageDescription is wrongly filled by the camera then the file name in the album is the name of the camera which is not a great default. I accept that strictly this is not a zen issue but it would be nice if the default were to be to use a pre-existing filename where it exists, rather than take it from the exif data.
Most users would prefer to use the data they carefully placed into their image metadata rather than have the filename override it. This is not something we will change in zenphoto. As discussed in this thread there are actions that you can take to correct this going anywhere from correcting the data in your images to implementing a plugin that will store your chosen data in the database.
Perhaps the best would be a proper maker script for the camera. However we are not in a position to be able to create these for any and every camera. If someone with the camera provides the maker code we will be glad to add it to the list.
Mcloaked, the maker code sbillard refers to is in the /zp-core/exif/makers folder. There are files to parse camera-specific details for various manufacturers. I'm not particularly familiar with this code, but it looks like adding a parser for Minolta could accomplish what you're looking for, by mapping the correct camera-specific fields to the standard fields. For example, your camera is reporting the camera name "MINOLTA DIGITAL CAMERA" as the "ImageDescription". ZenPhoto correctly detects a value for ImageDescription and shows it. The problem is, your camera is putting that value in the wrong place, and thus filling your gallery with many images with the same unhelpful title.
gjunk - I think what would be "easiest" depends on the scenario. If a site allows uploads by many users, then option 1 is best, as it will allow most users to upload images with proper metadata and get the full functionality, while allowing exceptions for specific "rogue" cameras. But if a site is populated with images by a single person, such as a photographer uploading to his/her own site, then obviously I can see the argument for it just being easier to turn off EXIF reading. However, why would that be desirable on a per-album basis? I would think it would be needed site-wide, or on a per-user basis (on the theory that a perticular user would have the issue).
On the other hand, as a programmer, I lean toward the "let's make a script for that camera" so that it can be done "right", and thus help all users with that camera model. I'd be happy to look into this, but it won't be too soon. I currently have a few jobs I'm working to finish up, and PHP is not one of my primary languages.
I was thinking per album as I imagined all (most) images in each album probably came from same camera - but a different album may be a newer (better) camera without the bad exif data problem - so problem albums could easily be switched to ignore it.
Since I find the concept of using metadata very attractive I would not want it to be off per site, or def not for all users. Just seemed like a simple solution with low maintenance!
Thanks for thoughts and help.
Any suggestions how I can make zen lose its memory and refresh new metadata (as per above) ?
I think managing per-album metadata exclusions would be a lot more trouble than it's worth, leading to potentially more confusion as to why the data shows up for some pics but not for others. There's already a button to refresh metadata for the gallery or for a specific album. Once the Minolta maker script is done, refreshing will update all that metadata as well.
I pressed the refresh meta data button in overview but the memory of the old exif:ImageDescription field (which was edited out and is now blank) lives on somewhere in zen - refresh did not clear it.
Refreshing meta data will of course not clear your already wrong set image titles. (then it would delete it for anyone everytime!). you have to edit the title field manually. Or you have to reupload the images so Zenphoto considers them as new.
No, it does not flag from where the data in hte normal fields come from. On initial import Zenphoto uses the exif title for the image title of course but not on refresh as that could override manual changes which is mostly not wanted.
Btw, you don't need to delete the whole site. Just move the albums out of the albums folder. Then access the site and they are gone for Zenphoto. Now move them back and Zenphoto will import them new and uses the meta data if available again.
Well, actually, if the metadata has changed, Zenphoto will update its database. Unfortunately, you are experiencing the one "exception" to that. Setting the data to empty is roughtly equivalent to not having such data. Zenphoto only uses "real" data for setting the title. There are a number of sources for the title in the metadata. If any are proivded then they will become the database tile. Otherwise the existing title will remain.
Ah that makes perfect sense ... thank you. And good to know it will pick up additions/changes (rather than deletions).
Can you say which fields exactly are used for titles and also desriptions ?
I am thinking it might be possible to make a table of all titles and descriptions and then scripting a bulk edit to read that table and create good metadata for the corresponding image files.
Best to look up the class-image method `updateMetaData()` as the ultimate athority on this sort of thing. Titles come from `IPTCObjectName`, `IPTCImageHeadline`, and `EXIFDescription` in that priority order.
Comments
On the overview tab I have:
Graphics support: PHP GD library bundled (2.0.34 compatible)
no mention of ImageMagick ... which is def installed on the server - I did rerun setup but nothing changed.
Thanks.
gene/
Logging in to webserver I have this:
$ rpm -q ImageMagick
ImageMagick-6.4.0.10-2
$ which identify
/usr/bin/identify
$ which convert
/usr/bin/convert
So its definitely available on the server ...
Any suggestions what I can do to make it be recognized ?
php-pecl-imagick
and also a
php-pecl-gmagick
Do I need both of these ?
(They will be installed this eve .. )
Thanks for help.
thanks
Perhaps the best would be a proper maker script for the camera. However we are not in a position to be able to create these for any and every camera. If someone with the camera provides the maker code we will be glad to add it to the list.
The best I can find is:
exif:Model: DiMAGE Xt
and
exif:Make: Minolta Co., Ltd.
exif:MakerNote: 9, 0, 0, 0, 7, 0, 4, 0, 0, 0, 77, 76, 89, 48, 136, 0, 4, 0, 1, 0, 0, 0, 61, 56, 0, 0, 137, 0, 4, 0, 1, 0, 0, 0, 78, 84, 0, 0, 0, 1, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 1, 4, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 1, 4, 0, 1, 0, 0, 0, 7, 0, 0, 0, 4, 1, 10, 0, 1, 0, 0, 0, 238, 4, 0, 0, 0, 15, 7, 0, 238, 1, 0, 0, 246, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, 41, 2, 1, 2, 201, 0, 0, 0, 0, 255, 0, 0, 0, 25, 97, 18, 49, 0, 0, 129, 209, 0, 0, 18, 27, 0, 0, 253, 44, 0, 1, 250, 88, 0, 0, 168, 200, 0, 0, 84, 161, 0, 0, 86, 206, 1, 44, 1, 181, 0, 160, 0, 29, 0, 0, 92, 1, 0, 0, 2, 140, 0, 0, 10, 209, 0, 0, 0, 5, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 48, 19, 0, 0, 74, 1, 18, 97, 0, 80, 10, 209, 0, 0, 10, 88, 0, 69, 5, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 16, 0, 0, 10, 34, 34, 34, 34, 15, 217, 16, 58, 19, 156, 1, 179, 17, 17, 17, 17, 1, 238, 3, 186, 0, 0, 1, 154, 2, 0, 1, 137, 1, 245, 2, 1, 1, 0, 160, 85, 0, 1, 3, 82, 0, 0, 0, 15, 0, 29, 0, 9, 0, 7, 0, 10, 0, 0, 0, 0, 0, 29, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, 1, 107, 1, 235, 2, 134, 3, 49, 3, 3, 1, 41, 2, 1, 2, 201, 0, 0, 10, 239, 11, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 136, 136, 1, 0, 0, 204, 16, 68, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 99, 2, 141, 2, 158, 2, 82, 208, 0, 0, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 219, 5, 160, 5, 250, 5, 48, 0, 0, 0, 0, 0, 0, 0, 0, 15, 190, 18, 162, 19, 207, 17, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 119, 119, 119, 119, 26, 31, 24, 30, 26, 31, 18, 29, 16, 25, 100, 0, 13, 0, 0, 2, 0, 0, 66, 56, 2, 2, 104, 11, 50, 7, 238, 27, 5, 66, 0, 100, 24, 31, 100, 69, 30, 31, 31, 31, 1, 164, 1, 200, 1, 141, 2, 58, 0, 0, 0, 75, 0, 53, 0, 32, 1, 137, 1, 245, 102, 102, 102, 102, 0, 0, 0, 8, 0, 0, 0, 9, 0, 0, 0, 10
This was using the "identify --verbose" command on an image from the camera.
and also:
exif:ImageDescription: MINOLTA DIGITAL CAMERA
If there is any other data that can be extracted for adding to your list I will try to provide it?
Making a Minolta maker script would correct this.
I edited the exif:ImageDescription and removed the offending camera make/model .
Went back to zen and it still shows the camera name.
Went to overview and pressed refresh meta data - after a some time it finished. Problem persists.
I even refreshed database ..
How do I make zen pick up the newly edited (now empty) exif:ImageDescription field ?
2) I like the idea of using exif data - can you say which fields are used?
a) ImageDescription mapes to title ?
b) what maps to a lengthier description of the image ?
Thanks.
a) Get a maker script for every possible camera with a problem - as each case presents itself.
b) add an option that any user can use to skip exif data for titles on an album by album basis.
On the other hand, as a programmer, I lean toward the "let's make a script for that camera" so that it can be done "right", and thus help all users with that camera model. I'd be happy to look into this, but it won't be too soon. I currently have a few jobs I'm working to finish up, and PHP is not one of my primary languages.
If nobody else gets to it before I have a chance in a week or two, I'll tackle it myself.
I was thinking per album as I imagined all (most) images in each album probably came from same camera - but a different album may be a newer (better) camera without the bad exif data problem - so problem albums could easily be switched to ignore it.
Since I find the concept of using metadata very attractive I would not want it to be off per site, or def not for all users. Just seemed like a simple solution with low maintenance!
Thanks for thoughts and help.
Any suggestions how I can make zen lose its memory and refresh new metadata (as per above) ?
Thank you !!
gene/
(aka gjunk)
Then what does refresh metadata actually do - if not read and update the metadata ?
If not - i understand the behaviour.
Btw, you don't need to delete the whole site. Just move the albums out of the albums folder. Then access the site and they are gone for Zenphoto. Now move them back and Zenphoto will import them new and uses the meta data if available again.
Can you say which fields exactly are used for titles and also desriptions ?
I am thinking it might be possible to make a table of all titles and descriptions and then scripting a bulk edit to read that table and create good metadata for the corresponding image files.
according to http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/IPTC.html
Caption-Abstract
LocalCaption
RasterizedCaption
The first 2 are ignored by zen and the 3rd seems to require being >= 7360 bytes long.
Could you tell me exactly which field I need to set to get the caption picked up by zen.
Setting EXIF:ImageDescription is picked up for title as you suggested.
thanks.