The OnTopic-Editor-WebForms is the legacy implementation of the OnTopic Editor for Microsoft's ASP.NET Web Forms framework.
Important: This project is considered obsolete, and no longer supported by Ignia. It is provided exclusively for reference. Existing implementations and new customers should upgrade to OnTopic-Editor-AspNetCore, which is built on Microsoft's ASP.NET Core 3.1.
Unlike more recent versions of the editor, the Web Forms version does not incorporate package management for downloading client-side dependencies, nor is it itself distributed as a package. To install the application, the following must be done:
Client-side scripts must be downloaded and placed in the appropriate /OnTopic.Editor.Web/Common/Scripts/Vendor
folders:
/Bootstrap
: Twitter Bootstrap 3.x/ExtJs
: Sencha ExtJS 3.x/jQueryUI
: jQuery UI 1+/PaperCut
: PaperCut's Are You Sure? 1+/TokenInput
: James Smith's TokenInput 1.7/TrentRichardson
: Trent Richardson's jQuery Timepicker Addon 1.6.x
There are a few dependencies that were previously distributed as a loose collection of proprietary scripts that need to be placed in the /OnTopic.Editor.Web.Host/Common/Global
folder. These can be provided by Ignia upon request.
/Common/Global/Client.Scripts/FormatPhone.js
/Common/Global/Client.Scripts/ClientValidation.js
/Common/Global/Controls/ClientValidation.ascx
/Common/Global/CS.Functions/AddAttributeToFields.aspx
Once all of the dependencies are procured, the contents of the OnTopic.Editor.Web
folder should be copied to the appropriate location in your host site. By convention, Ignia has traditionally placed this in the /!Admin/Topics
directory, but the location is not fixed.
For a configuration example, see the OnTopic.Editor.Web.Host
project. It includes the absolute bare minimum configuration required to host the editor. This includes:
web.config
connectionString
namedOnTopic
pageBaseType
set toTopicPage
- Reference to the
OnTopic
namespaces - Configuration of the C# compiler
- Inclusion of the .NET Standard 2.0 assembly
packages.config
- Declaring OnTopic dependencies, such as
OnTopic
,OnTopic.Web
,OnTopic.Data.Sql
, &c.
- Declaring OnTopic dependencies, such as
global.asax.cs
- Override
TopicFactory.TypeLookupService
withWebFormsTopicLookupService
- Configure the
TopicRepository.DataProvider
- Ignore routes going to
{resource}.axd/{*pathInfo}
- Override
If you are trying to get the OnTopic.Editor.Web.Host
site working in Visual Studio, you'll want to setup a virtual directory from OnTopic.Editor.Web.Host
to Ontopic.Editor.Web
. This can be done in your local copy of .vs/config/applicationHost.config
by adding a <virtualDirectory />
element to the corresponding <site />
. For example:
<configuration>
<system.applicationHost>
<sites>
<site name="OnTopic.Editor.Web.Host" id="3">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="C:\Code\OnTopic-Editor-WebForms\OnTopic.Editor.Web.Host" />
<virtualDirectory path="/!Admin/Topics" physicalPath="C:\Code\OnTopic-Editor-WebForms\OnTopic.Editor.Web" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:63857:localhost" />
</bindings>
</site>
</sites>
</system.applicationHost>
</configuration>
Note: The path does not need to be setup to
/!Admin/Topics
, though that's the convention Ignia has traditionally used for this version of the editor.