Tutorial: Installation

Installation

Web Capture scanning service consist of two major components:

  • Local Scanning Service
  • JavaScript API

Both of them should be deployed and shipped to the end user to get web scanning working. Below is the minimal required installation steps for both of those components.

Installing Local Scanning Service

Web Capture Service can be installed either as a Windows Service, enabling the multiuser support features or as a regular windows application using same installer - Kofax.WebCapture.Installer.msi. It also can be installed as macOS application using separate installer for Mac - Kofax.WebCapture.macOS.pkg

  • Regular installation

By default Web Capture Service is installed as a windows or macOS application, so just running Kofax.WebCapture.Installer.msi (Kofax.WebCapture.macOS.pkg when you install it on Mac) without any configuration parameters is enough. Installation and update requires elevated administrative privileges. Application is running under user credentials and could be stopped or restarted by user.

  • Windows service installation

Web Capture Service can be installed as a Windows Service, enabling the multiuser support features by using the INSTALLASSERVICE command line option:

msiexec /I Kofax.WebCapture.Installer.msi INSTALLASSERVICE=1

In this case service runs under SYSTEM account by default and no UI appears in windows tray for end user. To stop or restart service appropriate credentials is needed.

Upgrade with changing installation mode

It's not possible upgrade Web Capture Service installed as a Windows Service to the standalone version without uninstall. The following error message is shown if you try to do so:

This application can't be installed because you already have Web Capture Service install as Windows service.

Upgrading from the standalone installation to Windows Service is possible.

Deploying Server side handler

WebCaptureRequestHandler should be installed on the web server and available for requests from JavaScript side. At minimum this handler is required for obtaining licensing information and uploading scanned images if automatic upload is used. This handler also contains framework code for document capture feature(which will be described further).

It's recommended to derive it's own handler from the WebCaptureRequestHandler so default behavior could be overridden when needed.

namespace BasicWebCapture
{
    public class WebCaptureHandler : WebCaptureRequestHandler
    {
    }
}

Deploying JavaScript API

  • Web Capture Javascript API should be referenced

      <!-- Script includes for Web Capture API -->
      <script src="atalaWebCapture.js" type="text/javascript"></script>
  • Web Capture Javascript control should be initialized. see Atalasoft.Controls.Capture.WebScanning.initialize

      Atalasoft.Controls.Capture.WebScanning.initialize({
          handlerUrl: 'WebCaptureHandler.ashx',
          scanningOptions: {}
      });
  • Encryption key should be set. setEncryptionKey should be called in order to use use LocalFile functionality.

      Atalasoft.Controls.Capture.WebScanning.LocalFile.setEncryptionKey("foobar");

    The encryption key is an arbitrary string used in the encryption algorithms to ensure that files from different applications are incompatible.

Deploying Kofax Web Capture Service to end user

If Kofax Web Capture Service is not installed or not running on the user machine, JavaScript error Atalasoft.Controls.Capture.Errors.noPlugin will be thrown with installer file name passed as additional parameter. Application is responsible for handling this error, preparing download link to the Web Capture Service and passing it to end user for installing local service.

function scanErrorHandler(msg, params)
{
    switch (msg) {
        case Atalasoft.Controls.Capture.Errors.noPlugin:
            promptHTML(
            "The Kofax Web Scanning service is not available. "+
            "To download and install the latest version "+
            "<a href='WebCapture\\"+ params.filename+"'>Click Here</a>");          
            break;

        case Atalasoft.Controls.Capture.Errors.oldPlugin:
            promptHTML(
            "The Kofax Web Scanning service is out of date.<br />"+
            "To download and install the latest version "+
            "<a href='WebCapture\\"+ params.filename+"'>Click Here</a>");
            break;
        case Atalasoft.Controls.Capture.Errors.oldWindowsService:
            promptHTML(
            "The Kofax Web Scanning service is out of date.<br />"+
            "Contact your system administrator to update it.");
            break;
    }
}
function promptHTML(message) {
    // Present the content to user
    console.log(message);
}