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

Classes

  ClassDescription
AccessFunctionType
Defines a class to represent access rights to extension content function type ContentFunctionType.
AccessFunctionTypeCollection
A collection of access rigths for a function
AccessGroup
Access group definition
AccessPageType
Access definition for a page type
AccessPageTypeCollection
Class for handle the access rights for Composer page types
BaseContentFunction
Base class for defining a content function.
ContentAreaData
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.

Examples

The following code example shows how to get ContentAreaData instances from an ExtensionPageData
CopyC#
// 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();
ContentFunctionData
Represents data structure of a content function on an extension page including extension function properties

Examples

The following code example creates a ContentFunctionData object using the speficied extensionPageLink, and imageFunctionType
CopyC#
ContentFunctionData imageFunction = ContentFunctionData.Create(extensionPageLink, imageFunctionType);
ContentFunctionDataEventArgs
The event arguments class for the ContentFunctionData events.
ContentFunctionEventArgs
Defines a class to represent the ContentFunctionData events.
ContentFunctionReference
Defines a class that represents the link to a content function.
ContentFunctionType
Defines a class that represents the type of extension content function.
DefaultAccessFunctionType
The class contains methods for handle the default access for a function type.
DefaultAccessFunctionTypeStorage
The default provider for saving Composer default access for page types and function types.
DefaultAccessPageType
Defines a class to hold default access to extension page types.
DefaultExtensionAdminGroups
Class contains methods for handle Composer administrators.
DynamicContentPropertyStruct
Define data for a dynamic content property
EmptyContentFunction
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
ExtensionBaseTemplate
Defines the extension template base class for creating a standard extension page.
ExtensionCategory
Extension category
ExtensionCategoryCollection
Collection of categories for a function or page type
ExtensionException
Base class for Extension exception
ExtensionGeneric
Defines a class for the declaration of common use constants and types used by the extension core classes.
ExtensionPageData
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.

Examples

The following example shows how to create an Extension page and add new content functions to its content areas.
CopyC#
// 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);
ExtensionPageDataEventArgs
Represents event arguments used for ExtensionPageData when any of the following events occurs: ContentFunctionCreated, ContentFunctionMoved, ContentFunctionDeleted.
ExtensionPageEventArgs
Represents the event arguments for the extension events.
ExtensionPageHandler
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.

Examples

The following example shows how to enable Extension 3 functionality for a standard EPi TemplatePage
CopyC#
 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)
    {
        base.OnInit(e);
        // initialize ExtensionPageHandler instance
        // must always be placed at this position
        extensionPageHandler.Initialize(this);
    }
}
ExtensionTemplate
Extension Template class
FactoryPageBase
Defines the base class for extension factory pages used when manipulating an Extension page in GUI edit-mode.
FunctionDefinition
Function identity definition
FunctionInstanceCategoryCollection
The collection handle the type of function in a page.
FunctionPickerAnchor
Dataclass used for serializing/deserializing data for the functionpicker
FunctionPickerData
Dataclass used for serializing/deserializing data for the functionpicker
FunctionPickerLink
Dataclass used for serializing/deserializing data for the functionpicker
RuleContentArea
The rule is applied for content area and defined which content function types can exist in the area.
RuleContentAreaCollection
Collection of the Extension rules
RuleType
Define the rule applied for a page type
Serializer
Control class for serialize/deserialize Extension object.
SpecializedExtensionCommonData
Defines a class that represents specialized data for common use of extension objects.
SpecializedExtensionPageData
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.

Interfaces

  InterfaceDescription
IAccessFunctionTypeStorage
Defines an interface for storing and retrieving access rights to extension function types.
IAccessPageTypeStorage
Defines an interface for storing and retrieving access rights to extension page types.
ICategoryStorage
Provides the base interface for storing and loading ExtensionCategory.
IDefaultAccessFunctionTypeStorage
Defines an interface for storing and retrieving default access rights to extension function types.
IDefaultAccessPageTypeStorage
Defines an interface for storing and retrieving default access rights to extension page types.
IExtensionSource
Defines the interface to be implemented by Extension Pages and Content Functions supporting manipulation over Content ContentAreas.
IExtensionStorage
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.
IFunctionSource
Defines the interface to get access to the ContentFunctionData instance from an Extension page. The interface is implemented by the class BaseContentFunction and ContentFunctionData
IObjectStore<(Of <(T>)>)
The interface for serializable class
IRuleContentAreaStorage
Defines an interface for storing and retrieving access rules between extension content areas and content function types on an extension page.

Enumerations

  EnumerationDescription
ContentFunctionData..::.FunctionStatus
Return function status
ExtensionGeneric..::.ContainerCustomPageType
Defines page type signature to distinguish containers
ExtensionGeneric..::.ContentFunctionInstanceCategory
Defines types of ContentFunction instances.
ExtensionGeneric..::.ErrorHandlingLevel
Defines levels of error handling.
ExtensionGeneric..::.GlobalFunctionPosition
Defines positions to insert a global function into an available content area.
ExtensionGeneric..::.MALArea
Enum for defining area for membership access level.
ExtensionGeneric..::.MessageType
Using for sending information from system to end-user.
ExtensionGeneric..::.ViewMode
Defines view mode's values used to render extension page in different cases