Code Monkey home page Code Monkey logo

ontopic-editor-webforms's Introduction

OnTopic Editor for Web Forms

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.

Installation

Dependencies

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:

Scripts

Client-side scripts must be downloaded and placed in the appropriate /OnTopic.Editor.Web/Common/Scripts/Vendor folders:

Libraries

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

Host Site

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.

Configuration

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 named OnTopic
    • pageBaseType set to TopicPage
    • 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.
  • global.asax.cs
    • Override TopicFactory.TypeLookupService with WebFormsTopicLookupService
    • Configure the TopicRepository.DataProvider
    • Ignore routes going to {resource}.axd/{*pathInfo}

Visual Studio

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.

ontopic-editor-webforms's People

Contributors

jeremycaney avatar ktrunkey avatar

Watchers

 avatar  avatar  avatar

ontopic-editor-webforms's Issues

Reintroduce `Views` support

Previously, the Topic Editor had support for views. This was (apparently) removed due to lack of full support. This should be reintroduced in the ASP.NET Core version.

  • Add a TopicList of LookupListItems called Views to ContentTypeDescriptor
  • Add a TopicLookup bound to Views to ContentTypes (so it'll be available on all topics)
  • Add a special {ContentType} token to TopicLookup to enable the above reference

This way, each content type can have a list of views associated with it, and the author of each topic implementing that content type can select one of those views from a dropdown list.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.