We have an issue that happens randomly and makes our reports lose credibility in front of our customers.
We created an Angular application using the template on the web site. Our reports are feeding from web services, with csv data.
When loading a new json configuration file, that describes a new URL for the web service and the corresponding pivot configuration, we execute this.pivot1.flexmonster.setReport(this.currentReport). If we just change some params that the web service uses, to produce different data, we execute this.pivot1.flexmonster.updateData(this.currentDataSource).
Everything works as planned, only that, randomly, we see the "Loading data" and then, immediately, the report on the screen refreshes and shows incomplete data. Normally, the "Loading data" message is followed by "Analyzing data", and that takes a while. When we have the issue, though, we don't see that analyzing data message.
Most of the times we refresh again and everything looks fine. You realize, though, that the users are getting annoyed with the behavior, and keep telling they cannot trust the report results.
We tried to debug, got Fiddler as a proxy, thinking there is an issue with the web service/data. We then saw the data, though, was complete, and identical, between the one time it didn't work, and the time it worked.
My conclusion was that there is something going on with FlexMonster, specific or not to the browser. Saw that the issue was less frequent in Internet Explorer 11, but it happened on all Chrome based browsers, Chrome, Opera, new Microsoft Edge Beta. We didn't see the issue in Mozilla, but that could be we just didn't hit the context for the error.
When the refresh issue happens, there is NO console error message.
What is most frustrating is that we cannot reproduce the context so we can only assume things.
We saw a similar issue in another post here, and the answer was a work-around, forcing FlexMonster to redraw from scratch, by setting to null, but that didn't work, or we didn't know how to do it correctly.
Between changing configs, we execute
this.pivot1.flexmonster.clear();
this.pivot1.flexmonster.setReport({});
The issue DOESN'T happen immediately after the cleanup below, necessarily. It can happen sometimes on setReport, sometimes on updateData.
Can you give us a hint if anyone else signaled this issue, or if there is a workaround?
We have a full license, and we use version 2.7.6, very recent.
Thank you in advance.
So, I kept browsing to see if no other users encountered the same issue.
I found the answer below that seems to describe my issue. Whenever I see the refresh issue happening, the report is NOT empty, I see a one row detail. But that one row detail is still formatted according to my config, so I am not following...the new data just arrived, and the report only reads one row for it?
So, are you suggesting to first setReport() without a datasource, and then updateData() where only the datasource is mentioned?
Ian Sadovy ⋅ Flexmonster ⋅ November 29, 2018
Thank you for the sample.
Seems I’ve understood your problem. You expect that after updateData()
the slice from pivotReport
will be applied (http://take.ms/YNnvQ). But instead, it shows something different (http://take.ms/6pQgy).
Let me explain a bit why it is happening. When you initially set pivotReport
, dsData
is empty. That’s why the report is not applied. Therefore, when you use updateData()
, it generates a default slice with one row and one measure.
So, as a solution, you need to use setReport()
to set the pivotReport
(with NOT empty data) for the first time, and for further data updates you can use updateData()
.
I hope it’s clear now.
(BTW, I haven’t managed to reproduce the issue with an exception)
Regards,
Ian
Hello,
Thank you for reaching out to us and for explaining the problem in detail.
We would like to point out that our team has fixed this issue and added this update to the latest version.
We kindly advise updating to the latest version once more. Afterward, the issues should be resolved.
Please let us know if everything works for you.
Best Regards,
Vera
Hi Vera,
Can you please indicate which version got this issue fixed?
I am looking at the release notes for 2.7.7 where this is mentioned
Is this what you are referring to?
Part of our debugging we noticed that Internet Explorer or involving Fiddler as a proxy made the random errors happen less times. Also, in Fiddler, we compared the two sessions for the web service retrievals of the data, for the two calls (one working, one not), and it looked like the time-line was identical (when data stream started and when ended).
We hope this is the right fix.
Please indicate a URL where we can upload bugs/suggestions. We have some more, none as important as this one, though.
Many thanks.
Serban
Hello, Serban,
Thank you for your response.
We would like to confirm that the fix for the issue you have encountered is provided in the minor release version 2.7.7 of Flexmonster.
The release note you have pointed out is the right fix.
After updating to the latest version the issue should be resolved.
Please let us know if everything works fine for you.
Regarding an URL where Flexmonster bugs/suggestions can be uploaded, we would like to point out that this is done on our Support Forum.
You can create a separate thread describing the bugs and suggestions.
Please feel free to contact us in case of any questions.
Best Regards,
Vera