Classes

  ClassDescription
Public classAutoUpdatebleAttribute
IData types decorated with this attribute will be have their store auto created and updated if the interface changes. You should use this attribute for data types that C1 CMS should be able to auto support via data providers.
Public classBuildNewHandlerAttribute
This attribute is used to override the default behavior when creating new data items. See IBuildNewHandler for mor information on this subject.
Public classDataConnection
Represents a connection to the C1 CMS data system.
Public classDataEntityToken
EntityToken that represents a C1 Data item. EntityToken is used through out C1 CMS to describe artifacts that can have security settings and be navigated and this class make it easy to move between data items and EntityToken.
Public classDataEventArgs
This class contains information for data events. See also StoreEventArgs.
Public classDataEvents<(Of <(<'TData>)>)>
This class contains all the event fired by C1 CMS when changes are made to data items. Use OnStoreChanged to catch any data change event, including events originating from other servers in a load balance setup or changes made directly to a store (which C1 CMS can detect). This event do not contain details about the specific data item changed and is raised after the fact. Use the more detailed operations to catch data events that happen in the current website process. The 'OnBefore' events enable you to manipulate data before they are stored. The 'OnAfter' events let you react to data changes in detail, for instance updating a cache. A combination of OnStoreChanged and the detailed data events can be used to create a highly optimized cache.
Public classDataInterceptor
Let you transform queries before data providers. Enable you to augment queries from alternate sources.
Public classDataProviderCopier
Class used for copying data from one data provider to another
Public classDataReference<(Of <(<'T>)>)>
Represents a reference to a C1 CMS IData item.
Public classDataScopeAttribute
Assigns data scopes to a data type. By default data types will live in the public data scope (only) and you use this attribute to specify aditional scopes.
Public classDataScopeServicesFacade
Facade for added services to data scope
Public classDataSourceId
Uniquely identify a data element (table record in sql speak), its type and what provider it came from.
Public classDefaultFieldBoolValueAttribute
Associate a static default value to a boolean property on a data type.
Public classDefaultFieldDecimalValueAttribute
Associate a static default value to a decimal property on a data type.
Public classDefaultFieldGuidValueAttribute
Associate a static default value to a GUID property on a data type.
Public classDefaultFieldIntValueAttribute
Associate a static default value to an integer property on a data type.
Public classDefaultFieldNewGuidValueAttribute
Associate a random new GUID to a GUID property on a data type.
Public classDefaultFieldNowDateTimeValueAttribute
Associate the current date and time to a DateTime property on a data type.
Public classDefaultFieldRandomStringValueAttribute
Sets the field's value to a random base64 string value of the specified length.
Public classDefaultFieldStringValueAttribute
Associate a static default value to a string property on a data type.
Public classDefaultFieldValueAttribute
This abstract class is used by data providers when a new column is added to a table. Extend this class to create your own.
Public classFieldPositionAttribute
Specify the posution of a field as they should be listed by default
Public classForeignKeyAttribute
The attribute will tell the system that a data property is a reference (foreign key) to another IData.
Public classFormRenderingProfileAttribute
Assign this to properties on your IData interfaces to control how a data field whould be viewed and edited in a form view.
Public classFunctionBasedNewInstanceDefaultFieldValueAttribute
Assign this attribute to a data type property to enforce a default value for the property on newly created instanced of your data type. You specify a serialized C1 Function - this C1 Function will be executed and the result will be written to this property.
Public classGroupByPriorityAttribute
Assign this to properties on your IData interfaces to control default page foldering of tree items.
Public classImmutableFieldIdAttribute
Assigns an immutable id to this property. The id must be unique and is used to identify the property even if the name should change. The Dynamic Type system uses this value to detect data schema changes.
Public classImmutableTypeIdAttribute
Assigns an immutable id to this type. The id must be unique and is used to identify the type even if the type name, namespace or version should change. The Dynamic Type system uses this value to detect data schema changes.
Public classIndexAttribute
Add this attribute to define an additional index to a tables representing the data type.
Public classInternalUrlAttribute
When specified, defines a short type name for generating internal urls. F.e.: [InternalUrl("news")] for "~/news(id)" internal links.
Public classKeyPropertyNameAttribute
Add this attribute to your data interface to specify one or more primary key fields.
Public classLabelPropertyNameAttribute
Add this attribute to your data interface to select what property should be used as label when enumerating data.
Public classNotReferenceableAttribute
Add this attribute to your data interface to prevent it from being referenced by other data types
Public classNullableDataReference<(Of <(<'T>)>)>
Represents a reference to a C1 CMS IData item. Unlike DataReference<(Of <(<'T>)>)> this class signals that a data reference need not be set for this to be in a valid state.
Public classPageNode
Represents a page in the C1 CMS sitemap hierarchy.
Public classPageRenderingHistory
Preserves list of pages that has been rendered since last content/function change
Public classPublishProcessControllerTypeAttribute
Add this attribute to your data interface to specify what controller to use for publishing. Your data type is expected to implement IPublishControlled when this attribute is used. The type you specify is expected to implement IPublishProcessController. For default publishing behaviour use the type GenericPublishProcessController
Public classRelevantToUserTypeAttribute
Add this attribute to your data interface to make it visible in the C1 Console developer UI.
Public classRouteDateSegmentAttribute
Makes the data type property of type DateTime field appear in data url.
Public classRouteSegmentAttribute
Indicates that the current property has to be used for building data url.
Public classSearchableFieldAttribute
Indicates whether the field.
Public classSearchableTypeAttribute
Indicates that the data of the given data type should be searchable.
Public classSitemapNavigator
Provide access to the C1 CMS sitemap structure and primary page attributes.
Public classStoreEventArgs
This class contains information for store change events. No specifics will be given as to which data item(s) were changed, but the store (type, scope, language) is available. Property DataEventsFired indicate if detailed data events have already been fired for the data store change. In situations where data was changed in the physical store by another process, detailed events cannot be fired and you need to rely on the StoreChange event to do cache flushed etc.
Public classStoreFieldTypeAttribute
Specifies what physical store type should be used to store this property.
Public classStoreSortOrderAttribute
Add this attribute to your data interface to control the physical store sort order of data. This concept is known as the clustered index on SQL Server.
Public classTitleAttribute
Add this attribute to your data interface to give it a human readable title to be used in the C1 Console
Public classTreeOrderingAttribute
Assign this to properties on your IData interfaces to control default ordering of tree items.

Interfaces

  InterfaceDescription
Public interfaceIBuildNewHandler
This interface is used togehter with the attribute BuildNewHandlerAttribute. It is possible to overwrite the default behavior when a new data item is created through the method New<(Of <<'(TData>)>>)()()()() To do this, you have to implement this interface and attach it to your IData type by using the attribute BuildNewHandlerAttribute

Examples

CopyC#
[BuildNewHandlerAttribute(typeof(MyBuildNewHandler))
[AutoUpdateble]
[KeyPropertyName("Id")]
[DataAncestorProvider(typeof(NoAncestorDataAncestorProvider))]
[ImmutableTypeId("{10D6CA29-5B01-45EE-9405-9B027F4C949C}")]    
interface IMyDataType : IData
{
    [StoreFieldType(PhysicalStoreFieldType.Guid)]
    [ImmutableFieldId("{B99F4AF2-859D-4235-887B-E5A06BBB9892}")]
    Guid Id { get; set; }

    [StoreFieldType(PhysicalStoreFieldType.String, 256)]
    [ImmutableFieldId("{A8127C77-5083-4409-9EA6-1E3BB696310D}")]
    string Name { get; set; }
}

class MyBuildNewHandler : IBuildNewHandler
{
    public Type GetTypeToBuild(Type dataType)
    {
        /* dataType will always be typeof(IMyDataType) */

        return typeof(MyDataType);
    }
}


class MyDataType : IMyDataType
{
    puglic MyDataType()
    {
        /* All new instances of IMyDataType will becrated through this constructor */
        this.Id = Guid.NewGuid();
        this.Name = "RandomName";
    }

    public Id { get; set; }

    public Name { get; set; }
}
Public interfaceIData
Base interface for data types in C1 CMS.
Public interfaceIDataReference
Represents a reference to a C1 CMS IData item. See DataReference<(Of <(<'T>)>)>.

Delegates

  DelegateDescription
Public delegateDataEventHandler
The event handle type for detailed data change events which fire in-process. See also
Public delegateStoreEventHandler
The event handle type for data store change events. These events may be both internally and externally provoked.

Enumerations

  EnumerationDescription
Public enumerationDateSegmentFormat
Describes which data format should be used while building a data url segment
Public enumerationIndexDirection
Index direction
Public enumerationPublicationScope
Define the scope of data in relation to publication status. Data which support publication should always be maintained in the “Unpublihed” scope, while reading data on the public website should always be done in the “Published” scope. Correct setting of the PublicationScope is typically handled by C1 CMS and should in general not be changed by developers. Setting an explicit PublicationScope is typically only needed on new service end-points or if specific features relating to data updating / publication is desired. See DataConnection
Public enumerationSitemapScope
Define a set of elements in a tree structure, relative to a particular node.
Public enumerationUserType
Used by the RelevantToUserTypeAttribute attribute.