Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Further reorganization of build process #3236

Merged
merged 10 commits into from
Nov 13, 2019
Merged

Further reorganization of build process #3236

merged 10 commits into from
Nov 13, 2019

Conversation

donker
Copy link
Contributor

@donker donker commented Nov 4, 2019

This PR will do the following:

  1. Move the node stuff from the AE folder to the root folder. This allows us to leverage node in the future in pther parts of the project without creating confusion about its location and avoid creation of multiple node_modules folders.
  2. New build script to create a local website using the "ResetDevSite" target in Cake
  3. Add local settings for the above
  4. Reorganize all MSBuild scripts to use the same variables (in Dnn_Platform.build) and the ability to override the value of the website path there using a local file. This allows debug building to the debug website.

bdukes
bdukes previously approved these changes Nov 5, 2019
Copy link
Contributor

@bdukes bdukes left a comment

Choose a reason for hiding this comment

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

LGTM

.vscode/settings.json Outdated Show resolved Hide resolved
Copy link
Contributor

@bdukes bdukes left a comment

Choose a reason for hiding this comment

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

I rebased on release/9.4.x and fixed the .vscode/settings.json file not deleting 👍

@bdukes
Copy link
Contributor

bdukes commented Nov 8, 2019

I did a build of this branch and release/9.4.x and compared them. The only difference that sticks out is that the reorg2 branch includes an extra package in the Install/Library folder, DNNCE_Website.Deprecated_09.04.02_install.zip. Does anyone know anything about that package?

It also appears that the /Install/Module/DNNCE_01_Web.Deporecated_09.02.04_Install.zip package was moved to /Install/Library/DNNCE_Web.Deporecated_09.02.04_Install.zip, but I wouldn't expect that to cause an issue.

@bdukes
Copy link
Contributor

bdukes commented Nov 8, 2019

After installing, the reorg2 site has DotNetNuke.Website.Deprecated.dll in its bin and release/9.4.x did not have that DLL in the bin. So it looks like this either fixed an oversight, or missed a special case exemption.

Also, reorg2 includes DotNetNuke.DependencyInjection.deps.json in the bin, which release/9.4.x doesn't have (but they both have DotNetNuke.Abstractions.deps.json). These JSON files being included in the bin isn't going to cause a problem, but it also doesn't do anything AFAIK, and should probably be excluded.

@donker
Copy link
Contributor Author

donker commented Nov 11, 2019

I did a build of this branch and release/9.4.x and compared them. The only difference that sticks out is that the reorg2 branch includes an extra package in the Install/Library folder, DNNCE_Website.Deprecated_09.04.02_install.zip. Does anyone know anything about that package?

It also appears that the /Install/Module/DNNCE_01_Web.Deporecated_09.02.04_Install.zip package was moved to /Install/Library/DNNCE_Web.Deporecated_09.02.04_Install.zip, but I wouldn't expect that to cause an issue.

It used to be in "Modules" despite being a library because the logic that ensures a proper install order was faulty. I fixed this bug and moved this package back to the Library folder where it belongs.

@valadas
Copy link
Contributor

valadas commented Nov 12, 2019

As for the DNNCE_Website.Deprecated_09.04.02_install.zip package, if I am not mistaken this was code to be removed but still needed in order to be able to migrate from the control panel to the persona bar. This was done in order to still have access to the old codebehind logic on the older webforms based controls because the upgrade removes those files but the upgrade logic still needed some methods from there to perform it's thing.

If I am not mistaken this can be removed in any version as long as people follow the suggested upgrade path that has a step at 9.1.1 before moving forward to the latest version. This being said I don't know if we should keep it there "in case" for people not reading the suggested upgrade path and would try upgrading directly from 8.0.4 (or older) directly to 9.4.x or some such.

See https://dnntracker.atlassian.net/browse/DNN-9552 also...

I think we could keep this in the upgrade package only and get rid of it in 10 ??? Opinions? We could also include a cleanup in 10 to remove it ?

@mitchelsellers
Copy link
Contributor

Deprecated is 100% required currently

@bdukes
Copy link
Contributor

bdukes commented Nov 12, 2019

@mitchelsellers Deprecated.Web is currently included, no issue there.
Deprecated.Website is not currently getting installed (just checked it's not present in 9.3.2), so it can't be 100% required.

@mitchelsellers
Copy link
Contributor

Weird, I was 99.9% sure that was required for the FileManager, I'll have to look deeper in my notes.

I did an NDepend Chart on all of this a while back

@thabaum
Copy link
Contributor

thabaum commented Nov 12, 2019

For things that have been removed or need changed or fixed up due to changes is there a place anywhere where we can look at these. It would also be nice to categorize if it is a developer change needed or an administrative change. Just a thought to have this list possibly a file in the upgrade package or a referenced webpage for things to double check have been done while upgrading your dnn installation from different versions. It is hard to read release notes to find these all the time for every single release it would be convenient to get these all in one location. dnndocs maybe...

Copy link
Contributor

@mitchelsellers mitchelsellers left a comment

Choose a reason for hiding this comment

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

LGTM

@mitchelsellers mitchelsellers merged commit 0dd5bad into dnnsoftware:release/9.4.x Nov 13, 2019
donker pushed a commit that referenced this pull request Nov 15, 2019
* Do not store these portal settings when setting their property on the portalsettings object

* Removed DnnHttpControllerActivator and added DependencyResolver implementation using the IServiceProvider

* Added xml comments for the new DnnDependencyResolver

* Added DnnDependencyResolver Unit Tests

* Replaced IServiceProvider mock with full IServiceProvider implementation to work with Web API tests

* Added more unit tests for the DnnDependencyResolver to cover GetServices (multiple) and BeginScope

* Do not show "No Search results" message when no search is performed. (#3203)

* Revision of build process part 1 (#3137)

* Move website folder

* repairs

* Update Cake

* Move external task to its own file

* Begin packaging scripts in cake

* Further work on packaging

* Ensure Telerik project also gets new version nr

* Move Telerik PDF to its proper place

* New logic for packages that are already in final form in the repo and just need to be zipped.

* Bring fips Lucene lib back under git control

* Newtonsoft package and repair to telerik package

* Splitting off other tasks

* Upgrade and deploy packages

* Symbols package

* Get rid of platform ver in manifest

* Final fixes - working packages

* Move compilation stuff

* House cleaning

* peg utils version

* Fix to ckep script

* suppress warnings

* Variable initialization issue

* Removing unused scripts

* Revert change to Telerik package version

* Move "other" to "thirdparty"

* Get rid of hard coded Newtonsoft version

* Max cpu to 4 for compiling

* Repairs to MSBuild scripts to get AE to build properly

* Correcting paths

* Cleaning up

* Trying to fix ignore file

* Update Build/Cake/thirdparty.json

Co-Authored-By: Brian Dukes <bdukes@engagesoftware.com>

* Remove absolute path from .gitignore

* Fix extension of DNC library package

* Merging AE and DNN build scripts

* Fixes to scripts

* Clean up symbols project for AE since they are included in DNN project now

* Add previously untracked Yahoo compressor dlls

* Remove version information from SolutionInfo.cs

* Fix errors introduced in rebase

* Fix incorrect paths

* Change build order of MSBuild to build extensions before personabar ui.

* Make white-space visible in log viewer (#3198)

* DNN-34236: check the url with case insensitive.

* DNN-29417 Username is changed to email address in the user profile if the "Use Email Address as Username" is enabled.

* Fix to installer and the dependencies of the HTML and DA modules

* DNN-24945 - Always redirect to the source portal page after creating (#3223)

group

* Fix Typo (#3234)

* Improve querystring parse (#3242)

* Improve props popup

* Improve input checking of sites (#3243)

* Fixes an upgrade issue that affects 9.4.1 => 9.4.2 upgrades (#3282)

* Fixes an issue with a duplication of assembly binding

* Removed hardcode version in manifest

* Further reorganization of build process (#3236)

* Introduce settings and add custom version nr

* Ability to create a local dev site

* Move node workspaces to root

* Reshuffling of variables in MSBuild

* Repairs

* Fix

* Allow local override of global build variables

* Only save manifests if the file is not there. This prevents overwriting in case of a failed build before.

* Ensure projects build in debug to the website path specified by the platform build settings

* Don't track vscode folder

* Fixes #3168 Test Sending Email Issues (#3237)

* Use Admin Email for Send if smtpHostMode false

* Fix Test Email Settings TO and FROM Addresses

If I did this right and it should make sense is I set the test email to be able to go to the user testing.  After all they are who are trying to make it work.  It can be any email used by anyone and usually to see this feature you are a host or portal administrator so security should not be as much of a concern here.

The FROM address will use the HOST email settings if set to HOST mode in DNN for the portal, otherwise it should use the Portal Administrators Email account to send from.

This however does not address the issue of using the email address supplied in settings and creating another setting which will be applied next to figure out the correct logic.

* Update ServerSettingsSmtpAdminController.cs

* Fix build issue to previous changes.

PortalSettings.UserInfo.Email 
is this the current user email?

I am still getting my things setup.  I ran VS 2019 to build successfully and I am trying to read through the namespaces correctly so I can understand the changes.  I noticed a number of files possibly needing updates due to being deprecated in 9.4.2 but after I changed the namespace issue those warnings went away.  

One last thought is how do you get intellisense working on DNN solution.  Is that a dream to have or am I missing something in my setup?

* Change to address to the current user's email testing the server.

I believe a UI to set the TO address would be nice to help troubleshoot and address issues trying to send to a specific user.

* Corrected To address for current user email

* TO Current User Email

* DNN-29110 Site Assets > Select All is not working (#3251)

* DNN-29110 Site Assets > Select All is not working

* Code review fix

* Moves Remember Login above Login Button:  referenced in issue #2471 #3255 (#3256)

* Move Remember Login Above Login Button

* Update Login.ascx

* file copy paste issue...

* DNN-34250 Search is not working even after re-Indexing Search for All DNN Portals (#3260)

* Fixes duplication in DotNetNuke.Website.csproj

* Removed reference to missing LeftMenu files
@donker donker deleted the reorg2 branch November 18, 2019 19:33
@valadas valadas added this to the 9.4.3 milestone Nov 20, 2019
@valadas valadas added the chore label Nov 20, 2019
valadas pushed a commit that referenced this pull request Dec 3, 2019
* Do not store these portal settings when setting their property on the portalsettings object

* Removed DnnHttpControllerActivator and added DependencyResolver implementation using the IServiceProvider

* Added xml comments for the new DnnDependencyResolver

* Added DnnDependencyResolver Unit Tests

* Replaced IServiceProvider mock with full IServiceProvider implementation to work with Web API tests

* Added more unit tests for the DnnDependencyResolver to cover GetServices (multiple) and BeginScope

* Do not show "No Search results" message when no search is performed. (#3203)

* Revision of build process part 1 (#3137)

* Move website folder

* repairs

* Update Cake

* Move external task to its own file

* Begin packaging scripts in cake

* Further work on packaging

* Ensure Telerik project also gets new version nr

* Move Telerik PDF to its proper place

* New logic for packages that are already in final form in the repo and just need to be zipped.

* Bring fips Lucene lib back under git control

* Newtonsoft package and repair to telerik package

* Splitting off other tasks

* Upgrade and deploy packages

* Symbols package

* Get rid of platform ver in manifest

* Final fixes - working packages

* Move compilation stuff

* House cleaning

* peg utils version

* Fix to ckep script

* suppress warnings

* Variable initialization issue

* Removing unused scripts

* Revert change to Telerik package version

* Move "other" to "thirdparty"

* Get rid of hard coded Newtonsoft version

* Max cpu to 4 for compiling

* Repairs to MSBuild scripts to get AE to build properly

* Correcting paths

* Cleaning up

* Trying to fix ignore file

* Update Build/Cake/thirdparty.json

Co-Authored-By: Brian Dukes <bdukes@engagesoftware.com>

* Remove absolute path from .gitignore

* Fix extension of DNC library package

* Merging AE and DNN build scripts

* Fixes to scripts

* Clean up symbols project for AE since they are included in DNN project now

* Add previously untracked Yahoo compressor dlls

* Remove version information from SolutionInfo.cs

* Fix errors introduced in rebase

* Fix incorrect paths

* Change build order of MSBuild to build extensions before personabar ui.

* Make white-space visible in log viewer (#3198)

* DNN-34236: check the url with case insensitive.

* DNN-29417 Username is changed to email address in the user profile if the "Use Email Address as Username" is enabled.

* Fix to installer and the dependencies of the HTML and DA modules

* DNN-24945 - Always redirect to the source portal page after creating (#3223)

group

* Fix Typo (#3234)

* Improve querystring parse (#3242)

* Improve props popup

* Improve input checking of sites (#3243)

* Fixes an upgrade issue that affects 9.4.1 => 9.4.2 upgrades (#3282)

* Fixes an issue with a duplication of assembly binding

* Removed hardcode version in manifest

* Further reorganization of build process (#3236)

* Introduce settings and add custom version nr

* Ability to create a local dev site

* Move node workspaces to root

* Reshuffling of variables in MSBuild

* Repairs

* Fix

* Allow local override of global build variables

* Only save manifests if the file is not there. This prevents overwriting in case of a failed build before.

* Ensure projects build in debug to the website path specified by the platform build settings

* Don't track vscode folder

* Fixes #3168 Test Sending Email Issues (#3237)

* Use Admin Email for Send if smtpHostMode false

* Fix Test Email Settings TO and FROM Addresses

If I did this right and it should make sense is I set the test email to be able to go to the user testing.  After all they are who are trying to make it work.  It can be any email used by anyone and usually to see this feature you are a host or portal administrator so security should not be as much of a concern here.

The FROM address will use the HOST email settings if set to HOST mode in DNN for the portal, otherwise it should use the Portal Administrators Email account to send from.

This however does not address the issue of using the email address supplied in settings and creating another setting which will be applied next to figure out the correct logic.

* Update ServerSettingsSmtpAdminController.cs

* Fix build issue to previous changes.

PortalSettings.UserInfo.Email 
is this the current user email?

I am still getting my things setup.  I ran VS 2019 to build successfully and I am trying to read through the namespaces correctly so I can understand the changes.  I noticed a number of files possibly needing updates due to being deprecated in 9.4.2 but after I changed the namespace issue those warnings went away.  

One last thought is how do you get intellisense working on DNN solution.  Is that a dream to have or am I missing something in my setup?

* Change to address to the current user's email testing the server.

I believe a UI to set the TO address would be nice to help troubleshoot and address issues trying to send to a specific user.

* Corrected To address for current user email

* TO Current User Email

* DNN-29110 Site Assets > Select All is not working (#3251)

* DNN-29110 Site Assets > Select All is not working

* Code review fix

* Moves Remember Login above Login Button:  referenced in issue #2471 #3255 (#3256)

* Move Remember Login Above Login Button

* Update Login.ascx

* file copy paste issue...

* DNN-34250 Search is not working even after re-Indexing Search for All DNN Portals (#3260)

* DNN-32474 - Recursive delete option is added (#3249)

* Move Country Above Region in UserProfile.cs

* spacing issue resolved.

* I keep saving but github is moving it on its own.

* Fixed tab for spaces to resolve spacing issues

* Add PortalSettings overloads back (#3295)

Fixes #3289

* Updates issue templates as per 9.4.2 release

* Move Email Above Username in User.ascx #3305 (#3306)

* Move Email Above Username in User.ascx

* Fixed tab index values in User.ascx

* Fix NuGet warning NU5048 (#3304)

The iconUrl property of the nuspec file is deprecated, it's recommended
to add an icon property, which points to a file within the package,
while also retaining the iconUrl property for older clients.
See https://docs.microsoft.com/en-us/nuget/reference/nuspec#iconurl

* Word-Break added to Journal P (#3307)

* Set core object versions to core version (#3287)

Ensure skin and radeditorprovider get the core version nr and add SPROC to set the version of all core packages/desktopmodules to the core version

Fixes #3239

* Third installment of build reorganization (#3285)

* Improve versioning

* New approach: keep versions in source control and change upon CI build

* Remove previous versioning logic

* Cleaning up tasks

* Fixes

* Ensure UpdateDnnManifests targets just the right manifests

* Harmonize naming of zips and nuget packages

* Testing webpack building to dev website

* Adjust webpack projects in AE to build to dev site

* Fixes

* Delete duplicate stuff

* This is generated by Webpack and shouldn't be tracked

* Include missing project from Lerna

* Fixes for building SitesListView

* Update to packages

* Further cleaning

* Remove RadEditorProvider

* Fix ModuleSettings > Added to Pages grid, pager wasn't working

* Allow only alphanumeric characters to be used when forming url from website name (#3316)

* Ensure UpdateDnnManifests doesn't run for building dev site (#3314)

* Reload page when the code tells you to (#3315)

* Reload page when the code tells you to

* Optimize code

* Google Analytics TrackingID is stored in lowercase #3318 (#3322)

* Update sums.resources

* Fix casing mismatch errors in security analyzer file compare

* Update Dnn.AdminExperience/Extensions/Content/Dnn.PersonaBar.Extensions/Components/Security/Checks/CheckDefaultPage.cs

Co-Authored-By: Brian Dukes <bdukes@engagesoftware.com>

* Registered IPersonaBarContainer with DI (#3329)

* Document approval process and group

* Fix typo

* Relaxed nuget.cake wildcard (#3331)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants