Building An Ecosystem
Ever since May 2020 when I initially released Oqtane 1.0, the open source project has evolved based on the part-time contributions of myself and other community volunteers. The project has grown significantly during the past 3 years and it has now reached a stage where it needs more dedicated focus and resources in order to reach its full potential. So I am excited to announce that I have decided to make a significant career change which will allow me to devote more time to the project and community.
Connection String Management
One of the areas of the framework which has created some support issues in the past is connection string managemement. .NET developers generally expect connection strings to be located in appsettings.json, so the fact that Oqtane had a master connection string in appsettings.json but maintained its tenant connection strings inside of the master database caused some confusion. This was especially problematic when troubleshooting installation issues or trying to migrate Oqtane to new infrastructure. The frame
Oqtane 3.4.0 Released
The 3.4.0 release is primarily focused on performance, as the permissions system has been overhauled to avoid unnecessary encoding and parsing of custom access control strings. This release also includes enhancements to connection string management, numerous stabilization and user experience improvements, and the ability to dynamically generate an XML sitemap for seach engine indexing.
The permissions system in Oqtane is an essential core service as it manages access control within the framework. As part of the the initial creation of Oqtane, certain administrative functions were identified as requiring more privileges and were therefore made available only to users in the Administrators role. Although this approach works well for many installations, there are scenarios in larger organizations where a more fine-grained approach is required for delegated administration. The Oqtane 3.3.0 re
Oqtane 3.3.0 Released
The 3.3.0 release is primarily focused on flexibility, as the permissions system has been enhanced to support a new type of API permissions that provide developers with additional opportunities to create sophisticated modern web applications. This release also includes performance optimizations, enhancements to file management, and numerous user experience improvements including the addition of a new AutoComplete component.
Oqtane Server Events
Oqtane has always contained a SyncManager on the server which has traditionally only been used to synchronize specific server-side events with client-side state. In Oqtane 3.2.1 this capability has now been included using the standard .NET EventHandler capability in conjunction with the SyncManager to raise SyncEvents (which inherit from the standard .NET EventArgs).
Oqtane 3.2.1 Released
The 3.2.1 release is primarily focused on stabilization. This includes performance improvements to the client startup logic for Blazor Hybrid and Blazor WebAssembly, improvements to base url handling and static resources for component resusability in .NET MAUI, support for Roles as part of OpenID Connect integrations, as well as a new capability to capture server-side events in your custom code.
Blazor Client-Side Assembly Servicing
Blazor applications utilize a client/server architecture. This means that in the majority of Blazor hosting models, a client application is deployed to a specific client device or process which interacts with the server using standard HTTP requests. One of the biggest challenges in most client/server models is how to ensure the client stays updated with the latest fixes and improvements. Obviously the more automated and seamless this process can be from an end user perspective, the more successful it will b
Oqtane 3.2 For .NET MAUI & Blazor Hybrid
The 3.2 release introduces some powerful new multi-platform capabilities based on .NET MAUI and Blazor Hybrid, as well as additional performance optimizations and developer experience improvements.