The main core namespace in Extension, Contains all important classes for manage and working with Extension.


Public classAccessFunctionType
Defines a class to represent access rights to extension content function type ContentFunctionType.
Public classAccessFunctionTypeCollection
A collection of access rigths for a function
Public classAccessGroup
Access group definition
Public classAccessPageType
Access definition for a page type
Public classAccessPageTypeCollection
Class for handle the access rights for Composer page types
Public classBaseContentFunction
Base class for defining a content function.
Public classComposerSetting
Setting for EPiServer Composer
Public classContentAreaData
Represents data structure of a content area on an extension page including extension function properties. Each content area can consist of multiple content functions. A content area could either belong to an extension page or a content function.


The following code example shows how to get ContentAreaData instances from an ExtensionPageData
// Create an extension page from a specified page type
ExtensionPageData page = ExtensionPageData.Create(PageReference.StartPage, pageTypeID);
// Get the collection of available content area on the extension page
IList<ContentAreaData> areas = page.GetContentAreas();
Public classContentFunctionData
Represents data structure of a content function on an extension page including extension function properties


The following code example creates a ContentFunctionData object using the speficied extensionPageLink, and imageFunctionType
ContentFunctionData imageFunction = ContentFunctionData.Create(extensionPageLink, imageFunctionType);
Public classContentFunctionDataEventArgs
The event arguments class for the ContentFunctionData events.
Public classContentFunctionEventArgs
Defines a class to represent the ContentFunctionData events.
Public classContentFunctionReference
Defines a class that represents the link to a content function.
Public classContentFunctionType
Defines a class that represents the type of extension content function.
Public classDefaultAccessFunctionType
The class contains methods for handle the default access for a function type.
Public classDefaultAccessFunctionTypeStorage
The default provider for saving Composer default access for page types and function types.
Public classDefaultAccessPageType
Defines a class to hold default access to extension page types.
Public classDefaultExtensionAdminGroups
Class contains methods for handle Composer administrators.
Public classDynamicContentPropertyStruct
Define data for a dynamic content property
Public classEmptyContentFunction
Defines a class to represent an empty content function control. The empty content function is used as a dummy when the currently logged-on user has no access to the target content function or
Public classExtensionBaseTemplate
Defines the extension template base class for creating a standard extension page.
Public classExtensionCategory
Extension category
Public classExtensionCategoryCollection
Collection of categories for a function or page type
Public classExtensionException
Base class for Extension exception
Public classExtensionGeneric
Defines a class for the declaration of common use constants and types used by the extension core classes.
Public classExtensionPageData
Represents the data structure of an Extension page. An ExtensionPageData consists of multiple instances of ContentAreaData which then could contain multiple ContentFunctionData instances with various kinds of content or nested ContentAreaData and so on. An Extension page uses the data structure held in a respective ExtensionPageData instance to render the page.


The following example shows how to create an Extension page and add new content functions to its content areas.
// load extension page collection
PageTypeCollection pageTypes = Dropit.Extension.Global.ListExtensionPageTypes();

// load content function
IList<ContentFunctionType> functionTypes = Dropit.Extension.Global.ListContentFunctionTypes();

// create an extension page            
ExtensionPageData page = ExtensionPageData.Create(PageReference.StartPage, pageTypes[0].ID);
page.CurrentPage.PageName = "Test Page " + DateTime.Now;

// create 1st content function: BLOCK
ContentFunctionData block = ContentFunctionData.Create(page.CurrentPage.PageLink, functionTypes[0].FunctionTypeID);
// get the left content area from the page
ContentAreaData contentArea = page.GetContentAreas()[0];
// insert to the left content area at 0
contentArea.InsertContentFunction(block, 0);

// create 2nd content function: TEXT
ContentFunctionData text = ContentFunctionData.Create(page.CurrentPage.PageLink, functionTypes[1].FunctionTypeID);
// get the right content area from the page
contentArea = page.GetContentAreas()[1];
// insert to the right content area at 0
contentArea.InsertContentFunction(text, 0);

// create 3rd content function: IMAGE
ContentFunctionData image = ContentFunctionData.Create(page.CurrentPage.PageLink, functionTypes[2].FunctionTypeID);
// get the left content area of content function BLOCK
contentArea = block.GetContentAreas()[0];
// insert to the left content area at 0
contentArea.InsertContentFunction(image, 0);

PageReference pageLink = page.Save(EPiServer.DataAccess.SaveAction.Publish, EPiServer.Security.AccessLevel.NoAccess);
Public classExtensionPageDataEventArgs
Represents event arguments used for ExtensionPageData when any of the following events occurs: ContentFunctionCreated, ContentFunctionMoved, ContentFunctionDeleted.
Public classExtensionPageEventArgs
Represents the event arguments for the extension events.
Public classExtensionPageHandler
A component inherited from WebControl that provides extensive functionality to an EPi page having type of PageBase The page using an instance of ExtensionPageHandler enables users to have drag-and-drop ability when designing the page in edit mode.


The following example shows how to enable Extension 3 functionality for a standard EPi TemplatePage
 public partial class ExtensionDemoPage : TemplatePage
    // ExtensionPageHandler for Extension Functionality
    ExtensionPageHandler extensionPageHandler;

    public ExtensionDemoPage():base(0,0)
        // create an instance of ExtensionPageHandler
        extensionPageHandler = new ExtensionPageHandler();

    protected override void OnInit(System.EventArgs e)
        // initialize ExtensionPageHandler instance
        // must always be placed at this position
Public classExtensionTemplate
Extension Template class
Public classFactoryPageBase
Defines the base class for extension factory pages used when manipulating an Extension page in GUI edit-mode.
Public classFavoriteFunctionType
Class for representing a favorite function type
Public classFunctionDefinition
Function identity definition
Public classFunctionInstanceCategoryCollection
The collection handle the type of function in a page.
Public classFunctionPickerAnchor
Dataclass used for serializing/deserializing data for the functionpicker
Public classFunctionPickerData
Dataclass used for serializing/deserializing data for the functionpicker
Public classFunctionPickerLink
Dataclass used for serializing/deserializing data for the functionpicker
Public classLanguage
Data transfer object for serialize a Language entity to JSON data
Public classRuleContentArea
The rule is applied for content area and defined which content function types can exist in the area.
Public classRuleContentAreaCollection
Collection of the Extension rules
Public classRuleType
Define the rule applied for a page type
Public classSerializer
Control class for serialize/deserialize Extension object.
Public classSettingFactory
Factory class for manipulate Composer setting
Public classSpecializedExtensionCommonData
Defines a class that represents specialized data for common use of extension objects.
Public classSpecializedExtensionPageData
Defines a class which represents the specialized data of the extension page containing information of the page structure, page content and settings of template page. The data will be saved in the property ExtensionPageProperty.


Public interfaceIAccessFunctionTypeStorage
Defines an interface for storing and retrieving access rights to extension function types.
Public interfaceIAccessPageTypeStorage
Defines an interface for storing and retrieving access rights to extension page types.
Public interfaceICategoryStorage
Provides the base interface for storing and loading ExtensionCategory.
Public interfaceIDefaultAccessFunctionTypeStorage
Defines an interface for storing and retrieving default access rights to extension function types.
Public interfaceIDefaultAccessPageTypeStorage
Defines an interface for storing and retrieving default access rights to extension page types.
Public interfaceIExtensionSource
Defines the interface to be implemented by Extension Pages and Content Functions supporting manipulation over Content ContentAreas.
Public interfaceIExtensionStorage
Define an interface for storing SpecializedExtensionPageData independently from storage media. The interface must be implemented by a storage manager to help storing and retrieving extension page data. It is recommended to use Provider driven model.
Public interfaceIFunctionSource
Defines the interface to get access to the ContentFunctionData instance from an Extension page. The interface is implemented by the class BaseContentFunction and ContentFunctionData
Public interfaceIJsonizableObject
This is a simple interface to be base for JSON serializable DTO class
Public interfaceIObjectStore<(Of <(<'T>)>)>
The interface for serializable class
Public interfaceIRuleContentAreaStorage
Defines an interface for storing and retrieving access rules between extension content areas and content function types on an extension page.


Public enumerationContentFunctionData..::..FunctionStatus
Return function status
Public enumerationExtensionGeneric..::..ContainerCustomPageType
Defines page type signature to distinguish containers
Public enumerationExtensionGeneric..::..ContentFunctionInstanceCategory
Defines types of ContentFunction instances.
Public enumerationExtensionGeneric..::..ErrorHandlingLevel
Defines levels of error handling.
Public enumerationExtensionGeneric..::..GlobalFunctionPosition
Defines positions to insert a global function into an available content area.
Public enumerationExtensionGeneric..::..MALArea
Enum for defining area for membership access level.
Public enumerationExtensionGeneric..::..MessageType
Using for sending information from system to end-user.
Public enumerationExtensionGeneric..::..ViewMode
Defines view mode's values used to render Composer page in different cases (usually used in URL QueryString DE_VM=xx)