OK, so short answer: If your source is a datatransform and you are using Pega 25.1.2 and you are using promoted filters in a landing page, Pega will not refresh the query (/datapage) because it doesn’t think the datapage is queryable (it will disregard the datapage checkbox), so the filtering happens client side.
So my advise would then be, use a different source (like a report definition), and throw the rest in the response data transform.
Now how does Pega determine for promotable filters if it should filter client side (when source is data transform) vs server side (when source is report definition f.e.)?
It does this in the sdk, not by looking at the data_view api response, but at the pages api response of your landing page view.
Lets say I have my list as a subview of the pyHome landing page / view.
Pega will request this data via the following pages api call:
{domain}/prweb/PRAuth/app/{app-alias}/api/application/v2/pages/pyHome?pageClass={app-ui-class}
for example:
https://myenvironment.pegace.net/prweb/PRAuth/app/my-first-app/api/application/v2/pages/pyHome?pageClass=MyOrg-MyFirstApp-UIPages
In the response, in uiResources.resources.datapages you will see your datapage, and if it is either isSearchable (when sourced by a datatransform) or isQueryable (when sourced by a report definition f.e.).
Here a response if it is sourced by a report definition:
Here a response if it is sourced by a data transform:
This is all determined in the java of step 5 of pzGetShowPageData.
Lets hope Pega will enhance this in a future release so developers have a choice, like it works in a case, meaning, determination of a datapage being queryable is done by checking the value of the checkbox in the datapage rule itself
. Performance-wise, client side filtering has its own benefits of course.
Thanks @SebastiaanH for clearing that up that the question was about landing pages.