Tridion's Content Management Explorer contains an extension point which allows extending the User Interface. This framework is called the GUI Extensions API (internally known as Anguilla). The framework is written in Javascript and allows .NET web applications and services to back the Javascript front end.

SDL Tridion has a GUI extensibility mechanism that supports a wide range of extensions, from one new button, linked to existing functionality, to a completely new user interface built from scratch. This section describes the concepts involved in extending the GUI.

The topics in this section describe some typical simple extension scenarios. They only describe how to build your own user interface in general terms. This is because such an implementation may consist almost entirely of your own code, and heavily depends on your decisions on how to set up this new interface.

Editors

Almost always, an extension to the GUI, no matter how small or big, takes the form of an Editor. A typical Editor has a set of resources, a command set and a configuration.

Controls

Your GUI extension will typically introduce new controls, such as new buttons or new menu items. Those controls may be navigation controls (that is, clicking them reveals a screen or displays content) and command controls (that is, clicking them executes code, either your own or SDL Tridion code).

Organization elements

Your GUI extension may also introduce new GUI elements to organize controls on the screen. For example, you may want to give your new button its own new Ribbon tab, or its own new control group on an existing tab. Or you may want to use separators to set your new menu item apart from the existing ones in a menu.

Command sets

In your Editor configuration, a command set defines one or more commands that can be executed by clicking a command control in the GUI, or by making a JavaScript call. You can create as many command sets per Editor as you like.

Commands

Typically, your GUI extension will introduce new commands: code to execute when a new control is used. The commands themselves take the form of JavaScript files containing a JavaScript class that actually contains the command code. Your class can interact with Content Manager, but it can also execute code that you wrote yourself and that is completely unrelated to SDL Tridion.

Data Extenders

A Data Extender intercepts and can modify the parameters of a request before or after it is sent from the GUI to the GUI backend (Web service methods) or of a response before or after it is sent back. This enables you to, for example, change the appearance and contents of a list of items, or simply to analyze the parameters without changing them.

Models

Use Models if you want to model your custom data and integrate it with the GUI framework. The Model interacts with the custom data through a Web service.

history | excerpt history

Code Language (used for syntax highlighting): lang-xml