Last updated: Jul 09 2014


When you create a component definition it is possible to automatically plug in this to a view. This is done by defining plug-in paths to one or several containers you want to plug in to. A plug-in path is a unique string that describes the plug-in area. EPiServer provides helper classes with string constants in order to plug-in to an area without having to type the plug-in area as a string. For instance you could add the following to your component:

private readonly string[] _plugInPaths = new string[] { EPiServer.Web.PlugInAreas.DefaultAssetsGroup };

public override string[] PlugInPaths
    get { return _plugInPaths; }

Plugging in component hierarchies

You can plug in entire component hierarchies by adding children to the top level component that you create in the CreateComponent method. The following example shows how to plug in a new tab to the dashboard with two components:

public override IComponent CreateComponent()
    var root = new ComponentContainer() { PlugInPath = "/samples/dashboard/mycustomtab" };
    root.Settings["numberOfColumns"] = 2;
    root.Settings["title"] = "My custom tab";

    var fileManager = new FileManagementComponent().CreateComponent();
    fileManager.Settings["column"] = 0;

    var pageTree = new PageTreeComponent().CreateComponent();
    pageTree.Settings["column"] = 1;

    return root;
Note In this example it is possible for other plug-ins to plug into the new tab due to the definition of PlugInPath = "/samples/dashboard/mycustomtab".

Note When doing this you should use a special component definition class that creates a root component that does not have a reference to the component definition of the hierarchy. This is because the CreateComponent method is called both when creating new views but also when loading a personalized hierarchy.