Issue
- Users can change the value of the 'delta' parameter in the URL and the entries of the page are seen as per the value provided in the parameter.
- If a higher number is provided in the delta, the performance of the system gets impacted.
- Users should not be able to modify the value of the delta and hence this parameter should be removed from the URL.
Resolution
-
The (delta) parameter is part of the URL that is a 'Query Parameter' with a key-value pair (key=delta and value=10,20,50, etc) and this parameter cannot be removed from the URL. Hence, the users can change the value of delta which will also change the number of entries on the page.
Query parameters are a defined set of parameters (key-value pair) attached to the end of a URL used to provide additional information to a web server when making requests. They are an important part of the URL that define specific content or actions based on the data being passed.
-
Whenever any value is fed in the delta parameter let's say; 13, 24, 87, the number of entries on the page will be seen as 13,24,87 only. In other words, a user can add any random numbers in the delta parameter, and page entries will be seen according to the number provided in the delta parameter. Also, the value of the delta parameter keeps on changing when the number of entries is selected from the UI.
- When a user manually removes the delta parameter from the URL, the number of entries on the page will be shown as per the value provided in the 'Pagination delta' under Search Results-Configuration.
-
The higher value of delta might impact the performance only for the specific user who modifies this value. But this does not impact the application as a whole. For example: If a user chooses the value delta=50000, the page will take some time to load only for that specific user at that point of time.
Additional Information
- However, if one needs to restrict the delta value, this property search.container.page.max.delta could be set by user, so that if a guest user enters any delta value in the URL, only the defined value in this property will be taken into consideration.
- Above property works together with search.container.page.default.delta property in the following way:
search.container.page.max.delta default value is 200.
search.container.page.default.delta default value remains in 200.
Default values apply when either property is not defined or property is defined with a value <= 0
If search.container.page.max.delta > search.container.page.default.delta then delta = search.container.page.default.delta
If search.container.page.max.delta < search.container.page.default.delta then delta = search.container.page.max.delta