Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
222 commits
Select commit Hold shift + click to select a range
96b3954
Initial port of MVC-PAGE branch to DNN 10
donker Mar 20, 2025
806a567
Fixes
donker Mar 20, 2025
18dda02
With previous
donker Mar 20, 2025
2b93b83
More moving stuff around
donker Mar 20, 2025
e66429e
Moving more classes to Mvc Pipeline project
donker Mar 20, 2025
195b407
Add build file
donker Mar 20, 2025
192a1fe
Move MVC skin detection to separate class
donker Mar 20, 2025
ed9dfad
Added the controllers for the core website
donker Mar 20, 2025
0b39bb2
NewDDRMenu project which forks the original DDR menu project with cus…
donker Mar 21, 2025
23b6b13
Rewire the way we detect MVC skins
donker Mar 23, 2025
825ae25
Ability to replace the urlrewriter
donker Mar 24, 2025
26a4165
Changes that hard wired to ascx files for the skin
donker Mar 24, 2025
261a156
Revert changes to core project
donker Mar 31, 2025
9ec0a3d
Merge branch 'release/10.0.0' into MVCPL
donker Mar 31, 2025
44c90c7
Rolling back mvc skin detection to what it was previously
donker Mar 31, 2025
bcba2c6
Fixing routing
donker Mar 31, 2025
6b1f317
Fix layout issue
donker Apr 1, 2025
4700236
Merge pull request #1 from donker/fix1
donker Apr 1, 2025
af884e5
- avoid dublicate key error with standard DDRMENU
Apr 3, 2025
78bcb42
client dependecy for mvc (because it not exist in nuget)
Apr 3, 2025
419c044
Merge pull request #3 from sachatrauwaen/mvcppl1
donker Apr 3, 2025
5e3b2d4
restrore use of clientdependency.core.mvc
Apr 3, 2025
d17225a
add use of css variables
Apr 3, 2025
e903cda
add support for report-to
Apr 3, 2025
55308ab
update web.config for mvc
Apr 3, 2025
e107bd4
port all what is needed to run from dnn9 version
Apr 3, 2025
c91f68a
first part of the html module : view control
Apr 3, 2025
09c4c04
Merge pull request #4 from sachatrauwaen/mvcpl2
sachatrauwaen Apr 3, 2025
4aae3e8
use dnn10 default.css
Apr 8, 2025
0fd3b47
make edit in mvc work again
Apr 9, 2025
2f322e0
Merge pull request #5 from sachatrauwaen/html-module
sachatrauwaen Apr 9, 2025
bbe31c4
Merge branch 'develop' into MVCPL
donker Apr 10, 2025
fbb2798
fix html compile errors
Apr 10, 2025
daca3d9
Merge pull request #6 from sachatrauwaen/fix-html-module
donker Apr 10, 2025
e9510a7
fix build of install package
Apr 14, 2025
fcd1661
Merge pull request #7 from sachatrauwaen/install-mvc
donker Apr 15, 2025
dbc02ce
enhance ModuleViewContollerBase
Apr 15, 2025
35bffb5
Merge pull request #9 from sachatrauwaen/module
sachatrauwaen Apr 15, 2025
6b7aada
Trying to fix skin packaging for MVC pipeline
donker Apr 15, 2025
a54636a
Fix and task to test packages
donker Apr 15, 2025
f59b679
Merge pull request #10 from donker/2025-04-15-skinpackage
donker Apr 16, 2025
271bc92
razor containers for the skin
Apr 17, 2025
994abe6
Merge branch 'MVCPL' into containers
Apr 17, 2025
4693637
Merge pull request #11 from sachatrauwaen/containers
donker Apr 17, 2025
b6275b9
fix double class
sachatrauwaen Apr 23, 2025
f3dab1b
add support for mvc modules
sachatrauwaen Apr 23, 2025
85dc08c
a step farter in mvc module support
sachatrauwaen Apr 23, 2025
baaef7b
Merge branch 'MVCPL' into mvc-module
sachatrauwaen Apr 23, 2025
7125224
fix key same as mvc modules
sachatrauwaen Apr 24, 2025
37b459b
make existing mvc modules work on the mvc pipeline
sachatrauwaen Apr 24, 2025
14d32b3
Merge pull request #13 from sachatrauwaen/mvc-module
donker Apr 24, 2025
3750061
Merge branch 'develop' into MVCPL
donker Apr 27, 2025
87306d4
Merge pull request #14 from donker/MVCPL
donker Apr 27, 2025
1dd392f
Make MyWork control mvc
sachatrauwaen Apr 29, 2025
63ecbec
make NewDDRMenu compatible with ddrmenu razor menu templates and use …
sachatrauwaen Apr 30, 2025
3876e96
remove unused files
sachatrauwaen Apr 30, 2025
2802019
fix buit to include web.config in skin folder
sachatrauwaen May 2, 2025
a7520b8
fix build of skin
sachatrauwaen May 2, 2025
09abe33
fix skin build, issues when extension not provided
sachatrauwaen May 2, 2025
e1c419e
Merge pull request #15 from sachatrauwaen/html-mywork
donker May 3, 2025
3e2dee6
Merge pull request #16 from sachatrauwaen/ddrmenu
donker May 3, 2025
2d44234
Merge branch 'release/10.0.1' into MVCPL
donker May 3, 2025
70ccbeb
Add use of route with area for mvc pipeline modules
sachatrauwaen May 8, 2025
2b4cd9e
Merge pull request #20 from sachatrauwaen/area
donker May 8, 2025
269950d
Prevent any meddling of the module foldername for the purpose of area…
donker May 8, 2025
fa00ff7
Merge pull request #22 from donker/routeareafixalt
donker May 9, 2025
49d6628
Create the ModuleContext in the Initialize of the controller to give …
sachatrauwaen May 9, 2025
10e6692
Merge branch 'MVCPL' into mvc-module-init
sachatrauwaen May 9, 2025
38615b3
add page header and portal header to the layout
sachatrauwaen May 9, 2025
9931d1c
Merge pull request #24 from sachatrauwaen/mvc-module-init
donker May 9, 2025
8f9ec8e
Merge pull request #25 from sachatrauwaen/fix-pageheader
donker May 9, 2025
bf50796
Merge branch 'release/10.0.1' into tmpmerge
donker May 19, 2025
d8e2c23
Merge pull request #32 from donker/tmpmerge
donker May 19, 2025
2c7ae88
Merge branch 'develop' into MVCPL
donker May 30, 2025
28a8578
Merge branch 'develop' into tmpmerge
donker Jun 5, 2025
26bbd90
Fix method call
donker Jun 5, 2025
a321c0d
Fix build error
donker Jun 5, 2025
6f44d1f
Fix for postback in MVC modules
donker Jun 7, 2025
26b700a
Merge pull request #34 from donker/tmpmerge
donker Jun 7, 2025
a6d4027
Merge branch 'develop' into MVCPL
donker Jun 7, 2025
9ab6e50
Merge branch 'develop' into tmp
donker Jun 18, 2025
fdcde3a
Merge pull request #35 from donker/tmp
donker Jun 18, 2025
ec3b710
Code fixes for outdated code
donker Jun 18, 2025
d94ca80
Rolling back earlier change
donker Jun 19, 2025
c369e1e
Solution to get AF token to work on MVC pipeline
donker Jun 25, 2025
df42015
Merge pull request #36 from donker/aftoken
donker Jun 25, 2025
4476348
Merge branch 'develop' into MVCPL
donker Jul 10, 2025
ae00a15
Merge branch 'develop' into MVCPL
donker Aug 29, 2025
aed61d2
fix typo
sachatrauwaen Sep 9, 2025
3655bc7
performance improvement
sachatrauwaen Sep 9, 2025
bae3d24
cleanup
sachatrauwaen Sep 11, 2025
3f96a34
cleanup
sachatrauwaen Sep 11, 2025
82e169b
Module Controls : new way to make modules compatible with mvc pipeline
sachatrauwaen Sep 11, 2025
f60ada0
restructure ModuleControls to fit more the the ViewComponent patern
sachatrauwaen Sep 11, 2025
c716f4e
fix logo styling
sachatrauwaen Sep 11, 2025
be77a41
fix html module
sachatrauwaen Sep 11, 2025
d6354b6
fix empty pane rendering
sachatrauwaen Sep 11, 2025
0edffda
fix user skin object
sachatrauwaen Sep 11, 2025
54a68f8
cleanup
sachatrauwaen Sep 12, 2025
1497a8b
rename test to demo
sachatrauwaen Sep 14, 2025
d3830ab
performance optimization for menu
sachatrauwaen Sep 14, 2025
39d8084
add cursor ai ignore
sachatrauwaen Sep 14, 2025
df72d1c
Merge branch 'feature/mvc-pipeline' into ModuleControl
sachatrauwaen Sep 15, 2025
644247f
fix unit tests
sachatrauwaen Sep 15, 2025
d3cb123
add MvcControlClass to UI and db
sachatrauwaen Sep 17, 2025
eb790e0
ad mvcmodelclass to db for html module
sachatrauwaen Sep 17, 2025
ecc5c24
add documentation for CSP
sachatrauwaen Sep 17, 2025
176faf4
update mvcmoduleclass in manifest and remove sql migration script
sachatrauwaen Sep 17, 2025
04b7a03
fix folder and leanup
sachatrauwaen Sep 18, 2025
d9bad81
refactor class names
sachatrauwaen Sep 18, 2025
9e8d260
Cleanup
sachatrauwaen Sep 19, 2025
d0ff974
fix some names in the readme
sachatrauwaen Sep 19, 2025
b9f3f61
Cleanup and ViewData to RazorModuleControl
sachatrauwaen Sep 20, 2025
da40df3
remove RateLimit, it's for later
sachatrauwaen Sep 20, 2025
62f6f72
cleanup, namespace fix, better error error handling, fix viewdata
sachatrauwaen Sep 21, 2025
c6303b5
CLEANUP NAMESPACES
sachatrauwaen Sep 21, 2025
724348c
cleanup
sachatrauwaen Sep 22, 2025
473a4d4
add ModulePartial helper
sachatrauwaen Sep 22, 2025
6c31689
clean message when module control does not support mvc pipeline
sachatrauwaen Sep 22, 2025
a472753
show error when module dous not support mvc pl for page editors
sachatrauwaen Sep 23, 2025
1cee0e5
add UI for Pipeline settings in Site and Page Settings
sachatrauwaen Sep 24, 2025
83e0277
modify url rewriter to route to mvc controller depending on the new p…
sachatrauwaen Sep 24, 2025
d56336c
MVC PL Popup Editing issue
sachatrauwaen Sep 25, 2025
22bc029
fix module actions for modules in the mvc pipeline
sachatrauwaen Sep 25, 2025
fc4c35d
add infrastructure for adding Page and module messages
sachatrauwaen Sep 29, 2025
f8ded6a
add missing page messages when error in query string and when message…
sachatrauwaen Sep 30, 2025
863cbb7
fix test of DnnController
sachatrauwaen Oct 14, 2025
7be534e
Fix tests on DnnController.cs
sachatrauwaen Oct 14, 2025
526412b
Fix blank lines in DnnController.cs
sachatrauwaen Oct 14, 2025
9ab7cae
remove blank linesDnnController.cs
sachatrauwaen Oct 14, 2025
fda5223
mvc pipeline doc
sachatrauwaen Oct 17, 2025
f6231bc
doc
sachatrauwaen Oct 17, 2025
ee09648
modified proposition
sachatrauwaen Oct 17, 2025
626e5a0
modified proposition
sachatrauwaen Oct 17, 2025
e07308a
fix layout
sachatrauwaen Oct 17, 2025
4a18e30
Revert "fix layout"
sachatrauwaen Oct 17, 2025
e007e36
Merge branch 'feature/mvc-pipeline-old' of https://github.com/sachatr…
sachatrauwaen Oct 17, 2025
a3d5c18
fix layout
sachatrauwaen Oct 17, 2025
74b12d4
fix layout
sachatrauwaen Oct 17, 2025
4bf447e
fix text
sachatrauwaen Oct 17, 2025
d89fbb8
Merge branch 'feature/mvc-pipeline-old' of https://github.com/sachatr…
sachatrauwaen Oct 17, 2025
0f32c9a
fix text
sachatrauwaen Oct 17, 2025
6a24f3a
Fix typos in mvc-pipeline.md
sachatrauwaen Oct 22, 2025
567c571
blog post
sachatrauwaen Oct 22, 2025
b9fa629
rremove docs from this branch
sachatrauwaen Oct 22, 2025
039633e
Remove module settings, because actually out of scope of MVC pipeline…
sachatrauwaen Oct 22, 2025
ac6941f
Remove CSP from mvc pipeline (it will be integrated later)
sachatrauwaen Oct 22, 2025
f522728
Merge branch 'dnnsoftware:feature/mvc-pipeline-old' into feature/mvc-…
sachatrauwaen Oct 22, 2025
12e1d64
remove CSP from html module and module settings for mvc pipeline
sachatrauwaen Oct 23, 2025
affe60b
Merge branch 'develop' into feature/mvc-pipeline-old
donker Nov 14, 2025
7ff3b1f
First sweep of repairs after merging of latest dev branch
donker Nov 16, 2025
1312d0b
Merge branch 'feature/mvc-pipeline-old' into ModuleControl
sachatrauwaen Nov 20, 2025
c86ff07
Use SVGR for Dnn.React.Common icons
bdukes Nov 20, 2025
757eaac
Use SVGR for remaining icons
bdukes Nov 20, 2025
4359f13
Merge branch 'ModuleControl' into mvcpl-selection
sachatrauwaen Nov 21, 2025
e56b9ce
upgrade to new cdf
sachatrauwaen Nov 22, 2025
e9ab30c
Merge branch 'feature/mvc-pipeline-old' into mvcpl-popups
sachatrauwaen Nov 22, 2025
ad7be26
Merge branch 'feature/mvc-pipeline-old' into mvcpl-moduleactions
sachatrauwaen Nov 22, 2025
0804a97
upgrade to new cdf
sachatrauwaen Nov 22, 2025
e055ac6
add use of pageService
sachatrauwaen Nov 22, 2025
75bee3a
remove cliendependecy.mvc
sachatrauwaen Nov 22, 2025
e7d9257
Merge branch 'develop' into feature/mvc-pipeline-old
donker Nov 23, 2025
8205aba
Repairs for latest merge of develop
donker Nov 23, 2025
dc60823
Remove non used dll from manifest
donker Nov 23, 2025
613e434
Fix to web.config
donker Nov 23, 2025
53b2222
Remove more references to old clientdependency dll
donker Nov 23, 2025
95ccf29
Remove build task that slipped in
donker Nov 23, 2025
c0b23cd
Merge pull request #6808 from bdukes/svgr-for-icons
valadas Nov 24, 2025
92f6492
Replace IReasourcable with IPageContrtibutor to use new cdf
sachatrauwaen Nov 24, 2025
ad947c4
Merge branch 'mvcpl-messages' into feature/mvc-pipeline-old
sachatrauwaen Nov 24, 2025
aafb756
perf optimisation
sachatrauwaen Nov 24, 2025
1bf1da0
cleanup
sachatrauwaen Nov 24, 2025
5546fc7
cleanup and simplify due to new cdf
sachatrauwaen Nov 25, 2025
9c627ab
Cleanup
sachatrauwaen Nov 26, 2025
4049e84
finish skinobject
sachatrauwaen Nov 27, 2025
5440d0c
test and fix some skinhelpers
sachatrauwaen Nov 28, 2025
f69ae1c
fix typo
sachatrauwaen Nov 28, 2025
1d1e2de
fix typo
sachatrauwaen Nov 28, 2025
28ea515
Corrected requestLengthDiskThreshold to use MS default of 80
david-poindexter Nov 28, 2025
9892be0
Merge pull request #6819 from david-poindexter/requestLengthDiskThres…
valadas Nov 28, 2025
3d702b3
Bump node-forge in the npm_and_yarn group across 1 directory
dependabot[bot] Nov 26, 2025
731702b
Update caniuse database
github-actions[bot] Dec 1, 2025
3374a3e
Bump dotnet-sdk from 9.0.306 to 10.0.100 (#6800)
dependabot[bot] Dec 1, 2025
f5048da
Throw when null business controller type is attempted to be created
bdukes Dec 2, 2025
464f908
Fixed Cookie Timeout Lookup Values
mitchelsellers Nov 25, 2025
513df89
Move old code from dnnsoftware/Dnn.Platform.Samples.Mvc into this repo
donker Nov 29, 2025
836a698
Getting a release build and package working for the MVC module
donker Nov 29, 2025
6c29506
Revert accidental checkin
donker Nov 29, 2025
532c502
Spa module build
donker Nov 29, 2025
aebd5dc
Centralize sql scripts
donker Nov 29, 2025
bc6b512
Debug build with master switch to copy to debug location
donker Nov 29, 2025
64fea0c
Switch to include sample modules in build
donker Nov 29, 2025
52802c6
Add missing uninstall script
donker Nov 29, 2025
d0e5d59
Make the MVC module look decent
donker Nov 29, 2025
10d185c
Making SPA module look better
donker Nov 29, 2025
a3fdd84
Revise DAL to include audit fields. Change "Twitter" for "Social".
donker Nov 30, 2025
ba1613a
Make the edit screens look a bit more finished
donker Nov 30, 2025
0e61754
Small fixes
donker Nov 30, 2025
1f7c795
Create new project for SPA react demo
donker Nov 30, 2025
2be9186
Repairs to manifests
donker Nov 30, 2025
5dbf390
More repairs
donker Nov 30, 2025
8a7f411
Working React app
donker Nov 30, 2025
b71b9c6
Add support for searching in spa react module
donker Dec 1, 2025
8a925b8
Add documentation
donker Dec 2, 2025
4a4bcbc
Add module header and footer settings
adlzanchetta-trilogy Oct 6, 2025
28c21d6
Merge pull request #6825 from bdukes/throw-on-invalid-business-contro…
valadas Dec 3, 2025
2cd75f4
Revert test changes (#6826)
valadas Dec 7, 2025
cdc7eb2
cleanup
sachatrauwaen Dec 7, 2025
73cdecd
refactor DI usage in html helpers
sachatrauwaen Dec 7, 2025
f32258a
add html helper to CKE provider
sachatrauwaen Dec 7, 2025
e735f3c
refactor use of DI in html helpers
sachatrauwaen Dec 7, 2025
10fa053
razor module development guide for the mvc pipeline
sachatrauwaen Dec 7, 2025
2266d8f
enhance doc
sachatrauwaen Dec 7, 2025
ceeedb7
enhance doc
sachatrauwaen Dec 7, 2025
f8b78a0
Merge branch 'feature/mvc-pipeline-old' of https://github.com/sachatr…
sachatrauwaen Dec 7, 2025
e573d10
fix mvc of html module
sachatrauwaen Dec 8, 2025
c96fd1f
Merge branch 'develop' into feature/mvc-pipeline-old
donker Dec 8, 2025
c78992a
Merge pull request #6834 from dnnsoftware/release/10.2.0
valadas Dec 9, 2025
a032183
Merge branch 'develop' into feature/mvc-pipeline-old
donker Dec 9, 2025
7869d0e
add razor module sample
sachatrauwaen Dec 10, 2025
dd36b34
enhance and fixes for razor sample
sachatrauwaen Dec 12, 2025
0d203bb
cleanup and refactor small stuff
sachatrauwaen Dec 13, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
30 changes: 30 additions & 0 deletions .cursorignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
node_modules/
.env
.env.local
.env.development.local
.env.test.local
.env.production.local
.DS_Store
.idea/
.vscode/
.gitignore
.git/
.gitignore

.vs/

build/
build.*
.yarn/
Artifacts/
DotNetNuke.Internal.SourceGenerators/
Install/
tools/
Website/
.nuget/
.github/
Packages/
Refs/
tools/
Dnn Platform/node_modules/
Dnn Platform/Tests
72 changes: 72 additions & 0 deletions .cursorrules
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@

# .NET Development Rules

You are a senior .NET full stack developer and an expert in C#, ASP.NET Framework, ASP.NET Core, and ReactJS

## This project

This is a CMS that runs on classic ASP.NET Framework (version 4.8). The default entry point is /default.aspx which can be found under /DNN Platform/Website.
We are building a new pipeline based on ASP.NET MVC with the goal of moving away from webforms and towards .NET Core. Right now we will create a hybrid solution
with two rendering mechanisms: the old webforms pipeline through default.aspx and a new pipeline through /DesktopModules/Default/Page/{tabId}/{locale}. This
should be picked up and handled in the DotNetNuke.Web.MvcPipeline library. The skin that is being loaded should decide which pipeline is being used to render a
page to the client.

## Code Organization

We want to minimize any code changes to the existing project and concentrate as much as we can any code changes in the DotNetNuke.Web.MvcPipeline project.
If need be we can create more projects to house new code.

## Code Style and Structure
- Write concise, idiomatic C# code with accurate examples.
- Follow .NET and ASP.NET Core conventions and best practices.
- Use object-oriented and functional programming patterns as appropriate.
- Prefer LINQ and lambda expressions for collection operations.
- Use descriptive variable and method names (e.g., 'IsUserSignedIn', 'CalculateTotal').
- Structure files according to .NET conventions (Controllers, Models, Services, etc.).

## Naming Conventions
- Follow guidelines from the stylecop.json file

## C# and .NET Usage
-

## Syntax and Formatting
- Use 'var' for implicit typing when the type is obvious.

## Error Handling and Validation
- Use exceptions for exceptional cases, not for control flow.
- Implement proper error logging using built-in .NET logging or a third-party logger.
- Use Data Annotations or Fluent Validation for model validation.
- Implement global exception handling middleware.
- Return appropriate HTTP status codes and consistent error responses.

## API Design
- Follow RESTful API design principles.
- Use attribute routing in controllers.
- Implement versioning for your API.
- Use action filters for cross-cutting concerns.

## Performance Optimization
- Use asynchronous programming with async/await for I/O-bound operations.
- Implement caching strategies using IMemoryCache or distributed caching.
- Use efficient LINQ queries and avoid N+1 query problems.
- Implement pagination for large data sets.

## Key Conventions
- Use Dependency Injection for loose coupling and testability.
- Implement repository pattern.
- Use AutoMapper for object-to-object mapping if needed.
- Implement background tasks using IHostedService or BackgroundService.

## Testing
- Write unit tests using xUnit, NUnit, or MSTest.
- Use Moq or NSubstitute for mocking dependencies.
- Implement integration tests for API endpoints.

## Security
- Implement proper CORS policies.

## API Documentation
- Provide XML comments for controllers and models.

Follow the official Microsoft documentation and ASP.NET MVC guides for best practices in routing, controllers, models, and other API components.
14 changes: 7 additions & 7 deletions Build/Build.csproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net9.0</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
<PackAsTool>true</PackAsTool>
<!-- Make sure start same folder .NET Core CLI and Visual Studio -->
<RunWorkingDirectory>$(MSBuildProjectDirectory)</RunWorkingDirectory>
Expand All @@ -15,17 +15,17 @@
<AdditionalFiles Include="..\stylecop.json" Link="stylecop.json" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Cake.BuildSystems.Module" Version="7.1.0" />
<PackageReference Include="Cake.BuildSystems.Module" Version="8.0.0" />
<PackageReference Include="Cake.FileHelpers" Version="7.0.0" />
<PackageReference Include="Cake.Frosting" Version="5.0.0" />
<PackageReference Include="Cake.Frosting" Version="6.0.0" />
<PackageReference Include="Cake.Frosting.Git" Version="5.0.1" />
<PackageReference Include="Cake.Issues" Version="5.5.0" />
<PackageReference Include="Cake.Frosting.Issues.MsBuild" Version="5.5.0" />
<PackageReference Include="Cake.Issues" Version="5.9.1" />
<PackageReference Include="Cake.Frosting.Issues.MsBuild" Version="5.9.1" />
<PackageReference Include="Cake.Json" Version="7.0.1" />
<PackageReference Include="Cake.XdtTransform" Version="2.0.0" />
<PackageReference Include="Dnn.CakeUtils" Version="2.1.0" />
<PackageReference Include="Microsoft.Data.SqlClient" Version="6.0.1" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="Microsoft.Data.SqlClient" Version="6.1.3" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.4" />
<PackageReference Include="StyleCop.Analyzers" Version="1.2.0-beta.556">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
Expand Down
2 changes: 1 addition & 1 deletion Build/BuildScripts/Module.build
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
<Images Include="Images/*.*" />
<Keys Include="keys/*.*" />
<ClientScripts Include="ClientScripts/*.*" />
<JsFiles Include="js/*.*" />
<JsFiles Include="js/*.*;*.js" />
<Scripts Include="Scripts/*.*" />
<SharedScripts Include="Scripts/Shared/*.*" />
<Templates Include="Templates/*.htm" />
Expand Down
7 changes: 5 additions & 2 deletions Build/ContextExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@

namespace DotNetNuke.Build;

using System;
using System.Diagnostics;

using Cake.Common.IO;
using Cake.Core.IO;

Expand All @@ -18,6 +19,8 @@ public static class ContextExtensions
/// <returns>The file version.</returns>
public static string GetAssemblyFileVersion(this Context context, FilePath assemblyPath)
{
return FileVersionInfo.GetVersionInfo(context.MakeAbsolute(assemblyPath).FullPath).FileVersion;
var versionInfo = FileVersionInfo.GetVersionInfo(context.MakeAbsolute(assemblyPath).FullPath);
var fileVersion = versionInfo.FileVersion;
return Version.TryParse(fileVersion, out _) ? fileVersion : $"{versionInfo.FileMajorPart}.{versionInfo.FileMinorPart}.{versionInfo.FileBuildPart}";
}
}
3 changes: 3 additions & 0 deletions Build/LocalSettings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,9 @@ public class LocalSettings
/// <summary>Gets or sets the path to the database files.</summary>
public string DatabasePath { get; set; } = string.Empty;

/// <summary>Gets or sets a value indicating whether to copy the sample projects to the build output.</summary>
public bool CopySampleProjects { get; set; } = false;

/// <summary>Gets or sets the version to use for the build.</summary>
public string Version { get; set; } = "auto";
}
Expand Down
21 changes: 18 additions & 3 deletions Build/Tasks/BuildToTempFolder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
// See the LICENSE file in the project root for more information
namespace DotNetNuke.Build.Tasks
{
using System;
using System.Linq;

using Cake.Common.Diagnostics;
using Cake.Common.IO;
using Cake.Frosting;
using Dnn.CakeUtils;

/// <summary>A cake task to build the platform.</summary>
[IsDependentOn(typeof(SetVersion))]
Expand All @@ -16,5 +16,20 @@ namespace DotNetNuke.Build.Tasks
[IsDependentOn(typeof(OtherPackages))]
public sealed class BuildToTempFolder : FrostingTask<Context>
{
/// <inheritdoc/>
public override void Run(Context context)
{
if (context.Settings.CopySampleProjects)
{
context.Information("Copying Sample Projects to Temp Folder");
var files = context.GetFilesByPatterns(context.ArtifactsFolder, new[] { "SampleModules/*.zip" });
foreach (var file in files)
{
var destination = context.File(System.IO.Path.Combine(context.WebsiteFolder, "Install", "Module", file.GetFilename().ToString()));
context.CopyFile(file, destination);
context.Information($" Copied {file.GetFilename()} to {destination}");
}
}
}
}
}
1 change: 1 addition & 0 deletions Build/Tasks/OtherPackages.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ namespace DotNetNuke.Build.Tasks
/// <summary>A cake task to include other 3rd party packages.</summary>
[IsDependentOn(typeof(PackageNewtonsoft))]
[IsDependentOn(typeof(PackageMailKit))]
[IsDependentOn(typeof(PackageHtmlSanitizer))]
[IsDependentOn(typeof(PackageAspNetWebApi))]
[IsDependentOn(typeof(PackageAspNetWebPages))]
[IsDependentOn(typeof(PackageAspNetMvc))]
Expand Down
14 changes: 14 additions & 0 deletions Build/Tasks/PackageHtmlSanitizer.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information
namespace DotNetNuke.Build.Tasks;

/// <summary>A cake task to generate the MailKit package.</summary>
public sealed class PackageHtmlSanitizer : PackageComponentTask
{
/// <summary>Initializes a new instance of the <see cref="PackageHtmlSanitizer"/> class.</summary>
public PackageHtmlSanitizer()
: base("HtmlSanitizer")
{
}
}
4 changes: 4 additions & 0 deletions Build/Tasks/packaging.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,10 @@
"/bin/System.Web.Http.dll",
"/bin/System.Web.Http.WebHost.dll",
"/bin/DotNetNuke.Web.Mvc.dll",

"/bin/DotNetNuke.Web.MvcPipeline.dll",
"/bin/DotNetNuke.Web.MvcWebsite.dll",

"/bin/System.Web.Mvc.dll",
"/bin/System.Web.Helpers.dll",
"/bin/Microsoft.Web.Helpers.dll",
Expand Down
6 changes: 1 addition & 5 deletions Build/Tasks/unversionedManifests.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
DNN Platform/Components/MailKit/*.dnn
DNN Platform/Components/Microsoft.*/**/*.dnn
DNN Platform/Components/Newtonsoft/*.dnn
DNN Platform/Components/WebFormsMvp/*.dnn
DNN Platform/Components/SharpZipLib/*.dnn
DNN Platform/Components/**/*.dnn
DNN Platform/JavaScript Libraries/HoverIntent/*.dnn
DNN Platform/JavaScript Libraries/jQuery*/*.dnn
DNN Platform/JavaScript Libraries/Knockout*/*.dnn
Expand Down
55 changes: 55 additions & 0 deletions DNN Platform/Components/HtmlSanitizer/HtmlSanitizer.dnn
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
<dotnetnuke type="Package" version="5.0">
<packages>
<package name="DotNetNuke.HtmlSanitizer" type="Library" version="1.0.0">
<friendlyName>HtmlSanitizer Components</friendlyName>
<description>Provides AngleSharp and HtmlSanitizer assemblies for the platform.</description>
<dependencies/>
<owner>
<name>.NET Foundation and Contributors</name>
<organization>DNN Community</organization>
<url>https://dnncommunity.org</url>
<email>[email protected]</email>
</owner>
<license src="License.txt"/>
<releaseNotes>
This package includes AngleSharp, AngleSharp.Css and HtmlSanitizer assemblies.
</releaseNotes>
<components>
<component type="Assembly">
<assemblies>
<assembly>
<path>bin</path>
<name>AngleSharp.dll</name>
<version />
</assembly>
<assembly>
<path>bin</path>
<name>AngleSharp.Css.dll</name>
<version />
</assembly>
<assembly>
<path>bin</path>
<name>HtmlSanitizer.dll</name>
<version />
</assembly>
<assembly>
<path>bin</path>
<name>System.Collections.Immutable.dll</name>
<version />
</assembly>
<assembly>
<path>bin</path>
<name>System.Text.Encoding.CodePages.dll</name>
<version />
</assembly>
<assembly>
<path>bin</path>
<name>System.Runtime.CompilerServices.Unsafe.dll</name>
<version/>
</assembly>
</assemblies>
</component>
</components>
</package>
</packages>
</dotnetnuke>
21 changes: 21 additions & 0 deletions DNN Platform/Components/HtmlSanitizer/License.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (C) 2012-2020 .NET Foundation and Contributors

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,16 @@
<assemblies>
<assembly>
<path>bin</path>
<name>DotNetNuke.Web.MvcPipeline.dll</name>
<version>0.0.1.0</version>
</assembly>
<assembly>
<path>bin</path>
<name>DotNetNuke.Web.MvcWebsite.dll</name>
<version>0.0.1.0</version>
</assembly>
<assembly>
<path>bin</path>
<name>DotNetNuke.Web.Mvc.dll</name>
<version>9.10.0</version>
</assembly>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -365,5 +365,8 @@ public interface IPortalSettings

/// <summary>Gets a value indicating whether to display the dropdowns to quickly add a moduel to the page in the edit bar.</summary>
bool ShowQuickModuleAddMenu { get; }

/// <summary>Gets the pipeline type for the portal.</summary>
string PagePipeline { get; }
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information
namespace DotNetNuke.Abstractions.Portals
{
/// <summary>
/// Provides constants for the page pipelines used in the DNN platform,
/// such as WebForms and MVC.
/// </summary>
public static class PagePipelineConstants
{
/// <summary>WebForms.</summary>
public const string WebForms = "webforms";

/// <summary>MVC.</summary>
public const string Mvc = "mvc";
}
}
Loading