Namespace for all interface defintions in Cartella API

Classes

Interfaces

  InterfaceDescription
Public interfaceIACSTokenCodeFlow
Public interfaceIAdditionalProperties
Public interfaceIAnnouncement
Public interfaceIAnnouncementManager
Public interfaceIApprovable
Public interfaceIAsset
Defines the interface for Asset objects. An Asset is a collection of sets of binary files sharing the same metadata.
Public interfaceIAssetBinary
Asset Binary represents a version of a binary file. It carries all the additional properties with it, which are identified by subclass (e.g. ImageBinary). This information is captured from the actual binary file and stored in the database upon creation of the binary record.
Public interfaceIAssetBinarySection
Used to describe a subset of metadata within the binary. Used only by streams in video at this time. Itself is a virtual concept, only used as hold for set of meta data.

Most binaries only have 1 section to hold the additional information.

Public interfaceIAssetChain
Data Carrier object for search results. Represents an AssetBinary and all its ancestors.
Public interfaceIAssetCommon
The base class featuring common characteristics of all common asset objects.

Please note that the objects themselves are not data-bound. They are simply information holders for corresponding data records. It's perfectly legal to construct a new object without data relevance, populate it with values, and use it to create a new record in the database.

It is also legal for one record to have several instances of representive objects. Therefore it is never a correct approach to compare object to object: two instances of same class are equal to each other if they have the same ID.

Public interfaceIAssetFolioItem
Defines the interface of Asset based FolioItem. Objects inheriting this interface are associated with one Asset.
Public interfaceIAssetFolioItemManager<(Of <(<'T>)>)>
Defines the interface of AssetFolioItemManager. It is the manager object to select/create/delete/purge all Folio Item types containing an Asset member
Public interfaceIAssetMember
AssetMember is represent a member in an Asset collection. It always represent a specific file type. AssetMember is versioned. Each version of the AssetMember is an AssetBinary. The latest AssetBinary is always the current version. AssetMember represent a specific file, therefore, its FileName and FileExtension cannot be updated.
Public interfaceIAssetMemberSnapShot
Represents a snapshot of an AssetMember's specific version. This is a light weight object potentially used as Domain Model
Public interfaceIAssetMetaInfo
Interface to serve as carrier. Implementer must provide mime type information. Explicitly implemented in order not to polute asset interfaces.
Public interfaceIAssetSnapShot
Represents an Asset's specific version. This is a lightweight object potentially used as Domain Model.
Public interfaceIAssetStorageProvider
Defines the interface for Storage Provider object in Cartella Asset System. The Storage Provider is in charge of the storage and lookup of binaries.
Public interfaceIAssetSystemManager
Defines the interface to the Hub of all Asset functionalities. It is the entry point to the Asset Management system in Cartella.
Public interfaceIAssetVersioning
The version aspect of Asset. Extracted as separate interface definition.
Public interfaceIAudioInformation
Interface specifically for Audio Asset Binary Section
Public interfaceIAuditTrailer
Defines the interface for AuditTrailer, which is in charge of Tracking database activities and provide an audit trail.
Public interfaceIAuthenticationEngine
Defines the interface for the AuthenticationEngine, the plug-in engine for performing authentication. It contains a list of authenticator plug-ins for performing authentication.
Public interfaceIAuthenticator

Interface for authenticator plugins to inherit. The plugin registration engine (IAuthenticationEngine) will detect and register the instance of any types inheriting this interface.

The authentication plugins are not in charge of providing actual user information, they are stored in the Cartella database. The plugin only need to find out if the user can authenticate with the respective system.

Default database authentication is carried out by LicenseManagerBase, not from this system.

Public interfaceIAuthenticatorInformation
Interface to provide authenticator information. We can also use it to retrieve the actual authenticator.
Public interfaceIAutoConverter
AutoConverters are conversion components that will automatically execute a conversion from a source member to one (or many) target members. Implemented classes do not need to add metadata to the output binary result, since metadata will be detected when the binary is added to a member in the asset.

The AdditionalProperties property is on the returning object module, is mainly used by BeforeConversion_TaskConfigurationChanges callback to adding arbitrary metadata.

Public interfaceIAutoConvertible
Public interfaceIBaseObject
Definition for the basis of all Data-Bound Objects.

The interface provides the basic functions for a Data-Bound object, including retrieving fields, getting the object ID, get/set of the object Name, get/set the field value by field name.

Public interfaceIBaseRelations<(Of <(<'TOwner, TTarget>)>)>
Definition of based collection object used to store relations between 2 types of objects. This relations will always return all members of the targets.
Public interfaceIBatchUpdatable

This interface defines the structure of objects that allows batch update.

Objects in Cartella general have real time database update, as properties being set. This makes Cartella API intuitive and easy to use. However, there are times when we don't want every property set to cause a database transaction. Here is where IBatchUpdatable coming. It allows batch of property updates to be grouped together and perform database transaction only once afterwards.

This is done by set "StopEventUpdate" property to true and stop all property changes from triggering events issued FieldCollections, which is the driving force of per-property updates.

Public interfaceIBlogManager
Interface for the Manager object in charge of select/create/update/delete BlogPost instances
Public interfaceIBlogPost
Represents the BlogPost object interface. It is IFolioItem interface with a different name. There are no definition changes from IFolioItem interface at all
Public interfaceICalendarEvent
Public interfaceICalendarEventManager
Public interfaceICartellaEventHooks
Public interfaceICartellaEvents
CartellaEvents interface represents all events fired at the Site level.
Public interfaceICartellaGlobalManager

Represents the Singleton object, which is the hub os all Cartella objects, managers and events.

Its main purpose is to maintain a list of SiteManager instances, also relay all events issue from the SiteManager instances.

CartellaGlobalManager is designed to hold a given number of SiteManager instances and keep them around. There will be a expiration time set on each SiteManager. If within the expiration time threshold, no Methods or Properties calls happened on the SiteManager instance at all, the SiteManager instance will be automatically dropped from the pool and erased.

This system allows system not need to create a SiteManager instance everytime, also in the same time, not use too much memory to store every unsed SiteManager instances.

Public interfaceICartellaObject
Definition for the base of all representation of fully accessible data records. All other fully accessible data records representation types are based on this type. This interface inherits IBaseObject, IDataUniqueObject, and IBatchUpdatable
Public interfaceICartellaObjectManager<(Of <(<'T>)>)>

Defines the manager interface for specific object type that is derived from ICartellaObject. All object type managers (e.g. CategoryManager, UserManager) derive from it

Classes inplementing this interface will have access to DataAccess Layer, knows data access manager, can get hold of the default procedures module to locate the ObjectDateProceduresImplementaion during construction.

Public interfaceICartellaPagedRelations<(Of <(<'TOwner, TTarget>)>)>
Represents a Relations object with differred execution. As objects inheriting this interface is created, on database transaction is executed. Data transaction is only performed when getting items for specific page.
Public interfaceICartellaPositionedRelations<(Of <(<'TOwner, TTarget>)>)>
Definition of based collection object used to store relations between 2 types of objects. It stored the positioning information of its targets.
Public interfaceICartellaRelations<(Of <(<'TOwner, TTarget>)>)>
Built on top of IBaseRelations with the feature of clearing up all target items in the relations object.
Public interfaceICategory
Defines the interface for Category. Based on ICartellaObject interface.
Public interfaceICategoryManager
Defines the interface for CategoryManager, which the manager object for Category type. Based on ICartellaObjectManager interface
Public interfaceIComment
Defines the interface for Comment. Based on ICartellaObject. Hierarchical
Public interfaceICommentManager
Defines the interface for CommentManager, which the manager object for Comment type. Based on ICartellaObjectManager interface
Public interfaceIContentPage
Public interfaceIContentPageManager
Public interfaceICustomFieldInfo
Public interfaceIDataProcedureParameters
Defines the interface of DataProcedureParameters. It is a wrapper object for the collection of DbParameters to be fed into database procedure.

It is in charge of casting a string, IField, or generic object value to the desired Database Parameter type.

Public interfaceIDatedUniqueObject
Public interfaceIDocument
Defines the interface for Document entity. Based on IAssetFolioItem interface
Public interfaceIDocumentManager
Defines the interface for DocumentManager, the manager object for Document entities. Based on IFolioItemManager interface.
Public interfaceIEmailDispatcher
This is the class used to send emails. It is called by EmailContentController.
Public interfaceIEmailNotifier
Emailer to send out emails with canned messages.
Public interfaceIEmailSubmissionAgent
Public interfaceIEntity
Defined the interface of Entity objects, which represent user created content within Cartella. Based on ICartellaObject interface.
Public interfaceIEntityManager<(Of <(<'T>)>)>
Defines the interface for EntityManager. Based on ICartellaObjectManager interface. Provide entity specific manager functionalities on top of CartellaObjectManager
Public interfaceIEntityPathManager
Public interfaceIEntityProcedures
Public interfaceIEntityRelation
Public interfaceIEntityRelationCollection
Public interfaceIEntityRelationManager
Public interfaceIEntityShareLevel
Define the interface of EntityShareLevel. Based on ICartellaObject interface.
Public interfaceIEntityShareLevelManager
Defines the interface of EntityShareLevelManager. Based on ICartellaObjectManager interface. Please note that this manage doesn't provide Create/Delete fuctions. Because EntityShareLevel is created/deleted together with the entity it belongs to.
Public interfaceIEntityType
Defines the interface of EntityType, which is a wrapper class to Type of entity class.
Public interfaceIEntityView
Public interfaceIEntityViewManager
Public interfaceIExtensibleObject
Public interfaceIExtensibleObjectManager<(Of <(<'T>)>)>
Public interfaceIExternalDocument
Public interfaceIExternalDocumentManager<(Of <(<'TDoc, TFolder>)>)>
Public interfaceIExternalFolder
Defines the interface for Folder. Based on IFolioItem interface.
Public interfaceIExternalFolderManager<(Of <(<'TFolder, TDoc>)>)>
Defines the interface for FolderManager, which is the manager object for all Folders. Based on IFolioItemManager interface.
Public interfaceIExternalFolioItem
Public interfaceIExternalFolioItemManager<(Of <(<'T>)>)>
Public interfaceIField
Defines the interface for the field, based on the IFieldDefinition interface. It is a FieldDefinition with a value.
Public interfaceIFieldCollection
Defines the interface for FieldCollection. It represent of collection of fields with values.
Public interfaceIFieldDefinition
Defines the interface for FieldDefinition, which represents the definition of a specific fields for an object.
Public interfaceIFieldVisibilityConfigurable
Provides Get/Set of FieldVisibility on implementing Cartella.Classes.ExtensibleObject.
Public interfaceIFolio
Defines the interface for Folio, which the base collection of user created content in Cartella. Based on IEntity interface.
Public interfaceIFolioItem
Defines the interface for FolioItem. Base on IEntity Interface
Public interfaceIFolioItemManager<(Of <(<'T>)>)>
Defines the interface of FolioItemManager. Based on IEntityManager interface
Public interfaceIFolioManager
Defines interface for FolioManager, the manager object for all Folios. Based on IEntityManager interface.
Public interfaceIFolioModule
Defines the interface for FolioModule object, which represents a specific collection of Folio Items under a Folio
Public interfaceIFolioModuleManager
Defines interface for FolioModuleManager, the manager object for all FolioModule instances. Based on ICartellaObjectManager interface.
Public interfaceIFolioProcedures
Defines interface for FolioProcedures, which is the procedures collection for Folio object type. Based on IEntityProcedures interface.
Public interfaceIForumDiscussion
Public interfaceIForumPost
Public interfaceIForumSubItem
Public interfaceIForumSubItemManager<(Of <(<'tInteface, tClass>)>)>
Public interfaceIForumTopic
Public interfaceIForumTopicManager
Public interfaceIGallery
Defines interface for Gallery, collection of images with positions. Based on IAssetFolioItem interface.
Public interfaceIGalleryManager
Defines interface for GalleryManager, the manager object for gallery instances. Based on IFolioItemManager interface.
Public interfaceIGroup
Defines the interface for Group. Based on ICartellaObject
Public interfaceIGroupManager
Defines the interface for GroupManager, the manager object for Group objects. Based on ICartellaObjectManager.
Public interfaceIGroupRole
Defines the interface of GroupRole. Based on ICartellaObject interface.
Public interfaceIGroupRoleManager
Defines the interface for GroupRoleManager, the manager object for GroupRole objects. Based on ICartellaObjectManager
Public interfaceIHasEnumProperty
Public interfaceIHaveOwnerFolio
Public interfaceIIdea
Public interfaceIIdeaManager
Public interfaceIImage
Defines interface for Image, the asset folio item to present a picture. Based on IAssetFolioItem interface.
Public interfaceIImageInformation
Interface specifically for Image Asset types. It is used to carry Image meta data
Public interfaceIImageManager
Defines interface for ImageManager, the manager object for Image entities. Based on IFolioItemManager interface.
Public interfaceILicenseInfo
Public interfaceILicenseManager
Defines interface for LicenseManager, the user specific manager class in charge of managing seats in the license.
Public interfaceILicenseManagerBase

Represents the Session-Independent part of License management system.

LicenseManagerBase is designed to be a singleton object. It holds the license information for the entire Cartella instance. It is also in charge of authentication/unauthentication of users.

Please note that LicenseManagerBase is only in charge of holding the licensing information. Assignments of user/seats is done by its user specific counter part - LicenseManager. It takes a actual user to do the actual licensing works.

Public interfaceILoggable
Public interfaceIManager
Base interface for all Object-related/User-specifc manager types
Public interfaceIMedia
Public interfaceIMediaInformation
Interface specifically for Media Asset Binary Section
Public interfaceIMediaManager
Public interfaceIMetaDataDetector
Defines the interface for services that will detect metadata from the binary stream.
Public interfaceIModule
Defines the interface for Module object, which represent a specific collection of FolioItem types under a Folio
Public interfaceIModuleManager
Only need to provide select all method
Public interfaceIObjectCombination
Empty interface, mainly used to event identifications. Any create/delete of this type of object will mean updates on all involved IBaseObject parties
Public interfaceIPagedEntityChildrenList<(Of <(<'T, TKey>)>)>
Public interfaceIPaginatedList<(Of <(<'T, TKey>)>)>
Public interfaceIPositionedRelationProceduresExtension
Defines the interface for inheritable positioned relations procedures. Similar to IRelationProceduresExtension, except it is for relations objects that track positions for targets.
Public interfaceIPreference
Public interfaceIPreferenceManager
Public interfaceIProfile
Public interfaceIProfileManager
Public interfaceIReadonlyCartellaObject
Definition of Data Record representations that are readonly.
Public interfaceIReadonlyDictionary<(Of <(<'TKey, TValue>)>)>
A dictionary only allows read access once constructed
Public interfaceIReadonlyObjectDataProceduresImplementation
Defines the interface for ReadonlyObjectDataProceduresImplementation - Procedures collection for Readonly objects. Based on IDataProceduresImplementation interface, which is the equivalent of IUserSpecificObjectDataProceduresBase.
Public interfaceIRetrievableField
This interface allows disabling the read-only state of a field. This class should be implemented explicitly.
Public interfaceIRole
Defines the interface for a Role, based on the ICartellaObject interface. Role is a collection of RolePermissions and can be considered as system-wide security profile.
Public interfaceIRoleManager
Defines the interface for RoleManager, the manager object for Role. Based on ICartellaObjectManager interface.
Public interfaceIRolePermission
Defines the interface for RolePermission. Based on IReadonlyCartellaObject interface.
Public interfaceISecurityManager
Defines the interface for a system in charge of checking if a given object is allowed for given type of access. All security logics to be defined here. It is a pure model with no data access. For object, use "Allow" method to determine what can be done with given object For Manager, only need to worry about "Create" permissions. All method will compare the current users (or anonymous)' permission and viewing level against object's permission and viewing level
Public interfaceISiteContent
The interface represents site wide content resources. It serves as content store of Cartella for descriptive content
Public interfaceISiteContentManager
The interface represent the manager objects for SiteContent entries.
Public interfaceISiteManager
Defines the interface for SiteManager. The topmost level Manager object that is instance-specific. It is in charge of automatically creating all object managers. It has indexed access to all manager objects. It provides wrapper functions to create all object types. It is also the singleton point of event relay to all Cartella activitiy events.

Each request session will create a new SiteManager object.

Public interfaceISubscribable
Public interfaceISubscription
Public interfaceISubscriptionManager
Public interfaceISurveyAnswer
Public interfaceISurveyAnswerManager
Public interfaceISurveyAnswerSet
Public interfaceISurveyAnswerSetManager
Public interfaceISurveyDefinition
Public interfaceISurveyDefinitionManager
Public interfaceISurveyQuestion
Public interfaceISurveyQuestionManager
Public interfaceISurveyStep
Public interfaceISurveyStepManager
Public interfaceITrackable
Public interfaceIUniqueObject
Defines the interface for object with unique ID and named
Public interfaceIUnsafePasswordOverride
Public interfaceIUnsafeSiteManager
This interface defines a set of functions for a SiteManager, allowing it to authenticate an existing user object.
Public interfaceIUser
Defines the interface for User Object. Based on ICartellaObject interface.
Public interfaceIUserEmailLookup
Public interfaceIUserFieldVisibility
Public interfaceIUserFieldVisibilityManager
Public interfaceIUserManager
Defines the interface for UserManager, the manager object for User objects. Based on ICartellaObjectManager interface.
Public interfaceIUserRole
Defines interface for UserRole, based on ICartellaObject interface
Public interfaceIUserRoleManager
Defines the interface for UserRoleManager, the manager object for UserRole objects. Based on ICartellaObjectManager
Public interfaceIUserState
Defines the interface for UserState object, the context of active user instance. This is a special object that have all properties being 100% dynamic. Access of any property will result in database query. The actual user state is tracked in the databse for real time license control.
Public interfaceIUserStatus
Public interfaceIUserStatusComment
Public interfaceIUserViewData
Public interfaceIValidationManager
Public interfaceIValidationRule
Public interfaceIVotable
Public interfaceIVote
Public interfaceIVoteManager
Public interfaceIWiki
Public interfaceIWikiManager

Delegates

  DelegateDescription
Public delegateSubscriptionNotice

Enumerations