Merge remote-tracking branch 'upstream/dev' into dev
This commit is contained in:
@@ -101,15 +101,15 @@
|
||||
<Section Name="ModuleContent" Heading="Content" ResourceKey="ModuleContent">
|
||||
<div class="container">
|
||||
<div class="row mb-1 align-items-center">
|
||||
<Label Class="col-sm-3" For="header" HelpText="Optionally provide content to be injected above the module instance" ResourceKey="Header">Header: </Label>
|
||||
<Label Class="col-sm-3" For="moduleheader" HelpText="Optionally provide content to be injected above the module instance" ResourceKey="Header">Header: </Label>
|
||||
<div class="col-sm-9">
|
||||
<textarea id="header" class="form-control" @bind="@_header" rows="3" maxlength="4000"></textarea>
|
||||
<textarea id="moduleheader" class="form-control" @bind="@_header" rows="3" maxlength="4000"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1 align-items-center">
|
||||
<Label Class="col-sm-3" For="footer" HelpText="Optionally provide content to be injected below the module instance" ResourceKey="Footer">Footer: </Label>
|
||||
<Label Class="col-sm-3" For="modulefooter" HelpText="Optionally provide content to be injected below the module instance" ResourceKey="Footer">Footer: </Label>
|
||||
<div class="col-sm-9">
|
||||
<textarea id="footer" class="form-control" @bind="@_footer" rows="3" maxlength="4000"></textarea>
|
||||
<textarea id="modulefooter" class="form-control" @bind="@_footer" rows="3" maxlength="4000"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -24,26 +24,50 @@ namespace Oqtane.Controllers
|
||||
private readonly IPageModuleRepository _pageModules;
|
||||
private readonly IUserPermissions _userPermissions;
|
||||
private readonly ISyncManager _syncManager;
|
||||
private readonly IAliasAccessor _aliasAccessor;
|
||||
private readonly IOptionsMonitorCache<CookieAuthenticationOptions> _cookieCache;
|
||||
private readonly IOptionsMonitorCache<OpenIdConnectOptions> _oidcCache;
|
||||
private readonly IOptionsMonitorCache<OAuthOptions> _oauthCache;
|
||||
private readonly IOptionsMonitorCache<IdentityOptions> _identityCache;
|
||||
|
||||
private readonly IOptions<CookieAuthenticationOptions> _cookieOptions;
|
||||
private readonly IOptionsSnapshot<CookieAuthenticationOptions> _cookieOptionsSnapshot;
|
||||
private readonly IOptionsMonitorCache<CookieAuthenticationOptions> _cookieOptionsMonitorCache;
|
||||
|
||||
private readonly IOptions<OpenIdConnectOptions> _oidcOptions;
|
||||
private readonly IOptionsSnapshot<OpenIdConnectOptions> _oidcOptionsSnapshot;
|
||||
private readonly IOptionsMonitorCache<OpenIdConnectOptions> _oidcOptionsMonitorCache;
|
||||
|
||||
private readonly IOptions<OAuthOptions> _oauthOptions;
|
||||
private readonly IOptionsSnapshot<OAuthOptions> _oauthOptionsSnapshot;
|
||||
private readonly IOptionsMonitorCache<OAuthOptions> _oauthOptionsMonitorCache;
|
||||
|
||||
private readonly IOptions<IdentityOptions> _identityOptions;
|
||||
private readonly IOptionsSnapshot<IdentityOptions> _identityOptionsSnapshot;
|
||||
private readonly IOptionsMonitorCache<IdentityOptions> _identityOptionsMonitorCache;
|
||||
|
||||
private readonly ILogManager _logger;
|
||||
private readonly Alias _alias;
|
||||
private readonly string _visitorCookie;
|
||||
|
||||
public SettingController(ISettingRepository settings, IPageModuleRepository pageModules, IUserPermissions userPermissions, ITenantManager tenantManager, ISyncManager syncManager, IAliasAccessor aliasAccessor, IOptionsMonitorCache<CookieAuthenticationOptions> cookieCache, IOptionsMonitorCache<OpenIdConnectOptions> oidcCache, IOptionsMonitorCache<OAuthOptions> oauthCache, IOptionsMonitorCache<IdentityOptions> identityCache, ILogManager logger)
|
||||
public SettingController(ISettingRepository settings, IPageModuleRepository pageModules, IUserPermissions userPermissions, ITenantManager tenantManager, ISyncManager syncManager,
|
||||
IOptions<CookieAuthenticationOptions> cookieOptions, IOptionsSnapshot<CookieAuthenticationOptions> cookieOptionsSnapshot, IOptionsMonitorCache<CookieAuthenticationOptions> cookieOptionsMonitorCache,
|
||||
IOptions<OpenIdConnectOptions> oidcOptions, IOptionsSnapshot<OpenIdConnectOptions> oidcOptionsSnapshot, IOptionsMonitorCache<OpenIdConnectOptions> oidcOptionsMonitorCache,
|
||||
IOptions<OAuthOptions> oauthOptions, IOptionsSnapshot<OAuthOptions> oauthOptionsSnapshot, IOptionsMonitorCache<OAuthOptions> oauthOptionsMonitorCache,
|
||||
IOptions<IdentityOptions> identityOptions, IOptionsSnapshot<IdentityOptions> identityOptionsSnapshot, IOptionsMonitorCache<IdentityOptions> identityOptionsMonitorCache,
|
||||
ILogManager logger)
|
||||
{
|
||||
_settings = settings;
|
||||
_pageModules = pageModules;
|
||||
_userPermissions = userPermissions;
|
||||
_syncManager = syncManager;
|
||||
_aliasAccessor = aliasAccessor;
|
||||
_cookieCache = cookieCache;
|
||||
_oidcCache = oidcCache;
|
||||
_oauthCache = oauthCache;
|
||||
_identityCache = identityCache;
|
||||
_cookieOptions = cookieOptions;
|
||||
_cookieOptionsSnapshot = cookieOptionsSnapshot;
|
||||
_cookieOptionsMonitorCache = cookieOptionsMonitorCache;
|
||||
_oidcOptions = oidcOptions;
|
||||
_oidcOptionsSnapshot = oidcOptionsSnapshot;
|
||||
_oidcOptionsMonitorCache = oidcOptionsMonitorCache;
|
||||
_oauthOptions = oauthOptions;
|
||||
_oauthOptionsSnapshot = oauthOptionsSnapshot;
|
||||
_oauthOptionsMonitorCache = oauthOptionsMonitorCache;
|
||||
_identityOptions = identityOptions;
|
||||
_identityOptionsSnapshot = identityOptionsSnapshot;
|
||||
_identityOptionsMonitorCache = identityOptionsMonitorCache;
|
||||
_logger = logger;
|
||||
_alias = tenantManager.GetAlias();
|
||||
_visitorCookie = Constants.VisitorCookiePrefix + _alias.SiteId.ToString();
|
||||
@@ -210,21 +234,21 @@ namespace Oqtane.Controllers
|
||||
[Authorize(Roles = RoleNames.Admin)]
|
||||
public void Clear()
|
||||
{
|
||||
// clear SiteOptionsCache for each option type
|
||||
var cookieCache = new SiteOptionsCache<CookieAuthenticationOptions>(_aliasAccessor);
|
||||
cookieCache.Clear();
|
||||
var oidcCache = new SiteOptionsCache<OpenIdConnectOptions>(_aliasAccessor);
|
||||
oidcCache.Clear();
|
||||
var oauthCache = new SiteOptionsCache<OAuthOptions>(_aliasAccessor);
|
||||
oauthCache.Clear();
|
||||
var identityCache = new SiteOptionsCache<IdentityOptions>(_aliasAccessor);
|
||||
identityCache.Clear();
|
||||
(_cookieOptions as SiteOptionsManager<CookieAuthenticationOptions>).Reset();
|
||||
(_cookieOptionsSnapshot as SiteOptionsManager<CookieAuthenticationOptions>).Reset();
|
||||
_cookieOptionsMonitorCache.Clear();
|
||||
|
||||
// clear IOptionsMonitorCache for each option type
|
||||
_cookieCache.Clear();
|
||||
_oidcCache.Clear();
|
||||
_oauthCache.Clear();
|
||||
_identityCache.Clear();
|
||||
(_oidcOptions as SiteOptionsManager<OpenIdConnectOptions>).Reset();
|
||||
(_oidcOptionsSnapshot as SiteOptionsManager<OpenIdConnectOptions>).Reset();
|
||||
_oidcOptionsMonitorCache.Clear();
|
||||
|
||||
(_oauthOptions as SiteOptionsManager<OAuthOptions>).Reset();
|
||||
(_oauthOptionsSnapshot as SiteOptionsManager<OAuthOptions>).Reset();
|
||||
_oauthOptionsMonitorCache.Clear();
|
||||
|
||||
(_identityOptions as SiteOptionsManager<IdentityOptions>).Reset();
|
||||
(_identityOptionsSnapshot as SiteOptionsManager<IdentityOptions>).Reset();
|
||||
_identityOptionsMonitorCache.Clear();
|
||||
|
||||
_logger.Log(LogLevel.Information, this, LogFunction.Other, "Site Options Cache Cleared");
|
||||
}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Oqtane.Models;
|
||||
using Microsoft.AspNetCore.Identity;
|
||||
using System;
|
||||
|
||||
|
||||
@@ -19,7 +19,6 @@ namespace Oqtane.Infrastructure
|
||||
{
|
||||
var cache = map.GetOrAdd(GetKey(), new OptionsCache<TOptions>());
|
||||
cache.Clear();
|
||||
|
||||
}
|
||||
|
||||
public TOptions GetOrAdd(string name, Func<TOptions> createOptions)
|
||||
|
||||
@@ -12,7 +12,7 @@ Oqtane is being developed based on some fundamental principles which are outline
|
||||
|
||||
# Latest Release
|
||||
|
||||
[6.1.2](https://github.com/oqtane/oqtane.framework/releases/tag/v6.1.2) was released on April 10, 2025 and is a maintenance release including 41 pull requests by 3 different contributors, pushing the total number of project commits all-time to over 6500. The Oqtane framework continues to evolve at a rapid pace to meet the needs of .NET developers.
|
||||
[6.1.3](https://github.com/oqtane/oqtane.framework/releases/tag/v6.1.3) was released on May 29, 2025 and is a maintenance release including 59 pull requests by 5 different contributors, pushing the total number of project commits all-time to over 6600. The Oqtane framework continues to evolve at a rapid pace to meet the needs of .NET developers.
|
||||
|
||||
# Try It Now!
|
||||
|
||||
@@ -22,11 +22,11 @@ Microsoft's Public Cloud (requires an Azure account)
|
||||
A free ASP.NET hosting account. No hidden fees. No credit card required.
|
||||
[](https://www.monsterasp.net/)
|
||||
|
||||
# Getting Started (Version 6.1.2)
|
||||
# Getting Started (Version 6)
|
||||
|
||||
**Installing using source code from the Dev/Master branch:**
|
||||
|
||||
- Install **[.NET 9.0.4 SDK](https://dotnet.microsoft.com/download/dotnet/9.0)**.
|
||||
- Install **[.NET 9.0.5 SDK](https://dotnet.microsoft.com/download/dotnet/9.0)**.
|
||||
|
||||
- Install the latest edition (v17.12 or higher) of [Visual Studio 2022](https://visualstudio.microsoft.com/downloads) with the **ASP.NET and web development** workload enabled. Oqtane works with ALL editions of Visual Studio from Community to Enterprise. If you wish to use LocalDB for development ( not a requirement as Oqtane supports SQLite, mySQL, and PostgreSQL ) you must also install the **Data storage and processing**.
|
||||
|
||||
@@ -92,6 +92,9 @@ Connect with other developers, get support, and share ideas by joining the Oqtan
|
||||
# Roadmap
|
||||
This project is open source, and therefore is a work in progress...
|
||||
|
||||
[6.1.3](https://github.com/oqtane/oqtane.framework/releases/tag/v6.1.3) (May 29, 2025)
|
||||
- [x] Stabilization improvements
|
||||
|
||||
[6.1.2](https://github.com/oqtane/oqtane.framework/releases/tag/v6.1.2) (Apr 10, 2025)
|
||||
- [x] Stabilization improvements
|
||||
|
||||
|
||||
@@ -220,7 +220,7 @@
|
||||
"apiVersion": "2024-04-01",
|
||||
"name": "[concat(parameters('BlazorWebsiteName'), '/ZipDeploy')]",
|
||||
"properties": {
|
||||
"packageUri": "https://github.com/oqtane/oqtane.framework/releases/download/v6.1.2/Oqtane.Framework.6.1.2.Install.zip"
|
||||
"packageUri": "https://github.com/oqtane/oqtane.framework/releases/download/v6.1.3/Oqtane.Framework.6.1.3.Install.zip"
|
||||
},
|
||||
"dependsOn": [
|
||||
"[resourceId('Microsoft.Web/sites', parameters('BlazorWebsiteName'))]"
|
||||
|
||||
Reference in New Issue
Block a user