| Standard sections configuration |
This section describe the needed configuration in the standard .NET configuration sections for the engine to work.
For the core engine to work, you need to register the EngineModule and associate the EngineHandler with the paths you want to intercept. In the following example, we just intercept all ashx files with the handler, but you can target specific file names if needed.
You must also declare the activsoft.engine configuration section.
<configSections> <section name="activsoft.engine" type="Activsoft.Engine.EngineSection,Activsoft.Engine"/> </configSections> <activsoft.engine> <handlers> </handlers> </activsoft.engine> <system.webServer> <modules> <add name="activsoft.engine" type="Activsoft.Engine.Web.EngineModule,Activsoft.Engine.Web" /> </modules> <handlers> <add name="activsoft.engine" path="*.ashx" verb="*" type="Activsoft.Engine.Web.EngineHandler,Activsoft.Engine.Web" resourceType="Unspecified" preCondition="integratedMode" /> </handlers> </system.webServer>
<configSections> <section name="activsoft.engine" type="Activsoft.Engine.EngineSection,Activsoft.Engine"/> </configSections> <activsoft.engine> <handlers> </handlers> </activsoft.engine> <system.web> <httpModules> <add name="activsoft.engine" type="Activsoft.Engine.Web.EngineModule,Activsoft.Engine.Web"/> </httpModules> <httpHandlers> <add path="*.ashx" verb="*" type="Activsoft.Engine.Web.EngineHandler,Activsoft.Engine.Web"/> </httpHandlers> </system.web>
For the dashboard to work, you need the following elements:
declare a section to define a DashboardRendererFactory and use it in a handler.
declare a section to define a XslFilterSection, add the XslFilter to its filter list, and use it in the handler defined above.
declare at least two handlers, CssHandler and JavascriptHandler (other handlers are needed for certain controls, see the comments below).
some controls need additional javascript, excluded from the standard libraries, and you can add javascript libraries yourself in the libraries.ashx delivered javascript file.
in this case, you must declare the jslibraries section, with only one key named libraries, containing resources included into assemblies separated by spaces (the format is assemblyname.resourcename, see below)
<configSections> <section name="dashboardRenderer" type="Activsoft.Dashboard.DashboardRendererFactory,Activsoft.Dashboard"/> <section name="xslfilter" type="Activsoft.Engine.XslFilter.XslFilterSection,Activsoft.Engine"/> <!-- if you need to add javascript libraries in the libraries.ashx --> <section name="jslibraries" type="System.Configuration.NameValueFileSectionHandler, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> </configSections> <activsoft.engine> <handlers> <handler name="xslt" path="xslt.ashx" defaultTemplate="30001"> <actions> ... </actions> <extractors> ... </extractors> <renderers> <renderer section="dashboardRenderer"/> </renderers> <enginemodule> ... </enginemodule> <transformgenerator section="xslfilter"/> </handler> </handlers> </activsoft.engine> <xslfilter> <filters> <add type="Activsoft.Dashboard.XslFilter,Activsoft.Dashboard"> <javascript outputDir="..\xsljs"/> </add> </filters> </xslfilter> <!-- ckeditor4 defines that the HtmlEditor control uses CKEditor v4 instead of CKEditor v3 Activsoft.Dashboard.jquery-min.js Activsoft.Dashboard.jquery-ui.min.js Activsoft.Dashboard.activsoft.ajax.arbo-min.js Activsoft.Dashboard.activsoft.ajax.cache-min.js Activsoft.Dashboard.activsoft.dragdrop-min.js are needed for the acs:Tree control Activsoft.Dashboard.activsoft.maps-min.js is need for the acs:Map control --> <jslibraries> <add key="libraries" value="ckeditor4 Activsoft.Dashboard.jquery-min.js Activsoft.Dashboard.jquery-ui.min.js Activsoft.Dashboard.activsoft.ajax.arbo-min.js Activsoft.Dashboard.activsoft.ajax.cache-min.js Activsoft.Dashboard.activsoft.dragdrop-min.js Activsoft.Dashboard.activsoft.maps-min.js" /> </jslibraries> <system.webServer> <modules> <add name="activsoft.engine" type="Activsoft.Engine.Web.EngineModule,Activsoft.Engine.Web" /> </modules> <handlers> <add name="activsoft.engine" path="*.ashx" verb="*" type="Activsoft.Engine.Web.EngineHandler,Activsoft.Engine.Web" resourceType="Unspecified" preCondition="integratedMode" /> <add path="dashboardcss.ashx" verb="*" type="Activsoft.Dashboard.CssHandler,Activsoft.Dashboard" /> <add path="libraries.ashx" verb="*" type="Activsoft.Dashboard.JavascriptHandler,Activsoft.Dashboard" /> <!-- needed if you use the acs:ListChooser control --> <add path="sort.ashx" verb="*" type="Activsoft.Dashboard.SortHandler,Activsoft.Dashboard" /> <!-- needed if you use the acs:HtmlEditor or acs:AppletEditor controls --> <add path="blobapplet.ashx" verb="*" type="Activsoft.Dashboard.BlobAppletHandler,Activsoft.Dashboard" /> <!-- needed if you use the acs:AppletEditor control --> <add path="applet.ashx" verb="*" type="Activsoft.Dashboard.AppletHandler,Activsoft.Dashboard" /> <!-- needed if you use the acs:HtmlEditor control --> <add path="media_analyzer.ashx" verb="*" type="Activsoft.Dashboard.MediaAnalyzerHandler,Activsoft.Dashboard" /> </handlers> </system.webServer>
<configSections> <section name="dashboardRenderer" type="Activsoft.Dashboard.DashboardRendererFactory,Activsoft.Dashboard"/> <section name="xslfilter" type="Activsoft.Engine.XslFilter.XslFilterSection,Activsoft.Engine"/> <!-- if you need to add javascript libraries in the libraries.ashx --> <section name="jslibraries" type="System.Configuration.NameValueFileSectionHandler, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> </configSections> <activsoft.engine> <handlers> <handler name="xslt" path="xslt.ashx" defaultTemplate="30001"> <actions> ... </actions> <extractors> ... </extractors> <renderers> <renderer section="dashboardRenderer"/> </renderers> <enginemodule> ... </enginemodule> <transformgenerator section="xslfilter"/> </handler> </handlers> </activsoft.engine> <xslfilter> <filters> <add type="Activsoft.Dashboard.XslFilter,Activsoft.Dashboard"> <javascript outputDir="..\xsljs"/> </add> </filters> </xslfilter> <!-- ckeditor4 defines that the HtmlEditor control uses CKEditor v4 instead of CKEditor v3 Activsoft.Dashboard.jquery-min.js Activsoft.Dashboard.jquery-ui.min.js Activsoft.Dashboard.activsoft.ajax.arbo-min.js Activsoft.Dashboard.activsoft.ajax.cache-min.js Activsoft.Dashboard.activsoft.dragdrop-min.js are needed for the acs:Tree control Activsoft.Dashboard.activsoft.maps-min.js is need for the acs:Map control --> <jslibraries> <add key="libraries" value="ckeditor4 Activsoft.Dashboard.jquery-min.js Activsoft.Dashboard.jquery-ui.min.js Activsoft.Dashboard.activsoft.ajax.arbo-min.js Activsoft.Dashboard.activsoft.ajax.cache-min.js Activsoft.Dashboard.activsoft.dragdrop-min.js Activsoft.Dashboard.activsoft.maps-min.js" /> </jslibraries> <system.web> <httpModules> <add name="activsoft.engine" type="Activsoft.Engine.Web.EngineModule,Activsoft.Engine.Web"/> </httpModules> <httpHandlers> <add path="*.ashx" verb="*" type="Activsoft.Engine.Web.EngineHandler,Activsoft.Engine.Web"/> <add path="dashboardcss.ashx" verb="*" type="Activsoft.Dashboard.CssHandler,Activsoft.Dashboard" /> <add path="libraries.ashx" verb="*" type="Activsoft.Dashboard.JavascriptHandler,Activsoft.Dashboard" /> <!-- needed if you use the acs:ListChooser control --> <add path="sort.ashx" verb="*" type="Activsoft.Dashboard.SortHandler,Activsoft.Dashboard" /> <!-- needed if you use the acs:HtmlEditor or acs:AppletEditor controls --> <add path="blobapplet.ashx" verb="*" type="Activsoft.Dashboard.BlobAppletHandler,Activsoft.Dashboard" /> <!-- needed if you use the acs:AppletEditor control --> <add path="applet.ashx" verb="*" type="Activsoft.Dashboard.AppletHandler,Activsoft.Dashboard" /> <!-- needed if you use the acs:HtmlEditor control --> <add path="media_analyzer.ashx" verb="*" type="Activsoft.Dashboard.MediaAnalyzerHandler,Activsoft.Dashboard" /> </httpHandlers> </system.web>
For Insite to work, you need the following elements:
a working dashboard installation, as defined above
declare a InSiteActionFactory section
declare a InSiteRenderer section
add the Activsoft.InSite.insite-min.js,Activsoft.InSite javascript library to the jslibraries section
define a handler to insite.ashx as below
add the XslFilter filter to the xslfilter section before the dashboard filter
if you need to define one or more IInSiteTrigger, declare a insite-triggers section
<configSections> <section name="dashboardRenderer" type="Activsoft.Dashboard.DashboardRendererFactory,Activsoft.Dashboard"/> <section name="xslfilter" type="Activsoft.Engine.XslFilter.XslFilterSection,Activsoft.Engine"/> <!-- if you need to add javascript libraries in the libraries.ashx --> <section name="jslibraries" type="System.Configuration.NameValueFileSectionHandler, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <section name="insiteAction" type="Activsoft.InSite.InSiteActionFactory, Activsoft.InSite"/> <section name="insiteRenderer" type="Activsoft.InSite.InSiteRenderer, Activsoft.InSite"/> <section name="insite-triggers" type="System.Configuration.NameValueFileSectionHandler"/> </configSections> <insiteAction/> <insiteRenderer/> <insite-triggers> <add key="document" value="MyNamespace.MyTrigger,MyNamespace"/> <add key="document-tree" value="MyNamespace.MyTrigger,MyNamespace"/> </insite-triggers> <activsoft.engine> <handlers> <handler name="insite" path="insite.ashx" defaultTemplate="1"> <actions> <action section="insiteAction"/> </actions> <extractors> </extractors> <renderers> <renderer section="insiteRenderer"/> </renderers> <enginemodule> ... </enginemodule> <transformgenerator section="xslfilter"/> </handler> </handlers> </activsoft.engine> <xslfilter> <filters> <add type="Activsoft.InSite.XslFilter,Activsoft.InSite"> <javascript outputDir="..\xsljs"/> </add> <add type="Activsoft.Dashboard.XslFilter,Activsoft.Dashboard"> <javascript outputDir="..\xsljs"/> </add> </filters> </xslfilter> <!-- ckeditor4 defines that the HtmlEditor control uses CKEditor v4 instead of CKEditor v3 Activsoft.Dashboard.jquery-min.js Activsoft.Dashboard.jquery-ui.min.js Activsoft.Dashboard.activsoft.ajax.arbo-min.js Activsoft.Dashboard.activsoft.ajax.cache-min.js Activsoft.Dashboard.activsoft.dragdrop-min.js are needed for the acs:Tree control Activsoft.Dashboard.activsoft.maps-min.js is need for the acs:Map control --> <jslibraries> <add key="libraries" value="Activsoft.InSite.insite-min.js,Activsoft.InSite ckeditor4 Activsoft.Dashboard.jquery-min.js Activsoft.Dashboard.jquery-ui.min.js Activsoft.Dashboard.activsoft.ajax.arbo-min.js Activsoft.Dashboard.activsoft.ajax.cache-min.js Activsoft.Dashboard.activsoft.dragdrop-min.js Activsoft.Dashboard.activsoft.maps-min.js" /> </jslibraries> <system.webServer> <modules> <add name="activsoft.engine" type="Activsoft.Engine.Web.EngineModule,Activsoft.Engine.Web" /> </modules> <handlers> <add name="activsoft.engine" path="*.ashx" verb="*" type="Activsoft.Engine.Web.EngineHandler,Activsoft.Engine.Web" resourceType="Unspecified" preCondition="integratedMode" /> <add path="dashboardcss.ashx" verb="*" type="Activsoft.Dashboard.CssHandler,Activsoft.Dashboard" /> <add path="libraries.ashx" verb="*" type="Activsoft.Dashboard.JavascriptHandler,Activsoft.Dashboard" /> <!-- needed if you use the acs:ListChooser control --> <add path="sort.ashx" verb="*" type="Activsoft.Dashboard.SortHandler,Activsoft.Dashboard" /> <!-- needed if you use the acs:HtmlEditor or acs:AppletEditor controls --> <add path="blobapplet.ashx" verb="*" type="Activsoft.Dashboard.BlobAppletHandler,Activsoft.Dashboard" /> <!-- needed if you use the acs:AppletEditor control --> <add path="applet.ashx" verb="*" type="Activsoft.Dashboard.AppletHandler,Activsoft.Dashboard" /> <!-- needed if you use the acs:HtmlEditor control --> <add path="media_analyzer.ashx" verb="*" type="Activsoft.Dashboard.MediaAnalyzerHandler,Activsoft.Dashboard" /> </handlers> </system.webServer>
<configSections> <section name="dashboardRenderer" type="Activsoft.Dashboard.DashboardRendererFactory,Activsoft.Dashboard"/> <section name="xslfilter" type="Activsoft.Engine.XslFilter.XslFilterSection,Activsoft.Engine"/> <!-- if you need to add javascript libraries in the libraries.ashx --> <section name="jslibraries" type="System.Configuration.NameValueFileSectionHandler, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <section name="insiteAction" type="Activsoft.InSite.InSiteActionFactory, Activsoft.InSite"/> <section name="insiteRenderer" type="Activsoft.InSite.InSiteRenderer, Activsoft.InSite"/> <section name="insite-triggers" type="System.Configuration.NameValueFileSectionHandler"/> </configSections> <insiteAction/> <insiteRenderer/> <insite-triggers> <add key="document" value="MyNamespace.MyTrigger,MyNamespace"/> <add key="document-tree" value="MyNamespace.MyTrigger,MyNamespace"/> </insite-triggers> <activsoft.engine> <handlers> <handler name="insite" path="insite.ashx" defaultTemplate="1"> <actions> <action section="insiteAction"/> </actions> <extractors> </extractors> <renderers> <renderer section="insiteRenderer"/> </renderers> <enginemodule> ... </enginemodule> <transformgenerator section="xslfilter"/> </handler> </handlers> </activsoft.engine> <xslfilter> <filters> <add type="Activsoft.InSite.XslFilter,Activsoft.InSite"> <javascript outputDir="..\xsljs"/> </add> <add type="Activsoft.Dashboard.XslFilter,Activsoft.Dashboard"> <javascript outputDir="..\xsljs"/> </add> </filters> </xslfilter> <!-- ckeditor4 defines that the HtmlEditor control uses CKEditor v4 instead of CKEditor v3 Activsoft.Dashboard.jquery-min.js Activsoft.Dashboard.jquery-ui.min.js Activsoft.Dashboard.activsoft.ajax.arbo-min.js Activsoft.Dashboard.activsoft.ajax.cache-min.js Activsoft.Dashboard.activsoft.dragdrop-min.js are needed for the acs:Tree control Activsoft.Dashboard.activsoft.maps-min.js is need for the acs:Map control --> <jslibraries> <add key="libraries" value="Activsoft.InSite.insite-min.js,Activsoft.InSite ckeditor4 Activsoft.Dashboard.jquery-min.js Activsoft.Dashboard.jquery-ui.min.js Activsoft.Dashboard.activsoft.ajax.arbo-min.js Activsoft.Dashboard.activsoft.ajax.cache-min.js Activsoft.Dashboard.activsoft.dragdrop-min.js Activsoft.Dashboard.activsoft.maps-min.js" /> </jslibraries> <system.web> <httpModules> <add name="activsoft.engine" type="Activsoft.Engine.Web.EngineModule,Activsoft.Engine.Web"/> </httpModules> <httpHandlers> <add path="*.ashx" verb="*" type="Activsoft.Engine.Web.EngineHandler,Activsoft.Engine.Web"/> <add path="dashboardcss.ashx" verb="*" type="Activsoft.Dashboard.CssHandler,Activsoft.Dashboard" /> <add path="libraries.ashx" verb="*" type="Activsoft.Dashboard.JavascriptHandler,Activsoft.Dashboard" /> <!-- needed if you use the acs:ListChooser control --> <add path="sort.ashx" verb="*" type="Activsoft.Dashboard.SortHandler,Activsoft.Dashboard" /> <!-- needed if you use the acs:HtmlEditor or acs:AppletEditor controls --> <add path="blobapplet.ashx" verb="*" type="Activsoft.Dashboard.BlobAppletHandler,Activsoft.Dashboard" /> <!-- needed if you use the acs:AppletEditor control --> <add path="applet.ashx" verb="*" type="Activsoft.Dashboard.AppletHandler,Activsoft.Dashboard" /> <!-- needed if you use the acs:HtmlEditor control --> <add path="media_analyzer.ashx" verb="*" type="Activsoft.Dashboard.MediaAnalyzerHandler,Activsoft.Dashboard" /> </httpHandlers> </system.web>