Building and deploying Organize Space extensions
Tridion Docs provides extensibility for the Organize Space user interface. An Organize Space extension can include static files for the frontend and DLLs to provide extra functionality on the backend (extra controllers to interact with API25).
Building a front-end extension
- Extensions CLI
-
The Extensions CLI is a command-line application that you can use to create and package your add ons and extensions for Organize Space.
To access the CLI and information on using it, go to the following NPM registry: https://www.npmjs.com/package/@tridion-docs/extensions-cli
- Extensions API
-
The Extensions APIs project, also on NPM, contains the helper function, components, and hooks for working with Organize Space extensions.
To access the API and information on using it, go to the following NPM registry: https://www.npmjs.com/package/@tridion-docs/extensions
- Examples
-
Your CD includes an example extension with samples in the source code.
The example is available as a ZIP file in the following location on the CD: \__Resources\Code
Deploying an extension
You can deploy your extensions to Organize Space by uploading an Add-on of the type OrganizeSpaceExtension.
Each extension has the following properties, configured in its properties section in the manifest file, manifest.json:
| Property name | Property description |
|---|---|
name | The name of the Organize Space extension |
files | A list of relative paths to the extension files within an Add-on package Use the assemblyFileSource property name to define the entry point for assembly source with entry point. This parameter supports wildcards. For example, you could define the a path as "extensionFiles/*.js" to include all JavaScript files in the extensionFiles folder. |
{
"ManifestVersion": "1.0",
"Id": "Unique identifier of addon, normally zip has the same name.",
"Name": "Name of the addon",
"Description": "Description",
"Author": "RWS",
"Version": "1.0",
"RequireConfiguration": 0,
"Extensions": [
{
"Id": 0,
"Name": "Name of the extension",
"Type": "OrganizeSpaceExtension",
"Properties":
{ "files": [ "DirectoryWithStaticFiles\\1.js", "DirectoryWithStaticFiles\\2.js",
"DirectoryWithStaticFiles\\folder\\*.js" ], "assemblyFileSource" : "DirectoryWithStaticDlls\\EntryPoint.dll" }
}
]
}
You can also configure an extension in a configuration file that you upload next to add-ons.