This issue has been created
There are 3 updates.
 
 
Release Notes Application / cid:jira-generated-image-avatar-40287d38-e5bb-4d2e-afe9-a9e8a08da44f RN-114 Open

Move the change search from Velocity to Java

 
View issue   ยท   Add comment
 

Issue created

 
cid:jira-generated-image-avatar-479e97fa-d627-48c8-83d6-e1577bd68775 Vincent Massol created this issue on 08/Sep/26 20:34
 
Summary: Move the change search from Velocity to Java
Issue Type: cid:jira-generated-image-avatar-40287d38-e5bb-4d2e-afe9-a9e8a08da44f Improvement
Assignee: Unassigned
Components: Application
Created: 08/Sep/26 20:34
Priority: cid:jira-generated-image-static-major-24874f27-9da5-4cbe-89a7-34e51c398849 Major
Reporter: Vincent Massol
Description:

The getChanges wiki macro (ReleaseNotes.Code.Change.GetChangesMacro) is about 150 lines of Velocity that assemble an XWQL query by hand: operator-prefix parsing (>=, <=, >, <, =), audience/importance normalisation, version-comparison resolution against the extension version scheme, and limit+1 pagination.

That is real logic living in a wiki page, where it is hard to test, cannot be reused outside the wiki, and where one of its steps is needlessly expensive: resolving a version comparison loads every release note document just to read a single version property, because selecting a property value from a query requires programming right in script. Java has no such constraint and can read the versions in one query.

Move the search to the application-releasenotes-api module, behind ChangeManager.search, and leave the wiki macro as a thin shim.

This is a pure refactor: the macro's published contract is unchanged (same parameters, same context variables, same generated query, same ordering, same defaults), so release notes must render identically afterwards. The only behaviour that changes is the removal of the document loads described above.

 
 

3 updates

 
cid:jira-generated-image-avatar-479e97fa-d627-48c8-83d6-e1577bd68775 Changes by Vincent Massol on 08/Sep/26 20:34
 
Fix Version: 2.7
Version: 2.6
Assignee: Vincent Massol