tags:

views:

174

answers:

3

I need to display pages in a tutorial fashion. I looked in to netsupport, beamyourscreen and other possibilities but, I do not want the viewers to download anything. I cannot use gd / send screenshots due to audio / video instructions embedded in some of the pages.

Basically, I need the ability to "refresh" a users browser window to a different page via an interface on my end. Whether via a form submission, javascript or any other type of "controller" that allows me to change the page on the viewers browser. PERL preferred but, PHP / javascript whatever works and is cross browser. I set up a simple javascript page forward timer that "works" but, page load times and conversation interruptions are a huge factor.

The entire tutorial website will be developed around this ability.

I was looking in to curl / cron / wget methods but, found little information.

I have seen forum and chat scripts that basically perform a similar task but, there must be a simple(ish) solution in leau of hacking up another script to suit my needs.

I do not want others to control the pages either. The site really, only needs to be accessable during the tutorial however, It "could" remain web accessable as long as user interaction was normal unless (being controlled).

The initial site concept is based on instructing people how to properly introduce new pets into a home. Will be operated by a veteranarian that saved my pets life. I wanted to give something back.

Possible? I really appreciate simple examples etc...

A: 

You have no other way but to keep polling the server for "instructions" using javascript. No, you can't send nothing to the end user browser, neither curl nor wget.

Mainly, you'll have to set up a simple request/response protocol between the browser and the server.

If you want to go deeper, you can use something like cometd/meteord/etc. If not, a hidden iframe that reloads himself and receives pages with javascript code for the needed actions can do the trick.

Ramon Poca
Also thought of using a variation of a hit counter that only counts views from a specific referrer eg the controller. The "active" counter calls the pages, javascript, Id's or whatever. Seems like this would be very popular for web presentations, training and tutorials. This technology, cross browser, is seemingly illusive at best. Prob because of the security issues.Thanks again everyone...
@Jimbo sounds like a horrible hack.
Wahnfrieden
Yes it does... ASP offers an alternative as well. Even using perl to rename the "next" page to index would work if there was a means of pushing a refresh to viewers browser on rename. Talk about a hack! I have found a bunch of sites that talk about what I need cannot be done. That just inspires me...
Simply, written in perl but php would work as well, I set up a page of divs with specific Ids. The administrator logs into the site. If crudentials are met, the "controller" division at the bottom of the "site" is visible. There are iframes and whatever set up in other divs. When a specific controller link is clicked, it starts the polling, makes whatever div visible based on the action sent by the controller link and polling stops. As long as user has javascript enabled, no worries. Internal links can be I made the problem far more complicated than the solution.
Forgot to mention the iframe in the divs. May work with framed site too. Must be on same domain as well I believe..
A: 

It occurred to me that what you might want to use is HTML Push technology. Check out the wiki, they have several links. I have never used it myself

Nifle
SHEBANG! Ahhh yes, that just may be the ticket. Thank you!
http://docstore.mik.ua/orelly/java-ent/servlet/ch06_03.htmThanks again for pointing me in the right direction...
Only Netscape Navigator supports server push. Internet Explorer browsers do not.
A: 

Another alternative.

With javascript dopolling and single character flatfile. Have a simple one character flatfile with a single var. Write it in perl (it is faster and uses less resources than php). The parent script calls a javascript variable in a flatfile. It hits the flatfile and goes wherever the var sets it. The flatfile is written to by the controller. Done.

I guess you could also rename an empty flatfile and use that as the controller. I am usure which is faster, open and read a specific file or hit the directory and return the file name. On the controller side, opening and writing to a file vs renaming a file. Maybe they counter each other in resources and time?

This way the site can act as a normal site. When you want to have remote users see a "presentation" (automatically being shown the site pages at the controllers pace), the controller activates polling and tells the viewers to push a start button. This allows a remote instructor to load pages for the viewers at his leisure.

It is a simple solution that works with nothing really sophisticated going on. No frames are needed either. Just need javascript enabled.

Any better suggestions are welcome!

A server side cookie would be preferrable to polling a file every second but, I do not know how to do that yet or if that cookie is "across the board" universal.