Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

When installed, the integration adds three new media content types to Optimizely:

  • Digizuite Image (Digizuite.Episerver.Models.Media.Image) that holds any image assets. Inherits from ImageData and implements IDigizuiteImage.

  • Digizuite Video (Digizuite.Episerver.Models.Media.Video) that holds any video assets. Inherits from VideoData and implements IDigizuiteVideo

  • DigizuiteFile (Digizuite.Episerver.Models.Media.DigizuiteFile) that holds any other asset. Inherits from MediaData and implements IDigizuiteDocument

These default content types are used as a hardcoded fallback, when the Digizuite Content Provider tries to determine which Optimizely Content Type to return for a given asset. However, if you assign any other content model to an asset type in Digizuite, that will take precedence over these.

...

Code Block
languagec#
[ContentType(DisplayName = "Extended Digizuite Image", GUID = "0af71ce8-1e4b-499b-bf24-24e7fce44121")] 
[DigizuiteType(AssetTypeIds = new[] {GlobalConstants.AssetTypes.Image})]
public class ExtendedDigiImage : Image 
{
	[ScaffoldColumn(false)]
    [DigizuiteMediaFormat("ImageSmall", "3C95F58F-5DD7-4AFB-B1C8-48E05901CE6D50036")]    
    public virtual Blob Small { get; set; } 
}

...

If you want to map a property in Optimizely to a metadata field in Digizuite that is not exposed through the default classes or interfaces, it's not very hard. Just like with the type mapping, you simply have to create the property in Optimizely and attach the "DigizuiteMetafield" attribute to it, indicating the name and the GUID of the metafield, that you want to map to it.

Property Mapping
Code Block
languagec#titleProperty Mapping
        [DigizuiteMetafield("Description", "C8BB4AF3-1598-4EA4-8D7A-98D54EEAD977")]
        [CultureSpecific]
        public virtual string Description { get; set; }

In this case, we want to make the field "Description" in Digizuite DAM usable in Optimizely.

The following Optimizely types are supported. Additionally, it is very important to map the Digizuite types to the correct Optimizely types. The table below shows the mapping between Optimizely and Digizuite types.

Episerver type

Digizuite type

Bool

Bit

DateTime

DateTime

String

String, float, link, note, uniqueVersion, combovalue, editcombovalue

IList<string>

Tree,

combovalue,

multicombovalue

, editcombovalue

, editmulticombovalue

Int

Int

Blob mapping

As we know, Digizuite automatically produces a defined set of media formats for each asset. These media formats can also be exposed directly as Blob properties in Optimizely.

Code Block
languagec#
[ScaffoldColumn(false)]
[DigizuiteMediaFormat("ImageSmallImage small", "3C95F58F-5DD7-4AFB-B1C8-48E05901CE6D"50036)]   
    
public virtual Blob Small { get; set; }

...

Read more about asset URLs here: https://digizuite.atlassian.net/wiki/spaces/DD/pages/799768707/DFE+1.DFO 4.0.0 + - +8+7 Customizing + Asset + Urls