diff --git a/README.md b/README.md index 2889e3f..bc60608 100644 --- a/README.md +++ b/README.md @@ -73,22 +73,16 @@ a parse failure and set a `fess.webapp.plugin` marker property. - - "index" - "index.jsp" - - ``` > **Maintenance cost (read before overriding):** because a redefine replaces the -> *whole* definition, the override must repeat **every** `postConstruct` the core -> `systemHelper` performs — the full set of design-JSP name mappings. These -> are copied verbatim from Fess core's `fess.xml`, and the referenced `*.jsp` -> files are provided by Fess itself (this plugin ships none of them). You must -> keep that list in sync with each Fess release, or design pages (e.g. -> `chat` / `busy` / `newpassword`) will stop resolving. This is exactly why -> Pattern 1 is preferred whenever you do not truly need to replace core behavior. +> *whole* definition, the override must repeat **every** property and +> `postConstruct` that Fess core declares for the component in `fess.xml`. Fess +> 15.9 declares none for `systemHelper`; earlier releases registered the +> design-JSP pages here, which 15.9 removed. Check `fess.xml` for each Fess +> release you support. This is exactly why Pattern 1 is preferred whenever you do +> not truly need to replace core behavior. ## The `Fess-WebAppJar` manifest @@ -114,7 +108,7 @@ application's classloader. This is set in [`pom.xml`](pom.xml) via the - Java 21 or later - Maven 3.8 or later -- Fess 15.8 or later +- Fess 15.9 or later ## Project structure diff --git a/src/main/java/org/codelibs/fess/webapp/example/helper/CustomSystemHelper.java b/src/main/java/org/codelibs/fess/webapp/example/helper/CustomSystemHelper.java index 6424587..2a0b14c 100644 --- a/src/main/java/org/codelibs/fess/webapp/example/helper/CustomSystemHelper.java +++ b/src/main/java/org/codelibs/fess/webapp/example/helper/CustomSystemHelper.java @@ -32,7 +32,7 @@ * {@code fess+systemHelper.xml}) tells LastaDi to register THIS class in place * of the core {@link SystemHelper}. Because a redefine REPLACES the whole * component definition, the override XML must repeat every {@code postConstruct} - * the core definition performs (the design-JSP name mappings) — see + * the core definition performs (Fess 15.9 declares none) — see * {@code fess+systemHelper.xml} for the details and the maintenance cost this * implies. *

diff --git a/src/main/resources/fess+systemHelper.xml b/src/main/resources/fess+systemHelper.xml index 0b488cf..43148f1 100644 --- a/src/main/resources/fess+systemHelper.xml +++ b/src/main/resources/fess+systemHelper.xml @@ -11,94 +11,16 @@ below. Contrast this with the additive "app++.xml" in this plugin, which ADDS a brand-new component instead of replacing an existing one. - IMPORTANT: a redefine replaces the ENTIRE component definition, so this file - must repeat every postConstruct that Fess core performs on systemHelper - - namely the design-JSP name mappings below. They are copied verbatim from Fess - core's fess.xml (the referenced *.jsp files are provided by Fess itself, not - by this plugin). If you override a core component, keep this list in sync with - each Fess release; otherwise design pages (e.g. chat / busy / newpassword) - will stop resolving. That maintenance cost is the main reason to prefer adding - a new component (app++.xml) whenever you do not truly need to replace core - behavior. + IMPORTANT: a redefine replaces the ENTIRE component definition, so it must + repeat every property and postConstruct that Fess core declares for the + component. Fess 15.9 declares none for systemHelper, so this override has + none either. Check fess.xml of the Fess release you build against and keep + this file in step with it. That maintenance cost is the main reason to prefer + adding a new component (app++.xml) whenever you do not truly need to replace + core behavior. --> - - "index" - "index.jsp" - - - "header" - "header.jsp" - - - "footer" - "footer.jsp" - - - "search" - "search.jsp" - - - "searchResults" - "searchResults.jsp" - - - "searchNoResult" - "searchNoResult.jsp" - - - "searchOptions" - "searchOptions.jsp" - - - "advance" - "advance.jsp" - - - "help" - "help.jsp" - - - "error" - "error/error.jsp" - - - "errorNotFound" - "error/notFound.jsp" - - - "errorSystem" - "error/system.jsp" - - - "errorBadRequest" - "error/badRequest.jsp" - - - "errorBusy" - "error/busy.jsp" - - - "cache" - "cache.hbs" - - - "login" - "login/index.jsp" - - - "newpassword" - "login/newpassword.jsp" - - - "profile" - "profile/index.jsp" - - - "chat" - "chat/chat.jsp" -