Skip to content

Create settings necessary for an MVC Pipeline#7290

Open
donker wants to merge 22 commits into
dnnsoftware:feature/mvc-pipelinefrom
donker:feature/mvc-pipeline-settings
Open

Create settings necessary for an MVC Pipeline#7290
donker wants to merge 22 commits into
dnnsoftware:feature/mvc-pipelinefrom
donker:feature/mvc-pipeline-settings

Conversation

@donker

@donker donker commented May 22, 2026

Copy link
Copy Markdown
Contributor

This PR creates the settings necessary for the MVC Pipeline. These are the following:

  1. A site setting which determines the entire site's pipeline behavior: WebForms (default), MVC or Auto.The value becomes part of the PortalSettings. In the UI this can be found on the PB under Site Settings > Site Behavior > More at the bottom of the panel.
  2. A page setting which tells DNN how to render: Inherited (default), WebForms, MVC. The setting is stored in the TabSettings. It is visible in the UI on the PB under Pages > Advanced > More towards the bottom.
  3. A new field "MvcControlClass" on the ModuleControls table which informs DNN whether the module control supports the new pipeline. The value will be a class reference or empty in case there is no explicit support for MVC. There is support for this field in the PB extensions module (on the module control editor) and in the module's manifest (.dnn file)

This is the first PR in a series of PRs that aim to build out the MVC Pipeline functionality in DNN. It targets a feature branch as all PRs will need to be in before this can be merged into the main branch of the project. The reason for a more granular approach to the PRs is to make them easier to verify for the reviewers.

Comment thread DNN Platform/DotNetNuke.Abstractions/Portals/IPortalSettings.cs Outdated
Comment thread DNN Platform/DotNetNuke.Abstractions/Portals/PagePipelineConstants.cs Outdated
Comment thread DNN Platform/Library/Data/DataProvider.cs Outdated
Comment thread DNN Platform/Library/Data/DataProvider.cs
Comment thread DNN Platform/Library/Entities/Portals/IPortalSettingsController.cs Outdated
Comment thread DNN Platform/Library/Services/Upgrade/Upgrade.cs Outdated
Comment thread DNN Platform/Library/Services/Upgrade/Upgrade.cs
donker and others added 10 commits May 27, 2026 09:03
Co-authored-by: Brian Dukes <bdukes@engagesoftware.com>
…/Dnn.Extensions/App_LocalResources/Extensions.resx

Co-authored-by: Brian Dukes <bdukes@engagesoftware.com>
…/Dnn.Pages/App_LocalResources/Pages.resx

Co-authored-by: Brian Dukes <bdukes@engagesoftware.com>
…/Dnn.SiteSettings/App_LocalResources/SiteSettings.resx

Co-authored-by: Brian Dukes <bdukes@engagesoftware.com>
Co-authored-by: Brian Dukes <bdukes@engagesoftware.com>
Co-authored-by: Brian Dukes <bdukes@engagesoftware.com>
@bdukes bdukes added this to the 10.4.0 milestone Jun 2, 2026
@donker donker modified the milestones: 10.4.0, Future: Major Jun 4, 2026
Comment thread DNN Platform/Library/Common/Utilities/UrlUtils.cs Outdated
Comment thread DNN Platform/Library/Common/Utilities/UrlUtils.cs Outdated
Comment thread DNN Platform/Library/Common/Utilities/UrlUtils.cs Outdated
Comment thread DNN Platform/Library/Common/Utilities/UrlUtils.cs Outdated
Comment thread DNN Platform/Library/Common/Utilities/UrlUtils.cs Outdated
Comment thread DNN Platform/Library/Common/Utilities/UrlUtils.cs Outdated
Comment thread DNN Platform/Library/Common/Utilities/UrlUtils.cs Outdated
Comment thread DNN Platform/Library/Common/Utilities/UrlUtils.cs Outdated
/// <param name="userID">The user id.</param>
/// <param name="logType">The log type.</param>
void AddLog(string name, string value, IPortalSettings portalSettings, int userID, EventLogType logType);
void AddLog(string name, string value, IPortalSettingsV2 portalSettings, int userID, EventLogType logType);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a breaking change. I don't think we need to change any of the usages of the interface, unless they're using the new PagePipeline property

donker and others added 6 commits June 9, 2026 09:09
Co-authored-by: Brian Dukes <bdukes@engagesoftware.com>
Co-authored-by: Brian Dukes <bdukes@engagesoftware.com>
Co-authored-by: Brian Dukes <bdukes@engagesoftware.com>
Co-authored-by: Brian Dukes <bdukes@engagesoftware.com>
Co-authored-by: Brian Dukes <bdukes@engagesoftware.com>
Co-authored-by: Brian Dukes <bdukes@engagesoftware.com>
donker and others added 2 commits June 9, 2026 09:10
Co-authored-by: Brian Dukes <bdukes@engagesoftware.com>
Co-authored-by: Brian Dukes <bdukes@engagesoftware.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

4 participants