Details
-
Improvement
-
Resolution: Unresolved
-
Major
-
None
-
None
-
Unknown
-
Description
The GET /wikis/{wikiName}/releasenotes/{product}/{version}/changes endpoint encodes the release note of its URL into the text syntax of the getChanges wiki macro ("=" + product, the aggregated versions joined with commas) so that ChangeQueryParser can decode it again. It then reads each change it found a second time, checking the view right again for each one.
Proposed:
- the product and the version (or the aggregated versions) of the URL are set on the ChangeQuery as typed filters;
- the client filters (audience, category, importance, containsScreenshots, limit, offset) keep their current meaning. They are still read by ChangeQueryParser in the getChanges filter language (% wildcards, =, >=, >, <=, < prefixes, comma lists, e.g. importance=>=medium), and values it cannot use behave as before;
- a new ChangeManager#searchAndLoad(ChangeQuery, Predicate) (returning a LoadedChangeSearchResult) gives the changes with their pages in one call. The view right is checked once, by the search filter, before the result is paged (as done for RN-122).
The getChanges wiki macro and its syntax are unchanged.