4 Replies Latest reply on Jul 18, 2013 5:28 AM by FarellDuke

    Best way to implement an EULA popup (imprint) in RH 9

    FarellDuke Level 1

      Hello there ,


      I have a question about RoboHelp 9. The fact is my help page is divided into 2 iframes.


      A left sidebar iframe containing a navigation menu, and a right sided iframe, the main one, containing the data. (index, content, ...)


      The fact is I want, when the user load my helpdesk, to pop up a message, asking him if he agree to the legal terms of our society (EULA).

      If he answer Yes, the popup is closed, and he can navigate freely in the menu, but if he answer No, I want him being redirected on our official website.


      Is there a simple way to implement this kind of popup, with the following features :

      • focus locked on the popup (the user cannot naviguate until he didn't agreed)
      • the redirection have to take over the whole window, including the iframes (because if he is redirected only on the main iframe, he still can load pages from the left sidebar menu)


      I tried :

      • to use BSSCPopup(), but it loses focus as I click outside the popup, and it cannot be closed properly.
      • I tried to use jQuery, but RoboHelp don't appreciate the library, and reformat the code (impossible to make it works).
      • I tried to use simply javascript, was the best results, as I could keep the focus, close the popup, but the redirection was always made on the main iframe, whatever I tried.


      Thus, that leads me to begging for help, 'cause I just don't get why it's that hard to implement this in RH.

      Thank you for any suggestions or help

        • 1. Re: Best way to implement an EULA popup (imprint) in RH 9
          Willam van Weelden Level 5

          Actually, it is a bit more complex than you think. For example, when the user leaves the page and returns an hour later, you don't want to show the popup (overlay, because you can close a popup) again. This means that you need to save the acceptance in a cookie. The content files should also check whether the terms are accepted and whether the navigation frame is not shown. If the navigation is not shown, the content must show the EULA acceptance overlay as well.


          Note that there will be a way to circumvent this with web development tools if you are using JavaScript (just disable the overlay with the tool). Or even the possibility that JavaScript is turned off. The only reliable way would be server side scripting (PHP etc.) and RH doesn't support that. So make sure that your EULA contains some information on this possibility as well, such as a link in your topics stating that using the pages means that you accept the EULA. This may even be easier to implement, but I have no idea of the legal implications.


          You can use jQuery for RoboHelp (I've used it quite a bit.) In my experience, RoboHelp doesn't reformat the code when it is in an external script file. I use a lot of script files and I have never seen this behaviour before (though that doesn't mean it doesn't of course).


          Such a requirement is a lot of work and the best I can do on the forum is point you in the right direction.


          If you require professional support, contact me via my site: http://www.wvanweelden.eu/ and we can talk about your options. Note that this is not associated with my forum contributions nor is it in any way affiliated with Adobe.





          • 2. Re: Best way to implement an EULA popup (imprint) in RH 9
            FarellDuke Level 1

            Thanks William,


            I was thinking about put a <noscript> and replace the popup by a starting page with the same role.


            I think here cookies could be the best way to solve the problem, I agree with you, but again there is this matter, if user desactivate Javascript ... So I thought about something.


            A captive page to the first time the user connects, which asks for the agreement to the EULA, and if we respond "yes", a PHP session variable is generated, and the we are redirected on the help index.


            If the answer is "no", we redirect user on our website.


            The only problem is the following : Will it be possible to start a session on the helpdesk, and check if the session variable is ok. As you said no before, I'm afraid it's not possible ?


            I'm a bit disapointed about RH ... again.

            • 3. Re: Best way to implement an EULA popup (imprint) in RH 9
              Willam van Weelden Level 5



              I don't see how you could access a php session variable from RoboHelp. So while it may be a good entrance, once a user has a direct link, they simply bypass the first file. You need to be in the same session, but how to do that? With AJAX? But that would also require JavaScript (if it will work at all).


              The best way I see is just to add a notice on every page that using the system means that you accept the EULA.





              • 4. Re: Best way to implement an EULA popup (imprint) in RH 9
                FarellDuke Level 1



                I made a temporary solution with JS, a confirm() pop-up, captured the returned value, with no code in the case of a true value, and with a redirect like : top.location.href="page.htm" if the returned value is false.


                It works perfectly, until the user activate javascript. Some work to do now, without any client-sided script


                Thanks anyway,