Focal Point
[CASE-OPENED] Report instances within sessions?

This topic can be found at:
https://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/5307079076

June 02, 2014, 04:33 AM
Wep5622
[CASE-OPENED] Report instances within sessions?
Is there any built-in method for differentiating between different report instances within the same session?

Our report opens several drilldowns in new browser windows, while we pass data on through the report (across those drilldowns) by storing data in the foccache. The problem I'm facing is that when people re-run the report (from the launch page) this data in the foccache gets written over. If our users then follow drilldowns on report output displayed in any of their existing browser windows they don't get results for the data displayed in that window, but instead they get data for the latest report they launched. They get the wrong data, which is bad.

We do currently work around the issue by passing a (session-based) generated sequence that we append to the holdfile names in the foccache, that we pass on as a drilldown parameter. It works, but it is not automatic and therefore prone to errors that are hard to track down.

Hence the question; is there anything built-in we could use so that this happens automatically? Perhaps a command to start a new session?

This message has been edited. Last edited by: <Kathryn Henning>,


WebFOCUS 8.1.03, Windows 7-64/2008-64, IBM DB2/400, Oracle 11g & RDB, MS SQL-Server 2005, SAP, PostgreSQL 11, Output: HTML, PDF, Excel 2010
: Member of User Group Benelux :
June 02, 2014, 05:46 PM
Waz
FOCCACHE should be unique to a session and each user should have a different session.


Not sure whats happening here.


Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.07OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!

June 03, 2014, 06:15 AM
Wep5622
Oh, it is! The problem is that users are running multiple report instances in parallel within the same session, so the data in FOCCACHE (within the same session) gets mixed up.

It's the same browser connecting to the same web-server, so the same session. However, the users have multiple windows open in their browser and all those windows are part of the session too.


WebFOCUS 8.1.03, Windows 7-64/2008-64, IBM DB2/400, Oracle 11g & RDB, MS SQL-Server 2005, SAP, PostgreSQL 11, Output: HTML, PDF, Excel 2010
: Member of User Group Benelux :
June 03, 2014, 05:23 PM
Waz
Which browser ?

I only just discovered that IE can be run in a different address space by running it with the option -nomerge.

It seems to work. I think there are similar option with other browsers.


Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.07OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!

June 04, 2014, 04:05 AM
Wep5622
Both firefox and IE 8/9/10.

Kind of hard to tell your users to run IE with some command-line option though, they wouldn't even know where to get started. Even harder when it's the report that's opening the new windows...

What I'm hoping for is some way to explicitly create a new session on the server side.


WebFOCUS 8.1.03, Windows 7-64/2008-64, IBM DB2/400, Oracle 11g & RDB, MS SQL-Server 2005, SAP, PostgreSQL 11, Output: HTML, PDF, Excel 2010
: Member of User Group Benelux :
June 04, 2014, 05:38 PM
Waz
Where is the report that spawns the new browser windows generated from ?


Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.07OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!

June 05, 2014, 03:51 AM
Wep5622
Those reports are executed from drilldowns in the top-level report or from drilldowns in any of the other drilldown reports (there's about 20 of them) down the chain (which is more like a tree, really).

None of them are generated.

I don't think the problem is with the drilldowns, though.

What happens is that users execute the top-level report multiple times. They have the drilldown reports still available in separate windows from a previous time they ran the top level report and followed drilldowns.

Running the top-level report anew changes the session data in FOCCACHE for those drilldown-windows, invalidating their data.

I do not want that to happen. I want to keep those "sub-sessions" separate.


WebFOCUS 8.1.03, Windows 7-64/2008-64, IBM DB2/400, Oracle 11g & RDB, MS SQL-Server 2005, SAP, PostgreSQL 11, Output: HTML, PDF, Excel 2010
: Member of User Group Benelux :
June 05, 2014, 05:41 PM
Waz
Becasue this is a browser issue, the only thing I can suggest is to add some sort of index to the files in FOCCACHE to separate them out.


Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.07OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!

June 06, 2014, 03:58 AM
Wep5622
That's what we already do, but it's not exactly reliable. It's too easy to forget to append such an ID and not very easy to detect and track down that you did.

The problem is not really a browser issue either. If WebFOCUS were to pass on session-id's with drilldowns from the report, we wouldn't have this issue. Instead it looks like WebFOCUS uses a cookie to pass on session-id's, which is too coarse a scope for what we want.

It looks like there's no solution then. I opened a case, but haven't gotten any response yet.


WebFOCUS 8.1.03, Windows 7-64/2008-64, IBM DB2/400, Oracle 11g & RDB, MS SQL-Server 2005, SAP, PostgreSQL 11, Output: HTML, PDF, Excel 2010
: Member of User Group Benelux :
June 06, 2014, 04:10 AM
Waz
Another option, I guess, is to write something, say jsp based, and handle it all your self.


Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.07OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!