Prerequisite for this guide, you must install the package DAM for Sitecore JSS-11.1.zip
The connector comes with a fieldserializer for each of the 3 custom field types: asset, assetlink and assetlist. The config can be found in the file App_Config\Include\damforsitecore\DFS.JSS.Digizuite.config.
<?xml version="1.0" encoding="utf-8" ?> <configuration xmlns:patch="http://www.sitecore.net/xmlconfig/" xmlns:role="http://www.sitecore.net/xmlconfig/role/" xmlns:search="http://www.sitecore.net/xmlconfig/search/"> <sitecore> <pipelines> <group groupName="layoutService"> <pipelines> <getFieldSerializer performanceCritical="true"> <processor patch:before="processor[@type='Sitecore.LayoutService.Serialization.Pipelines.GetFieldSerializer.GetDefaultFieldSerializer, Sitecore.LayoutService']" type="DFS.JSS.Serializers.GetAssetFieldSerializer, DFS.JSS" resolve="true"> <FieldTypes hint="list"> <fieldType id="1">Asset</fieldType> </FieldTypes> </processor> <processor patch:before="processor[@type='Sitecore.LayoutService.Serialization.Pipelines.GetFieldSerializer.GetDefaultFieldSerializer, Sitecore.LayoutService']" type="DFS.JSS.Serializers.GetAssetLinkFieldSerializer, DFS.JSS" resolve="true"> <FieldTypes hint="list"> <fieldType id="1">Assetlink</fieldType> </FieldTypes> </processor> <processor patch:before="processor[@type='Sitecore.LayoutService.Serialization.Pipelines.GetFieldSerializer.GetDefaultFieldSerializer, Sitecore.LayoutService']" type="DFS.JSS.Serializers.GetAssetListFieldSerializer, DFS.JSS" resolve="true"> <FieldTypes hint="list"> <fieldType id="1">Assetlist</fieldType> </FieldTypes> </processor> </getFieldSerializer> </pipelines> </group> </pipelines> </sitecore> </configuration>
Usisng the Sitecore Layout Services /sitecore/api/layout/render/[config]?item=[path]&sc_lang=[language]&sc_apikey=[key]
. The json output for each of the 3 fieldserializers can configured. The configuration can be found in the file App_Config\Include\damforsitecore\DFS.Settings.config. The default config looks like this:
<DFS.JSS.FieldSerializer> <property outputName="assetTypeId" propertyName="AssetTypeId" /> <property outputName="title" propertyName="Name" /> <quality outputName="src" /> <quality outputName="src_download" download="true" /> </DFS.JSS.FieldSerializer>
This is an example of the out for the fieldtype asset.
"DFS Medie": { "value": { "assetTypeId": 4, "title": "Butterfly", "src": "/dfsmedia/baeefe6b74df44be8a2bccfb2c57af8e/114-50036/butterfly", "src_download": "/dfsmedia/baeefe6b74df44be8a2bccfb2c57af8e/114-50036/options/download/butterfly" } }
Configuration
The section <DFS.JSS.FieldSerializer>
can contain 2 different types tags property
and quality
.
Property tag
These are all the metadata describing the asset.
The following attributes are avaible:
outputName
This is the property name of the json output.propertyName
The properties that can be used are the one fra theAssetMetadata
object DFS 11.1 - 4 Accessing metadata through API
Use the name from the Property Name column. If you want to use some of the dynamic metadata, then insert the guid og the metafield. The avaible metafield guids can be found in the Administration dashboard under the menu “Show settings” DFS 11.1 - Show Settings. Look for the property DynamicMetadata. If you dont see the metafield you want, then it could be that the user to synchronize data between Digizuite and Sitecore does not have read access to the metafield. Please contact Digizuite for futher help.delimiter
This is used for properties with multiple values. The default delimiter is semicolon.
Quality tag
These are the link to the media, can be the source file og the asset or any variant. Can be requested as a download url also.
The following attributes are avaible:
outputName
This is the property name of the json output.qualityId
This is the rendition id of an asset also known as the mediaFormatId. If you want to request the source of the asset, the type source or -1. If you down add this attribute, then the quality that the content editor selected will be used.download
If you want the url to be a donload url, then set this to true.