KeyShot.Umbraco
2.0.0
dotnet add package KeyShot.Umbraco --version 2.0.0
NuGet\Install-Package KeyShot.Umbraco -Version 2.0.0
<PackageReference Include="KeyShot.Umbraco" Version="2.0.0" />
<PackageVersion Include="KeyShot.Umbraco" Version="2.0.0" />
<PackageReference Include="KeyShot.Umbraco" />
paket add KeyShot.Umbraco --version 2.0.0
#r "nuget: KeyShot.Umbraco, 2.0.0"
#:package KeyShot.Umbraco@2.0.0
#addin nuget:?package=KeyShot.Umbraco&version=2.0.0
#tool nuget:?package=KeyShot.Umbraco&version=2.0.0
DAM for Umbraco (DFU) Asset Picker
A lightweight and flexible DAM (Digital Asset Management) asset picker for Umbraco. This package adds a custom property editor that allows editors to browse and select assets directly from KeyShot DAM.
✨ Features
- Custom property editor for selecting DAM assets
- Configurable DAM endpoint and authentication
- Supports single or multiple selections
- Preview of selected assets directly in the backoffice
🚀 Installation
Install via NuGet:
Install-Package KeyShot.Umbraco
or using the .NET CLI:
dotnet add package KeyShot.Umbraco
⚙️ Configuration
After installation, configure your DAM endpoint in appsettings.json:
"Digizuite": {
"MediaManagerUrl": "<base Media manager url>",
"BaseUrl": "<base API url>",
"SystemUsername": "<username> ",
"SystemPassword": "<password>",
"MetaFieldItems": {
"title": "<metafield item guid>",
"description": "<metafield item guid>"
},
"AllowedLanguageIds": [<language ids>],
"FallbackLanguageId": <language id>,
"RotationImageRelationTypeGuid": "<relation type guid used for 360 assets>",
"CacheTTLInMinutes": 15,
"KeyShotManagedIntegrationConfiguration" : {
"Name": "Cloudflare Clear Cache (Umbraco)",
"ManagedIntegrationConfiguration": {
"ForwardManagedIntegrationEndpoints": ["<umbraco base url>/keyshot/managedintegration/invoke"]
},
"Enabled": false,
"AuthenticationKey": "<Cloudflare auth key>"
}
}
Additionally, the following changes must be made to the program.cs file in the Umbraco project
The following line must be added before building the app
builder.Services.AddDamForUmbracoConnector(builder.Configuration);
The following line must be added after the app.UseUmbraco()
app.RegisterKeyShotEndpoints();
Templating (optional)
To render assets with the <keyshot> and <keyshot360> tag helpers, install KeyShot.Sdk.Cms.Templating in the Umbraco project:
dotnet add package KeyShot.Sdk.Cms.Templating
Register it after AddDamForUmbracoConnector:
builder.Services.AddKeyShotTemplating();
and add the tag helpers to Views/_ViewImports.cshtml:
@addTagHelper *, KeyShot.Sdk.Cms.Templating
📦 Usage
- Go to Settings → Data Types
- Create a new data type using DAM Asset Picker
- Configure options such as:
- Allowed file types
- Single/multiple selection
- Add the data type to your document types
When editing content, authors will see an asset picker modal allowing them to browse and select assets from the DAM.
🧩 Extensibility
You can implement custom DAM providers by extending the service layer. The package exposes interfaces for:
- Fetching assets
- Searching
- Thumbnails & preview metadata
📚 Requirements
| Umbraco CMS | .NET |
|---|---|
| 16 | net9.0 |
| 17, 18 | net10.0 |
📄 License
MIT License
Made with ❤️ for Umbraco editors.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- KeyShot.Sdk.Cms (>= 2.0.1)
- Microsoft.AspNetCore.Razor (>= 2.3.0)
- Umbraco.Cms.Api.Management (>= 17.7.1)
- Umbraco.Cms.Web.Common (>= 17.7.1)
-
net9.0
- KeyShot.Sdk.Cms (>= 2.0.1)
- Microsoft.AspNetCore.Razor (>= 2.3.0)
- Umbraco.Cms.Api.Management (>= 16.5.1)
- Umbraco.Cms.Web.Common (>= 16.5.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.