Samples You Can Install
CMS Packages with tree definitions
Apart from the Page Types functionality built into C1 CMS, a number of CMS Packages use tree definitions to create their own console applications in C1 CMS.
You can install these packages and examine their tree definitions as samples to get a better idea of what you can do here.
These are the packages that you can choose to consider:
- Composite.Community.Blog
- Composite.Community.EventCalendar
- Composite.Community.Newsletter
- Composite.Community.QuickPoll
- Composite.News
- Composite.Tools.PackageServer
- Composite.Tools.PagePrintCommand
- Composite.Tools.SqlServerDataProvider
- Composite.Tools.XmlBasedSiteBackup
After having installed one or more of these packages, you can find their tree definition files in the folder ~/App_Data/Composite/TreeDefinitions
.
In the following few sections, you will have a quick overview of how each of the packages implements a console application.
The Composite.Community.Blog package implements its functionality with two tree definition files: Composite.Community.Blog.Entries.xml
and Composite.Community.Blog.Settings.xml
.
The Blog Entries application is allowed attaching manually to CMS Pages (Composite.Data.Types.IPage
).
It builds the tree with data elements of the global data type called Composite.Community.Blog.Entries
grouped by date and filtered by the PageId
of the page it is attached to. (Only in older versions: In addition, nested are data elements of the global data type called Composite.Community.Blog.Comments
which are thus filtered by the Blog Entries elements.)
The Blog Settings application is auto-attached under Website Items in the Content perspective.
It builds the tree with data elements of the global data type called Composite.Community.Blog.Authors
and data elements of the global data type called Composite.Community.Blog.Tags
(as siblings in the tree).
Both applications also implement standard CMS Data workflows (add, edit, delete) for data elements of each data type used.
Composite.Community.EventCalendar
You can find the Event Calendar's tree definition in Composite.Community.EventCalendar.EventsApp.xml
.
The Event Calendar application is allowed attaching manually to CMS Pages (Composite.Data.Types.IPage
).
It builds the tree by using the page data folder called Composite.Community.EventCalendar.Event
for its data elementsgrouped by date (StartTime
) and filtered by the PageId
of the page it is attached to.
It also implements standard CMS Data workflows (add, edit, delete).
Please note that Composite.Community.EventCalendar is a commercial package available for a 30-day free trial period.
Composite.Community.Newsletter
Please note that Composite.Community.Newsletter uses a tree definition to implement only one of its multiple features - the Confirm Templates functionality.
You can find its tree definition in Composite.Community.Newsletter.SubjectBased.xml
.
The Newsletter's Confirm Templates application is auto-attached in the Layout perspective.
It builds the tree with data elements of the Composite.Community.Newsletter.ConfirmEmailTemplate
global data type.
It also implements standard CMS Data workflows (add, edit, delete) for its data elements.
Please note that Composite.Community.EventCalendar is a commercial package available for a 30-day free trial period.
You can find the Quick Poll's tree definition in Composite.Community.QuickPoll.xml
.
The Quick Poll application is auto-attached in the Content perspective.
It builds the tree with data elements of the Composite.Community.QuickPoll.Question
global data type with nested data elements of the Composite.Community.QuickPoll.Answer
global data type. The Answer data elements are thus filtered by the Question data elements.
It also implements standard CMS Data workflows (add, edit, delete) for data elements of both data types.
You can find the News's tree definition in Composite.News.xml
.
The News application is allowed attaching manually to CMS Pages (Composite.Data.Types.IPage
).
It builds the tree by using the page data folder called Composite.News.NewsItem
for its data elementsgrouped by date (Date
) and filtered by the PageId
of the page it is attached to.
It also implements standard CMS Data workflows (add, edit, delete).
You can find the Package Server's tree definition in Composite.Tools.PackageServer.xml
.
The Package Server application is auto-attached in the Content perspective.
It builds the tree with data elements of the global data type called Composite.Tools.PackageServer.Package
and data elements of the global data type called Composite.Tools.PackageServer.EULA
(as siblings in the tree). The Package data elements are grouped by GroupName
.
It also implements standard CMS Data workflows (add, edit, delete) for data elements of both data types.
Composite.Tools.PagePrintCommand
You can find the Page Print Command's tree definition in PagePrintCommand.xml
.
The Page Print Command application is auto-attached to CMS Pages (Composite.Data.Types.IPage
).
It implements one custom action by opening an ASPX page (~/Composite/InstalledPackages/content/views/Composite.Tools.PagePrintCommand/Print.aspx
)
Composite.Tools.SqlServerDataProvider
You can find the SQL Server Data Provider's tree definition in Composite.Tools.SqlServerDataProvider.xml
.
The SQL Server Data Provider application is auto-attached in the System perspective.
It implements one custom action by opening an ASPX page (~/Composite/InstalledPackages/content/views/Composite.Tools.SqlServerDataProvider/SqlServerDataProvider.aspx
)
Composite.Tools.XmlBasedSiteBackup
You can find the XML Based Site Backup's tree definition in Composite.Tools.XmlBasedSiteBackup.xml
.
The XML Based Site Backup application is auto-attached in the System perspective.
It implements one custom action by opening an ASPX page(~/Composite/InstalledPackages/content/views/Composite.Tools.XmlBasedSiteBackup/XmlBasedSiteBackup.aspx
)