IntelligenceBank.OptimizelyCMS12 2.0.1

dotnet add package IntelligenceBank.OptimizelyCMS12 --version 2.0.1
                    
NuGet\Install-Package IntelligenceBank.OptimizelyCMS12 -Version 2.0.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="IntelligenceBank.OptimizelyCMS12" Version="2.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="IntelligenceBank.OptimizelyCMS12" Version="2.0.1" />
                    
Directory.Packages.props
<PackageReference Include="IntelligenceBank.OptimizelyCMS12" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add IntelligenceBank.OptimizelyCMS12 --version 2.0.1
                    
#r "nuget: IntelligenceBank.OptimizelyCMS12, 2.0.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package IntelligenceBank.OptimizelyCMS12@2.0.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=IntelligenceBank.OptimizelyCMS12&version=2.0.1
                    
Install as a Cake Addin
#tool nuget:?package=IntelligenceBank.OptimizelyCMS12&version=2.0.1
                    
Install as a Cake Tool

IntelligenceBank Connector for Optimizely CMS 12

Browse, search and insert approved IntelligenceBank digital assets — as Public CDN links or local copies — directly inside Optimizely CMS 12.

This package is a Razor Class Library: add the package reference and it wires itself up. No source files are copied into your project, and no manual Startup.cs changes are required.

1. Install

dotnet add package IntelligenceBank.OptimizelyCMS12

The package auto-registers its editors, block and client resources (served from /_content/IntelligenceBank.OptimizelyCMS12/…). Do not add <ExcludeAssets>all</ExcludeAssets> — the assets are meant to load.

2. Configure appsettings.json

Add an IntelligenceBank section. Only PlatformURL is typically required; everything else has a sensible default.

{
  "IntelligenceBank": {
    "PlatformURL": "mycompany",
    "InsertionMode": "publicLinks",
    "EnableCustomURL": false,
    "EnableBrowserLogin": false,
    "EnableRichTextPlugin": true,
    "IFrameEndpoint": "https://ucprod.intelligencebank.com/app/",
    "AllowedDownloadHosts": "intelligencebank.com"
  }
}

Configuration reference

Key Type Default What it does
PlatformURL string (empty) Your IntelligenceBank sub-domain to load by default, without https:// (e.g. mycompany for mycompany.intelligencebank.com). When EnableCustomURL is false, editors cannot change it.
InsertionMode string publicLinks How assets are inserted. publicLinks inserts the IntelligenceBank CDN URL (no copy stored). localDownloads downloads the asset and stores a local copy in Optimizely media.
EnableCustomURL bool false If true, editors can type a custom IntelligenceBank platform URL in the picker instead of the fixed PlatformURL.
EnableBrowserLogin bool false If true, the embedded app uses IntelligenceBank browser-session login (reuses an existing IB browser session) instead of the default login prompt.
EnableRichTextPlugin bool false If true, adds an IntelligenceBank button to the TinyMCE rich-text toolbar (the rich-text insertion pattern).
IFrameEndpoint string https://ucprod.intelligencebank.com/app/ The IntelligenceBank app endpoint embedded in the picker iframe. Do not change unless IntelligenceBank directs you to (e.g. a different regional app host).
AllowedDownloadHosts string (comma-separated) intelligencebank.com Only used with localDownloads. Allow-list of hostnames the server may fetch assets from before storing them locally (an SSRF safeguard — requests to other hosts, and to private/loopback addresses, are rejected).

3. Use one (or more) of the three patterns

The package surfaces three DAM integration patterns; use whichever fit your site.

a) Assets Block — in the editor, add an "IntelligenceBank Assets" block to any content area, then pick an asset.

b) Property asset-picker — annotate any string property to get an inline picker in the edit form:

using IntelligenceBank.OptimizelyCMS12.Business;

[IntelligenceBankAsset]
public virtual string HeroImage { get; set; }

The property stores the selected asset as JSON (url, name, type, id …); parse it in your view/template as needed.

c) Rich-text insertion — set "EnableRichTextPlugin": true. An IntelligenceBank button appears on the TinyMCE toolbar and inserts the selected asset (image / video / audio / link) at the cursor.

4. (Optional) Brand the block icon in the CMS shell

The block shows the IntelligenceBank sun icon only if the CMS shell loads the package's stylesheet. The CMS shell loads editor CSS through the module system (which scans the app content root, not a class library), so add two small files to your site:

  1. A module.config in your project root:
    <?xml version="1.0" encoding="utf-8"?>
    <module>
      <clientResources>
        <add name="epi-cms.widgets.base" path="Styles/ib-shell-icons.css" resourceType="Style" />
      </clientResources>
    </module>
    
  2. wwwroot/ClientResources/Styles/ib-shell-icons.css with one line:
    @import url('/_content/IntelligenceBank.OptimizelyCMS12/js/custom/css/intelligencebank-icons.css');
    

All the icon rules and images ship inside this package; the two files above just point the shell at them.

Requirements

  • Optimizely CMS 12 (EPiServer.CMS 12.x) on .NET 8.
  • Editors reach the IntelligenceBank web app over HTTPS (the embedded app relies on third-party session cookies).

User-facing help: help article 51000505068.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  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 was computed.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.0.1 70 7/2/2026
2.0.0 65 7/2/2026