[Catalyst] Browser window/tab independent sessions

Ian Docherty catalyst at iandocherty.com
Tue Jan 9 12:59:15 GMT 2007


Matija Grabnar wrote:
> Octavian Rasnita wrote:
>>
>> And I think this is what is wanted, because I can't see other needs 
>> for having 2 separate sessions on the same computer.
> There is no need for having two separate sessions if you can guarantee 
> the user will ALWAYS be able to finish
> one task before starting another. That works beautifully in theory, 
> not so well in real life.
>
> Practical case one: database of users for an ISP. A helpdesk operator 
> is going through his tickets, looking up one user at a time, when a 
> phone call comes in. He now either has to deal with the customer 
> without looking them up (practically impossible), or he has to abandon 
> the session where he half completed the processing of the ticket in 
> order to look
> up the customer. Both alternatives are unappealing.
This is exactly the case I am trying to solve. The Helpdesk operator 
needs to be kept logged in (even if she opens another browser window) 
but the half completed ticket is retained together with any search terms 
*for that browser window*. A partial ticket in another window has it's 
own search terms.

This is rather getting off the topic for a 'Catalyst' list. I posted 
here originally because I wanted to know if there was a Catalyst 
solution. It looks like the answer is to use cookies for things like 
user login and use URL encoding for new browser windows so that I can 
keep state for them separately.

What is still not clear is how to generate (for all possible ways of 
opening a new window) a new URL encoded session value. e.g. cutting and 
pasting a URL from one window into another will also copy the URL 
encoded session so both windows would have the same state.

<snip>
> There are very good reasons why PART of the session information should 
> be unique to each tab, and PART of it should be common. Deciding which 
> part belongs where requires knowledge of the problem domain, and 
> thinking through of common usage scenarios.
>
Exactly
> Saying "Oh, that problem is solved by choosing browser X" is 
> completely unacceptable in the real world. In the real world, you can 
> NOT choose which browser all the people using your application will 
> run, nor can you afford to turn away those who run different browsers.




More information about the Catalyst mailing list