1: using System;
2: using System.Configuration;
3: using EPiServer.PlugIn;
4: using EPiServer.Configuration;
5:
6: namespace EPiServer.Research.DynamicContent
7: { 8: public class DCPlugin : PlugInAttribute
9: { 10: public static void Start()
11: { 12: //Find Dynamic Content plugins
13: PlugInDescriptor[] plugs=PlugInLocator.Search(new DCPlugin());
14: foreach (PlugInDescriptor pd in plugs)
15: { 16: string name=pd.GetAttribute(typeof(DCPlugin)).DisplayName;
17:
18: //Add to DynamicContent Factory maps
19: EPiServer.DynamicContent.DynamicContentFactory.Instance.NameToTypeMap.Add(name, pd.PlugInType);
20: EPiServer.DynamicContent.DynamicContentFactory.Instance.TypeToNameMap.Add(pd.PlugInType, name);
21:
22: //Add to config
23: ProviderSettings ps=new ProviderSettings(name,pd.PlugInType.AssemblyQualifiedName);
24: ps.Parameters.Add("description", pd.GetAttribute(typeof(DCPlugin)).Description); 25: EPiServerSection.Instance.DynamicContentSettings.Controls.Add(ps);
26: }
27: }
28: }
29: }
30: