Creating applications

Any developer can create data oriented applications

One of the primary visions behind C1 CMS is enabling users and developers to complete their task using their existing skills - without sacrificing the quality or extensibility of any auto generated result. We have done this by creating a highly managed - yet open - data layer, where new data types can be 'clicked' or coded and the UI can be auto generated, modified or coded in a variety of technologies.

If you are going to build a data application for the CMS Console and haven't already familiarized you self with our Data section, you should start there. More often than not simply creating a new data type in the CMS Consoles Data perspective will complete your task.

Once you have your data types in place you can customize the application around it. There are several ways you can go about this.

  • Use the XML based Tree Definition feature to customize structure, content and commands in the CMS Console tree structure. Typical use cases for Tree Definitions are creating a single tree structure for maintaining multiple data types, creating custom folders where content is filtered or creating date or ‘first letter of label’ foldering for larger data sets.
  • Use CMS Functions – like Razor Functions or XSLT Functions – to generate report views and individual data visualizations and hook then into your Tree Definition.
  • If the input forms are not to your liking you can either reconfigure the widgets defined for your data type fields or you can edit the Form Markup XML for the type. Combined with Tree Definitions you may also create multiple form variants.
  • If one or more widgets on your forms are not to your liking write your own using ASP.NET and hook them into C1 CMS and your Form Markup.
  • If the form itself is not to your liking or you need UI that goes beyond the simple edit form, write a custom ASP.NET page and hook it up as a command in a Tree Definition.
  • If the UI elements are fine, but you need to create wizards, custom edit logic or create a more complex editing form use our Workflow Foundation based Form Workflows.
  • If you need to own the data type interfaces (CLR types) write them in C# - either from scratch or use Reflector on Composite.Generated.dll and copy the interface code.
  • If some of your data should be read or maintained in another store than C1 CMS’s .NET developers can write a Data Provider – a low level plug-in that can manage new data types in C1 CMS.