My developer team and I recently worked with the Bridge team on a new feature in Bridge CC called Custom Keywords. It’s a deceptively simple yet very powerful tool that lets customers expose a controlled metadata taxonomy to end users, which enforces Enterprise metadata standards and reduces metadata madness for the Enterprise content manager.
You’re probably familiar with Keywords, which is a staple metadata interface across the Creative Cloud applications. Keywords is a flexible interface to a set of defined hierarchical tags that users can define and manage. This is great, because as new classifications arise, the Creative can just add a new keyword in the right place in their hierarchy, and they’re done.
Under the hood, regular Keywords is an interface to the “subject” property in the Dublin Core schema. The interface is driven by an XML file, and the Bridge interface also includes an editor that lets Creatives manipulate the keywords to their own taste. Because it’s driven by an XML file, it’s possible for an Enterprise to create a Keywords file and propagate that to everyone who needs them. Unfortunately, since Keywords can be changed easily by the Creative, their use can lead to confusion and inconsistency when assets arrive on the Asset Manager’s desk.
Enterprise Asset Managers want to be able to control how assets are classified in their Digital Asset Management system (DAM). They do this to help improve search and discovery, to help manage asset lifecycles, and to ensure that teams are using the same vocabulary when they are classifying assets. Most DAM systems have locked taxonomies for assets. These taxonomies are exposed to end users through some kind of interface, usually but not always in a web browser. Many DAM systems leverage the extensibility of XMP (eXtensible Metadata Platform) and record the taxonomic data directly on the assets in custom namespaces. This is a very common practice, and it’s exactly the use case for which XMP was designed. How, then, to expose custom metadata to a Creative?
Time and time again, we hear of Creatives ignoring or outright rejecting a DAM because they need to interact via a web browser. Building custom metadata panels in CC desktop applications is a very viable option, but it depends on using two pathways: FileInfo Panels or Extensions. To make matters more complex, Bridge (until now!) has relied on an different Extension and FileInfo panel architecture from the rest of the CC apps, so it was hard to build consistent experiences across all applications. Now that Bridge CC supports the Adobe Common Extensibility Platform (CEP) and is using the latest FileInfo infrastructure, it is much easier for developers to build custom panels for Bridge and other CC applications.
This takes us back to the Keywords panel, which is designed to be super easy to use and doesn’t require a developer to make it work. We wanted to provide something almost as easy as Keywords, but focused on controlled taxonomy for Enterprise use cases. In specifying the new feature, we had a few key requirements:
- Must be able to specify a custom URI and property
- Must have check boxes like Keywords
- Must be able to support multiple values like Keywords
- Must be able to support hierarchy like Keywords
- Must be able to support human readable text for any value
- Must be able to support custom hierarchical separators
- Must be a single, easy to compose XML file
The Bridge team delivered on every one of these requirements with Custom Keywords. Each Custom Keywords panel is made via a single XML file. I’ve included a CustomKeywordsExample.xml file for your reference. Bridge supports up to 10 Custom Keywords XML files. Each XML needs to have a unique file name and point to a unique URI. A later release will support multiple properties in the same URI, however. These need to be placed in the Bridge Preferences folder, in a folder called CustomKeywordsPanel.
On Mac, this folder is located at
~/Library/Application Support/Adobe/Bridge CC 2018/CustomKeywordsPanel
On Windows, this folder is located at
c:\Users\<username>\AppData\Roaming\Adobe\Bridge CC 2018\CustomKeywordsPanel
Bridge keeps version-specific preferences, so as Bridge updates, you will need to look for your specific version of Bridge and then make a new folder called CustomKeywordsPanel to store your XML files.
The panel XML starts with <CustomKeywordsPanel>, and then there’s a section called <PanelInfo> where you define the basic properties of the panel.
- <PanelName> is the title at the top of the panel and in all menus
- <Description> describes the panel
- <Namespace> is the URI and prefix of the namespace you want the panel to read and write
- <NamespaceProperty> is the property in the namespace you want to read and write with the panel
- <FirstHierarchyDelimiter> separates the top level of the hierarchy from the rest of the hierarchy. It’s optional
- <IncludeFirstHierarchyDelimiter> is a boolean that tells Bridge whether to use the FirstHierarchyDelimiter
- <HierarchyDelimiter> is the hierarchy delimiter and is required
Next comes the taxonomy, which is contained in a section called <keywords version =”2″>. The taxonomy is defined by <set> and <item> tags. <item> is optional and is used at the bottom of the hierarchy for any multi-level hierarchy. <set>s contain other <set>s and can terminate with an <item>, if you choose to use <item>. Each panel needs at least one <set>. Multiple <set>s in one panel is supported.
Each <set> has a required text property called “name.” Bridge displays the name in the panel and also writes the name as the value into the XMP. If you provide an optional “value,” then Bridge will write the value but will display the name.
For instance, the following defines a panel that will read and write from tags defined by Adobe Experience Manger (AEM), which stores tags in XMP on assets managed by AEM. In this panel, we’ve restricted the panel to show only tags from one top-level category (We.Retail), which contains two second-level categories (Activity and Apparel) and their respective tags.
<CustomKeywordsPanel> <PanelInfo> <BridgeVersion>184.108.40.206</BridgeVersion> <PanelName>AEM Tags</PanelName> <Description>AEM Tags panel for Bridge</Description> <Namespace>xmlns:cq="http://www.day.com/jcr/cq/1.0"</Namespace> <NamespaceProperty>tags</NamespaceProperty> <FirstHierarchyDelimiter>:</FirstHierarchyDelimiter> <IncludeFirstHierarchyDelimiter>true</IncludeFirstHierarchyDelimiter> <HierarchyDelimiter>/</HierarchyDelimiter> </PanelInfo> <keywords version="2"> <set name="We.Retail" value="we-retail"> <set name="Activity" value="activity"> <set name="Biking" value="biking"/> <set name="Hiking" value="hiking"/> <set name="Running" value="running"/> <set name="Skiing" value="skiing"/> <set name="Surfing" value="surfing"/> <set name="Swimming" value="swimming"/> <set name="Other" value="others"/> </set> <set name="Apparel" value="apparel"> <set name="Coat" value="coat"/> <set name="Footwear" value="footwear"/> <set name="Glasses" value="glasses"/> <set name="Gloves" value="gloves"/> <set name="Hat" value="hat"/> <set name="Helmet" value="helmet"/> <set name="Pancho" value="pancho"/> <set name="Pants" value="pants"/> <set name="Scarf" value="scarf"/> <set name="Shirt" value="shirt"/> <set name="Shorts" value="shorts"/> </set> </set> </keywords> </CustomKeywordsPanel>
This XML file creates the following panel in Bridge CC:
The panel works just like Keywords, but you can’t change the keywords themselves. You can enable or disable them by checking and unchecking the box next to the keyword. You can make and apply Metadata Templates from them. You can see them in FileInfo when you look at the raw data. Most importantly, they provide users with an easy, natural way to interact with custom metadata on assets that support XMP.
Now, on its own, this new feature is pretty awesome. Where it gets a little complicated for an Enterprise Asset Manager is maintaining the XML file and pushing it to her end users and partners. If the taxonomy is large or changes often, then it can be a challenge to both create and update the XML. Recognizing this challenge, my team developed the AEM Tags Panel for Bridge CC.
The AEM Tags Panel for Bridge CC is an extension for Adobe Bridge that creates and installs a Custom Keywords XML file specifically for AEM Tags. A user logs in to AEM in the panel and selects the AEM Tags Namespaces they want in their Custom Keywords panel. When the user clicks “Generate Panel,” the AEM Tags Panel generates the appropriate Custom Keywords XML file and puts it in the right folder. When you restart Bridge or open a new Bridge window, the panel loads. The AEM Tags Panel also includes an Export option so that an administrator can create the XML and distribute it to users inside and outside of the Enterprise, even if they don’t have access to AEM.
Internal users will likely have access to AEM via a web browser or through the AEM Desktop tool. AEM Desktop Tool lets a user mount the AEM Assets repository as if it were a file system. Users can then interact with assets with their Creative Cloud desktop applications like they would any other assets. If they access AEM via a browser, then they will likely search for assets and download assets to their desktop for use. In either case, Bridge can “see” the assets, since they are local from Bridge’s point of view. Any assets from AEM likely have AEM Tags, which will now become visible when you install a Custom Keywords XML file.
External users, such as agencies and photographers, likely won’t have direct access to AEM, but they will be sending assets to the Asset Manager, who will eventually load them into AEM. If the Asset Manager shares a Custom Keywords XML file with the external users, then they can apply AEM Tags to the assets before they send them to the Asset Manager. The external user doesn’t need access to AEM to apply AEM Tags.
You can view a video of the whole process below.
We hope that you’ll take advantage of this great new feature of Bridge, and that if you have AEM, you’ll consider using our new AEM Tags extension to extend your Tags beyond the DAM.