Oqtane Developers Meeting - August 2024

August 13, 2024

By: Shaun Walker

Developer Meeting: August 7, 2024 at 12:00 PM ET



Status Updates

5.2.0 released on July 25, 2024

  • 109 Pull Requests (2499 Total)
  • 247 Commits (5615 Total)
  • 8 Contributors (57 Total)
  • 2 New Contributors

Contributors: @sbwalker, @zyhfish, @leigh-pointer, @mdmontesinos, @pollux, @iJungleboy, @thabaum, @fonsecaf

UI Performance

A variety of scalability and performance improvements were implemented in the 5.2.0 release. One area in particular was related to sites using the new static render mode in .NET 8 and passing state across render mode boundaries. It turns out that Blazor parameters passed from static components to interactive components are serialized and encrypted by Blazor and then injected into the page output. This "viewstate" has the potential to cause significiant page bloat. The main areas in Oqtane where this issue was identified was the Control Panel, Module Actions menu, and Interactive Modules – all related to passing PageState object as a parameter to interactive components. The way this issue was manifested was when an authenticated user attempted to invoke "edit mode", there would be a noticeable delay in the re-rendering of the page. This problem was resolved by trimming the PageState object prior to passing it as a parameter to interactive components. This resulted in a behavioral change in some specific scenarios where the PageState.Pages collection would no longer be available in downstream interactive components.

Text Editor

An extensibility model has ben introduded which allows alternate implementations of text editors to be created and integrated with the framework. The default Text Editor will continue to be based on QuillJS. The QuillJS Text Editor was enhanced with a Settings configuration option which allows administrators to control the functionality of the editor at both a site and module level. An alternate TextArea Text Editor has been included for demonstration purposes as an example for how the framework can support other text editors. We expect that developers will use this new extensibility model to create wrappers around popular rich text editors such as Radzen, etc...

Content Search Engine

A content search capability has been integrated into the framework. It has 2 main extensibility points:

  • ISearchable - an interface which modules can implement that allows their content to be indexed
  • ISearchProvider - an interface which allows developers to create custom Search Providers (ie. to allow integration with 3rd party search solutions and services)

The default Search Provider uses a standard inverted index to provide lexical search capabilities based on key words. The search content is stored in the Oqtane tenant database (ie. SQL Server, MySQL, SQLite, PostgreSQL). The default search provider requires no additional infrastructure or dependencies and should satisfy the needs of the majority of sites. A new Search Settings page was added to the Admin Dashboard for each site providing configuration options for indexing content.

Blog Module

The open source Blog module has been significantly enhanced in recent months. This includes maintaining all versions of blog content, the ability to manage workflow states of Draft and Published, include a primary image for each blog post, manage categories and tags, manage meta tags for SEO, allow content to be indexed by the new Oqtane search engine, and the ability to add Blog Widgets to any page to display alternate views of blog posts such as most recent, most popular, related blogs, etc... The new version will be published to the Oqtane Marketplace (and Nuget) soon.

Black Belt Blazor

On September 5, 2024 from 12:00-1:00 ET we will be hosting a webinar titled "Black Belt Blazor" In this session we will provide a deep dive into some of the more challenging aspects of Blazor including state management, JavaScript integration, pre-rendering and "double loading", dealing with render mode boundaries, static rendering interactivity, optimizing component ViewState, etc... This presentation will be primarily focused on Blazor but is inspired by lessons learned while developing Oqtane. Registration is required and is available here.

TrailBlazor Conference

On October 3, 2024 will be partnering with C# Corner to host a free virtual conference titled "TrailBlazor". Daniel Roth, Blazor Product Manager at Microsoft, and Shaun Walker, creator of Oqtane, will be a keynote speakers. The conference will focus on Blazor, .NET MAUI (Blazor Hybrid), and Oqtane. More information will be available shortly.

Commercial Product

A commercially licensed version of Oqtane will be available soon. The commercial edition will include personalized product support, indemnnification, prioritized issue resolution and enhancement consideration, and architecture/integration/upgrade consultation services. The commercial edition will be offered under the brand name "BlazorKit" and will be available for purchase via the Oqtane Marketplace. More information will be available soon.

Roadmap

The following roadmap outling the expected releases in 2024 were shared:

  • 5.2.1 - August 20204 - Monthly Maintenance Release
  • 6.0.0 - Q4 2024 - .NET 9 & Scale Out Support

The next Oqtane Developer Meeting will be on September 4, 2024.



Share Your Feedback...
Do You Want To Be Notified When Blogs Are Published?
RSS