Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
111 commits
Select commit Hold shift + click to select a range
4a1ca0f
Introduction of settings necessary for an MVC Pipeline
donker May 22, 2026
e87fbdd
Update DNN Platform/Library/Services/Upgrade/Upgrade.cs
donker May 27, 2026
a32d670
Update Dnn.AdminExperience/Dnn.PersonaBar.Extensions/admin/personaBar…
donker May 27, 2026
9feeef5
Update Dnn.AdminExperience/Dnn.PersonaBar.Extensions/admin/personaBar…
donker May 27, 2026
c206616
Update Dnn.AdminExperience/Dnn.PersonaBar.Extensions/admin/personaBar…
donker May 27, 2026
846589c
Update DNN Platform/Library/Data/DataProvider.cs
donker May 27, 2026
4202307
Update DNN Platform/Library/Data/DataProvider.cs
donker May 27, 2026
11bc0fb
Add overload
donker May 27, 2026
044a410
Change pipeline type to an enum
donker May 27, 2026
325616e
Reshuffle code
donker May 27, 2026
9cbb27c
Make the page pipeline setting a column on the tabs table
donker May 31, 2026
06fa7c0
Merge branch 'develop' into feature/mvc-pipeline-settings
donker Jun 4, 2026
9004c9c
Increase version of IPortalSettings interface
donker Jun 4, 2026
ddea5b1
Move method from interface to extension method
donker Jun 4, 2026
e133c2e
Bump react-router in the npm_and_yarn group across 1 directory
dependabot[bot] Jun 3, 2026
c6176cd
Misc clean up
bdukes Jun 8, 2026
7223747
Add folder icon to Site Assets root node in Resource Manager.
r90727 Jun 7, 2026
eb1276f
reusing css from child element on the root
r90727 Jun 7, 2026
3b29b60
Update DNN Platform/Library/Common/Utilities/UrlUtils.cs
donker Jun 9, 2026
cc87fbf
Update DNN Platform/Library/Common/Utilities/UrlUtils.cs
donker Jun 9, 2026
d40577c
Update DNN Platform/Library/Common/Utilities/UrlUtils.cs
donker Jun 9, 2026
6aa8bb5
Update DNN Platform/Library/Common/Utilities/UrlUtils.cs
donker Jun 9, 2026
ea55281
Update DNN Platform/Library/Common/Utilities/UrlUtils.cs
donker Jun 9, 2026
513207c
Update DNN Platform/Library/Common/Utilities/UrlUtils.cs
donker Jun 9, 2026
91e6ec7
Update DNN Platform/Library/Common/Utilities/UrlUtils.cs
donker Jun 9, 2026
3dd954b
Update DNN Platform/Library/Common/Utilities/UrlUtils.cs
donker Jun 9, 2026
eb1adee
Bump github/codeql-action from 4.36.0 to 4.36.1
dependabot[bot] Jun 9, 2026
d5c1ce4
Bump actions/checkout from 6.0.2 to 6.0.3
dependabot[bot] Jun 9, 2026
448e565
Bump github/codeql-action from 4.36.1 to 4.36.2
dependabot[bot] Jun 11, 2026
3f40269
Bump the nuget group with 1 update
dependabot[bot] Jun 12, 2026
289b609
Bump Yarn from 4.13.0 to 4.16.0
bdukes Jun 8, 2026
16b0336
Bump lodash from 4.17.23 to 4.18.1
bdukes Jun 8, 2026
9ad98d6
Bump brace-expansion
bdukes Jun 8, 2026
2936a4d
Bump yaml from 2.8.0 to 2.9.0
bdukes Jun 8, 2026
b3c5dfb
Bump ws from 8.20.1 to 8.21.0
bdukes Jun 8, 2026
78112af
Bump rsbuild
bdukes Jun 8, 2026
dc32948
Bump stencil
bdukes Jun 8, 2026
87194fc
Bump @eslint/compat from 2.0.3 to 2.1.0
bdukes Jun 8, 2026
ea18d08
Bump storybook from 10.3.3 to 10.4.2
bdukes Jun 8, 2026
d474264
Bump typescript-eslint from 8.57.2 to 8.60.1
bdukes Jun 8, 2026
9d5a637
Bump vite from 8.0.2 to 8.0.16
bdukes Jun 8, 2026
9a31537
Bump zip-lib from 1.3.1 to 1.3.4
bdukes Jun 8, 2026
d693b19
Bump @types packages
bdukes Jun 8, 2026
59d949c
Bump autoprefixer from 10.4.27 to 10.5.0
bdukes Jun 8, 2026
0cb37ad
Bump cssnano from 7.1.3 to 7.1.9
bdukes Jun 8, 2026
9961f2e
Bump cssnano from 7.1.9 to 8.0.1
bdukes Jun 8, 2026
f9dbc77
Bump dayjs from 1.11.20 to 1.11.21
bdukes Jun 8, 2026
cfa6e0e
Bump dompurify from 3.3.3 to 3.4.8
bdukes Jun 8, 2026
43623eb
Bump eslint-import-resolver-node from 0.3.9 to 0.3.10
bdukes Jun 8, 2026
ca50276
Bump eslint-import-resolver-node from 0.3.10 to 0.4.0
bdukes Jun 8, 2026
b384fef
Bump chokidar from 4.0.3 to 5.0.0
bdukes Jun 8, 2026
3ff9395
Bump eslint from 10.2.1 to 10.4.1
bdukes Jun 8, 2026
2248400
Bump @eslint/js from 9.39.4 to 10.0.1
bdukes Jun 8, 2026
56a2224
Bump eslint-plugin-jest from 29.15.0 to 29.15.2
bdukes Jun 8, 2026
a432f18
Bump eslint-plugin-storybook from 10.3.3 to 10.4.2
bdukes Jun 8, 2026
c7642b6
Bump globals from 17.4.0 to 17.6.0
bdukes Jun 8, 2026
710bdad
Bump html-react-parser from 5.2.17 to 6.1.3
bdukes Jun 8, 2026
c37daad
Bump jest from 30.3.0 to 30.4.2
bdukes Jun 8, 2026
ac60857
Bump kiti from 2.6.1 to 2.7.0
bdukes Jun 8, 2026
34adac4
Bump nanoid from 5.1.7 to 5.1.11
bdukes Jun 8, 2026
be25dca
Bump postcss from 8.5.8 to 8.5.15
bdukes Jun 8, 2026
413fe96
Bump react-router from 7.13.1 to 7.17.0
bdukes Jun 8, 2026
5172f73
Bump sass-embedded from 1.98.0 to 1.100.0
bdukes Jun 8, 2026
4ba3263
Bump tsx from 4.21.0 to 4.22.4
bdukes Jun 8, 2026
2d79273
Bump @dnncommunity/dnn-elements from 0.29.2 to 0.29.3
bdukes Jun 8, 2026
7e6f8f7
yarn dedupe
bdukes Jun 8, 2026
56a4b99
Bump yarn in sample project
bdukes Jun 8, 2026
c2dc5b9
Bump react-tooltip from 4.5.1 to 5.30.1
bdukes Jun 8, 2026
c47cf83
Bump react-tooltip from 5.30.1 to 6.0.7
bdukes Jun 8, 2026
60866c6
Bump esbuild in the npm_and_yarn group across 1 directory
dependabot[bot] Jun 12, 2026
f45903e
Force newer esbuild to be used by storybook
bdukes Jun 13, 2026
ef6da8b
Added resolutions comment
valadas Jun 14, 2026
d54a9ad
Update caniuse database
github-actions[bot] Jun 15, 2026
a3748a3
Do not persist credentials after CI checkout
bdukes Jun 16, 2026
1021c62
Do not inline input into script
bdukes Jun 16, 2026
b83d216
Add name to workflow
bdukes Jun 16, 2026
37e077d
Add comment to permission grants
bdukes Jun 16, 2026
ff7ba11
Bump socks and ip-address
bdukes Jun 17, 2026
837befc
Bump ws
bdukes Jun 17, 2026
6226389
bump storybook
bdukes Jun 17, 2026
2d74b21
bump typescript-eslint
bdukes Jun 17, 2026
38c820f
bump eslint
bdukes Jun 17, 2026
5cad3eb
bump cssnano
bdukes Jun 17, 2026
c1241ab
bump esbuild
bdukes Jun 17, 2026
f4a5fab
bump less
bdukes Jun 17, 2026
a2a2ed1
bump react-router
bdukes Jun 17, 2026
3704c75
bump react-tooltip
bdukes Jun 17, 2026
81c827e
bump zip-lib
bdukes Jun 17, 2026
3546605
bump dompurify
bdukes Jun 17, 2026
fcdb64e
Bump tmp in the npm_and_yarn group across 1 directory
dependabot[bot] Jun 15, 2026
9c01f62
Bump dotnet-sdk from 10.0.300 to 10.0.301
dependabot[bot] Jun 17, 2026
84afcb5
Bump the npm_and_yarn group across 1 directory with 2 updates
dependabot[bot] Jun 20, 2026
a23cc68
Bump the npm_and_yarn group across 1 directory with 3 updates
dependabot[bot] Jun 22, 2026
7299ba2
Bump DOMPurify
bdukes Jun 22, 2026
9cc1536
Simplify guard for PR step
bdukes Jun 23, 2026
0722b34
Provide default priority for CDF controls
bdukes Jun 23, 2026
49a1b2e
Fix DnnCssInclude and DnnJsInclude skin objects
bdukes Jun 23, 2026
2c6b272
remove manual version resolution for esbuild
bdukes Jun 17, 2026
1e8787c
yarn dedupe
bdukes Jun 17, 2026
bbc5a33
Bump EnricoMi/publish-unit-test-result-action from 2.23.0 to 2.24.0
dependabot[bot] Jun 22, 2026
05f74eb
Avoids TypeLoadException in PreparePackaging redirect generation
valadas Jun 23, 2026
163aad7
Bump actions/checkout from 6.0.3 to 7.0.0
dependabot[bot] Jun 24, 2026
f374941
Revert "Increase version of IPortalSettings interface"
donker Jun 25, 2026
f954049
New approach to the page pipeline setting
donker Jun 25, 2026
c3702a1
Cleaning up
donker Jun 25, 2026
de8daea
Cleaning up 2
donker Jun 25, 2026
6920a6f
Cleaning up 3
donker Jun 25, 2026
3d284ce
Deprecate and overload dataprovider method
donker Jun 28, 2026
90f194b
Fix to mvc site settings controller
donker Jun 28, 2026
901168f
With previous
donker Jun 28, 2026
f467730
Merge branch 'develop' into feature/mvc-pipeline-settings
donker Jun 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/browserslist-update-db.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
pull-requests: "write" # creates a pull request if there's an update
steps:
- name: "Checkout repository"
uses: "actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd" # v6.0.2
uses: "actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0" # v7.0.0
with:
fetch-depth: 0
persist-credentials: false
Expand Down
43 changes: 26 additions & 17 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,23 +59,29 @@ jobs:
name: "Build and Validate"
runs-on: "windows-2025-vs2026"
permissions:
checks: "write"
pull-requests: "write"
checks: "write" # needed by EnricoMi/publish-unit-test-result-action
pull-requests: "write" # needed by EnricoMi/publish-unit-test-result-action
defaults:
run:
shell: "pwsh"
steps:
- name: "Setup Environment Variables"
run: |
"CAKE_TARGET=${{ inputs.CAKE_TARGET || env.CAKE_TARGET }}" >> $env:GITHUB_ENV;
"CAKE_VERBOSITY=${{ inputs.CAKE_VERBOSITY || env.CAKE_VERBOSITY }}" >> $env:GITHUB_ENV;
"RELEASE_MODE=${{ inputs.RELEASE_MODE || env.RELEASE_MODE }}" >> $env:GITHUB_ENV;
"RUN_TESTS=${{ inputs.RUN_TESTS || env.RUN_TESTS }}" >> $env:GITHUB_ENV;
"CAKE_TARGET=$env:CAKE_TARGET" >> $env:GITHUB_ENV;
"CAKE_VERBOSITY=$env:CAKE_VERBOSITY" >> $env:GITHUB_ENV;
"RELEASE_MODE=$env:RELEASE_MODE" >> $env:GITHUB_ENV;
"RUN_TESTS=$env:RUN_TESTS" >> $env:GITHUB_ENV;
env:
CAKE_TARGET: ${{ inputs.CAKE_TARGET || env.CAKE_TARGET }}
CAKE_VERBOSITY: ${{ inputs.CAKE_VERBOSITY || env.CAKE_VERBOSITY }}
RELEASE_MODE: ${{ inputs.RELEASE_MODE || env.RELEASE_MODE }}
RUN_TESTS: ${{ inputs.RUN_TESTS || env.RUN_TESTS }}

- name: "Checkout"
uses: "actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd" # v6.0.2
uses: "actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0" # v7.0.0
with:
fetch-depth: 0 # include all history for GitVersion
persist-credentials: false

- name: "Setup Node.js"
uses: "actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e" # v6.4.0
Expand Down Expand Up @@ -103,22 +109,22 @@ jobs:
(Get-Content $path) | ForEach-Object {
if ($_ -match $pattern3) {
# We have found the matching line
'[assembly: AssemblyStatus(ReleaseMode.{0})]' -f '${{ env.RELEASE_MODE }}'
'[assembly: AssemblyStatus(ReleaseMode.{0})]' -f $env:RELEASE_MODE
} else {
$_
}
} | Set-Content $path

- name: "Run DNN Build via Cake"
run: "./build.ps1 --target=${{ env.CAKE_TARGET }} --verbosity=${{ env.CAKE_VERBOSITY }}"
run: "./build.ps1 --target=$env:CAKE_TARGET --verbosity=$env:CAKE_VERBOSITY"

- name: "Run Unit Tests via Cake"
if: ${{ env.RUN_TESTS == 'true' }}
run: "./build.ps1 --target=UnitTests --verbosity=${{ env.CAKE_VERBOSITY }}"
run: "./build.ps1 --target=UnitTests --verbosity=$env:CAKE_VERBOSITY"
continue-on-error: true

- name: "Publish Test Results"
uses: "EnricoMi/publish-unit-test-result-action/windows@c950f6fb443cb5af20a377fd0dfaa78838901040" # v2.23.0
uses: "EnricoMi/publish-unit-test-result-action/windows@d0a4676d0e0b938bc201470d88276b7c74c712b3" # v2.24.0
if: ${{ !cancelled() && env.RUN_TESTS == 'true' }}
with:
files: "**/TestResults/*.trx"
Expand All @@ -135,8 +141,8 @@ jobs:
overwrite: true

- name: "Create GitHub Pull Request"
if: ${{ success() && !contains('pull_request', github.event_name) && (contains(fromJSON('["develop", "main"]'), github.ref_name) || startsWith('release/', github.ref_name)) }}
run: "./build.ps1 --target=CreateGitHubPullRequest --verbosity=${{ env.CAKE_VERBOSITY }}"
if: ${{ success() && github.event_name == 'push' && (github.ref_name == 'develop' || startsWith('release/', github.ref_name)) }}
run: "./build.ps1 --target=CreateGitHubPullRequest --verbosity=$env:CAKE_VERBOSITY"
env:
GITHUB_APP_ID: ${{ secrets.GITHUB_APP_ID }}
GITHUB_APP_PRIVATE_KEY: ${{ secrets.GITHUB_APP_PRIVATE_KEY }}
Expand All @@ -150,9 +156,9 @@ jobs:
if: ${{ github.event_name == 'workflow_dispatch' }}
runs-on: "ubuntu-latest"
permissions:
id-token: "write"
id-token: "write" # needed by actions/attest
contents: "read"
attestations: "write"
attestations: "write" # needed by actions/attest
steps:
- name: "Download Artifacts"
uses: "actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c" # v8.0.1
Expand All @@ -174,7 +180,7 @@ jobs:
if: ${{ github.event_name == 'workflow_dispatch' }}
runs-on: "ubuntu-latest"
permissions:
id-token: "write"
id-token: "write" # needed by NuGet/login
defaults:
run:
shell: "pwsh"
Expand All @@ -191,4 +197,7 @@ jobs:
user: ${{ secrets.NUGET_USER }}

- name: "NuGet Push"
run: "dotnet nuget push *.nupkg --api-key ${{ steps.nuget-login.outputs.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json"
run: "dotnet nuget push *.nupkg --api-key $env:NUGET_API_KEY --source https://api.nuget.org/v3/index.json"
env:
NUGET_API_KEY: ${{ steps.nuget-login.outputs.NUGET_API_KEY }}

12 changes: 9 additions & 3 deletions .github/workflows/dependency-review.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
name: "Dependency Review"

on:
on:
pull_request:
merge_group:
types:
types:
- "checks_requested"

concurrency:
Expand All @@ -14,11 +14,17 @@ permissions: {}

jobs:
dependency-review:
name: "Dependency Review"
runs-on: "ubuntu-latest"
permissions:
contents: "read"
steps:
- name: "Checkout Repository"
uses: "actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd" # v6.0.2
uses: "actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0" # v7.0.0
with:
persist-credentials: false

- name: "Dependency Review"
uses: "actions/dependency-review-action@a1d282b36b6f3519aa1f3fc636f609c47dddb294" # v5.0.0


2 changes: 1 addition & 1 deletion .github/workflows/image-actions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
contents: "read"
steps:
- name: "Checkout Repo"
uses: "actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd" # v6.0.2
uses: "actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0" # v7.0.0
with:
persist-credentials: false

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ossf-scorecard.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:

steps:
- name: "Checkout code"
uses: "actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd" # v6.0.2
uses: "actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0" # v7.0.0
with:
persist-credentials: false

Expand Down Expand Up @@ -58,6 +58,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard (optional).
# Commenting out will disable upload of results to your repo's Code Scanning dashboard
- name: "Upload to code-scanning"
uses: "github/codeql-action/upload-sarif@7211b7c8077ea37d8641b6271f6a365a22a5fbfa" # v4.36.0
uses: "github/codeql-action/upload-sarif@8aad20d150bbac5944a9f9d289da16a4b0d87c1e" # v4.36.2
with:
sarif_file: "results.sarif"
2 changes: 1 addition & 1 deletion .github/workflows/zizmor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
actions: read # Only needed for private repos. Needed for upload-sarif to read workflow run info.
steps:
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false

Expand Down
6 changes: 5 additions & 1 deletion .yarnrc.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
approvedGitRepositories: []

compressionLevel: mixed

enableScripts: false

nodeLinker: node-modules

npmMinimalAgeGate: "1d"
npmMinimalAgeGate: 1d

npmPreapprovedPackages:
- "@dnncommunity/dnn-elements"
48 changes: 45 additions & 3 deletions Build/Tasks/PreparePackaging.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,15 @@
namespace DotNetNuke.Build.Tasks
{
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Reflection;
using System.Xml.Linq;

using Cake.Common.Diagnostics;
using Cake.Common.IO;
using Cake.Core.IO;
using Cake.Frosting;
using Cake.Json;
using Dnn.CakeUtils;
Expand Down Expand Up @@ -60,14 +64,52 @@ private static void CreateWebConfig(Context context)

context.PackagingPatterns = context.DeserializeJsonFromFile<PackagingPatterns>("./Build/Tasks/packaging.json");
var files = context.GetFilesByPatterns(context.WebsiteDir, BinFolderInclude, context.PackagingPatterns.InstallExclude);
var parsedAssemblies = files.ParseAssemblies();
parsedAssemblies.RemoveAll(a => a.PublicKeyToken is null);
var redirects = parsedAssemblies.ConvertAll(a => a.AssemblyBindingRedirect());
var redirects = BuildBindingRedirects(files);
assemblyBinding.Add(redirects.ToArray<object>());

// save XML document to target file
var targetFile = context.WebsiteDir + context.File("web.config");
doc.Save(targetFile);
}

private static List<XElement> BuildBindingRedirects(IEnumerable<FilePath> files)
{
XNamespace asm = "urn:schemas-microsoft-com:asm.v1";
var redirects = new List<XElement>();

foreach (var file in files)
{
AssemblyName assemblyName;
try
{
assemblyName = AssemblyName.GetAssemblyName(file.FullPath);
}
catch
{
continue;
}

var tokenBytes = assemblyName.GetPublicKeyToken();
if (tokenBytes == null || tokenBytes.Length == 0 || string.IsNullOrEmpty(assemblyName.Name) || assemblyName.Version == null)
{
continue;
}

var token = string.Concat(tokenBytes.Select(static b => b.ToString("x2", CultureInfo.InvariantCulture)));
redirects.Add(
new XElement(
asm + "dependentAssembly",
new XElement(
asm + "assemblyIdentity",
new XAttribute("name", assemblyName.Name),
new XAttribute("publicKeyToken", token)),
new XElement(
asm + "bindingRedirect",
new XAttribute("oldVersion", "0.0.0.0-32767.32767.32767.32767"),
new XAttribute("newVersion", assemblyName.Version.ToString()))));
}

return redirects;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,10 @@
<Content Include="ViewConsole.ascx" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\DotNetNuke.Internal.SourceGenerators\DotNetNuke.Internal.SourceGenerators.csproj" ReferenceOutputAssembly="false" OutputItemType="Analyzer">
<Project>{5FE5D021-9C8D-47A6-BD34-F328BA3E709C}</Project>
<Name>DotNetNuke.Internal.SourceGenerators</Name>
</ProjectReference>
<ProjectReference Include="..\..\DotNetNuke.Abstractions\DotNetNuke.Abstractions.csproj">
<Project>{6928A9B1-F88A-4581-A132-D3EB38669BB0}</Project>
<Name>DotNetNuke.Abstractions</Name>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<%@ Register TagPrefix="dnn" Namespace="DotNetNuke.Web.UI.WebControls" Assembly="DotNetNuke.Web" %>
<script type="text/javascript">
jQuery(document).ready(function($) {
$("#<%=Console.ClientID %>").dnnConsole({<%=GetClientSideSettings() %>});
$("#<%: Console.ClientID %>").dnnConsole(<%: GetClientSideSettingsObject() %>);
});
</script>

Expand Down
Loading
Loading