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.
To get started with console applications, you are supposed to take a number of steps.
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
An application logic encapsulated as code or markup for processing and outputting data. Based on XSLT, C# or SQL.
An application based on an XML Tree Definition intended to customize the structure, content or commands available in the CMS Console’s tree structures
An element that retrieves items from a specific CMS data type as child elements within its parent element
A single instance of structured data retrieved from a data type displayed as a data element
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
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
A hierarchy of elements in the CMS Console
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