Integrating with HotDocs Server

At the center of HotDocs Server is a Windows operating system service that runs in the background and performs various tasks, such as assembling documents, producing HTML interviews, and handling answer files. As an operating system service, HotDocs Server starts when Windows is started and runs in its own process. This means that HotDocs Server is always available, even when no users are logged on to the system. Also, because HotDocs Server runs in its own process rather than running in a thread belonging to another application, security for HotDocs threads is not dictated by the client process.

The core HotDocs Server service does not have a user interface. Instead, it provides the following APIs through which external applications (with their own user interfaces) can integrate with HotDocs Server and instruct it to perform various tasks:

API Description
COM API The HotDocs Server COM API is the fundamental interface for integrating with HotDocs Server from a host application running on the same machine. It consists of a set of COM objects which allow you to retrieve interviews suitable for display in a Web browser, pre-populate those interviews with existing data, assemble documents, and perform many other tasks relevant to Web-based document assembly.
.NET API The HotDocs Server .NET API is a set of native .NET classes built on top of the COM API, which you can use to integrate HotDocs Server with your own custom .NET host application. It provides essentially the same set of features as the COM API, but also incorporates some convenient .NET features such as IEnumerable collections and IDisposable implementations.
Web Services API The web services API installs separately from HotDocs Server itself.  It is a web service, hosted in IIS, which exposes fundamental HotDocs Server features to HTTP callers via the SOAP protocol. Organizations who need a host application to run on a different machine (or a different platform) than HotDocs Server can choose to install and use the web services API, and then design their host application to access HotDocs via this SOAP interface.

Source code & documentation for the web services API available separately.

By default, the HotDocs Server operating system service runs under the SYSTEM user account. This is a special account with full privileges to read and write files on the local file system, but it cannot access files on a network. If you would like HotDocs Server to run under a different user account, consult your operating system documentation. (If you do configure the HotDocs Server service to run under a different user account, you must take care to give that account Read, Write, and Modify permissions to the temporary files folder, as well as to the template, answer, and assembled document files folders of your host application.)

Browser Interviews

One of the services provided by HotDocs Server is the generation of a browser-based interview where questions are presented to end users and answers are gathered. The following picture shows an example of a browser interview:

Browser interviews come in two varieties: JavaScript + HTML (usually referred to as simply "JavaScript") and Microsoft Silverlight. Both types of interviews support the same base feature set.

From HotDocs 11.0.6, you can now access the Resource Pane and Interview Outline using the widgets on the right and left side of the interview. There are no longer buttons at the top of the interview to control these features. Silverlight remains unchanged.

A number of factors affect the appearance of browser-based interviews. First of all, the host application determines the layout of the Web page on which the interview is displayed. HotDocs Server provides methods that can be called to produce an interview, which is then embedded in the host application’s Web page. The interview may be displayed by itself on a page, or it may be included on a page with other host application content – graphics, links, menus, etc.

Style sheets and the format of the interview also affect its appearance. In addition to the core differences in appearance associated with interviews in JavaScript or Silverlight format, each of these interview formats uses a style sheet that you can customize to make the interview blend in with your host application. For example, if your host application uses a common set of colors and fonts, you can modify the style sheet to use the same colors and fonts in the interview, thus giving the interview a uniform appearance with the rest of the Web site.

Template developers that create templates for use with HotDocs Server can also greatly influence the appearance of interviews. For example, they can group related variables in dialogs, place variables side-by-side in dialogs, add additional text or prompts to explain questions, or include resource links to help users complete the interview.

Browser-based interviews expose an API allowing host applications to customize the user interface and enhance integration in other ways:

API Description
 JavaScript API The HotDocs Browser Interview JavaScript API includes a number of JavaScript functions, callbacks and global variables you can use on the client (browser) side of your host application to interact with the browser-based interview.

Scaling

HotDocs Server is an efficient and high-performance system for mass-producing documents. However, if your document generation needs exceed the capacity of a single server box, HotDocs Server can be load-balanced as long as certain guidelines are followed in the development of your host application.  HotDocs is highly suited for deployment in clusters behind industry-standard load balancing. Please see the HotDocs Web Services API documentation for more details on using HotDocs Server in a load-balanced environment.