Since releasing version 2.0 in coordination with the .NET 5 launch event at .NET Conf, Oqtane has continued to mature and gain momentum. As expected, broader adoption has revealed opportunities for improvement and led to more user feedback on how to enhance the framework to improve its resiliency and cater to additional use cases.
Localization
Originally announced as part of the 2.0 release, localization support is essential for allowing developers to create web UIs which users can interact with in their native language. Oqtane provides support for localization in the core framework itself as well as in external modules and themes, and it can also be used when running on Blazor Server or Blazor WebAssembly. Hisham Bin Ateya (@hishamco) made significant contributions in the 2.0.1 release to ensure the entire administrative user interface can be fully localized. In addition it is now possible for an individual site to specify its supported languages and default language preference. You can expect localizations in a variety of languages to be published in the Translations repo.
User Experience
Feedback from the community has been invaluable in terms of making the Oqtane administrative user experience more streamlined and intuitive. In particular, the installation and removal of modules and themes has been improved to provide the host user with full control for completing the process. Consistent with earlier versions, support for the Open Iconic icon library is still provided by default, however it is now possible to use other icon libraries as well. In order to reduce confusion, Tenant Management has been integrated with Site Settings, and it is now possible to provide a custom admin container if you would prefer to use something other than the default modal popup behavior.
Scheduled Jobs
The ability to execute background tasks is a critical feature in any developer framework, and a number of improvements have been made to the scheduled jobs capability. This includes the simplification of the boilerplate code required to develop a job as well as the auto-registration of jobs to streamline the installation process.
Performance
In accordance with the philosophy for relentless optimization in regards to speed, Oqtane received a number of valuable performance improvements in this release. Module and theme loading was optimized and Blazor cascading parameters now take advantage of the IsFixed property to disable change notification monitoring.
ISettingsControl
Modules have always included support for a Settings component which is dynamically integrated into the Module Settings user interface. Traditionally this was implemented using a naming convention, however an enhancement was added to 2.0.1 which enables module developers to use an explicit interface instead.
This release includes 101 pull requests submitted by 9 different contributors, pushing the total number of project commits all-time over 1600. The Oqtane framework continues to evolve at a rapid pace to meet the needs of .NET developers. The 2.0.1 release is available for download on Github.