Connecting Design Editor to Asset Storage
Design Editor is a standalone application and by default it works with the data stored on the same server with the application. This is how it was used before Version 6.0.0. However, in this mode you cannot use BackOffice to manage designs, fonts, and images, and in this setup the Design Editor is not cloud-ready.
Let's see how to configure Design Editor so that it can be connected to Asset Storage and, therefore, the BackOffice application.
All you need to do is to open the Configuration/AppSettings.config in the Design Editor instance you want to connect and add the following keys:
<appSettings> ... <!-- AssetStorage parameters --> <add key="AssetStorageApiKey" value="ASSET-STORAGE-API-KEY" /> <add key="AssetStorageEndpoint" value="https://assetstorage.example.com" /> <add key="AssetStorageTenantId" value="1" /> <!-- Turn on receiving all types of assets from the storage --> <add key="AssetStorageStates" value="true" /> <add key="AssetStoragePublicGallery" value="true" /> <add key="AssetStorageFonts" value="true" /> <add key="AssetStorageFontsPath" value="" /> <!-- AssetProcessor parameters --> <add key="AssetProcessorApiKey" value="ASSET-PROCESSOR-API-KEY" /> <add key="AssetProcessorEndpoint" value="https://assetprocessor.example.com" /> <!-- Notification of changing assets; define either RabbitMQ or Azure connection string --> <add key="MessageBusRabbitMQ" value="Host=...;VirtualHost=...;Username=...;Password=..." /> <add key="MessageBusAzureServiceBus" value="Endpoint=...;SharedAccessKeyName=...;SharedAccessKey=..." /> <!-- You may use it to ensure that the data will be received from the storage even if there are temporary network issues --> <add key="AssetStorageRetryCount" value="3" /> ... </appSettings>
Here are some explanations:
AssetProcessorEndpointare the base URLs of the appropriate services.
AssetProcessorApiKeyare the API keys you have set in their configuration.
AssetStorageTenantId- if you are using Customer's Canvas in single-tenant mode, always set
1. Otherwise, specify the ID of a tenant where you want to connect it.
MessageBusAzureServiceBus- a connection string to the messaging bus of your choice (either RabbitMQ or Azure Service Bus). Use the same one you have specified in the Asset Storage settings. If you leave it blank, Design Editor will still work, however, when a user adds assets such as fonts, it may take some time (about one minute) for Design Editor to detect these changes. With the messaging bus, it will happen immediately.
In @backend/tutorials/passing-data-to-de, you can learn how to use Design Editor together with Asset Storage from the developer's perspective.