Oqtane is a Modular Application Framework for Blazor
To get started with Oqtane:
1. Oqtane is currently compatible with .NET Core 3.0 Preview 8 SDK (3.0.0-preview8.19405.7). 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 Environment node. Open the Preview Features tab. Check the box for Use previews of the .NET Core SDK. Select OK.
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.
This project is a work in progress and the schedule for implementing the items identified below is dependent upon the availability of community members who are able to assist.
- Need ability to manage Roles and association to Users
- Need ability to manage Permissions
- a permission UI component for pages/modules
- may also need to include Permission table schema similar to DNN
- Need ability to manage Authorization ( will need to be custom so that permissions set by user are observed at API level )
- Support for friendly Page Not Found handling
- Need modern Admin UI theme
- Need to cleanly separate site.css
- CSS registration for modules and skins
- Need ability to package/install Modules
- Need ability to package/install Themes
- Need fully functional administrative modules for all core entities ( user, role, site, etc… )
- Need ability to create a new Site and auto provision Admin pages/modules
- Need ability to soft delete core entities
- Re-ordering of modules in panes
- Drag and Drop modules
- Need ability to upgrade application seamlessly
- integrated store/catalog of extensions
- auto update - provide url to check for updates, perhaps even download in background - core and extensions
- Need ability to provision a new tenant DB
- Need ability to run on SQLite
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 seamless login flow utilizing .NET Core Identity services:
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: