How do I develop web applications that manage grammars?

Last reviewed: 7/15/2011

HOW Article ID: H071113

The information in this article applies to:

  • GrammarKit 4

Summary

You can develop web applications that manage grammars using your favorite JavaScript and VBScript development tools.

More Information

GrammarKit class methods require enumeration constant values for some of the parameters. These constants are pre-defined in files chant.js and chant.vb. Copy the applicable file to the same folder as your web page from the following installation folder:

Program Files\Chant\GrammarKit 4\Win32\Web\include.

Program Files\Chant\GrammarKit 4\Win64\Web\include.

Program Files\Chant\GrammarKit 4\WinCE\Web\include.

Access the constant values on your web page by including a reference to the file on your web page.


<head>
<script type="text/javascript" language="JavaScript" src="chant.js" />
... 
</head>
<body onload="onLoad()">
...
</body>

<head>
    <script type="text/vbscript" language="vbscript" src="chant.vb" />
    ...
</head>
<body onload="onLoad()">
...
</body>

Object Declaration

Chant GrammarKit includes a Web component library that can be accessed via script code on a web page.

The ChantGM component can be accessed via JavaScript and VBScript code on a web page. The IE browser caches the component automatically for the web page.


<!-- IE 32 declaration -->
<object id="WChantGM1" width="0" length="0"
classid="clsid:3C035049-2BB3-4201-836F-06A2D5616293"
codebase="http://www.chant.net/grammarkit/cabs/WGrammarKit4.cab">
</object>

The ChantGM component can be accessed via JavaScript and VBScript code on a web page. The IE browser caches the component automatically for the web page. The 64-bit library declaration is only required when using 64-bit IE.


<!-- IE 64 declaration -->
<object id="WChantGM1" width="0" length="0"
classid="clsid:C4BBEE19-0E56-41A1-8CA4-A5ACAF0F065B"
codebase="http://www.chant.net/grammarkit/cabs/WGrammarKit4.cab">
</object>

The ChantGM component can be accessed via JavaScript code on a web page. Pocket IE browser does not support VBScript and does not cache the component automatically for the web page. The web component library must be installed on the device first.


<!-- Pocket IE declaration -->
<object id="WChantGM1" width="0" length="0"
classid="clsid:A6235BAC-219A-4B7E-BAF2-6E54ADC92AB4">
</object>

To install the web component library on the device, run the Program Files\Chant\GrammarKit 4\WinCE\gmkwebsetup.exe or copy the Program Files\Chant\GrammarKit 4\WinCE\WSpeechKitWCEARM4.cab to the device and execute to install.

Object Instantiation

The ChantGM class object is automatically instantiated when the web page loads. Access the instance of the ChantGM object from the document object. Set the CSPSerials property with your GrammarKit license serial number to unlock the component library for this web page. Even though you access the ChantGM object instance from as many functions as your application needs, you only need to set the CSPLicense once on page load.


<head>
<script type="text/javascript" language="JavaScript"><!--
    function onLoad() {
        // Get the object instance (Win32 and Win64)
        var chantGM = document.getElementById('WChantGM1');
        // Get the object instance (WinCE)
        var chantGM = document.all['WChantGM1'];

        // Set license property
        chantGM.SetStringProperty(CSPSerials,"LicenseSerialNumber");

        ...
    }
//-->
</script>
</head>
<body onload="onLoad()">
...
</body>

<head>
    <script type="text/vbscript" language="vbscript"> <!--
    Sub onLoad
        ' Get the object instance (Win32 and Win64. VBScript not supported on WinCE)
        Set chantGM = document.getElementById("WChantGM1")

        ' Set  license property
        chantGM.SetStringProperty CSPSerials, "LicenseSerialNumber"
    End Sub
//-->
</script>
</head>
<body onload="onLoad()">
...
</body>

Event Callbacks

Event callbacks are the mechanism in which the component library communications information back to the application such as compilation is complete or there was an error.


<script type="text/javascript" language="JavaScript" for="WChantGM1" event="HasEvent"><!--
    var oChantGMEvent;

    var chantGM = document.getElementById('WChantGM1');
    // Get the number of events
    numberOfEvents = chantGM.GetResourceCount(CSREvent);
    for (i = 0; i < numberOfEvents; i++)
    {
        // Get the event from the event queue
        oChantGMEvent = chantGM.GetResource(CSREvent, 0);
        switch (oChantGMEvent.ChantCallback)
        {
            case CCGMDone:
                {
                    ...
                }
            default:
                break;
        }
        // Remove the event from the event queue
        chantGM.RemoveResource(CSREvent, 0, 0, "");
    }
//-->
</script>

<script  type="text/vbscript" language="vbscript" for="WChantGM1" event="HasEvent"><!--
    Set chantGM = document.getElementById("WChantGM1")
    ' Get the number of events
    numberOfEvents = chantGM.GetResourceCount(CSREvent)
    For I = 0 To numberOfEvents-1
        ' Get the event from the event queue
        Set oChantGMEvent = chantGM.GetResource(CSREvent, 0)

        ' Process the type of callback event
        Select Case oChantGMEvent.ChantCallback
            Case CCGMDone
                ...
            Case Else
        End Select

        ' Remove the event from the event queue
        chantGM.RemoveResource CSREvent, 0
    Next
//-->
    </script>

Deployment Checklist

When you are ready to deploy your application, you need to ensure you have a valid license, bundle the correct Chant component libraries, and configure your installation properly on the target system. Review the following checklist before deploying your applications:

  • You may deploy your web page to any domain with a valid license from the Chant. See the section License for more information about licensing Chant software.
  • Update the codebase tag in the <object> declaration with location of the GrammarKit cab file. This can be the Chant web location or the URL of that location on your website where you copy the licensed cab file.

Sample Projects

Web sample projects are installed at the following location:

  • My Documents\Chant GrammarKit 4\Win32\Web\JavaScript.
  • My Documents\Chant GrammarKit 4\Win64\Web\JavaScript.
  • My Documents\Chant GrammarKit 4\WinCE\Web\JavaScript.