CMS & Application Framework for Blazor & .NET MAUI
Go to file
2020-07-18 09:18:02 -07:00
Oqtane.Client modifications to ActionLink and ActionDialog controls, added logic to prevent IHostedService from blocking startup, made controller route prefix consistent in module template 2020-07-17 15:09:05 -04:00
Oqtane.Package preparing for 1.0.1 release 2020-06-23 09:41:17 -04:00
Oqtane.Server modifications to ActionLink and ActionDialog controls, added logic to prevent IHostedService from blocking startup, made controller route prefix consistent in module template 2020-07-17 15:09:05 -04:00
Oqtane.Shared Html encode job log messages, add new IModule property to allow modules to specify Runtime support, provide feedback during module content import, remove default EditMode option at the Page level (should be implemented at Module level) - resolves issue where Admin modules could not be deleted, include link to Event Log in AddModuleMessage for Error message type, fixed fallback support for themes in siterouter, integrated auth policy into site templates for Module Creator 2020-07-08 19:56:02 -04:00
Oqtane.Test preparing for 1.0.1 release 2020-06-23 09:41:17 -04:00
Oqtane.Upgrade preparing for 1.0.1 release 2020-06-23 09:41:17 -04:00
screenshots added border 2020-05-19 17:59:57 -04:00
.deployment Update .deployment 2020-07-18 09:18:02 -07:00
.gitignore OS independent file paths 2020-04-17 16:25:00 -04:00
azuredeploy.json Update azuredeploy.json 2020-07-17 18:45:57 -07:00
installer.png add installer screenshot 2019-10-16 16:17:54 -04:00
LICENSE Update LICENSE 2020-04-27 08:20:58 -04:00
oqtane.png Initial commit 2019-05-04 20:32:08 -04:00
Oqtane.sln upgrade to .NET Core 3.2 Preview 3 and fixes for issues created by #314 (#323) 2020-04-02 12:07:35 -04:00
README.md Update README.md 2020-07-17 18:15:08 -07:00

Oqtane Framework

Oqtane is a Modular Application Framework for Blazor

Deploy to Azure

Oqtane

Oqtane uses Blazor, an open source and cross-platform web UI framework for building single-page apps using .NET and C# instead of JavaScript. Blazor apps are composed of reusable web UI components implemented using C#, HTML, and CSS. Both client and server code is written in C#, allowing you to share code and libraries.

Oqtane is being developed based on some fundamental principles which are outlined in the Oqtane Philosophy.

Please note that this project is owned by the .NET Foundation and is governed by the .NET Foundation Contributor Covenant Code of Conduct

Getting Started

Using the latest code:

  • Install .NET Core 3.1 SDK (v3.1.300).

  • Install the Preview edition of Visual Studio 2019 (version 16.6 or higher) with the ASP.NET and web development workload enabled. Oqtane works with all editions of Visual Studio from Community to Enterprise. If you do not have a SQL Server installation available already and you wish to use LocalDB for development, you must also install the .NET desktop development workload.

  • Download or Clone the Oqtane source code to your local system. Open the Oqtane.sln solution file and Build the solution.

Using an official release:

Additional Instructions

  • If you have already installed a previous version of Oqtane and you wish to do a clean database install, simply reset the DefaultConnection value in the Oqtane.Server\appsettings.json file to "". This will trigger a re-install when you run the application which will execute the database installation scripts.

  • If you want to submit pull requests make sure you install the Github Extension For Visual Studio. It is recommended you ignore any local changes you have made to the appsettings.json file before you submit a pull request. To automate this activity, open a command prompt and navigate to the /Oqtane.Server/ folder and enter the command "git update-index --skip-worktree appsettings.json"

Roadmap

This project is a work in progress and the schedule for implementing enhancements is dependent upon the availability of community members who are willing/able to assist.

V.Next ( still in the process of being prioritized )

  • Admin UI markup optimization
  • DB Migrations for framework installation/upgrade
  • Support for SQLite
  • Static Localization ( ie. labels, help text, etc.. )
  • Migrate to Code-Behind Pattern ( *.razor.cs )
  • Generic Repository Pattern
  • JwT token authentication ( possibly using IdentityServer )
  • Optional Encryption for Settings Values

V1.0.0 (MVP)

  • Multi-Tenant ( Shared Database & Isolated Database )
  • Modular Architecture / Headless API
  • Dynamic Page Compositing Model / Site & Page Management
  • Authentication / User Management / Profile Management
  • Authorization / Roles Management / Granular Permissions
  • Dynamic Routing
  • Extensibility via Custom Modules
  • Extensibility via Custom Themes
  • Event Logging
  • Folder / File Management
  • Recycle Bin
  • Scheduled Jobs ( Background Processing )
  • Notifications / Email Delivery
  • Auto-Upgrade Framework

Background

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 application framework offering a fully dynamic page compositing model, multi-site support, designer friendly templates (skins), and extensibility via third party modules.

Release Announcements

Oqtane 1.0.1

Oqtane 1.0

Oqtane POC

Example Screenshots

Install Wizard:

Installer

Default view after installation:

Home

A seamless login flow utilizing .NET Core Identity services:

Login

Main view for authorized users, allowing full management of modules and content:

Admin View

Content editing user experience using modal dialog:

Edit Content

Context menu for managing specific module on page:

Manage Module

Control panel for adding, editing, and deleting pages as well as adding new modules to a page:

Manage Page

Admin dashboard for accessing the various administrative features of the framework:

Admin Dashboard

Responsive design mobile view:

Mobile View