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
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.
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“.