...
Integration Digizuite DAM into almost any other application using the Unified DAM Connector. It will give you a head start on development efforts and reduce both implementation time and risk.
Examples can be found here: https://github.com/Digizuite/embedded-ui-examples
Initial Comments
The solution will out of box simply construct an asset URL which contains an access key. This will expire so the recommendation is to:
Upload the asset directly into the host application as a one-off (if you need to update it on changes then combine it with automation and updating your host through the API)
Construct an asset streamer URL to a no security destination (where access key is not needed) following this guide How to use assetstreamer (stream qualities / download source file)
If you put extraordinary load on the system then please ensure to have your destination in Digizuite configured to use CDN
Insert into any Host Application
...
DigizuiteInitPostMessage
- So you know it is the Digizuite IframeDigizuiteChangeUrlPostMessage
- If the user tries to change URLDigizuiteAssetPostMessage
- When a user clicks on asset. When multi-select you receive more.
Code Block |
---|
export enum MessageType {
AssetMessage = 'AssetMessage',
ChangeUrl = 'ChangeUrl',
SmartPickerInitialized = 'SmartPickerInitialized',
}
export interface DigizuitePostMessage {
messageType: MessageType;
}
export class DigizuiteInitPostMessage implements DigizuitePostMessage {
messageType = MessageType.SmartPickerInitialized;
}
export class DigizuiteChangeUrlPostMessage implements DigizuitePostMessage {
messageType = MessageType.ChangeUrl;
mmUrl: string;
constructor(mmUrl: string) {
this.mmUrl = mmUrl;
}
}
export class DigizuiteAssetPostMessage implements DigizuitePostMessage {
messageType = MessageType.AssetMessage;
asset: AssetMessage;
constructor(asset: AssetMessage) {
this.asset = asset;
}
}
export interface AssetMessage {
assetId: number;
itemId: number;
title: string;
description: string;
downloadUrl: string;
thumb: string;
extension: string;
} |
...