Difference between revisions of "HowTo:Create Application-Specific Help"

From AgileApps Support Wiki
imported>Aeric
imported>Aeric
Line 11: Line 11:
==Working with Application-Specific Help==
==Working with Application-Specific Help==
Here, we assume that you want to display different pages, depending on the user's current location--so you'll be wiring help buttons that appear on different forms so they display different pages in the help tab. (You may even use JavaScript to go to different help pages, under different conditions.)
Here, we assume that you want to display different pages, depending on the user's current location--so you'll be wiring help buttons that appear on different forms so they display different pages in the help tab. (You may even use JavaScript to go to different help pages, under different conditions.)
These examples put the button in the details area, when viewing a record, as that is the simplest form of the code. It is also possible to display the button above the details area (just below the record banner).
:''Learn more:'' [[Form Scripts#Add a Help Button to an Arbitrary Form]]


{{TIP|JavaScript functions are most easily tested by adding them to the OnLoad script in a [[Form]]. But they are most easily reused by uploading them in a static resource file.
{{TIP|JavaScript functions are most easily tested by adding them to the OnLoad script in a [[Form]]. But they are most easily reused by uploading them in a static resource file.

Revision as of 22:45, 13 August 2015

About Application-Specific Help

The information here in the support wiki is intended primarily for application builders, admins, and installers. But end-users need information that is specific to the application they are using--and that is where application-specific help comes in.

In this article, we assume that you know how to add a button to a form, and that you know how to create an interface tab that displays a single HTML page of information. (The important point is to make sure that your help pages have no headers, so that links work.) With those basics in hand, you can go on to create context-sensitive help pages for your application.

Learn more:

Working with Application-Specific Help

Here, we assume that you want to display different pages, depending on the user's current location--so you'll be wiring help buttons that appear on different forms so they display different pages in the help tab. (You may even use JavaScript to go to different help pages, under different conditions.)

These examples put the button in the details area, when viewing a record, as that is the simplest form of the code. It is also possible to display the button above the details area (just below the record banner).

Learn more: Form Scripts#Add a Help Button to an Arbitrary Form


Thumbsup.gif

Tip: JavaScript functions are most easily tested by adding them to the OnLoad script in a Form. But they are most easily reused by uploading them in a static resource file.

Learn more: Static Resources#Accessing a JavaScript Resource from an Object Form

Going to the Help Tab

When the Help button is clicked, this code (in effect) reaches out an arm from behind the screen, grabs the mouse, and clicks on that tab!

function findByAttributeValue(attribute, value) {
  var All = document.getElementsByTagName('*');
  for (var i = 0; i < All.length; i++)       {
    if (All[i].getAttribute(attribute) == value) { return All[i]; }
  }
}

function goToHelpTab() {
   var helpTabLink = findByAttributeValue("display_title","HELP");
   helpTabLink.click();
}

Then configure the form button to invoke the goToHelpTab() method:

var button =
  '<div style="float:right;padding-right:20px"> \
      <input type="button" value=" Help " onclick="goToHelpTab()"> \
   </div>';

Open a JSP Page in a Separate Window

Opening a help page in a separate window has the advantage that the user can see the help page side-by-side with the application.

var button =
  '<div style="float:right;padding-right:20px"> \
      <input type="button" value=" Help " 
             onclick="window.open(\'/networking/page/PAGENAME.jsp\')"> \
   </div>';