Thursday, August 27, 2009

Make sure that all the Panorama developers has the same version of Panorama NovaView Desktop and that it's the same version of the Panorama server. In addition, check that all the Panorama servers (meaning development server, production server, etc.) also have the same Panorama version. It's very unpleasant when you copy the views from the development server to the production server while installing your new or updated BI project just to find out that some of the views don't show because of that. That's right - it won't cause all of the views to malfunction, it will only affect some. That's the dangerous thing and this is why you need to double check it immiedetly.

 | 
Thursday, August 27, 2009 11:05:43 PM (Jerusalem Daylight Time, UTC+03:00)

in my last post I recommended you to learn about the batch mode feature of Panorama. There's one more thing you've got to know: Check you're code flow very well because if you'll use batch mode within batch mode, meaning that you'll call the EnterBatchCommandMode function after you did it previously, the view will get stuck. Be sure that you don't have such a case.

 | 
Thursday, August 27, 2009 10:51:37 PM (Jerusalem Daylight Time, UTC+03:00)
 Wednesday, August 19, 2009
After going to production, we encountered a serious bug where a web page simply stucked and made the browser freeze. This page is a little bit complex: It contains three views with interaction between them, so we had much trouble with this page in the past. We weren't suprised to hear that this page causes us more trouble, so we went on to debugging.
One of the views in this page get two parameters from the web page (using Panorama's SDK) - fromDate and toDate, which define a time interval for the view to slice on. After debugging, we've found that the problem was that after updating the fromDate parameter and before updating the toDate parameter, the view had no rows left. When trying to update the toDate parameters in the view with no rows, it made the browser stuck.

The solution is to make the parameters update in one action. There are two ways of doing this:
The first one is to use the CallUpdateParametersEx with number of parameters. You can update many parameters in one function call (look in the SDK documentation). The problem with this solution is that the code is not readable.
The second and better solution is to use the EnterBatchCommandMode and LeaveBatchCommandMode functions to make the parameters update in one transaction. This way, the code is much more readable. You can update every parameter in its own CallUpdateParametersEx call. The usage of this function is very simple: Call the EnterBatchCommandMode function before the parameters update and call the LeaveBatchCommandMode after that.

I'm sure that there are more scenarios where this concept can be helpful, so it's important to get familiar with.

 | 
Wednesday, August 19, 2009 8:24:15 PM (Jerusalem Daylight Time, UTC+03:00)