Oqtane is a Modular Application Framework for Blazor
To get started with Oqtane:
1. Oqtane is currently compatible with .NET Core 3.0 Preview 4 SDK (3.0.100-preview4-011223). Microsoft continues to release new versions of .NET Core 3.0 on a regular basis and we do our best to keep up; however, for the best results you should use the most compatible .NET Core 3.0 version.
2. Install the latest Preview edition of Visual Studio 2019 with the ASP.NET and web development workload.
3. Install the latest Blazor extension from the Visual Studio Marketplace.
4. Enable Visual Studio to use preview SDKs: Open Tools > Options in the menu bar. Open the Projects and Solutions node. Open the .NET Core tab. Check the box for Use previews of the .NET Core SDK. Select OK. Note that this option may no longer be applicable in newer versions of Visual Studio 2019 Preview edition.
5. Download or Clone the Oqtane source code to your local system. Open the Oqtane.sln solution file. If you want to develop using server-side Blazor ( which includes a full debugging experience in Visual Studio ) you should choose to Build the solution using the default Debug configuration. If you want to develop using client-side Blazor ( WebAssembly ) you should first choose the "Wasm" configuration option in the Visual Studio toolbar and then Build.
Oqtane was created by Shaun Walker and is inspired by the DotNetNuke web application framework. Initially created as a proof of concept, Oqtane is a native Blazor application written from the ground up using modern .NET Core technology. It is a modular framework offering a fully dynamic page compositing model, multi-site support, designer friendly templates ( skins ), and extensibility via third party modules.
At this point Oqtane offers a minimum of desired functionality and is not recommended for production usage. The expectation is that Oqtane will rapidly evolve as a community driven open source project. At this point in time we do not promise any upgrade path from one version to the next, and developers should expect breaking changes as the framework stabilizes.
A simplistic login flow ( note that a full authentication story has not been implemented at this point ):
Main view for authorized users, allowing full management of modules and content:
Content editing user experience using modal dialog:
Context menu for managing specific module on page:
Control panel for adding, editing, and deleting pages as well as adding new modules to a page: