...
You can of course inherit from ImageData such as in the above case - but you are also welcome to inherit from the included defaults and simply extend on them with additional properties.
Code Block | ||
---|---|---|
| ||
[ContentType(GUID = "0af71ce8-1e4b-499b-bf24-24e7fce44121")]
[DigizuiteType(AssetTypeIds = new[] {GlobalConstants.AssetTypes.Image})]
public class ExtendedDigiImage : Image
{
[DigizuiteMediaFormat("imageSmall", "3C95F58F-5DD7-4AFB-B1C8-48E05901CE6D")]
public virtual Blob Small { get; set; }
} |
Property Mapping
If you want to map a property in Episerver to a metadata field in Digizuite that's not exposed through the default classes or the interfaces, it's not very hard. Just like with the type mapping, you simply have to create the property in Episerver and then attach the "DigizuiteMetafield" attribute to it, indicating what the name of the json property in Digizuite is and the guid of the metafield, that you want to map to.
...
In this case, we want to make the field "Description" in Digizuite usable in Episerver. Whether the field is editable in Episerver is determined by the settings and rights in Digizuite. If the metafield is set to read only in Digizuite, then the field woulkd will be rendered as read only in Episerver and if the Episerver user in Digizuite does not have write access to the metafield.
...
In order for the above property mapping to work, it is important to ensure that Digizuite also sends the specific metadata field to the Episerver integration - and that it's named the same was as specified in the attribute. This is done by customizing the output parameters for the "GetEpiserverAssets" search in the DAM Center, and adding the requested field as an output parameter, while ensuring it's named correctly.
...