From 3bba77b9c2b08f70cdd315f7f239b2563b1ae465 Mon Sep 17 00:00:00 2001 From: Thorsten Marx Date: Fri, 13 Jun 2025 15:04:16 +0200 Subject: [PATCH 1/2] add some comments to make things clear --- .../cms/api/feature/features/ThemeFeature.java | 5 +++++ .../cms/server/configs/SiteModule.java | 18 +++++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/cms-api/src/main/java/com/condation/cms/api/feature/features/ThemeFeature.java b/cms-api/src/main/java/com/condation/cms/api/feature/features/ThemeFeature.java index d9b535096..3aa51548d 100644 --- a/cms-api/src/main/java/com/condation/cms/api/feature/features/ThemeFeature.java +++ b/cms-api/src/main/java/com/condation/cms/api/feature/features/ThemeFeature.java @@ -42,6 +42,11 @@ public Theme theme () { return theme; } + /** + * This method is used for the ThemeFeature in the ModuleContext, because that feature is created once and not per request + * + * @param theme + */ public void updateTheme (Theme theme) { this.theme = theme; } diff --git a/cms-server/src/main/java/com/condation/cms/server/configs/SiteModule.java b/cms-server/src/main/java/com/condation/cms/server/configs/SiteModule.java index 280942a42..0482b0a81 100644 --- a/cms-server/src/main/java/com/condation/cms/server/configs/SiteModule.java +++ b/cms-server/src/main/java/com/condation/cms/server/configs/SiteModule.java @@ -145,7 +145,13 @@ public ConfigManagement configurationManagement(SiteCronJobScheduler scheduler, return cm; } - + /** + * must not be singleton because some site properties (theme...) are allowed to be changed + * + * @param serverProperties + * @return + * @throws IOException + */ @Provides public SiteProperties siteProperties(ServerProperties serverProperties) throws IOException { return new ExtendedSiteProperties(ConfigurationFactory.siteConfiguration( @@ -153,6 +159,16 @@ public SiteProperties siteProperties(ServerProperties serverProperties) throws I hostBase)); } + /** + * This method must not be Singleton because it loads the configured theme for every request + * + * @param siteProperties + * @param serverProperties + * @param messageSource + * @param cacheManager + * @return + * @throws IOException + */ @Provides public Theme loadTheme( SiteProperties siteProperties, From 5af6d1f920f39d387716279d303f431b1249cc9d Mon Sep 17 00:00:00 2001 From: Thorsten Marx Date: Fri, 13 Jun 2025 15:21:31 +0200 Subject: [PATCH 2/2] update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1681efa32..20030411c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ see wiki for more information: [wiki](https://github.com/thmarx/cms/wiki) * **BUGFIX** TemplateEngine should use cache only if activated [456](https://github.com/CondationCMS/cms-server/issues/456) * **MAINTENANCE** multiple dependencies updated * **MAINTENANCE** maven wrapper added to project +* **MAINTENANCE** Dynamic themes, add some comments to make decisions clear [458](https://github.com/CondationCMS/cms-server/issues/458) * **FEATURE** Developer Experience [PR-440](https://github.com/CondationCMS/cms-server/pull/440) * **FEATURE** Aliases for content [442](https://github.com/CondationCMS/cms-server/issues/442) * **FEATURE** Add redirect support for aliases [454](https://github.com/CondationCMS/cms-server/issues/454)