DFO 4.0.0 - Breaking Changes

With this version there are a set of breaking changes that must be considered when upgrading from a previous version.

Default image

Ind the previous version, if no valid quality was set or available, the fallback was the source of the image. In this version the fallback is configuable DFO 4.0.0 - 3 Setting up Optimizely

Look for the property MediaElements. The default mediaFormatId is 2. If you want the source, then you can append /source to the url. like this globalassets/digizuite/997345-en-butterfly-1-1535829.jpg/source.

Find indexing

Ind the previous version assets was automatically indexed. This is no longer the case, assets wont be index out of the box. Follow this guide to ass addets to the index DFO 4.0.0 - 8 Indexing Assets with Optimizely Find.

Blob mapping

Extending Digizuite media content types and adding custom blobs has changed from using guid to mediaFormatId. In this example the attribute class DigizuiteMediaFormat use the guid.

[ScaffoldColumn(false)] [DigizuiteMediaFormat("ImageSmall", "3C95F58F-5DD7-4AFB-B1C8-48E05901CE6D")] public virtual Blob Small { get; set; }

Must be changed to.

[ScaffoldColumn(false)] [DigizuiteMediaFormat("ImageSmall", 50036)] public virtual Blob Small { get; set; }

see See DFO 4.0.0 - 2 Modelling Asset Content Types.

Asset “Folders” property

Since version 4.0.2 the “Folders“ property contains a list of the following model

public class DigizuiteFolder { public int Id { get; set; } public string Name { get; set; } = string.Empty; public int TreeNodeId { get; set; } }

Where

  • Id - the same Id as in version 3

  • Name - the Name of the folder

  • TreeNodeId - Id that we use in version 4 (the same Id you can see in FoldersSelectionFactory)

So, it looks like

image-20240826-121544.png

If you need a folder-property where you can chose the folders.

You can add the following property to your page:

And then you will be able to see a list of folders with checkboxes.

 

image-20240826-123341.png

Group Access Level

In previous versions of API it used to return a “security“ item:

And in Digizuite.Optimizely connector, it used to go through this list and setup the ContentSecurityDescriptor for the each item.

However in the newest version of API, this “security“ item has been removed.

And we also removed the code for configuring ContentSecurityDescriptor from Digizuite.Optimizely.

Since version 4.0.2 you can set the access levels for groups in the configuration file.

For example, if you add the following parameter to digizuitesettings.json

It adds a “Read“ access level for the group “Everyone“.