Refresh condition is not working as expected
A refresh condition, which has been set to trigger on the change of a property on a data page, does not trigger if the data page property is updated from a different thread context.
Steps to Reproduce
- Add a refresh condition to a dynamic layout or section that triggers on the change of data page property, for example: "D_myDataPage.myProperty Changes".
- Add a control that will operate in a different thread context, such as a portal header, which updates the value of the data page property.
- Start the portal and use the control to update the property. The section or layout will not refresh, even though the property is updated on the clipboard.
An issue in the custom application code or rules.
The refresh condition will not trigger if the property is updated from outside the same thread (even if the data page is set to requestor scope).
In order for the change to be tracked across threads, one must include a reference to the property being updated in thread that causes the change.
NOTE: The data page property that causes the section refresh cannot be used in an editable control with this design. If it is, only changes from that editable control will be tracked for refresh conditions.
The change can be tracked across threads by adding an empty dynamic layout and referencing the same refresh condition in the thread context that originates the change.
In this example, the empty layout has been added to the portal header section:
If a parameterized data page is in use, an empty section will need to be included (instead of the empty dynamic layout) and the property and refresh condition referenced in a layout in the new section:
In the case of a parameterized data page, the section that should be refreshed must be configured in the same way (relative to page context and refresh condition) as the empty section included above.
60% found this useful