Question is: How to show data in data-view in such a way that if entity is updated some how dataview is updated too.
This is my Entity named latestReading
.
Here is my page LatestReading
that show latest readings. It contains three data views.
This page is not called directly, as it expect a object latestReading
. Hence a micro-flow named showLatestReadingPage
is executed that fetches or create latestReading
object and pass it to the LatestReading
page and display LatestReading
page.
Here is that micro-flow.
getOrCreateLatestReading
is a micro-flow that returns us the a latestReading
object if it is available or create a new latestReading
object if it is not already created and then returns it.
Here is that micro-flow.
These are the properties of first of the three data-views in LatestReading
page as shown diagram of LatestReading
Page above. Name of this DataView is TemperatureDataView
These are the properties of text widget that is inside TemperatureDataView
data-view. Its name is temperatureText
. It shows value of temperature in the TemperatureDataView
.
And this is the caption of temperatureText
text widget:
Problem is when another micro-flow updates the value of latestReading
the text widget is not updated. I need to reload it by clicking on navigation link of LatestReading
page again.
I need my text widget in data view to keep updating value of latestReading
when it is updated my some other micro-flow
The issue is that ‘refresh in client’ only works if the microflow is executed in the same context as the page (client) that the user is seeing. For example if there is a button on the page that triggers a microflow that refreshes the client then it will update the widget. However, if the microflow is triggered by the system (e.g. a scheduled event) then these changes are in a different context. Also if another user triggers a refresh it will only refresh that user’s client. Also if one user is logged in through multiple browsers (i.e. has multiple sessions, it also means that for each session there is a different user context.
The simplest solution in this case would likely be to use an appstore widget that periodically triggers a refresh on the object displayed in the dataview, such as this one: https://appstore.home.mendix.com/link/app/27/ . Simply create nanoflow or microflow with a change action that changes no attributes but refreshes the object.