ImageVault 5 Configurations

ImageVault 5 has introduced a higher level of configuration values that can override the standard configuration values that are set in web.config. This is done using the Azure portal and adding application settings and connection strings there.

You can also add these settings directly to the web.config file but the values in the Azure portal will override those values.

Generic Application Settings

All applicationsettings for ImageVault utilizes the iv: prefix.

Example:

<appSettings>
    <add key="iv:cachePrefix" value="pf1_"/>
</appSettings>

iv:cachePrefix

If you would like to utilize the same cache instance (like Redis) for multiple installations, then you can set this key to add a prefix that should be applied to all out of process cache keys.

<add key="iv:cachePrefix" value="pf1_"/>

iv:readOnly

If this setting is set to "true" then the ImageVault application is set in a Read-only mode. This indicates that no data will be written to the database. Since ImageVault needs to modify the data in the database, the application cannot perform all functions correctly while in this mode. It will still serve converted media but, for example, it cannot create new conversions on existing data.

iv:setupEnabledForNonAdmins

Normally the /setup page is restricted to Adminsitrators only. You can override this behavior by setting this configuration to true. If, for example, you managed to erase the admin user and would like to create a new one, this is one way to do it.

iv:identityPrefix

If the ImageVault UI is configured to use identity prefixes for the authentication method, you need to configure the client using the same prefix. This key was previously noted as ImageVault.Common.Security.DefaultClientSecurityManager.IdentityPrefix (that key still works but will be removed in the future).

Application Insights

Application Insights (AI) is a service that can receive logging/performance details from an ImageVault instance. The AI logging can be configured using a set of application settings.

iv:applicationInsightsInstrumentationKey

To use application insights, enter the instrumentation key for the AI instance that you would like to use

iv:applicationInsightsRoleName

To better identify the instance that are logging to AI, enter a custom name on this setting. It will be recorded in the AI log as RoleName.

iv:applicationInsightsDeveloperMode

When using AI, entries are buffered and not sent immediately to the AI instance (once per minute). If developer mode is activated, entries are sent immediately. This can reduce performance in production.

iv:applicationInsightsDisabled

Application insights is enabled if you enter an instrumentation key. If you would like to disable it without clearing the instrumentation key, set the disabled value to true.

iv:legacyUsernameIsValidIdentifier

In ImageVault 4, the name of the user was a valid identifier and was registered in the database. In ImageVault 5 every user is identified by its user id (which is a guid). If you have an upgraded installation, you might want to activate this until you have fixed all user rights that was created using the username. Set this to true to include the username as an identifier as per ImageVault 4.

iv:mediaExpireMinutes

As default, media assets delivered by ImageVault will be cached where apropriate and media will be marked as to expire after one year. Using this directive, you can set the number of minutes a media asset will be valid before expiring. This will be reflected in the HTTP response headers Cache-Control (max-age) and Expires.

<add key="iv:mediaExpireMinutes" value="10"/>

iv:securityPrococolType

When ImageVault communicates with an external service using SSL, this configuration can set the security protocol type that we allow. As default we allow SSL3.0, TLS 1.0 and TLS 1.2. To change this, set this configuration to a value that combines all numerical values of the protocols that you would like to allow. The following table shows the different values

ProtocolValue
SSL 2.012
SSL 3.048
TLS 1.0192
TLS 1.1768
TLS 1.23072

As default, we use the value 3312 that enables SSL 3.0, TLS 1.0 and TLS 3.0

See more information about security protocol type at the MSDN page https://msdn.microsoft.com/en-us/library/system.net.securityprotocoltype

iv:searchPageSize

Sets the number of items that each requests retrieves for the ImageVault UI PhotoStream. Default is 50.

iv:databaseCommandTimeout

The number of seconds before a SQL command is aborted if not completed. Only valid for Database upgrade commands. Default value is 3600.

Client application settings

We also have some settings that can be set on a client (like ImageVault for Episerver) to modify the client settings accordingly.

iv:externalUrl

This url refers to the public ImageVault url that the user should be redirected to when accessing any ImageVault assets. This can be the url to the ImageVault site, or if a CDN is in front of the ImageVault site, the url to the endpoint in the CDN that the ImageVault site uses.

Note: If you only would like to place the published media behind a CDN, use the defaultPublishedMediaUrlBase configuration instead.

iv:internalUrl

This url is the url to the ImageVault site that the Client (from the websites point of view) should use to communicate with ImageVault.

CDN Example

You have an Episerver site that is running the ImageVault plugin/client and an ImageVault site that it should connect to. Both sites are behind a CDN and have one url to the CDN and one to the actual site. The ImageVault client on the Episerver site needs to communicate with the ImageVault site and in this case that communication should not go though the cdn in front of ImageVault. You then enter the address that refers to the actual ImageVault site as the iv:internalUrl.

Connection strings

You can also configure connection strings from the Azure portal (or in the web.config). Entires in the azure portal will have preceedence over web.config settings.

The following connection strings are used by ImageVault

Database

This is the connection string to the ImageVault database. In Azure it should be added as a SQL Database connection string.

AzureStorage

This is the connection string to the Azure Storace Account used by the Azure Platform Provider and the Azure Blob Media Storage. In Azure it should be added as a Custom connection string.

RedisCache

This is the connection string to the Redis instance used by the RedisObjectCache In Azure it should be added as a Custom connection string.

comments powered by Disqus