Versions Compared

Key

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

...

The syntax of the url is:  dfsmedia/[SiloId]/[AssetId]-[Quality]/resize/[Width]x[Height]/compress/[0-100]/options/[Options]

...

Field

Description

SiloId

This is the Id of the silo that has the asset requested.

AssetId

Is the Id of the asset that is requested.

Quality

Overrides the quality specified in the Sitecore field.

Quality supports both 'by name' and 'by id'

Resize

Only applies to image assets.

One of the concepts and principles when using a DAM system is to use specific qualities for every use. If images are needed in different sizes, it should be configured in Digizuite™ DAM.

However, there is a resize feature.

Width How wide the image will be in pixels.

Height How high the image will be in pixels.

By default a resize does not keep aspect ratio, but you can set an option to keep aspect ratio.

Compress

Only applies to image assets.

Indicates whether the asset should be saved using a worse quality, thereby reducing the physical size. 

from 0-100 is allowed, where 0 is the worst quality, but least physical storage.

Options

Options is a dash ("-") separate list and can contain these options:

download - Will download the asset requested.

keepaspectratio - Will enforce aspect ratio on from the original asset, if a resize is requested.

upscaleallowed - Will allow upscaling an image. The default is to disallow that.Compress - Reduces the quality of the image which decreases the size. 0-100 is allowed, where 100 is full quality and size. 

Understanding the DigizuiteMediaCache

...

Each step is explained as follows:

Pipeline nameDescription
DFS.Services.Pipelines.DFSMedia.CheckSecurity

This pipeline looks up the asset in the index using the context user.

If the user does not have access, the asset is not returned and the pipeline is stopped.

DFS.Services.Pipelines.DFSMedia.GetMediaFromCacheThis pipelines constructs a unique name based on the request and checks if the requested asset exists in the cache.
DFS.Services.Pipelines.DFSMedia.GetMediaPrerequisites

If the asset is not cached, it needs to be requested from Digizuite.

This pipeline gets all the prerequisites for requiring the asset in Digizuite

DFS.Services.Pipelines.DFSMedia.GetMediaFromDigizuiteThis pipeline executes the request towards Digizuite
DFS.Services.Pipelines.DFSMedia.ResizeImageIf a resize or #compres?? is requested, the bytes are processed here
DFS.Services.Pipelines.DFSMedia.SaveToCache

This pipeline saves the image to the cache

This pipeline may be modified according to customer needs. 

...

The object DFSMediaPipelineArgs contains a Request and a Result. These two objects has the following properties:

Request

ParameterTypeDescription
AssetSiloIdstringId of the asset silo from which the asset should be fetched
AssetIdstringId of the requested asset
FormatIdstringId of the format requested
DestinationIdstringDigizuite id of the destination - where to get the asset from
BaseUrlstringBaseUrl of the Digizuite
AccessKeystringAccessKey to the Digizuite
MimeTypestringMimetype of the requested asset
WidthstringIf a resize of the asset is requested, then this property contains the new width
HeightstringIf a resize of the asset is requested, then this property contains the new height
DownloadboolIf a download is requested, then this property is true
KeepAspectRatioboolif the aspect ratio should be kept, then this property is true
UpscaleAllowedboolif upscale is allowed, then this property is true
CompressstringIf the image should be compressed, then this has a value between 0 and 100


Result

ParametertypeDescription
ResultPathstringPath to the directory in which the asset is cached
FileNamestringName of the cached asset
CachedboolBoolean to indicate whether the asset is cached
ResultStreamTask<Stream>Handle for the result stream used to get the asset from Digizuite
ResizeBytesbyte[]If the image is resized and/or compressed, this array contains the result bytes
DownloadUrlstringRedirect url for download requests
StopPipelineboolIf the pipeline should be aborted, for instance due to security violation, then this is true
AssetAssetIndexableAsset model from the index
StatusCodeHttpStatusCodeStatus code used to indicate the request status.