Duane,
I want to setup Extensis Portfolio 8.0 to extract all the information contained in images and put that data into appropriate fields in an image database. I do this when I am moving images offline for archival. At this point I don't think I know where all this data is coming from and how it's handled by the various apps I use. I understand that this is an evolving condition and differs from application to application. The Photo Mechanic manual is helpful but maybe someone can clarify or share what they are doing.
My current understanding is this: the camera adds the EXIF data, I add IPTC data via the stationery pad in Photo Mechanic, and I'm not really sure what's happening with Photoshop CS 2 and the .xmp sidecar files. I realize that I've probably raised some fairly broad questions so let me narrow it down to this solution I'm trying to implement. I'd like to have a corresponding field in Portfolio for every field in the Photo Mechanic IPTC stationery pad.
The problem I'm stopped at now is to come up with the "Metadata code" for any new field. For example, the data in the Photo Mechanic stationery pad fields Supp. Cat. 1, 2, and 3 all gets put into a single Supplemental Category field separated by commas. I suppose that's ok but I'd like to break it out into separate field in Portfolio. I have created the "receiving" fields in Portfolio but need to tell Portfolio what the metadata code is for the data in the image file. The metadata code for the Supplemental Category is 532. I don't know where this number got assigned but how do I find out what the codes are for all fields in the Photo Mechanic stationery pad?
Supplemental categories are just a list in a single field. Photo Mechanic just happens to show them as separate fields. The number 532 is the IPTC field value for Supplemental Categories.
As for getting a list of the field values, here is the set of definitions right out of the source code for Photo Mechanic:
// IPTC DataSets (in numerical order)
// NOTE: we don't support all of these, only the "normal" ones
// other fields should be preserved (up to some limit)
enum {
// record 1
IPTC_RECORD1_VERSION = 0x0100, // 0
IPTC_DESTINATION = 0x0105, // 5
IPTC_FILE_FORMAT = 0x0114, // 20
IPTC_FILE_FORMAT_VERSION = 0x0116, // 22
IPTC_SERVICE_ID = 0x011e, // 30
IPTC_ENVELOPE_NUMBER = 0x0128, // 40
IPTC_PRODUCT_ID = 0x0132, // 50
IPTC_ENVELOPE_PRIORITY = 0x013c, // 60
IPTC_DATE_SENT = 0x0146, // 70
IPTC_TIME_SENT = 0x0150, // 80
IPTC_CODED_CHAR_SET = 0x015a, // 90
IPTC_UNO = 0x0164, // 100
// record 2
IPTC_RECORD2_VERSION = 0x0200, // 0
IPTC_OBJECT_TYPE = 0x0203, // 3
IPTC_OBJECT_ATTRIBUTE = 0x0204, // 4
IPTC_OBJECT_NAME = 0x0205, // 5
IPTC_EDIT_STATUS = 0x0207, // 7
IPTC_EDITORIAL_UPDATE = 0x0208, // 8
IPTC_URGENCY = 0x020a, // 10
IPTC_SUBJECT_REFERENCE = 0x020c, // 12
IPTC_CATEGORY = 0x020f, // 15
IPTC_SUPP_CATEGORIES = 0x0214, // 20
IPTC_FIXTURE = 0x0216, // 22
IPTC_KEYWORDS = 0x0219, // 25
IPTC_CONTENT_LOCATION_CODE = 0x021a, // 26
IPTC_CONTENT_LOCATION_NAME = 0x021b, // 27
IPTC_RELEASE_DATE = 0x021e, // 30
IPTC_RELEASE_TIME = 0x0223, // 35
IPTC_EXPIRATION_DATE = 0x0225, // 37
IPTC_EXPIRATION_TIME = 0x0226, // 38
IPTC_SPECIAL_INSTRUCTIONS = 0x0228, // 40
IPTC_ACTION_ADVISED = 0x022a, // 42
IPTC_REF_SERVICE = 0x022d, // 45
IPTC_REF_DATE = 0x022f, // 47
IPTC_REF_NUMBER = 0x0232, // 50
IPTC_DATE_CREATED = 0x0237, // 55
IPTC_TIME_CREATED = 0x023c, // 60
IPTC_DIG_DATE_CREATED = 0x023e, // 62
IPTC_DIG_TIME_CREATED = 0x023f, // 63
IPTC_ORIGINATING_PROGRAM = 0x0241, // 65
IPTC_PROGRAM_VERSION = 0x0246, // 70
IPTC_OBJECT_CYCLE = 0x024b, // 75
IPTC_BYLINE = 0x0250, // 80
IPTC_BYLINE_TITLE = 0x0255, // 85
IPTC_CITY = 0x025a, // 90
IPTC_SUB_LOCATION = 0x025c, // 92
IPTC_PROVINCE_STATE = 0x025f, // 95
IPTC_COUNTRY_CODE = 0x0264, // 100 ISO 3166:1988
IPTC_COUNTRY_NAME = 0x0265, // 101
IPTC_ORIG_TRANS_REF = 0x0267, // 103
IPTC_HEADLINE = 0x0269, // 105
IPTC_CREDIT = 0x026e, // 110
IPTC_SOURCE = 0x0273, // 115
IPTC_COPYRIGHT = 0x0274, // 116
IPTC_CONTACT = 0x0276, // 118
IPTC_CAPTION = 0x0278, // 120
IPTC_CAPTION_WRITERS = 0x027a, // 122
IPTC_RASTERIZED_CAPTION = 0x027d, // 125
IPTC_IMAGE_TYPE = 0x0282, // 130
IPTC_IMAGE_ORIENTATION = 0x0283, // 131
IPTC_LANGUAGE_ID = 0x0287, // 135
IPTC_AUDIO_TYPE = 0x0296, // 150
IPTC_AUDIO_RATE = 0x0297, // 151
IPTC_AUDIO_RESOLUTION = 0x0298, // 152
IPTC_AUDIO_DURATION = 0x0299, // 153
IPTC_AUDIO_OUTCUE = 0x029a, // 154
IPTC_JOBMINDER = 0x02c7, // 199
IPTC_PREVIEW_FILE_FORMAT = 0x02c8, // 200 FotoStation?
IPTC_PREVIEW_FORMAT_VERS = 0x02c9, // 201 FotoStation?
IPTC_PREVIEW_DATA = 0x02ca, // 202 FotoStation?
// IPTC prefs
IPTC_PM_PREFS = 0x02dd, // 221 Photo Mechanic prefs (tag, color class, frame)
// record 7
IPTC_SIZE_MODE = 0x070a, // 10
ITPC_MAX_SUBFILE_SIZE = 0x0714, // 20
IPTC_SIZE_ANNOUNCED = 0x075a, // 90
IPTC_MAX_OBJECT_SIZE = 0x075f // 95
};
BTW, the listing was perfectly formatted when I entered it...
HTH,
-Kirk