Wanted to start this this topic regarding sessionRestore and the fact that the mechanism for tracking sessions is only on “main_screen.php” and the top frame opened.
Because of this, accessing pages outside of the default frameset breaks easily (as the android app folks are figuring out.)
While the notion of having the javascript exist only on the top frame seems simpler, each individual page needs to be aware of the mechanism anyway.
What I think might be a better approach would be to include the restoreSession.php file on every page or some modified version of it. That way pages will no longer be dependent on the top frame. Extra javscript code could also be added to the modified include file which would make restoreSession fire on appropriate events (I’d use jQuery to bind the events.)
Then a script writer wouldn’t have to worry as much about forgetting to call restoreSession.
I think there is an overall desire for a frameless interface, and this is one piece that I believe is necessary to make this happen.
I don’t have any immediate plans to play with this, this is in part a “thinking aloud” exercise for myself.
And I can get the calendar working in a “frameless environment”.
Anyway, where I think I’m going to go with this is to develop a “frameless.php” file that can be included in existing scripts that will detect/manage things so that both operating conditions can be maintained.
I think this can be accomplished without too much difficulty. If what I’m saying doesn’t make much sense, don’t worry about it. I’m still just kind of brainstorming.
Ok, hacking some things up a bit and things seem to be generally working as I expect.
Two main things have to happen in order to work “frameless”.
1. restoreSession needs to be available
2. references to other frames and functions of other frames are stubbed out
What I’ve accomplished so far is implement a new file (restoreSessionNoFrames.php) which when included in the a script element of existing pages makes them work outside of the frameset. Also, the code checks to see if it is running in a frameless environment before doing requirement 2, so it doesn’t break things if still using frames. (You can go also go back to the frames session).
The links from off of the demographics page have been enabled to run without frames at this point in this code.
change ubuntu above to your own server obviously.
There are some obvious deficiencies with this currently (such as lack of navigation, and lack of info regarding current patient/encounter) but I’ve got ideas in mind.
If your scripts can check the browser being used, I believe the Android browser comes back as “Android”… This might be helpful if you want to make the frames/no-frames switch automatic.
to determine frames vs. noFrames. Detecting “Android” won’t accomplish what I want because it needs to work on regular browsers too (and it does).
These server side changes aren’t likely to get onto the demo server anytime soon so if you want to test them out in your android client, here’s another good reason to setup your own server.
Kevin first of all i apologies to start this discussion despite its being too old, i am also trying to make it frame-less at least left_nav frame but so far no i have not got any success except turning the left frame to horizontal but that’s turning off many pages because of them being dependent on frames, can you please suggest what could be done or at least thought about going in right direction…