Guide to Applications


Being a highly customizable content management system, C1 CMS allows you to change the way you work with it in the Administrative console.

By using the XML-based Tree Definition feature, you can customize the structure, content and commands in the CMS Console’s tree structure by defining your own console applications via XML documents.

Each application can vary from simply attaching a custom command to an existing element in the tree structure (for example, a page in the Content perspective) to creating complex tree structures in a custom perspective by combining and grouping multiple data types and attaching various commands to the tree elements at will.

The tree structure can consist of “static” folders, data folders and grouping folders, which empowers XML-oriented developers to build trees in the CMS Console exactly to their liking.

Generic data commands (add, edit, delete) can be attached to tree elements as well as one can invoke one's own ASP.NET, XSLT Functions or "advanced" Workflow Foundation-based UIs to get customized editors up and running.

These features are available to you:

  • Using IntelliSense (XSD) and validation with verbose logging
  • Using flat XML files in ~/App_Data/Composite/TreeDefinitions/
  • Having the CMS Console automatically pick up on new files and changes
  • Declaring what structure you want using nested XML elements
  • Mixing elements of different types in one tree
  • Defining simple elements, data elements or data element-driven grouping folders
  • Attaching various commands to elements: add, edit, delete, custom workflow, ASP.NET pages (with query string parameters) or XSLT Functions
  • Using the CMS Function system to use or create advanced data filters
  • Using customized editing forms where needed
  • Sorting items as you desire
  • Grouping by variable depth with date driven folders, reference fields, ranges etc.

You can watch these videos for an introduction to Tree Definitions in C1 CMS.

Who Should Read This Guide?

This guide is intended for developers experienced in XML. However, for the full experience of creating console applications, you should be good at XSLT, ASP.NET, Workflow Foundation.

Getting Started

To get started with console applications, you are supposed to take a number of steps.

Getting Started



Chapter or section


Auto-attach an application

How to Auto-Attach Applications


Allow manually attaching application

How to Allow Attaching Applications Manually


Add simple elements

Simple Elements


Add data elements

Data Elements


Group elements with data folders

How to Group Data Elements


Sort data elements

How to Sort Data Elements


Filter data elements

How to Filter Data Elements


Execute C1 CMS-specific data workflows

How to Execute Standard Data Workflows


Execute custom workflows

How to Execute Custom Workflows


Open ASPX pages

How to Open ASPX Pages


Execute CMS functions

How to Execute CMS Functions


Show message boxes

How to Display Message Boxes


Show confirmation boxes

How to Display Confirmation Boxes


In the following few chapters, you will learn more about these and other activities.

Terms and Abbreviations

The following is the list of terms and their definitions used throughout this guide.

Terms and Definitions




An operation executed on an element or in general when users click corresponding button on the toolbar or in the context menu


Relating an element (as a child element) or an action (as a context-sensitive command) to an element in existing or custom tree structures

CMS function

An application logic encapsulated as code or markup for processing and outputting data. Based on XSLT, C# or SQL.

Console application

An application based on an XML Tree Definition intended to customize the structure, content or commands available in the CMS Console’s tree structures

Data elements

An element that retrieves items from a specific CMS data type as child elements within its parent element

Data item

A single instance of structured data retrieved from a data type displayed as a data element

Data folder

An element that groups data elements or other data folders by a specific field


Selecting and displaying data items that only match certain logical condition


Distributing data items among several groups by a specific field or condition

Simple element

A single user-defined element in console applications, normally not based on data items (data elements) of a specific data type


Listing data elements in a defined order by a specific field

Tree structure

A hierarchy of elements in the CMS Console

Tree definition

A definition of the tree structure of elements and actions attached to these elements, which constitutes a console application and extends or customize the CMS Console.


An encapsulated application logic for processing and outputting data. Normally, based on Workflow Foundation