adobe-dmeservices / custom-metadata

The home for a Custom Metadata Panel extension for Creative Cloud
https://exchange.adobe.com/creativecloud.details.103752.html
17 stars 8 forks source link

Provide a JSON view file of commonly used properties #11

Closed MetadataDeluxe closed 2 years ago

MetadataDeluxe commented 3 years ago

To make it easier to build a custom view, a JSON file containing commonly used properties could be included in the app config folder, in the app user manual, or in a shared custom views page. This would save time looking up namespace, prefix, and field type.

Attached is an example which I'm happy to contribute. core_properties_view.zip

jameslockman commented 3 years ago

Thanks for this. We are scoping a different approach, which is to provide a drag and drop interface with the "standard" objects pre-configured. We plan to provide a way to make new schemas that can be used in the same manner. I cannot provide a timeline, but know that it is high on our list after we complete work on struct and alt-lang.

MetadataDeluxe commented 3 years ago

That's a great idea! Before I submit it as an enhancement, are you thinking of adding batch export/import to text (csv or tsv)?

mrtngrsbch commented 3 years ago

Excuse me if I continue in this thread and don't open another one...

My objective is to read and write XMP ISAD(G) ISAD(G) XML Schema: https://gist.github.com/anarchivist/826364 My Documentation: https://docs.google.com/spreadsheets/d/1lgJ7bgF3YWYn6RpQe6xPpc2lPtMmsKxhdoTDaipEz4M/edit?usp=sharing

I have created a preset isadg:Reference image

But I can't read the existing data in my work file MA-DP122766

But when I enter a value, it is effectively recorded... image

But now I have two values. image image

That is: I can only read and write the value I edited with Bridge/Custom Metadata Plugin

My Preset (based on the preset of @MetadataDeluxe): test-isadg_properties_view.json.zip

RAW XMP:

<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c148 79.164036, 2019/08/13-01:06:57        ">
   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <rdf:Description rdf:about=""
            xmlns:dc="http://purl.org/dc/elements/1.1/"
            xmlns:exif="http://ns.adobe.com/exif/1.0/"
            xmlns:isadg="https://gist.github.com/anarchivist/826364"
            xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/"
            xmlns:xmp="http://ns.adobe.com/xap/1.0/"
            xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
            xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
            xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"
            xmlns:xmpRights="http://ns.adobe.com/xap/1.0/rights/"
            xmlns:tiff="http://ns.adobe.com/tiff/1.0/">
         <dc:format>image/png</dc:format>
         <dc:creator>
            <rdf:Seq>
               <rdf:li>Martin GERSBACH</rdf:li>
            </rdf:Seq>
         </dc:creator>
         <dc:description>
            <rdf:Alt>
               <rdf:li xml:lang="x-default">http://www.metmuseum.org/art/collection/search/436819</rdf:li>
            </rdf:Alt>
         </dc:description>
         <dc:rights>
            <rdf:Alt>
               <rdf:li xml:lang="x-default">https://creativecommons.org/publicdomain/zero/1.0/</rdf:li>
            </rdf:Alt>
         </dc:rights>
         <dc:title>
            <rdf:Alt>
               <rdf:li xml:lang="x-default">64.148</rdf:li>
            </rdf:Alt>
         </dc:title>
         <exif:GPSLatitude>34,36.225366N</exif:GPSLatitude>
         <exif:GPSLongitude>58,22.896834E</exif:GPSLongitude>
         <exif:ExifVersion>0231</exif:ExifVersion>
         <exif:PixelXDimension>500</exif:PixelXDimension>
         <exif:PixelYDimension>674</exif:PixelYDimension>
         <exif:ColorSpace>65535</exif:ColorSpace>
         <isadg:NotesNote>Title is based on the name of the department in its enabling legislation (42 Vict., c. 7, s. 4-5).</isadg:NotesNote>
         <isadg:Reference>test</isadg:Reference>
         <isadg:Alliedmaterials rdf:parseType="Resource">
            <isadg:Existencelocationcopies>Digital reproductions of the Christie family Civil War correspondence are available electronically at http://www.mnhs.org/collections/christie.html. (Fonds) U.S., Minnesota Historical Society</isadg:Existencelocationcopies>
            <isadg:Existencelocationoriginals>Following sampling in 1985, the remaining case files were destroyed. (Series) U.S., Minnesota Historical Society</isadg:Existencelocationoriginals>
            <isadg:Publication>The entire calendar has been published in 12 volumes from the set of cards held by the University of Illinois. The Mereness Calendar: Federal Documents of the Upper Mississippi Valley 1780-1890 (Boston: G. K. Hall and Co., 1971). (Fonds) U.S., Minnesota Historical Society</isadg:Publication>
            <isadg:Relatedunits>Earlier files of a similar nature (1959-1968) are catalogued as Minnesota. Secretary of State. Charitable corporations files. (Series) U.S., Minnesota Historical Society</isadg:Relatedunits>
         </isadg:Alliedmaterials>
         <isadg:Conditionsaccessuse rdf:parseType="Resource">
            <isadg:Accessrestrictions>Unrestricted access, including display rights and consultation rights (Fonds) Canada, York University Archives</isadg:Accessrestrictions>
            <isadg:Findingaids>Series level descriptions available with associated box lists (Fonds) Canada, York University Archives</isadg:Findingaids>
            <isadg:Languagescripts>In Dakota, with partial English translation (File) U.S., Minnesota Historical Society</isadg:Languagescripts>
            <isadg:Phystech>Videotapes are in ½ inch helical open reel-to-reel format. (Sub-series) U.S., Minnesota Historical Society</isadg:Phystech>
            <isadg:Reprorestrictions>Copyright is retained by the artist (Fonds) Canada, York University Archives</isadg:Reprorestrictions>
         </isadg:Conditionsaccessuse>
         <isadg:Contentstructure rdf:parseType="Resource">
            <isadg:Accruals>Further accruals are expected (Fonds) Canada, York University Archives</isadg:Accruals>
            <isadg:Appraisaldestruction>An inventory to the former RG 43 (July 1998) is available. File lists to some sub-series are available</isadg:Appraisaldestruction>
            <isadg:Arrangement>The fonds is arranged into nine series: Railway Branch, Canal Branch, Legal records, Rideau Canal, Trent Canal, St. Peter's Canal, St. Lawrence Canals, Welland Canal, and Comptroller's Branch</isadg:Arrangement>
            <isadg:Scopecontent>Consists of records created by the Department and received from its predecessor, the Department of Public Works. Includes correspondence, contracts, financial and administrative, and other textual records; engineer’s drawings and specifications for construction of rail lines, stations, canals, telegraph lines; photographs, maps and plans of properties and construction sites.</isadg:Scopecontent>
         </isadg:Contentstructure>
         <isadg:Context rdf:parseType="Resource">
            <isadg:Acqinfo>Gift of Herbert Whittaker on 22 April 1994. (Fonds) Canada, York University Archives</isadg:Acqinfo>
            <isadg:Adminbiohistory>The Department of Railways and Canals existed from 1879 to 1936. It was established on May 15, 1879 (42 Vict. c. 7, s. 4-5), when it assumed responsibilities formerly under the direction of the Department of Public Works. It was dissolved on November 2, 1936 (1 Edw. VIII, c. 34), when its functions were incorporated in the newly created Department of Transport to group together all the federal government’s transport related activities. A Minister of the crown headed the Department, with a Deputy Minister as the chief administrative officer. Initially, it had two branches, the Railway Branch and the Canal Branch, each directed by a Chief Engineer, with the assistance of an accountant and a secretary responsible for record keeping, contracts, and reports. The Railway Branch was responsible for the construction, operation, and maintenance of governmentowned railways and telegraph networks such as the Intercolonial Railway, and the Prince Edward Island Railway and with railway companies with which it had major contracts such as the Canadian Pacific Railway Company. The Canal Branch was responsible for construction, operation, and maintenance of canals and navigation systems on the Great Lakes and along the St. Lawrence, Ottawa, Trent, and Richelieu Rivers, as well as for the St. Peter’s and Rideau Canals. In addition to its central offices in Ottawa, the Department had a large field service to operate railways and canals. In 1906, a Statistical Branch, which reported to the Comptroller, was created to gather and compile data on canals and railways. Three years later, the department reorganized into five branches, the Secretary’s, Legal, Statistical, Accountant’s, and two Chief Engineers Branches. In 1912, the Office of the Assistant Deputy Minister was created to oversee general administration.</isadg:Adminbiohistory>
            <isadg:Archivalhistory>Letters written by Herbert Whittaker and mailed to Sydney Johnson remained in the custody of Johnson until his death when they were returned/bequeathed to Whittaker and now constitute part of his fonds. (Fonds) Canada, York University Archives</isadg:Archivalhistory>
            <isadg:Creator>Canada. Dept. of Railways and Canals</isadg:Creator>
         </isadg:Context>
         <isadg:Descriptioncontrol rdf:parseType="Resource">
            <isadg:Archivistsnote>Description prepared by S. Dubeau in October 1997; revised in April1999 (Fonds) Canada, York University Archives</isadg:Archivistsnote>
            <isadg:Descriptionsdate>Series registered, 24 September 1987. Description updated, 10 November 1999. (Series) National Archives of Australia</isadg:Descriptionsdate>
            <isadg:Rulesconventions>Rules for Archival Description (RAD), Bureau of Canadian Archivists, 1990.</isadg:Rulesconventions>
         </isadg:Descriptioncontrol>
         <isadg:Identity rdf:parseType="Resource">
            <isadg:Date>1912–1913</isadg:Date>
            <isadg:DescriptionLevel>File</isadg:DescriptionLevel>
            <isadg:Extent>46 maps</isadg:Extent>
            <isadg:Reference>MET 64.148</isadg:Reference>
            <isadg:Title>Mäda Primavesi</isadg:Title>
         </isadg:Identity>
         <photoshop:LegacyIPTCDigest>DB87FE1284FC6878EF5D9E9C0F9FC0EF</photoshop:LegacyIPTCDigest>
         <photoshop:ColorMode>3</photoshop:ColorMode>
         <photoshop:ICCProfile/>
         <xmp:CreateDate>1903-12-31T21:00:00-03:00</xmp:CreateDate>
         <xmp:CreatorTool>jExifToolGUI 1.6.1</xmp:CreatorTool>
         <xmp:MetadataDate>2021-01-17T14:42:43-03:00</xmp:MetadataDate>
         <xmp:ModifyDate>2020-11-13T11:06:53-03:00</xmp:ModifyDate>
         <xmpMM:DocumentID>adobe:docid:photoshop:2053911a-9227-7248-99db-0ce15c0e37bc</xmpMM:DocumentID>
         <xmpMM:InstanceID>xmp.iid:7b047717-d174-4f75-bdb8-6fde37f006c9</xmpMM:InstanceID>
         <xmpMM:OriginalDocumentID>6B84193CBB5519786A2346F12BA795E0</xmpMM:OriginalDocumentID>
         <xmpMM:DerivedFrom rdf:parseType="Resource">
            <stRef:documentID>6B84193CBB5519786A2346F12BA795E0</stRef:documentID>
            <stRef:instanceID>xmp.iid:ff584900-9fce-40f2-b44c-538e7c9fe7df</stRef:instanceID>
            <stRef:originalDocumentID>6B84193CBB5519786A2346F12BA795E0</stRef:originalDocumentID>
         </xmpMM:DerivedFrom>
         <xmpMM:History>
            <rdf:Seq>
               <rdf:li rdf:parseType="Resource">
                  <stEvt:action>saved</stEvt:action>
                  <stEvt:changed>/</stEvt:changed>
                  <stEvt:instanceID>xmp.iid:c9678a3c-e0a1-4b9c-abeb-d82fb7d0c6d6</stEvt:instanceID>
                  <stEvt:softwareAgent>Adobe Photoshop 21.0 (Macintosh)</stEvt:softwareAgent>
                  <stEvt:when>2020-11-12T14:20:11-03:00</stEvt:when>
               </rdf:li>
               <rdf:li rdf:parseType="Resource">
                  <stEvt:action>saved</stEvt:action>
                  <stEvt:changed>/</stEvt:changed>
                  <stEvt:instanceID>xmp.iid:ff584900-9fce-40f2-b44c-538e7c9fe7df</stEvt:instanceID>
                  <stEvt:softwareAgent>Adobe Photoshop 21.0 (Macintosh)</stEvt:softwareAgent>
                  <stEvt:when>2020-11-13T11:06:53-03:00</stEvt:when>
               </rdf:li>
               <rdf:li rdf:parseType="Resource">
                  <stEvt:action>converted</stEvt:action>
                  <stEvt:parameters>from image/jpeg to image/png</stEvt:parameters>
               </rdf:li>
               <rdf:li rdf:parseType="Resource">
                  <stEvt:action>derived</stEvt:action>
                  <stEvt:parameters>converted from image/jpeg to image/png</stEvt:parameters>
               </rdf:li>
               <rdf:li rdf:parseType="Resource">
                  <stEvt:action>saved</stEvt:action>
                  <stEvt:changed>/</stEvt:changed>
                  <stEvt:instanceID>xmp.iid:853b39fc-866e-4cee-8128-f24cf872f802</stEvt:instanceID>
                  <stEvt:softwareAgent>Adobe Photoshop 21.0 (Macintosh)</stEvt:softwareAgent>
                  <stEvt:when>2020-11-13T11:06:53-03:00</stEvt:when>
               </rdf:li>
               <rdf:li rdf:parseType="Resource">
                  <stEvt:action>saved</stEvt:action>
                  <stEvt:instanceID>xmp.iid:7b047717-d174-4f75-bdb8-6fde37f006c9</stEvt:instanceID>
                  <stEvt:when>2021-01-17T14:42:43-03:00</stEvt:when>
                  <stEvt:softwareAgent>Adobe Bridge 2020 (Macintosh)</stEvt:softwareAgent>
                  <stEvt:changed>/metadata</stEvt:changed>
               </rdf:li>
            </rdf:Seq>
         </xmpMM:History>
         <xmpRights:Marked>False</xmpRights:Marked>
         <tiff:Orientation>1</tiff:Orientation>
         <tiff:ImageWidth>500</tiff:ImageWidth>
         <tiff:ImageLength>674</tiff:ImageLength>
         <tiff:PhotometricInterpretation>2</tiff:PhotometricInterpretation>
         <tiff:SamplesPerPixel>3</tiff:SamplesPerPixel>
         <tiff:XResolution>72/1</tiff:XResolution>
         <tiff:YResolution>72/1</tiff:YResolution>
         <tiff:ResolutionUnit>2</tiff:ResolutionUnit>
         <tiff:BitsPerSample>
            <rdf:Seq>
               <rdf:li>8</rdf:li>
               <rdf:li>8</rdf:li>
               <rdf:li>8</rdf:li>
            </rdf:Seq>
         </tiff:BitsPerSample>
      </rdf:Description>
   </rdf:RDF>
</x:xmpmeta>

Best, Martin MacOS 10.15.7 Bridge 2020 10.0.2.131

MetadataDeluxe commented 3 years ago

@mrtngrsbch It looks like isadg:Reference is a sub-property of isadg:Identity

     <isadg:Identity rdf:parseType="Resource">
        <isadg:Date>1912–1913</isadg:Date>
        <isadg:DescriptionLevel>File</isadg:DescriptionLevel>
        <isadg:Extent>46 maps</isadg:Extent>
        <isadg:Reference>MET 64.148</isadg:Reference>
        <isadg:Title>Mäda Primavesi</isadg:Title>
     </isadg:Identity>

To make this work in the Custom Panel, set your XMP property name to: Identity/isadg:Reference

image

The problem is, the editor will show an error if you enter the "/" character, so you'll have to open the JSON file and make the change there. I did this and it works. image

jameslockman commented 3 years ago

We have support for "/" and other permitted special characters as an enhancement request.

mrtngrsbch commented 3 years ago

Identity / isadg: Reference

Thank you so much @MetadataDeluxe ! Indeed your advice works OK

image

image

best,

mrtngrsbch commented 3 years ago

We have support for "/" and other permitted special characters as an enhancement request.

Nice James...

Question: What are the plans for the custom metadata search? How does 'Filter' work?

best

jameslockman commented 3 years ago

Today, search works with "All Metadata" selected in the search criteria. In this example, I searched for the word "female" with All Metadata set at the constraint. image "Female" is one of the gender choices in the Pet Shop metadata schema.

As for Filter, you can use Filter to set a field whose value controls the visibility of a given multi-choice item. You set the filter value with the parent tag. Let's say you want to have a dropdown for animal breed. You have another dropdown that sets the species. So, you can set the filter field to Species, and then use the parent tag to filter each value based on the choices in the Filter. If the Filter has the values dog and cat, then the breeds might be:

[
  {
    "label": "Schnauzer",
    "value": "schnauzer",
    "parent": "dog"
  },
  {
    "label": "Maine Coon",
    "value": "maine_coon",
    "parent": "cat"
  }
]

This menu would only show "Schnauzer" when the Breed was dog, and it would show "Maine Coon" when the breed was cat.

mrtngrsbch commented 3 years ago

Effectively, today I can search for "Fujikawa" in "All Metadata" image

But the image you have shown me has left me surprised, really. That's very interesting.

This is the first time I try to expand the capabilities of Bridge and all this is new. How did you manage to create that panel? Is it a JSON Custom created by you? Is there a JSON custom repository of examples?

I must admit that I have yet to read all the documentation, but I will do my best.

best

mrtngrsbch commented 3 years ago

Sorry... I just found out that I don't have the example of Pet_Shop (???) I only have the "core_properties_view.zip" that @MetadataDeluxe kindly published at the beginning of the thread

MetadataDeluxe commented 3 years ago

@mrtngrsbch look in the custom metadata extension folder for the default_view.json file. This has several very helpful examples, including the Pet_Shop property, which is a special AEM property. I'm not familiar with AEM, but the functionality they have built for it in this extension is very nice.

On Windows, so the file location is: C:\Program Files (x86)\Common Files\Adobe\CEP\extensions\com.adobe.custom-metadata-cep\configs\default_view.json

It would be great to have a forum or a place (perhaps GitHub) where users could share their config files and share tricks they have figures out.

mrtngrsbch commented 3 years ago

Thanks @MetadataDeluxe, now I have more toys to play with. image

While waiting for a place to share config files (presets?)... I have created a repository with ISAD(G): https://github.com/MuseosAbiertos/Adobe-Bridge-Custom-Metadata-JSON-Presets

mrtngrsbch commented 3 years ago

Hi @jameslockman,

I have created a repository for the presets thanks to @MetadataDeluxe, we already have 5 presets. I think it's interesting to have them together or with a link from your repository or something else... best

Qrizzz commented 3 years ago

Today, search works with "All Metadata" selected in the search criteria. In this example, I searched for the word "female" with All Metadata set at the constraint.

@jameslockman The plugin has a lot more functions than I originally expected. Adding custom metadata is breeze now, thank you. The one thing I could not find out ist how to filter for assets without custom metadata. In your example I like to find all pet images with missing breed. Can I extend the search/find options as well and safe it as a custom search?

jameslockman commented 3 years ago

Thanks, @Qrizzz . We have been informed by the Bridge team that there is no way to change Bridge's built-in filter or search capabilities. Can you please open a new issue here, and ask for a filter panel that allows users to filter based on properties that exist in the Custom Metadata Panel?

jameslockman commented 2 years ago

We have incorporated the presets maintained by Martin Gersbach and Greg Reser of GLAM at their repository of useful config files for common metadata namespaces and properties into the Custom Metadata Panel in version 1.5.0. The examples are available via dropdown menu when creating a new View.