11 Replies Latest reply on Feb 13, 2011 9:05 PM by Praful_Jain

    Launch AIRHelp from AIR Application or integrate with AIR App?

    TriGeo2002

      We're developing an AIR application and we're using Robohelp.  He had previously used it to generate FlashHelp but find that the embedded browser support of AIR applications doesn't support this output.

       

      The AIRHelp would seem to be the way to go, but you can't launch external applications from AIR applications.  At least that's what I understand.  I'm wondering if another AIR application, or specifically an AIRHelp application might be callable in some way.  If so, how?

       

      Alternatively, is it possible to take "something" that Robohelp generates and merge that with our AIR application to create one application with integrated help?

       

      Thanks.

       

      --Michael

        • 1. Re: Launch AIRHelp from AIR Application or integrate with AIR App?
          Peter Grainge Adobe Community Professional (Moderator)

          Are you saying that you don't believe you can call AIR help from an AIR application on the basis that AIR help is an application itself?

           

          If that is the question I will see what I can find out. Looking at an AIR application produced by Adobe, the help button in that is a link to help on a server.

           

          I guess your AIR application could call webhelp, flashhelp or a CHM on the basis they are not applications.

           


          See www.grainge.org for RoboHelp and Authoring tips

          Follow me @petergrainge

          • 2. Re: Launch AIRHelp from AIR Application or integrate with AIR App?
            johndaigle Level 4

            Hi, Michael.

            Following up on Peter's good questions, let me ask for some additional clarification. Peter, Rick Stone and myself often answer questions on this forum but since we are not application developers, we are not as well-versed on AIR applications. However, we have found the RoboHelp management and engineering team very responsive when we bring up special questions. Perhaps we can prevail upon them in your case if you flesh out a bit more info.

             

            It sounds like the main application for which you are trying to provide AIR Help support is in fact an AIR application itself (as opposed to a C# or C++ app, etc.). Is this correct? What is your developer using to create the AIR Application - Flex, Flash, etc.?

             

            If this is the case, this thread may be of some use:

            "Problems calling context-sensitive AIRHelp from Adobe Flex App"
            http://forums.adobe.com/message/2272289#2272289

             

            I was also curious as to whether you were simply invoking the AIR Help output and bringing it up to the main help root (Welcome page) or whether you will be calling specific Context Sensitive Help calls using the CSH API and/or with topics displayed in custom windows?

             

            Finally, since we are going into the weekend and you may not hear back till Monday, this might be helpful:

             

            Call a context-sensitive Help function for AIR Help
            http://help.adobe.com/en_US/RoboHelp/8.0/RoboHTML/WS5b3ccc516d4fbf351e63e3d11aff59c571-7f4 3.html

             

            Also, for the record, the CSH API support files are located along this path.
            C:\Program Files\Adobe\Adobe RoboHelp 8\CSH API

            The AIRSDK (software developement kit) is located here
            C:\Program Files\Adobe\Adobe RoboHelp 8\RoboHTML\AIRSDK

             

            Thanks!
            John Daigle

            Adobe Certified RoboHelp and Captivate Instructor

            www.showmethedemo.com

            1 person found this helpful
            • 3. Re: Launch AIRHelp from AIR Application or integrate with AIR App?
              TriGeo2002 Level 1

              We're using Flexbuilder Pro to build an AIR application, and one of the constraints of all AIR (1.x) applications is that they can't be used to launch other executables.  This is to prevent AIR applications from being used as malware vehicles.   This may change in AIR 2.0.

               

              Our AIR application is a commercial business tool, and we assumed that we would be able to use Robohelp's FlashHelp format - given the general relationship between Flex and Flash.  Unfortunately, the embedded (webkit) browser in AIR 1.x applications lacks the ability to properly display FlahHelp (and many other types of web content).

               

              What I did discover last night is that we should be able to build roughly the equivalent AIRHelp Viewer console as an integrated window in our application.

               

              Using the AIRHelp Viewer, and files, that were installed with the Adobe Technical Communications Suite I found that the help files were installed to my local documents, application data area in an "ahv2" directory.  This contains a "Local Store" directory that's typical of AIR applications, and under that were framemaker and robohelp directories (the only two trial applications I installed).

               

              NOTE: When first viewing the AIRHelp for these applications, it defaults to "on line" mode.  Switching to of "offline" triggers the viewer to either install or copy these files into a subdirectory called "offline".

               

              What I found is that the "offline" folder contains an index.htm file (and 3,000 other files for framemaker) that loads "pretty well" inside our AIR application.  It's not perfect, but I suspect we can work out what's missing and adjust our "AIRHelp Viewer" accordingly.  The result is that we get a nice looking help system (superior to basic web help), we're able to call it directly from within our AIR application, it's multi-platform thanks to AIR, and I expect that it will be context sensitive as well (assuming we can directly call the URL / ID combination we need to get to specific sections).

              • 4. Re: Launch AIRHelp from AIR Application or integrate with AIR App?
                Peter Grainge Adobe Community Professional (Moderator)

                I can understand that an AIR application cannot call an executable although it does seem ironic that an AIR app cannot call AIR help. What you found in the folder is pretty much webhelp being called by an AIR app that displays it. I'm assuming that as the AIR app will be locally installed, you want the help local too. Have you tried installing webhelp locally? You would need the mark of the web applied for the benefit of IE users.

                 


                See www.grainge.org for RoboHelp and Authoring tips

                Follow me @petergrainge

                • 5. Re: Launch AIRHelp from AIR Application or integrate with AIR App?
                  TriGeo2002 Level 1

                  No, we haven't tried working directly with webhelp directly.  It will be interesting to see if there is any significant difference between the webhelp target and the AIRhelp target with regard to how they look and work inside an AIR application.  It certainly seems that the web/html attributes have been targeted to what AIR's embedded web browser is capable of rendering.  In the end, we may find it much faster to just generate the webhelp and use it "as is", rather than try to "repackage" the files generated specifically for the AIRhelp.   Thanks for pointing that out - may save us significant time.

                  • 6. Re: Launch AIRHelp from AIR Application or integrate with AIR App?
                    Praful_Jain Level 3

                    Hi,

                     

                    As specified by other people here in the forum, it is certainly possible to call a CSH AIR help from any AIR application. Please check the forum post http://forums.adobe.com/message/2272289#2272289

                     

                    You need to know your AIR Help application ID, and the publisher ID.

                     

                    Application ID is the one which was specified in the AIR SSL dialog in RoboHelp 8 AIR SSL dialog (Help ID).

                     

                    The publisher ID for an installed application can be found in the META-INF/AIR/publisherid file within the application install directory. This Publisher ID is generated using the digital certificate provided while generating the AIR Help in AIR SSL dialog.

                     

                    Once Application ID, and Publisher ID are known to the developer, he/she can call the AIR help by using the Following Flex code

                     

                    private function invocarAirHelp(tema:String):void {
                          var appID:String = "abc";
                          var pubID:String = "ashfksdhfkjsdfk.1";
                          var mgr:ProductManager = new ProductManager("airappinstaller");               
                         mgr.launch("-launch " + appID + " " + pubID + " -- -csh mapnumber 1");

                    }

                     

                     

                    Hope this explanation will help you.

                     

                    Thanks

                    Praful Jain

                    • 7. Re: Launch AIRHelp from AIR Application or integrate with AIR App?
                      TriGeo2002 Level 1

                      I made the mistake of thinking of AIRhelp as an "executable" that could not be called from another AIR application, but I see from the Flex code snippet that's not an issue.  We're dealing with .air file that can have a trusted relationship, given proper identification.

                       

                      Thanks.

                      • 8. Re: Launch AIRHelp from AIR Application or integrate with AIR App?
                        Peter Grainge Adobe Community Professional (Moderator)

                        Content removed. I hadn't seen Praful's post.

                         


                        See www.grainge.org for RoboHelp and Authoring tips

                        Follow me @petergrainge

                        • 9. Re: Launch AIRHelp from AIR Application or integrate with AIR App?
                          Netom80

                          Hi,

                           

                          I made a post on the Adobe AIR forums as well, but I'd figured I post this to see if anyone had a solution (btw, the above content launches AIRHelp nicely).

                           

                          Has anyone had any experience packaging an AIRHelp project (generated by RoboHelp) with an AIR Application?  I want installation for our app to be simple as possible for the end user, and requiring them to install the help separately from the real AIR application seems to be complicated and error prone.  (In addition, ProductManager launch function cannot determine whether or not help has been installed, so there could be problems there.)

                           

                          Currently we are using a native installer for the AIR app.

                           

                          Thanks in advance,

                           

                          -Tom

                          • 10. Re: Launch AIRHelp from AIR Application or integrate with AIR App?
                            RWinscot Level 1

                            Tom,

                             

                            I've been working with Flare from Mad Cap Software. Flare outputs a stand-alone .AIR package similar to Robo Help that can be un-packed to reveal the delicious help bits you're talking about. All you need to do is take that output and include it in your application... and load it with the AIR HTML control - voila!

                             

                            Sounds easy, right? Well, there is a catch. Packaging help along with your AIR application is possible but you are likely to experience some un-desired behavior with your newly re-located content. The act of moving the content out of its original container to another can easily break connective tissue that drives navigation, search, bookmarks, etc. The only way you'll find this out is if you give it a try.

                             

                            The biggest hurdle I've had so far is cookies. The AIR HTML control doesn't know how to handle them with local content. To get around this, 'the original package' often includes an html sandbox or bridge in a frame or iframe that points to a website (e.g. http://yourwebsite.com) where the cookies can be properly stored and retrieved. You'll have to either duplicate these attachment points, come up with your own drop-in replacement, or find a way to hide the broken features from your users. It's unfortunate, but all these paths lead to making edits in the generated html / JavaScript and restoring them each time you re-generate your content.

                             

                            This might sound bad... it's not really. Drop me a line and I'd be happy to walk you through the steps - if you're still interested.

                             

                            Cheers,

                             

                            Rick Winscot
                            www.quilix.com

                            • 11. Re: Launch AIRHelp from AIR Application or integrate with AIR App?
                              Praful_Jain Level 3

                              hi,

                               

                              There is already a thread which talks about how to load Browser based help output in an AIR HTML control in an AIR application. Please read the thread @ http://forums.adobe.com/message/3443626#3443626

                               

                              There is a code snippet given as well which shows how to integrate Browser based help in your AIR code.

                               

                              Thanks

                              Praful Jain