Skip to content
This repository has been archived by the owner on Oct 6, 2019. It is now read-only.

Restructure AE Extensions into a single VS Project. #693

Merged

Conversation

ohine
Copy link
Contributor

@ohine ohine commented Apr 9, 2019

Summary

Currently this combines the all of the persona bar extensions into a new common project called Dnn.PersonaBar.Extensions. This reduces the projects in the solution to

The goal for this phase is to end up with 3 DNN install files. Dnn.EditBar, Dnn.PersonaBar, and Dnn.PersonaBar.Extensions. Yarn workspaces will also be configured in the Dnn.PersonaBar.Extensions project to further improve our build times and developer productivity.

Testing Summary

Completed install with v9.3.1.2 and AE v3.0.0.8. Before triggering the install, I deleted the 23 PersonaBar Extensions from ~/install/module and replaced them with the 21 from v3.0.0.8. No issues found.

Completed install with v9.4.0.alpha-18 and [AE v3.0.0.10] Before triggering the install, I deleted the 23 PersonaBar Extensions from ~/install/module and replaced them with the 3 from v3.0.0.10. Users module not rendering due to missing export sub-bundle. Retesting with v3.0.0.14 and no issues detected.

Build Time Improvements

Full CI (clone, compile, yarn install/build, package, unit test)
*v2.0.0: 17min 30s
*v3.0.0: 11min 30s

Reduction of Packages to Install/Upgrade

This reduces the packages installed and upgraded on platform releases by 50% (v9.3.2 has 41 modules to install, v9.4.0 has 21).

Testing not yet completed.

Upgrade from v9.3.1, and v9.2.2 to verify uninstallation of all old extensions and everything still functions under the new v3 package.

Areas for Future Improvements

PersonaBar.UI also contains a react.web project. This would benefit if it's loaded into the yarn workspaces configuration. The initial idea is to move the config for yarn workspaces up to the root. If that doesn't work, we will need to relocate PersonaBar.UI below the WebApps folder. The same issue will apply after React.Common is merged into the AE repo.

Combine the UI and Library projects into a single project/assembly. EditBar.UI and EditBar.Library would become EditBar. PersonaBar.UI and PersonaBar.Library would become PersonaBar. This could potentially be a breaking change as any personabar extensions would need to be updated for the new reference.

@ohine ohine added this to the 3.0.0 milestone Apr 9, 2019
@ohine ohine marked this pull request as ready for review April 15, 2019 01:50
@ohine
Copy link
Contributor Author

ohine commented Apr 19, 2019

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@mitchelsellers
Copy link
Contributor

Notes to @dnnsoftware/tag when we merge this one in, avoid using the "Squash & Merge" so we can keep the history on the individual commits for historical purposes.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants