Skip to content

Commit

Permalink
Getting latest from master dnn repo (#3)
Browse files Browse the repository at this point in the history
* Changed accessor of ISerialzationManager property to private

* Updated startup configuration to use scoped instead of transient. Also updated typo in ISerializationManager registration

* Resolves an infinite redirect loop issue

Closes dnnsoftware#4157

An infinite redirect loop could occur even in situations where the portal aliasses where setup in canonical mode.

Relates to this discussion: dnnsoftware#4137

* Update DNN Platform/Library/Entities/Modules/Settings/SettingsRepository.cs

* Properly named CSS class & keeps the other for compatibility for now (dnnsoftware#4160)

* Adds IEventLogger to Dependency Injection (dnnsoftware#4159)

* Extracted IEventLogger, IEventLogService, and IEventLogConfigService to Abstractions project
* Updated ILogProperties to inherit from ICollection<ILogInfoDetail>
* Fixed property name casing to match new abstractions standard
* Updated new API to return IEnumerable<ILogInfo> instead of ArrayList
* IEventLogService implements IEventLogger
* Deprecated GetSingleLog and added a new API GetLog
* Move AddSettingLog to an extension method

Co-authored-by: Brian Dukes <[email protected]>

* Adds support for editing the robots.txt on a website (dnnsoftware#4165)

* Adds support for editing the robots.txt on a website

Resolves dnnsoftware#3103

* Moved robots.txt get/update methods & made private

* Applied suggested updates from code review

* Swap CodeMirror in SqlConsole for monaco-editor

* Issues/fix pr 4165 (dnnsoftware#4172)

* Fixes testing issue found in PR dnnsoftware#4165

* Fixing the save method too...

* Correctly using Path.Combine

* Swap CodeMirror in ConfigConsole for monaco-editor

* Fix MSBuild issue with Dnn.PersonaBar.Extensions

* Lowercases the meta tag names (dnnsoftware#4176)

Resolves dnnsoftware#2547

* Fixes Event Log from Failing Silently during Application Startup (dnnsoftware#4178)

* Added try-catch block to prevent event logs from silently failing

* Updated exception handling to catch specific exception

* Updated DDR Menu to be System (dnnsoftware#4180)

* Marked all public WebSlice members as obsolete, Part of solution for dnnsoftware#3703 (dnnsoftware#4182)

* Updated the UpdateDatabase procedure to set version numbers (dnnsoftware#4183)

* Updated the UpdateDatabase procedure to set version numbers

* Fixed typo

* Updated order of items for better readability and removed incorrect items.

* Updated Converter for TabSettings Display (dnnsoftware#4184)

* Parse date with invariant culture to fix non-Gregorian calendar dates… (dnnsoftware#4164)

* Parse date with invariant culture to fix non-Gregorian calendar dates issue

* review suggestions incorporated.

* Enable dependency injection for IServiceRouteMapper (dnnsoftware#4155)

* Fixes Social Messaging Ignoring Line Breaks & Copyright Year dnnsoftware#4166 (dnnsoftware#4186)

* Adds token support to replace the hard-coded 2013 copyright date

* Allows line breaks to be displayed as entered by end-users

* Allow line breaks but properly encode all other HTML

Resolves dnnsoftware#4166

* Use new MailAttachment class for MailProvider

In order to support multiple mail providers, this introduces a new
MailAttachment class for use by the MailProvider API. This decoupling from
System.Net.Mail.Attachment will give more flexibility when implementing new
providers, such as MailKit.

* Use ICollection<MailAttachment> instead of List<T>

* Updated Release Schedule Documentation (dnnsoftware#4188)

* Updated Release Schedule Documentation

* Update .github/RELEASE_SCHEDULE.md

Co-authored-by: David Poindexter <[email protected]>

* Update .github/RELEASE_SCHEDULE.md

Co-authored-by: David Poindexter <[email protected]>

* Update .github/RELEASE_SCHEDULE.md

Co-authored-by: Brian Dukes <[email protected]>

* Update .github/RELEASE_SCHEDULE.md

Co-authored-by: David Poindexter <[email protected]>

* Update .github/RELEASE_SCHEDULE.md

Co-authored-by: David Poindexter <[email protected]>

* Updated release verbiage

* Updated Notes

* Update .github/RELEASE_SCHEDULE.md

Co-authored-by: David Poindexter <[email protected]>

* Update .github/RELEASE_SCHEDULE.md

Co-authored-by: David Poindexter <[email protected]>

* Update .github/RELEASE_SCHEDULE.md

* Update .github/RELEASE_SCHEDULE.md

* Update .github/RELEASE_SCHEDULE.md

Co-authored-by: David Poindexter <[email protected]>
Co-authored-by: Brian Dukes <[email protected]>
Co-authored-by: Daniel Valadas <[email protected]>

* Updates versions as per release candidate creation

* Update bug-report.md

* Resolves multiple stylcop warnings in Library and HttpModules projects

* child page without a parent should not be validated

* UnObsoleted IsHostMenu

* Deprecated PortalSettings in WebControlBase

* Deprecated PortalSettings in WebControlBase

* Disables waring on usage of GetCurrentPortalSettings

Co-authored-by: Brian Dukes <[email protected]>

* Fix tooltip Sitemap page priority

* Cleaned up UserProfileClass

- Resolves many stylecop warnings in UserProfile
- Makes constants for retrieving profile properties obsolute and re-implements them as private constants
- Updated some upstream classes to use IPortalSettings instead of PortalSettings
- Implemented automated stylecop fixes on many other files in the same project

* Deprecated CheckAuditLevel that takes PortalSettings in favour of new one with IPortalSettings

* Update DNN Platform/Library/Services/Tokens/PropertyAccess/IPropertyAccess.cs

Co-authored-by: Brian Dukes <[email protected]>

* Update DNN Platform/Library/Services/Tokens/PropertyAccess/IPropertyAccess.cs

Co-authored-by: Brian Dukes <[email protected]>

* Adjusted deprecation comments as suggested

* Reset redirect url for redirecting to 'Redirect After Login' page

* dnnsoftware#3661 - Addressed review comments

* Revert "Merge branch 'bugfix/DNN-44083' of https://github.com/kmuralidaran/Dnn.Platform into bugfix/DNN-44083"

This reverts commit 02fb399, reversing
changes made to b78f1b8.

* Addressed review comments

* GetLoginPath() updated to return LocalPath

* Updated parameter with LoginTabId instead of TabName

* Fixed an issue where the autocomplete on the country/region field would show the Id instead of the name when using the arrow keys to navigate the autocomplete suggestions

* Fixed whitespace for consistency

Co-authored-by: Brian Dukes <[email protected]>

* Fixes an issue where folder search would not work in resrouce manager (dnnsoftware#4202)

Closes dnnsoftware#4200

The filtering logic was applied with a null result and removing all the results, I added a check for null which makes the fileting work when the search is used.

* copied from GoogleAnalytics Connector

* added components from DNN.Services.Analytics

* Fixes all warnings in the Console module

- Resolves all stylecop warnings in the Console Admin Module
- Enables TreatWarningsAsErrors on that project

* Removed an unused private variable that was missed

* Update DNN Platform/Admin Modules/Dnn.Modules.Console/Components/BusinessController.cs

* Remove impractical rule

@dnnsoftware/approvers I'm thinking this is a bit overkill, as I can't think of a reason why it would matter who actually clicks the merge button.  The important thing is that there are two approvals.  Do you all agree?

* Resolves 1793 build warnings in Library project (dnnsoftware#4204)

* Resolves 1793 build warnings in DotNetNuke.Collections

This PR covers pretty much all the Collections folder. I am no expert in this area, so any feedback on the documentation is welcome

* Update DNN Platform/Library/Collections/LockingStrategy.cs

Co-authored-by: Brian Dukes <[email protected]>

* Update DNN Platform/Library/Collections/MonitorLock.cs

Co-authored-by: Brian Dukes <[email protected]>

* Update DNN Platform/Library/Collections/MonitorLock.cs

Co-authored-by: Brian Dukes <[email protected]>

* Update DNN Platform/Library/Collections/NaiveLockingList.cs

Co-authored-by: Brian Dukes <[email protected]>

* Update DNN Platform/Library/Collections/NaiveLockingList.cs

Co-authored-by: Brian Dukes <[email protected]>

* Update DNN Platform/Library/Collections/SharedList.cs

Co-authored-by: Brian Dukes <[email protected]>

* Update DNN Platform/Library/Common/Lists/CachedCountryList.cs

Co-authored-by: Brian Dukes <[email protected]>

* Update DNN Platform/Library/Common/Lists/ListInfo.cs

Co-authored-by: Brian Dukes <[email protected]>

* Update DNN Platform/Library/Common/NavigationManager.cs

Co-authored-by: Brian Dukes <[email protected]>

* Update DNN Platform/Library/Common/ServiceScopeContainer.cs

Co-authored-by: Brian Dukes <[email protected]>

* Update DNN Platform/Library/Collections/ReaderWriterSlimLock.cs

Co-authored-by: Brian Dukes <[email protected]>

* Update DNN Platform/Library/Collections/SharedDictionary.cs

Co-authored-by: Brian Dukes <[email protected]>

* Implemented CLSCompliant attribute on DotNetNuke.Abstractions and DotNetNuke.DependencyInjection

* Marked IDNNStartup as not CSL Compliant

* Update DNN Platform/Library/Services/Journal/JournalControllerImpl.cs

Co-authored-by: David Poindexter <[email protected]>

* Update DNN Platform/Library/Services/Scheduling/DNNScheduler.cs

Co-authored-by: David Poindexter <[email protected]>

* Update DNN Platform/Library/Services/Search/Internals/LuceneControllerImpl.cs

Co-authored-by: David Poindexter <[email protected]>

Co-authored-by: Brian Dukes <[email protected]>
Co-authored-by: David Poindexter <[email protected]>

* avoid I/O process frequency during export process.

Fix dnnsoftware#4217

* Ensure comments are only inserted when necessary

Fix dnnsoftware#4219

* Issue-4222 - MembershipModule CurrentCulture fix

* Resolves some build warnings in DDRMenu Project

* Updated .NET Framework requirement in InstallWizard localization files from 4.0 to 4.7.2. also removed mention of older OS versions from the FileAndFolderPermissionCheckFailed.Text key in the InstallWizard localization files

* Moved UserMode from PortalSettings to Personalization class (dnnsoftware#4225)

* Moved UserMode from PortalSettings to Personalization class

Closes dnnsoftware#4213

I am open to any feedback on this, I do believe this way would not be a breaking change...

* Update DNN Platform/Library/Services/Personalization/Personalization.cs

Co-authored-by: Brian Dukes <[email protected]>

* Update DNN Platform/Library/Services/Personalization/Personalization.cs

Co-authored-by: Brian Dukes <[email protected]>

* Prevent duplication of code

Co-authored-by: Brian Dukes <[email protected]>

* Removed finalizer

* Prevent breaking change of Controller public Regex

* Fixed wrong version in deprecation message

* Prevent breaking change on public internal PortalSettings

* Addresses concern with disposing page

* Addresses concern with PortalSettings cast

* Moves things deprecated in v9 to be removed in v11 instead of v10

This moves everything that was marked deprecated in v9.x.x but was slated for removal in v10 to now be removed in v11.

* Corrected one that was done by mistake, it was declared in v6

* Addresses breaking change danger on m_supportsIcons

* Resolves 101 build warnings on CoreMessaging project (dnnsoftware#4216)

* Resolves 101 build warnings on CoreMessaging project

- Resolves 101 warnings
- Prevents sending detailed errors to frontend
- Updates documentation and settings here and there to make it build and correct related documentation
- Enabled TreatBuildWarningsAsErrors on project

* Resolves a build failure due to deprecated PortalID in PortalInfo

* Update DNN Platform/Library/Services/Exceptions/Exceptions.cs

Co-authored-by: Brian Dukes <[email protected]>

Co-authored-by: Brian Dukes <[email protected]>

* Resolved all build warnings in RazorHost project (dnnsoftware#4231)

- Resolves all build warnings
- Enables Treat Warnings as Errors on project

* Resolves some build warnings in the ImportExport project. (dnnsoftware#4211)

* Resolves some build warnings in the ImportExport project.

Resolves some (I did not count but probably around 100) build warnings in the Import Export library.

* fix typo

* Brought back 3 removed public methods to prevent creating a breaking change.

* Moved depracation removal to v11

Co-authored-by: Brian Dukes <[email protected]>

* Resolved all build warnings in Google Analytics Connector (dnnsoftware#4209)

- Resolved all build warnings in Google Analytics Connector
- Enabled TreatWarningsAsErrors on project

* Resolved 249 build warnings in Library project (dnnsoftware#4215)

* Resolved 249 build warnings in Library project

This PR focuses a bit in the Common.Globals file. I have resolved many build warnings and also deprecated some unused public methods that I believe should have never been made public.

All feedback is welcome

* Resolves some more warnings in Globals.cs

* Removed one wrong todo

* Update DNN Platform/DotNetNuke.Abstractions/Application/IApplicationStatusInfo.cs

Co-authored-by: Brian Dukes <[email protected]>

* Update DNN Platform/Library/Common/Globals.cs

Co-authored-by: Brian Dukes <[email protected]>

* Addresses PR concerns with v10 vs v11 deprecations

* Update DNN Platform/Library/Common/Globals.cs

Co-authored-by: Brian Dukes <[email protected]>

* Update DNN Platform/Library/Common/Globals.cs

Co-authored-by: Brian Dukes <[email protected]>

* Update DNN Platform/Library/Common/Globals.cs

Co-authored-by: Brian Dukes <[email protected]>

* Removed TODO on IsEditMode

* Removed stale TODO

* Renames some variables for clarity and corrected typos

Co-authored-by: Brian Dukes <[email protected]>

* Typo fixes

* basically working

* Resolves some more build warnings on library project (dnnsoftware#4236)

* Resolves some more build warnings on library project

I would use some advice on correct replacement in EventManager.cs for the deprecated EventLogController.EventLogType
and
EventLogController.Instance.AddLog call if anyone has some idea on how to refactor that properly. If not, then let's not block this PR for just this and revisit this part later.

* Fix usages of obsolete EventLogController.EventLogType

* Fix test failures

Co-authored-by: Brian Dukes <[email protected]>

* Added the page ID to the admin ui page management experience

* Removed Module Creator from distribution

- Removes the Module Creator admin module from the distribution as per it's move to https://github.com/DNNCommunity/Dnn.ModuleCreator/releases/tag/v9.8.1
- Also reduces build warnings by about 46

* check the module permission to add module.

Fix dnnsoftware#4234

* Deprecates IEventLogController in favor of DI

Resolves dnnsoftware#4242

The PR:
- Deprecates the interface
- Deprecates the implementation
- The implementation beeing internal and the interface having a warning to not implement by 3rd parties, we can replace it's usage in other downstream classes without too much worry
- I did only one usage replacement in RelationshipController as a proof of concept and adjusted the related test on it.
- There are many many usages of this in Platform, so if thise PR is ok, we have a plan forward for the other usages, any feedback welcome.

* Relaxed compile warnings on Tests projects

Tests projects are not consumed by 3rd parties but where contrained to the same stylecop code style rules as the rest of the platform code (like documentation requirements and name styles and whitespace time. Since we are on a hunt to reduce our build warnings, this PR relaxes those rules on the Tests projects for now.

I would like to revisit this at a later date and actually correct some of those but for now it removes us 959 warnings quickly.

* config sample

* package

* Removed most warnings

* SCAYT language code configuration fixed

* Fix DevOps build badge

It was pointing to an old build definition

* Ensure Localization HTTP Module placement

It needs to be right after URL Rewrite (which determines the culture
from the URL), and then all modules after it can make use of that
culture info

* removed installer for PR

* Applied suggested changes by @valadas

* Fix data reader not getting disposed

Fixes dnnsoftware#3840

* Remove deprecation for some DataProvider methods

Fixes dnnsoftware#3830

* Remove Localization HTTP module from config

It'll get added by 09.08.00.config, having it already in there will
create a duplicate

* Update DNN Platform/Connectors/GoogleTagManager/GoogleTagManager.config

* Run localization after authentication

* Simplify cookie setting to avoid duplicate language cookies being set

* Add skin/page messages after localization has been set

* Added documentation

(cherry picked from commit da5d855)

* Installs JWT provider by default (dnnsoftware#4276)

* Install JWT by default

* Resolves multiple stylecop warnings in JWT project.

* Ensure optional packages that have already been installed are installed so they get upgraded during DNN's upgrade process

* Do not install JWT by default

* do not cache output if page is redirected

* review suggestions incorporated.

* Apply suggestions from code review

* Update DNN Platform/HttpModules/OutputCaching/OutputCacheModule.cs

* Prevents JWT upgrade to change existing config

With the recent change to make optional packages (.resources) upgrade if the package was previously installed, while upgrading the JWT authentication provider, it cause the existing web.config configuration to be reset to the default and that would happen on each upgrade.

This PR makes it ignore the node if it is already present from a previous installation.

* Implement EnablePopups switch in portal settings PB module

* Optimised images with calibre/image-actions

* Fixed an issue where new users would have no preferred locale.

The user preferred locale is a required field in user profiles. Some change made it that in 9.8.0 this property is null. This PR reverts the behavior so the preferred locale is set on new users.

* Fixed an issue where all emails where missing the body

While working on the Feedback module the messages where missing their body, then I tried creating new users and those emails where also missing the body. Looks like the CoreMailProvider was missing setting the body to the emails.

This PR solves that.

* Add Inject module hyperlink and inline editor enabled to personabar site settings module

* fixed build error.

* Resolves some more build warnings on Library project (dnnsoftware#4243)

* Resolves some more build warnings on Library project

* Corrected a typo in IGlobals.cs

* Update DNN Platform/Library/Common/Lists/CachedCountryList.cs

Co-authored-by: Brian Dukes <[email protected]>

* Update DNN Platform/Library/Common/Internal/TestableGlobals.cs

Co-authored-by: Brian Dukes <[email protected]>

* Update DNN Platform/Library/Common/Lists/ListController.cs

Co-authored-by: Brian Dukes <[email protected]>

* Update DNN Platform/Library/Common/Lists/ListController.cs

Co-authored-by: Brian Dukes <[email protected]>

* Update DNN Platform/Library/Common/Lists/ListController.cs

Co-authored-by: Brian Dukes <[email protected]>

* Update DNN Platform/Library/Common/Lists/ListController.cs

Co-authored-by: Brian Dukes <[email protected]>

* Update DNN Platform/Library/Common/Lists/ListController.cs

Co-authored-by: Brian Dukes <[email protected]>

* Update DNN Platform/Library/Common/Lists/ListController.cs

Co-authored-by: Brian Dukes <[email protected]>

* Update DNN Platform/Library/Common/Lists/ListController.cs

Co-authored-by: Brian Dukes <[email protected]>

* Update DNN Platform/Library/Common/Lists/ListController.cs

Co-authored-by: Brian Dukes <[email protected]>

* Update DNN Platform/Library/Common/Lists/ListController.cs

Co-authored-by: Brian Dukes <[email protected]>

* Update DNN Platform/Library/Common/Lists/ListController.cs

Co-authored-by: Brian Dukes <[email protected]>

* Update DNN Platform/Library/Common/Lists/ListEntryInfoCollection.cs

Co-authored-by: Brian Dukes <[email protected]>

* Update DNN Platform/Library/Common/Lists/ListInfo.cs

Co-authored-by: Brian Dukes <[email protected]>

* Update DNN Platform/Library/Common/Lists/ListInfo.cs

Co-authored-by: Brian Dukes <[email protected]>

* Update DNN Platform/Library/Common/Lists/ListInfo.cs

Co-authored-by: Brian Dukes <[email protected]>

* Update DNN Platform/Library/Common/Lists/ListInfo.cs

Co-authored-by: Brian Dukes <[email protected]>

* Update DNN Platform/Library/Common/Lists/ListController.cs

Co-authored-by: Brian Dukes <[email protected]>

* Update DNN Platform/Library/Common/Lists/ListController.cs

Co-authored-by: Brian Dukes <[email protected]>

* Update DNN Platform/Library/Common/Lists/ListController.cs

Co-authored-by: Brian Dukes <[email protected]>

* Update DNN Platform/Library/Common/Lists/ListEntryInfoCollection.cs

Co-authored-by: Brian Dukes <[email protected]>

* Use DI for logging

* Update DNN Platform/Library/Common/Lists/ListController.cs

Co-authored-by: Brian Dukes <[email protected]>

* Fixed tests

Co-authored-by: Brian Dukes <[email protected]>

* Obsolete the EnableSkinWidgets portal setting and remove it from serialization as this setting is no longer used

* To go with last commit

* Further removal of EnableSkinWidgets

* Tweak to obsolete wording

* Update DNN Platform/DotNetNuke.Abstractions/Portals/IPortalSettings.cs

Co-authored-by: Mitchel Sellers <[email protected]>

* Update DNN Platform/Library/Entities/Portals/PortalSettings.cs

Co-authored-by: Mitchel Sellers <[email protected]>

* Rolling back changes

* More stylecop fixes on DotNetNuke.Web project

* More stylcop warnings fixes on library project

Mostly documentaiton and formatting. I recommend reviewer while hiding whitespace only changes 😄

* Apply suggestions from code review

* Fixes invalid extension error message for 0 errors

* Issue-4300 - Password validation lines are fixed

* Fix data provider always failing (dnnsoftware#4302)

* Ensure no expression-bodies properties in DTO objects

* Update bug report template after 9.8.0 release

* remove dragover state from element when dragged BETWEEN pages

* Fix build error

* Fixed AddContentItem to only override the CreatedByUserId if the ContentItem's UserID is >= 0

* Added unit tests

* Fixed last unit test

* Use YAML for build pipeline

* Add triggers config for YAML build

* Fix some integration tests (dnnsoftware#4250)

* Fix test failures in DotNetNuke.Tests.Data

* Fix test failures in Dnn.PersonaBar.Security.Tests

* Fix test failures in ExtensionUrlProviderControllerTests

* Trying to adjust included branches for azure pipeline

* Use latest Cake.Frosting

* Fix some build issues

* Revert to older version of GitVersion

* Show more details from build

* Fix bad build number

* Move Cake logging to later tasks

* Remove tools from NuGet

They're already referenced via UseTool in Program.cs

* Move some logic out of Context class and into task

* Update Cake.NuGet

* Move GetFilesByPatterns into this project

It came from Dnn.CakeUtils, but wasn't compatible with Cake v1

* Install NuGet as a tool

* Fix settings file path

* Trying windows-latest vm image

* Trying to install .net core 2 sdk before build happens

* Trying to preinstall 5.0 SDK

* Added build platform x64

Trying solution found in dotnet/msbuild#5134

* Trying to define the buildPlatform variable differently

* Trying includePreviousVersions

* Use .NET Core 3.1 for build

* Fix build platform value

* Try using .NET 4.8 for Cake.Frosting

* Resolves multple build auto-fixable warnings in solution.

This resolves many many many (6227) build warnings across the whole solution by implementing stylecop auto-fixes on some easy to fix warnings.

I do recommend reviewers to 'hide whitespace changes' while reviewing as this affects many many many files...

The gift that keeps on giving....

* Changed WebConfigurationManager for System.Configuration.ConfigurationManager
when reading connection strings and app settings

* Trying .Net 5.0.100 instead of 5.0.100-rc.2.20479.15

As recommened in cake-build/cake#2957 (reply in thread)

* Removes .Net install from pipeline

* Matching build settings for unit tests

* Should resolve unit tests not running

* Issue-4336 - Umlaut characters in URL cause module setting error (dnnsoftware#4337)

* Issue-4336 - Umlaut characters module settings fix

* Issue-4336 - UTs provided for AdvancedUrlRewriter

* Issue-4336 - Namespace fix

* Issue-4336 - Parallel execution UTs are handled

* Update BUILD documentation for Cake v1 changes

`-Target CreateSettings` and `-Target ResetDevSite` should now be `--target=CreateSettings` and `--target=ResetDevSite`.

* Use variable for cake verbosity

* Update vsdoc file for jQuery to 3.4.1

* Inherit Monaco font (instead of using Roboto)

Fixes dnnsoftware#4344

* Removed elemets and marked obsolete the methods that need to stay due to the public nature of them.

* Adjusted project structure and templates to support proper sitemap configuration on new portal creation. (dnnsoftware#4342)

* Revert "Simplify cookie setting to avoid duplicate language cookies being set"

This reverts commit 2435e14.

* Adjusts build to support upgrades from De-Teleriked Dnn (dnnsoftware#4350)

Allows upgrading from De-Teleriked 9.8.0 instances without reinstalling Telerik dependent packages.

* Don't check user permissions unless there's a user

Fixes dnnsoftware#4355

* Fixed for anti-pattern Obsolete

* Update DNN Platform/Library/Security/PortalSecurity.cs

Co-authored-by: Brian Dukes <[email protected]>

* Apply suggestions from code review

Code layout fixes

Co-authored-by: Brian Dukes <[email protected]>

* Resolves a build error from using deprecated enum value.

Replaced with WebUtility.HtmlEncode

* Fix AssemblyInstaller failing to RemoveBindingRedirect when action="UnRegister" and dll is missing.

* Add assertion to test

* Clean up warnings

Also adjust naming

* DNN-42147 Denying permission (dnnsoftware#4364)

* Adjust flaky test away from ExpectedException

This expresses the intent of the test better (it shows which line it
expects to throw), and locally seems to be more reliable

* Remove duplicate references

Prefer project references to assembly references

* Remove more duplicate references

* Enable warnings as errors for CountryListBox

* Suppress documentation suggestion in test projects

* Turn on TreatWarningsAsErrors for test projects

Co-authored-by: Andrew Hoefling <[email protected]>
Co-authored-by: Daniel Valadas <[email protected]>
Co-authored-by: Brian Dukes <[email protected]>
Co-authored-by: Will Strohl <[email protected]>
Co-authored-by: David Poindexter <[email protected]>
Co-authored-by: Mitchel Sellers <[email protected]>
Co-authored-by: Tauqeer Haider <[email protected]>
Co-authored-by: Mandeep Singh <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: engineering87 <[email protected]>
Co-authored-by: Muralidaran Kuppusamy <[email protected]>
Co-authored-by: Josh Slaughter <[email protected]>
Co-authored-by: Stefan Kamphuis <[email protected]>
Co-authored-by: Ben <[email protected]>
Co-authored-by: rhaiamz <[email protected]>
Co-authored-by: Berk Arslan <[email protected]>
Co-authored-by: Kieran Corkin <[email protected]>
Co-authored-by: Peter Donker <[email protected]>
Co-authored-by: David Rodriguez <[email protected]>
Co-authored-by: Robert Dima <[email protected]>
Co-authored-by: Mikhail Bigun <[email protected]>
  • Loading branch information
1 parent 0d2503d commit b8f7e28
Show file tree
Hide file tree
Showing 4,561 changed files with 248,616 additions and 164,260 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
4 changes: 3 additions & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@
# top-most EditorConfig file
root = true

# Standardize on CR/LF (Windows) line endings
# Don't use tabs for indentation.
[*]
end_of_line = crlf
indent_style = space
# (Please don't specify an indent_size here; that has too many unintended consequences.)

Expand Down Expand Up @@ -182,4 +184,4 @@ csharp_space_between_parentheses = false
# Blocks are allowed
csharp_prefer_braces = true:silent
csharp_preserve_single_line_blocks = true
csharp_preserve_single_line_statements = true
csharp_preserve_single_line_statements = true
5 changes: 3 additions & 2 deletions .github/BUILD.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ You'll need to be running IIS and SQL server (Express) locally for this to work.
The build process uses a local settings file which is excluded from source control so you won't accidentally upload this to Github. First open up Powershell at the root of this repository and run the following:

```
.\Build.ps1 -Target CreateSettings
.\Build.ps1 --target=CreateSettings
```

This will create a file called `settings.local.json` at the root with the following content:
Expand Down Expand Up @@ -87,7 +87,7 @@ The settings are as follows:
Once you've set up the above, run the following in Powershell:

```
.\Build.ps1 -Target ResetDevSite
.\Build.ps1 --target=ResetDevSite
```

This will attempt to delete all content in `WebsitePath` and will build DNN to that location.
Expand All @@ -107,6 +107,7 @@ To build the .net projects to the right location, you'll need to create your ove
```

Once you've created this file every time you click "rebuild" in Visual Studio on a project (or the solution) you'll see the content change in your dev site.
**Note**: You may have to restart Visual Studio for this new build file to take effect.

For the Webpack projects it is set up to read from the `settings.local.json` file and use the `WebsitePath` to copy generated js files to their right place.

Expand Down
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/bug-report.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ Provide any additional context that may be helpful in understanding and/or resol
<!--
Please add X in at least one of the boxes as appropriate. In order for an issue to be accepted, a developer needs to be able to reproduce the issue on a currently supported version. If you are looking for a workaround for an issue with an older version, please visit the forums at https://dnncommunity.org/forums
-->
* [ ] 10.00.00 alpha build (in development)
* [ ] 09.06.01 latest supported release
* [ ] 10.00.00 alpha build
* [ ] 09.08.00 latest supported release

## Affected browser
<!--
Expand Down
26 changes: 9 additions & 17 deletions .github/PULL_REQUEST_PROCESS.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,18 +25,11 @@ Community review of submitted pull requests is encouraged, and all pull requests
At the current time the following community members are designated approvers.

* Mitchel Sellers ([mitchelsellers](https://github.com/mitchelsellers)) - Community Technology Advisory Group Lead
* Oliver Hine ([ohine](https://github.com/ohine))
* Brian Dukes ([bdukes](https://github.com/bdukes))
* Peter Donker ([donker](https://github.com/donker)) - Community Developer Advisory Group Lead
* Daniel Valadas ([valadas](https://github.com/valadas))
* Matt Rutledge ([mtrutledge](https://github.com/mtrutledge))
* Vicenç Masanas ([vmasanas](https://github.com/vmasanas))
* Erik van Ballegoij ([erikvb](https://github.com/erikvb))

Additionally, the following individuals from ESW/DNN Corp are approved reviewers.

* Daniel Aguilera ([daguiler](https://github.com/daguiler)) - CTO
* Ash Prasad ([ashishpd](https://github.com/ashishpd)) - VP of Engineering
* David Poindexter ([david-poindexter](https://github.com/david-poindexter)) - Community Strategy Advisory Group Lead

### Review Minimums
An individual performing the code review should validate at a minimum the following.
Expand All @@ -50,11 +43,17 @@ If a reviewer has suggestions for improvement, those should be noted in the pull

*If you have questions about a pull request or an idea for a pull request, please reach out to one of the approvers before submitting to ensure a streamlined process.*

### Draft PR's
For proper management of pull requests the team will utilize the "Draft" option within a pull request to identify something that is being submitted for consideration and in need of review/comment or other special review from the team. Individuals should coordinate with the Approvers group prior to submitting any Draft pull requests as they are special cases.

### On-Hold Tag
The Approvers group will add the "On-Hold" tag to any pull request that is targeting a major or minor release until it is ready for merging. This is done as an administrative process to prevent accidental merging and is not a reflection of rejection of the submitted code. The associated milestone will be updated when the "On-Hold" tag has been added for clear communication regarding expectations.

Examples of requests of this nature include technology or dependency changes that could introduce major/minor breaking changes.

## Merging & Closing of Requests
Once a pull request has been reviewed by two designated approvers it may be merged and the pull request closed.

> This **_MUST NOT_** be done by the submitter of the Pull Request for ANY reason!
### Execption for Build Process Pull Requests
A special exception has been granted to reduce the number of Designed Approval reviews to 1 for all pull requests related to Build Support when incrementing versions in prepration of a release, or reconfiguration of the environment for the next version.

Expand All @@ -68,10 +67,3 @@ We follow the process outlined in the [Versioning Policy](VERSIONING_POLICY.md)
The review team will work to respond to all pull requests in a timely fashion. If changes or additional information is requested a pull request will remain open allowing the submitter to update their contribution accordingly. If a request for additional information or changes is not completed with 90 days of request the Pull Request will be closed to keep the pipeline clear. Once the needed information has been gathered the information can be re-submitted via a new Pull Request.

For expedited processing you may reference the prior Pull Request.

### Items for Future Releases
If an item was submitted that will be integrated into a future release that is not currently in the development pipeline it is possible that the Pull Request will remain open.

In this situation the reviewing team will approve the request, tag the request with a specific version milestone and add a comment noting when and why it will be included in the particularly identified release.

This most often will apply to technology or dependency changes that require alignment with Major, Minor, Revision build inclusion.
27 changes: 20 additions & 7 deletions .github/RELEASE_SCHEDULE.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,29 @@
# DNN Platform Release Schedule
To ensure adequate time for release planning by the community, partners, and vendors a specific release process will be followed for all releases.
To ensure adequate time for release planning by the community, partners, and vendors, a specific release process will be followed for all releases.

## Release Candidates
For a period of one week (Revision), two weeks (Minor) or four-weeks (Major) before any release, a Release Candidate (RC) version will be made available to the public. At present these release candidates will be for testing only. After version 10.x efforts will be made to support upgrading from RC to Production releases.
A Release Candidate (RC) is designed to give the community time to adjust their existing environments for any breaking changes and identify any unintended changes. Strong community participation during the RC process will result in more stable releases.

The goal of these release candidates is to give the community time to adjust their existing environments for any breaking changes, as well as to identify any issues with the changes. If necessary, changes will be incorporated an additional RC release could be made if significant problems are identified. If a revised Release Candidate is necessary the Production Release schedule will be impacted. The exact impact will vary on a case-by-case basis depending on the nature of the issue(s) identified during RC review, however, will be clearly communicated during the release.
### Major Releases (`MAJOR.Minor.Patch`)
Major releases will have an initial RC cycle with a minimum duration of three weeks between the date of the RC release and the date of the final release.

## Production Releases
Production releases will only be completed after a successful RC phase, except in the case of a significant security release that was included as part of a revision release.
### Minor Releases (`Major.MINOR.Patch`)
Minor releases will have an initial RC cycle with a minimum duration of two weeks between the date of the RC release and the date of the final release.

The release date will be communicated to the community at the time of the RC. And each release will take the following considerations into mind for all releases.
### Patch Releases (`Major.Minor.PATCH`)
Patch releases will have an initial RC cycle with a minimum duration of one week from the RC release and final release.

* Releases must allow for at least two additional business days after the release for regular Monday - Friday office situations (Releases only on Monday, Tuesday or Wednesday)
### Changes During RC Cycle
If necessary, changes will be incorporated during an RC; if the changes resolve significant issues or introduce risk, an additional RC may be created at the discretion of the Approvers group. If a revised RC is necessary, the Production Release schedule will be impacted; the exact impact will vary on a case-by-case basis depending on the nature of the issue(s) identified during the RC review. However, it will be communicated as part of the updated RC release notes.

## Final Releases
Production Releases will only be completed after a successful Release Candidate cycle, except in the case of a significant security release included as part of a Patch release.

The anticipated release date will be communicated to the community at the time of the RC. And each release will take the following considerations into mind for all releases.

* Releases must allow for at least two business days following the release (based on standard business operations of Monday - Friday). Thus, releases should only be made on Mondays, Tuesdays, or Wednesdays.
* Releases will not be completed during weeks of major US holidays, specifically New Years, Memorial Day, Independence Day, Labor Day, Thanksgiving Day, or Christmas.
* Best efforts shall be made to avoid other significant holidays in other countries.

## Release Notifications
You can utilize the "Watch" functionality within GitHub to receive notifications for new Release Candidates and Production Releases using the "Releases Only" notification option.
26 changes: 15 additions & 11 deletions .github/VERSIONING_POLICY.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,33 @@
# DNN Platform Versioning and Deprecation Policies
The DNN Platform follows a semantic versioning process for releases, in a manner to better communicate expectations of releases and their potential impacts to users of the platform.

##Semantic Versioning
## Semantic Versioning
The DNN Community adopted the current semantic version policy in July of 2018. Releases before this date may follow different standards.

### Major Releases (Ex 10.0.0)
A major release is as the name implies, a release with major changes. These changes might include new features, breaking changes, or other larger changes. Each major release will come with release notes that outline the nature of any known breaking changes.

Major releases are also the time that platform requirements might be changed, such as requiring a new edition of SQL Server or otherwise.
Major releases are also the time that platform requirements might be changed, such as requiring a new edition of SQL Server, .NET Framework, or otherwise.

### Minor Releases (Ex 10.1, 10.2, 10.x)
A minor might contain smaller new features and enhancements, but will not introduce any breaking API changes, nor will it change the requirements of the hosting environment or platform to run the application.
A minor release might contain smaller new features and enhancements, but will not introduce any known breaking API changes, nor will it change the requirements of the hosting environment or platform to run the application.

It is possible that minor breaking changes and Javascript library updates are included in minor releases.

### Revision Releases (Ex 10.1.1, 10.1.2, 10.1.x)
These releases are created primarily to contain hot-fix style improvements from prior releases. Any bugs or security issues identified, or missing UI/UX features from a Minor/Major release might be added to a revision release. Similar to a Minor release a Revision release will not contain any known breaking changes.
These releases are created primarily to contain hot-fix style improvements from prior releases. Any bugs or security issues identified, or missing UI/UX features from a Minor/Major release might be added to a revision release. Similar to a Minor release a Revision release will not contain any known breaking changes API.

## API Deprecation Policy (Updated September 2020)
The DNN Platform project is in a state of transition, continuing to modernize the API and remove existing technology debt. To this point, it will be necessary for the project to remove/restructuree many public API's. This will be done methodically, allowing developers to transition away from the older code with time to properly respond to change.

## API Deprecation Policy
The DNN Platform project is in a state of transition, continuing to modernize the API and work towards a transition to .NET Core. To this point, it will be necessary for the project to remove public API's. This will be done methodically, allowing developers to transition away from the older code with time to properly respond to change.
Any API method to be removed will be flagged as deprecated in a release, major, minor or revision, and will be identified to be removed by a specific version. This will be done using a C# annotation with a comment similar to the following "Deprecated in x.x.x. Scheduled for removal in vy.0.0, use ____ instead". The version number of "y" in this example must be 2 major versions ahead.
Therefore, an API marked as Deprecated in 9.2.1 can only be removed in version 11.0. Additionally, methods marked for removal in a version will GUARANTEED be removed in that revision.
Any API method to be removed will be flagged as deprecated in a release, major, minor or revision, and will be identified to be removed by a specific version. This will be done using a C# `[Obsolete]` attribute with a comment similar to the following "Deprecated in x.x.x. Scheduled for removal in vy.0.0, use ____ instead". The version number of "y" in this example must be 1 major versions ahead of the version in which the notice was added.

Therefore, an API marked as Deprecated in 9.2.1 can only be removed in version 10.0. Additionally, methods marked for removal in a version will GUARANTEED be removed in that revision.
> Example: [Obsolete("Deprecated in DotNetNuke 7.0. This function has been replaced by AddUserRole with additional params. Scheduled removal in v10.0.0.")]
### Testing Recommendations
It is suggested that all extension developers recompile their projects on the latest API versions on a regular basis to identify removed elements as the compiler warnings will be the primary communication method for these changes.

### Special DNN 10.x Cleanup
A number of legacy APIs have been marked as deprecated for more than 7 years and not yet removed. To continue to clean the API structure a final cleanup is being completed as part of the 10.x release. All of these API's are more than 2 major revisions older, however, have non-standard indicators for the Obsolete attribute. These will be removed in 10.x along with other expected removals.
Lastly, each Major release will contain release notes outlining every API method removed. More information can be found [in this blog post](https://www.dnnsoftware.com/community-blog/cid/156712/moving-forward-dnn-platform-100-growing-pains-lead-to-improvement)



Binary file modified .github/images/PoweredByNDepend.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 8 additions & 0 deletions .github/mergeable.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,15 @@ mergeable:
no_empty:
enabled: true # Cannot be empty when true.
message: 'A milestone must be assigned to this pull request'
must_exclude:
regex: 'Future:'
regex_flag: 'none'
message: 'A milestone that does not contain `Future:` must be assigned to this pull request'
- do: label
begins_with:
match: 'Type:' # or array of strings
message: 'A `Type:` label must be assigned to this pull request'
must_exclude:
regex: 'On Hold'
regex_flag: 'none' # Optional. Specify the flag for Regex. default is 'i', to disable default use 'none'
message: 'This PR is `On Hold`'
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,8 @@ DNN [Pp]latform/Syndication/[Bb]in/*
DNN [Pp]latform/[Cc]onnectors/*/[Bb]in/*
DNN [Pp]latform/[Pp]roviders/*/[Bb]in/*

DNN [Pp]latform/Modules/ResourceManager/**/scripts/*-bundle.*

# ignore all other language resx files
*.de-DE.resx
*.es-ES.resx
Expand All @@ -130,3 +132,9 @@ DNN [Pp]latform/[Pp]roviders/*/[Bb]in/*

# Add fips back
!DNN Platform/[Ww]ebsite/App_Data/FipsCompilanceAssemblies/Lucene.Net.dll

yarn-error.log

/Build/bin/
/.dotnet/
/Build/Tools/
19 changes: 19 additions & 0 deletions Build/Build.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net4.8</TargetFramework>
<PackAsTool>true</PackAsTool>
<!-- Make sure start same folder .NET Core CLI and Visual Studio -->
<RunWorkingDirectory>$(MSBuildProjectDirectory)</RunWorkingDirectory>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Cake.FileHelpers" Version="3.3.0" />
<PackageReference Include="Cake.Frosting" Version="1.0.0-rc0001" />
<PackageReference Include="Cake.Git" Version="0.22.0" />
<PackageReference Include="Cake.NuGet" Version="1.0.0-rc0001" />
<PackageReference Include="Cake.XdtTransform" Version="0.18.1" />
<PackageReference Include="Dnn.CakeUtils" Version="1.1.10" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
<PackageReference Include="System.Data.SqlClient" Version="4.8.2" />
</ItemGroup>
</Project>
25 changes: 25 additions & 0 deletions Build/Build.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.30717.126
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Build", "Build.csproj", "{0E12A49C-A8A3-43E4-A25B-6E6F51DD7D14}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{0E12A49C-A8A3-43E4-A25B-6E6F51DD7D14}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0E12A49C-A8A3-43E4-A25B-6E6F51DD7D14}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0E12A49C-A8A3-43E4-A25B-6E6F51DD7D14}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0E12A49C-A8A3-43E4-A25B-6E6F51DD7D14}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {13A32835-854D-40B7-B497-882B55297419}
EndGlobalSection
EndGlobal
Loading

0 comments on commit b8f7e28

Please sign in to comment.