Understanding the Dundas BI extension format

Contents[Hide]

1. Overview

This article describes the Dundas BI extension format.

Important
This article details the new extension format that is used in v7 or higher.

2. The extension root folder

The extension root folder is the first folder for your extension. All other parts of the extension will go inside this folder.

\YourExtensionRootFolder

3. The extension manifest file

Each extension will contain one manifest file at the root of the extension folder. This is an xml file. The extension manifest describes different extension properties and settings. The following example shows the where the extension manifest would be located:

\YourExtensionRootFolder\ExtensionManifest.xml

The following table describes the property names and descriptions:

Property nameDescription
name The name of the extension.
displayName The display name of the extension.
author The author of the extension.
copyright The copyright text for the extension.
version The version of the extension.

The following table describes the setting names and descriptions:

Setting nameDescription
MainAssemblyName The name of the main assembly.
ExtensionFolderName The name of the root extension folder.
SupportedRuntimes The names of supported runtimes separated by semicolons. Supported values are NetFramework, NetCore, NetCoreWindows and NetCoreLinux.
IsEnabled For internal use only. Is Enabled by default.

3.1. Manifest example

The following is an example of an extension manifest:

<?xml version="1.0" encoding="utf-8" ?>
<ExtensionManifest 
  xmlns="http://dundas.com/schemas/BI/ExtensionManifest.xsd"
  id="c1fdbe6b-bc39-4e95-eee4-2ee77eeeeeee" 
  name="Sample"
  displayName="Sample"
  author="Author"
  copyright="Copyright (c)"
  version="1.0.0.0">

  <settings>
    <!-- The name of the main assembly. -->
    <setting name="MainAssemblyName">Sample.dll</setting> 

    <!-- The name of the root extension folder. -->
    <setting name="ExtensionFolderName">Sample</setting>

    <!-- The names of supported runtimes, separated by semicolons. 
     Supported values are NetFramework, NetCore, NetCoreWindows and 
     NetCoreLinux. -->
    <setting name="SupportedRuntimes">NetFramework;NetCore</setting>

    <!-- For internal use only -->
    <!--<setting name="IsEnabled">False</setting>-->
  </settings>
  
</ExtensionManifest>

4. The Binaries

Dundas BI extension assembly files are .Net Framework or .Net Core assemblies. Each assembly will have a class that inherits from ExtensionPackageInfo2 in the Dundas.BI.Core assembly.

All compiled extensions and their referenced assemblies will go into the bin folder in the root of the extension folder. This assembly will go in either a netfw or netcore subfolder. In the case where you would want to multi target your extension you could put your assemblies in both the netfw and netcore subfolders.

\YourExtensionRootFolder\bin\netfw\MyExtension.dll
\YourExtensionRootFolder\bin\netcore\MyExtension.dll

5. Resources

There are two types of resources that can be used with your extensions: application resources, and file resources. Application resources are stored in the application database, and file resources are stored on the file system. These resources are designed to be friendly with load balanced Dundas BI websites. When the extension is installed the resources will be made available to all websites.

5.1. AppResources

These files will be stored in the App DB and maintained (added, updated, removed) by the app, when your extension is added, updated or deleted. From within the extension these resources can reached by using the IAppResourceService.

\YourExtensionRootFolder\AppResources\SomeFile1.txt

5.2. File Resources

These files will be stored in the file system of your app and maintained (added, updated, removed) by the app, when your extension is added, updated or deleted.

\YourExtensionRootFolder\FileResources\SomeFile2.txt

After installation this will be available at:

[InstallDir]\www\BIWebsite\wwwroot\Extensions\[YourExtensionRootFolder]\SomeFile2.txt

6. Zipping and installing the extension

To install the extension in Dundas BI it first needs to be zipped. The root folder should be the first folder inside the zip file. It will look like the following:

\YourExtensionZip\YourExtensionRootFolder

6.1. Installing through the Dundas BI application

To install the extension zip file you can use the extensions screen found under Setup in the Dundas BI administration interface.

6.2. Installing using the dt command-line tool

To install using the dt tool, pass the following arguments:

dt manageExtensions Store /id:"{ExtensionId}" /filePath:"C:\temp\YourExtension.zip"

Now after restarting your Dundas BI web application pool the extension gets put into the following folder:

[InstallDir]\www\BIWebsite\TempLib\Extensions\[YourExtensionRootFolder]

Also, the FileResources get copied to:

[InstallDir]\www\BIWebsite\wwwroot\Extensions\[YourExtensionRootFolder]

7. See also

Dundas Data Visualization, Inc.
500-250 Ferrand Drive
Toronto, ON, Canada
M3C 3G8

North America: 1.800.463.1492
International: 1.416.467.5100

Dundas Support Hours:
Phone: 9am-6pm, ET, Mon-Fri
Email: 7am-6pm, ET, Mon-Fri