Guide to Applications
Introduction
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.
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.
Getting Started | ||
Step | Activity | Chapter or section |
1 | Auto-attach an application | |
2 | Allow manually attaching application | |
3 | Add simple elements | |
4 | Add data elements | |
5 | Group elements with data folders | |
6 | Sort data elements | |
7 | Filter data elements | |
8 | Execute C1 CMS-specific data workflows | |
9 | Execute custom workflows | |
10 | Open ASPX pages | |
11 | Execute CMS functions | |
12 | Show message boxes | |
13 | Show confirmation boxes |
In the following few chapters, you will learn more about these and other activities.
The following is the list of terms and their definitions used throughout this guide.
Terms and Definitions | |
Term | Definition |
Action | An operation executed on an element or in general when users click corresponding button on the toolbar or in the context menu |
Attaching | 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 |
Filtering | Selecting and displaying data items that only match certain logical condition |
Grouping | 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 |
Sorting | 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. |
Workflow | An encapsulated application logic for processing and outputting data. Normally, based on Workflow Foundation |