• Resolved miarr0wporg

    (@miarr0wporg)


    Hello David,
    This is a follow up question to this one. I didn’t want to reply to that since it is already marked as resolved.
    I found it because I was searching for a tool that would allow to read metadata on import but still work with folders.

    This is a question referring to compatibility with folder management. I guess a lot of people want WP to read metadata that is already stored in files (I believe those are the purlorg dc elements) and use MLA to map the fields.

    I use xmp files and Photoshop to add file information like description, keywords and title to my files. Basically the same information I would need to add to the files in the media library, such as title, description and keywords. It would save a lot of time if there was a way to have WordPress read that information on upload, since it’s already there.

    Since most of the information stays the same I use the import xmp function to add a template xmp and change what is needed, which is often just the title or an additional keyword. Once that is done all that changes is the filename for different images of the same item.

    Would it be possible to use your existing code to create a tool that works the other way round and maps the basic wp fields like title, caption & description to generate an xmp template file with placeholder text like “enter your wp title here” to cover differences in field naming (I read the discussion about extracting meta data from PDF)? A tool that would read the field-content on upload again?
    If it was possible, people could import the xmp into their Photoshop files and enter their taxonomy, export the file with the setting “export all (except exif)” and the tool would map the entry to the wp fields on upload again. End of job. Once the image has the file information attached it could be organized with folder management plugins.

    I hope the question is not too much of an imposition, I lack the skills to even imagine how and if that would work, and I don’t want to waste your time with a question that does not refer to MLA directly. So I hope you don’t mind the question.

Viewing 4 replies - 1 through 4 (of 4 total)
  • Plugin Author David Lingren

    (@dglingren)

    Thanks for your detailed question and for linking to the earlier support topic. It seems to me that the “folder management” topic and your “XMP” question are independent. You wrote:

    I use xmp files and Photoshop to add file information like description, keywords and title to my files. Basically the same information I would need to add to the files in the media library, such as title, description and keywords. It would save a lot of time if there was a way to have WordPress read that information on upload, since it’s already there.

    As I understand it, when you import the XMP template, customize it and save the results the XMP information is embedded in the image file in the same way IPTC and EXIF information is embedded; is that right? If you post a link to one or more of your image files I can investigate further.

    The current MLA version contains the xmp: prefix that gives you access to all of the XMP metadata embedded in the image file. You can use that in the [mla_gallery] shortcode and in IPTC/EXIF or Custom Field mapping rules to populate WordPress standard fields, e.g., Title or Description, taxonomy terms and custom fields.

    As you wrote, there are “differences in field naming” among the various image editing tools such as Photoshop. I think it would be better to use the editing tool to generate a template. Photoshop, for example, already has an “Export…” feature to generate an XMP template file. In Photoshop, load an image, pull down the File menu, select File Info and look for the Import/Export/Show Templates Folder” dropdown control. You can enter the “placeholder text” in the tool and then export it as your template.

    If MLA were to generate a template file using a specific set of field names there is a chance that some of these would not be recognized by the editing tool of choice. I believe it is safer to let the tool generate the template. Here is an example of tool-specific metadata used by Photoshop:

          <rdf:Description rdf:about=""
                xmlns:photoshop="https://ns.adobe.com/photoshop/1.0/">
             <photoshop:DateCreated>2020-07-03T14:31:34</photoshop:DateCreated>
             <photoshop:ColorMode>3</photoshop:ColorMode>
             <photoshop:ICCProfile>sRGB IEC61966-2.1</photoshop:ICCProfile>
             <photoshop:AuthorsPosition>Author Title</photoshop:AuthorsPosition>
             <photoshop:CaptionWriter>Description Writer</photoshop:CaptionWriter>
             <photoshop:Category>CAT</photoshop:Category>
             <photoshop:City>Origin City</photoshop:City>
             <photoshop:State>Origin State/Province</photoshop:State>
             <photoshop:Country>Origin Country</photoshop:Country>
             <photoshop:Credit>Credit</photoshop:Credit>
             <photoshop:Source>Source</photoshop:Source>
             <photoshop:Headline>Headline</photoshop:Headline>
             <photoshop:Instructions>Instructions</photoshop:Instructions>
             <photoshop:TransmissionReference>Transmission Reference</photoshop:TransmissionReference>
             <photoshop:Urgency>5</photoshop:Urgency>
             <photoshop:SupplementalCategories>
                <rdf:Bag>
                   <rdf:li>Supplemental Categories</rdf:li>
                </rdf:Bag>
             </photoshop:SupplementalCategories>
          </rdf:Description>
    

    I am marking this topic resolved, but please update it if you have any problems or further questions regarding my answer, or if you’d like to post a link to one or more images for me to analyze. Thanks for your thoughts and for your interest in the plugin.

    Thread Starter miarr0wporg

    (@miarr0wporg)

    Thank you very much for taking the time to write such a detailed answer. The differences in field naming are just differences in the way the user interface of that specific software “calls” what your put in the fields, what is generated is the same, I believe.

    And you are right, the information is stored in the file. Unfortunately there’s no way to export the keywords but keep your very old photoshop version hidden ;).
    Just in case you are interested: Here are some samples, a jpg exported with a template.xmp, which I included in the zip file.
    Link to a zip file with sample data (jpg, xmp)

    I will try MLA. Thank you very much again!

    Plugin Author David Lingren

    (@dglingren)

    Thanks for the positive feedback and the link to your sample image.

    You wrote “The differences in field naming are just differences in the way the user interface of that specific software “calls” what your put in the fields, what is generated is the same, I believe.” It’s true that the User Interface labels vary quite a bit from tool to tool. Many of the underlying values, e.g., the “Dublin Core” values, are usually the same. Working with many images over the years, I have found variations from file to file, especially in the EXIF and XMP values. There are “recommendations” but no enforced standards.

    Here is how some of the data in your image looks to MLA:

      'mla_xmp_metadata' => 
      array (
        'xmptk' => 'Adobe XMP Core 4.2.2-c063 53.352624, 2008/07/30-18:12:18        ',
        'ModifyDate' => '2020-06-29 11:00:30',
        'MetadataDate' => '2020-06-29 11:00:30',
        'CreatorTool' => 'Adobe Photoshop CS2 Windows',
        'CreateDate' => '2014-07-17 20:46:31',
        'Rating' => '0',
        'DocumentID' => 'uuid:CB7236F84605E411878D975CA54D0EC7',
        'InstanceID' => 'xmp.iid:59EA63D9E4B9EA1189F3B2BB826CC025',
        'OriginalDocumentID' => 'uuid:CB7236F84605E411878D975CA54D0EC7',
        'format' => 'application/vnd.adobe.photoshop',
        'Marked' => 'True',
        'DerivedFrom' => 
        array (
          'instanceID' => 'uuid:7F3B9E0152FAE311B2519653E5B611FB',
          'documentID' => 'uuid:AEC1518B978EE311B0C3FE4373DF94D0',
        ),
        'History' => 
        array (
          0 => 
          array (
            'action' => 'saved',
            'instanceID' => 'xmp.iid:A637B6431489E4118DA28EA0D4976CE5',
            'when' => '2014-12-21 15:50:38',
            'softwareAgent' => 'Adobe Photoshop CS4 Windows',
            'changed' => '/',
          ),
    
    ... (deleted 1 - 15 )
    
          16 => 
          array (
            'action' => 'saved',
            'instanceID' => 'xmp.iid:59EA63D9E4B9EA1189F3B2BB826CC025',
            'when' => '2020-06-29 11:00:30',
            'softwareAgent' => 'Adobe Photoshop CS4 Windows',
            'changed' => '/',
          ),
        ),
        'subject' => 
        array (
          0 => 'Iplehouse Sculptname',
          1 => 'BJD',
          2 => 'ResinRapture',
        ),
        'description' => 'Iplehouse Sculptname customized by ResinRapture',
        'rights' => '? ResinRapture',
        'creator' => 'ResinRapture',
        'title' => 'Iplehouse Sculptname - Dollname',
        'Title' => 'Iplehouse Sculptname - Dollname',
        'Author' => 'ResinRapture',
        'Subject' => 'Iplehouse Sculptname customized by ResinRapture',
        'Keywords' => 
        array (
          0 => 'Iplehouse Sculptname',
          1 => 'BJD',
          2 => 'ResinRapture',
        ),
        'Creator' => 'Adobe Photoshop CS2 Windows',
        'CreationDate' => '2014-07-17 20:46:31',
        'ModDate' => '2020-06-29 11:00:30',
        'xmlns' => 
        array (
          'x' => 'adobe:ns:meta/',
          'rdf' => 'https://www.w3.org/1999/02/22-rdf-syntax-ns#',
          'xmp' => 'https://ns.adobe.com/xap/1.0/',
          'tiff' => 'https://ns.adobe.com/tiff/1.0/',
          'xmpMM' => 'https://ns.adobe.com/xap/1.0/mm/',
          'stRef' => 'https://ns.adobe.com/xap/1.0/sType/ResourceRef#',
          'stEvt' => 'https://ns.adobe.com/xap/1.0/sType/ResourceEvent#',
          'dc' => 'https://purl.org/dc/elements/1.1/',
          'photoshop' => 'https://ns.adobe.com/photoshop/1.0/',
          'xmpRights' => 'https://ns.adobe.com/xap/1.0/rights/',
        ),
    

    Accessing the data within MLA is straightforward. For example you can use [+xmp:description+] or [+xmp:Author+]. Note that the names are case-sensitive and some of them, like “subject/Subject” and “creator/Creator”, can be confusing.

    Good luck with your application. If you need more specific help, start a new topic and I will do what I can.

    Thread Starter miarr0wporg

    (@miarr0wporg)

    Thank you! I am sure most of what I need to know is already covered in your documentation or can be found in your answers to other people’s questions.

Viewing 4 replies - 1 through 4 (of 4 total)
  • The topic ‘Folder management compatibility’ is closed to new replies.