diff --git a/Oqtane.Client/Modules/Admin/ModuleDefinitions/Edit.razor b/Oqtane.Client/Modules/Admin/ModuleDefinitions/Edit.razor index e9caa80f..dde0540e 100644 --- a/Oqtane.Client/Modules/Admin/ModuleDefinitions/Edit.razor +++ b/Oqtane.Client/Modules/Admin/ModuleDefinitions/Edit.razor @@ -46,7 +46,8 @@ -
+
+
@@ -97,7 +98,13 @@ }
- +
+ +
+ +
+
+

@@ -231,6 +238,7 @@ private string _url = ""; private string _contact = ""; private string _license = ""; + private string _fingerprint = ""; private List _permissions = null; private string _createdby; private DateTime _createdon; @@ -266,6 +274,7 @@ _url = moduleDefinition.Url; _contact = moduleDefinition.Contact; _license = moduleDefinition.License; + _fingerprint = moduleDefinition.Fingerprint; _permissions = moduleDefinition.PermissionList; _createdby = moduleDefinition.CreatedBy; _createdon = moduleDefinition.CreatedOn; diff --git a/Oqtane.Client/Modules/Admin/Themes/Edit.razor b/Oqtane.Client/Modules/Admin/Themes/Edit.razor index 4e7560e5..21e21a3c 100644 --- a/Oqtane.Client/Modules/Admin/Themes/Edit.razor +++ b/Oqtane.Client/Modules/Admin/Themes/Edit.razor @@ -30,6 +30,7 @@ +
@@ -81,6 +82,12 @@ }
+
+ +
+ +
+

@@ -117,6 +124,7 @@ private string _url = ""; private string _contact = ""; private string _license = ""; + private string _fingerprint = ""; private List _permissions = null; private string _createdby; private DateTime _createdon; @@ -143,6 +151,7 @@ _url = theme.Url; _contact = theme.Contact; _license = theme.License; + _fingerprint = theme.Fingerprint; _permissions = theme.PermissionList; _createdby = theme.CreatedBy; _createdon = theme.CreatedOn; diff --git a/Oqtane.Client/Resources/Modules/Admin/ModuleDefinitions/Edit.resx b/Oqtane.Client/Resources/Modules/Admin/ModuleDefinitions/Edit.resx index eb32861b..a3c86886 100644 --- a/Oqtane.Client/Resources/Modules/Admin/ModuleDefinitions/Edit.resx +++ b/Oqtane.Client/Resources/Modules/Admin/ModuleDefinitions/Edit.resx @@ -234,4 +234,10 @@ Pages + + Fingerprint: + + + A unique identifier for the module's static resources. This value can be changed by clicking the Save option below (ie. cache busting). + \ No newline at end of file diff --git a/Oqtane.Client/Resources/Modules/Admin/Themes/Edit.resx b/Oqtane.Client/Resources/Modules/Admin/Themes/Edit.resx index 27b70ddd..bf155a07 100644 --- a/Oqtane.Client/Resources/Modules/Admin/Themes/Edit.resx +++ b/Oqtane.Client/Resources/Modules/Admin/Themes/Edit.resx @@ -186,4 +186,10 @@ Permissions + + Fingerprint: + + + A unique identifier for the theme's static resources. This value can be changed by clicking the Save option below (ie. cache busting). + \ No newline at end of file diff --git a/Oqtane.Server/Controllers/ModuleDefinitionController.cs b/Oqtane.Server/Controllers/ModuleDefinitionController.cs index 139da8e2..229b419f 100644 --- a/Oqtane.Server/Controllers/ModuleDefinitionController.cs +++ b/Oqtane.Server/Controllers/ModuleDefinitionController.cs @@ -164,6 +164,7 @@ namespace Oqtane.Controllers { _moduleDefinitions.UpdateModuleDefinition(moduleDefinition); _syncManager.AddSyncEvent(_alias, EntityNames.ModuleDefinition, moduleDefinition.ModuleDefinitionId, SyncEventActions.Update); + _syncManager.AddSyncEvent(_alias, EntityNames.Site, _alias.SiteId, SyncEventActions.Refresh); // fingerprint changed _logger.Log(LogLevel.Information, this, LogFunction.Update, "Module Definition Updated {ModuleDefinition}", moduleDefinition); } else diff --git a/Oqtane.Server/Controllers/ThemeController.cs b/Oqtane.Server/Controllers/ThemeController.cs index 3f025b40..20547e1b 100644 --- a/Oqtane.Server/Controllers/ThemeController.cs +++ b/Oqtane.Server/Controllers/ThemeController.cs @@ -117,6 +117,7 @@ namespace Oqtane.Controllers { _themes.UpdateTheme(theme); _syncManager.AddSyncEvent(_alias, EntityNames.Theme, theme.ThemeId, SyncEventActions.Update); + _syncManager.AddSyncEvent(_alias, EntityNames.Site, _alias.SiteId, SyncEventActions.Refresh); // fingerprint changed _logger.Log(LogLevel.Information, this, LogFunction.Update, "Theme Updated {Theme}", theme); } else diff --git a/Oqtane.Server/Repository/ModuleDefinitionRepository.cs b/Oqtane.Server/Repository/ModuleDefinitionRepository.cs index a43174e9..aa48d232 100644 --- a/Oqtane.Server/Repository/ModuleDefinitionRepository.cs +++ b/Oqtane.Server/Repository/ModuleDefinitionRepository.cs @@ -113,7 +113,7 @@ namespace Oqtane.Repository ModuleDefinition.Resources = moduleDefinition.Resources; ModuleDefinition.IsEnabled = moduleDefinition.IsEnabled; ModuleDefinition.PackageName = moduleDefinition.PackageName; - ModuleDefinition.Fingerprint = Utilities.GenerateSimpleHash(moduleDefinition.ModifiedOn.ToString("yyyyMMddHHmm")); + ModuleDefinition.Fingerprint = moduleDefinition.Fingerprint; } return ModuleDefinition; @@ -186,6 +186,7 @@ namespace Oqtane.Repository ModuleDefinition.CreatedOn = moduledefinition.CreatedOn; ModuleDefinition.ModifiedBy = moduledefinition.ModifiedBy; ModuleDefinition.ModifiedOn = moduledefinition.ModifiedOn; + ModuleDefinition.Fingerprint = Utilities.GenerateSimpleHash(moduledefinition.ModifiedOn.ToString("yyyyMMddHHmm")); } // any remaining module definitions are orphans diff --git a/Oqtane.Server/Repository/ThemeRepository.cs b/Oqtane.Server/Repository/ThemeRepository.cs index 8962402c..57d7b7db 100644 --- a/Oqtane.Server/Repository/ThemeRepository.cs +++ b/Oqtane.Server/Repository/ThemeRepository.cs @@ -99,7 +99,7 @@ namespace Oqtane.Repository Theme.ContainerSettingsType = theme.ContainerSettingsType; Theme.PackageName = theme.PackageName; Theme.PermissionList = theme.PermissionList; - Theme.Fingerprint = Utilities.GenerateSimpleHash(theme.ModifiedOn.ToString("yyyyMMddHHmm")); + Theme.Fingerprint = theme.Fingerprint; Themes.Add(Theme); } @@ -165,6 +165,7 @@ namespace Oqtane.Repository Theme.CreatedOn = theme.CreatedOn; Theme.ModifiedBy = theme.ModifiedBy; Theme.ModifiedOn = theme.ModifiedOn; + Theme.Fingerprint = Utilities.GenerateSimpleHash(theme.ModifiedOn.ToString("yyyyMMddHHmm")); } // any remaining themes are orphans