This is a major technical update with minimal impact to the customer experience.
Framework Migrations
ASP.NET MVC Framework (/Web) to ASP.NET Core 3
ASP.NET WebForms (/Forms) to ASP.NET Core 3
.NET Framework version of OnTopic Library to .NET Standard, C# 8
ASP.NET WebForms version of OnTopic Editor to ASP.NET CoreRazor Class Library
Note: The forms, in particular, are a ground up rewrite.
Library Improvements
The update to OnTopic Library introduces the following benefits:
Establishing a Composition Root for Dependency Injection through new architectural patterns
Use of new View Components, such as MenuViewComponent, for handling shared components across the site
Replacement of legacy Code Contracts with C#’s new nullability context
Introduction of new ReverseTopicMappingService for mapping binding models back to topics
Support for new mapping scenarios such as [Metadata()], [Flatten], and [MapToParent()], alongside support for compatible collections, nullable types, topic references, &c.
No more dependencies on the legacy TopicRepository static class from Ignia.Topics.Web
No more dependencies on the legacy ITopicRoutingService for identifying the current topic
Both OnTopic Library and OnTopic Editor now built via continuous integration and imported via NuGet packages
Build Improvements:
Most client-side dependencies are now downloaded via npm’s packages.json
Dependencies are concatenated, mapped, and copied to final locations via Gulp.js
Gulp.js build process neatly allows for one off view resources that aren’t part of main assemblies
Removal of dozens of legacy libraries that required manual side-loading and updating to maintain
New deployment process allows direct publishing from Visual Studio without worrying about overwriting legacy content files; those are now excluded via csproj
General Improvements
Use of composable binding models for constructing customer forms that share core features
Dramatic reduction of legacy code and configuration, leading to a much simpler code base
Significant improvement in startup time, primarily due to ASP.NET Core 3's view compilation
Replacement of the legacy Membership Database with new Azure AD for authenticating via OpenID Connect
Improved configuration setup through secrets.json and App Service Configuration
This should provide a reliable technological foundation of the site for quite some time.
This is a major technical update with minimal impact to the customer experience.
Framework Migrations
/Web
) to ASP.NET Core 3/Forms
) to ASP.NET Core 3Library Improvements
The update to OnTopic Library introduces the following benefits:
MenuViewComponent
, for handling shared components across the siteReverseTopicMappingService
for mapping binding models back to topics[Metadata()]
,[Flatten]
, and[MapToParent()]
, alongside support for compatible collections, nullable types, topic references, &c.TopicRepository
static class fromIgnia.Topics.Web
ITopicRoutingService
for identifying the current topicBuild Improvements:
packages.json
csproj
General Improvements
secrets.json
and App Service ConfigurationThis should provide a reliable technological foundation of the site for quite some time.