This document provides an overview of using HotDocs Hub, the HotDocs Platform, and other components, in a document automation solution.
In this Topic ShowHide
Organizations that produce a large numbers of standardized documents – for example, contracts or invoices – benefit from document automation. This is a process through which existing documents are marked up with placeholders for changeable values and instructions for conditionally changing the structure of a document. Marked-up documents created using HotDocs are called HotDocs templates. Completed documents are created by merging user input data with the placeholder values in the HotDocs template, resulting in a customized final document. As users never directly edit the text of the document, this ensures the production of accurate, compliant, error-free documents.
A document automation solution typically requires that some or all of the following tasks are performed:
- Create automated HotDocs templates from existing documents.
- Store templates in a central location.
- Organize templates into groups.
- Allocate access permissions to users.
- Gather user input required to produce a completed document.
- Produce a completed document by merging the template with user input.
- Pass the completed document to another process.
These actions are performed by the components below.
|Domain Name||Environment||HotDocs Software Components||Features Provided|
||Desktop||HotDocs Developer||Enables users to create HotDocs templates.|
|Upload Plugin for HotDocs Developer||Enables users to upload templates from HotDocs Developer to the HotDocs Hub.|
|HotDocs Hub||Cloud or On-Premise Server||HotDocs Hub||
|Enables administrators to create user accounts and allocate access permissions.|
Cloud or On-Premise Server
|HotDocs Cloud Services (Cloud)||Handles interview generation requests and assembly requests from the Interview Service and processes the requests in the Cloud.|
|HotDocs Web Services (On-premise)||Handles interview generation requests and assembly requests from the Interview Service, and passes the requests to HotDocs Server.|
|HotDocs Server (On-Premise)||
The relationships between components is described below.
An on-premise document assembly solution typically has the following architecture:
The on-premise installation of HotDoc Hub is deployed to Internet Information Services (IIS). When Hub is installed, you will see multiple applications in IIS beyond those shown in the architecture diagram above. See HotDocs Hub Applications in IIS for a full description of each application.
The HotDocs Platform provides core HotDocs functionality in a server environment. Specifically, document assembly and interview generation. There are two components that make up the Platform for an on-premise solution: HotDocs Server and HotDocs Web Services.
HotDocs Server is the server-based version of HotDocs. It generates HotDocs interviews for display in a standard Web browser and generates completed documents on the web server, without requiring any special software to be installed on an end-user's computer. It is the 'core' of the HotDocs Platform. It performs all processing of document assembly and interview generation.
HotDocs Web Services is a REST-ful web service which exposes fundamental HotDocs Server features to callers. It can be deployed on a different server to the one on which HotDocs Server is installed. In this solution, it is used by the HotDocs Hub – specifically, the Interview Service component – to generate Interviews and assemble documents.
HotDocs Core Assembly Service is a web application that provides document assembly services via an Application Programming Interface (API).
The HotDocs Platform is deployed in a Windows Server environment using Internet Information Services (IIS). For a full list of IIS role requirements, see HotDocs Server System Requirements.
HotDocs Hub is a modular, off-the-shelf suite of commonly-needed components for HotDocs integrations. Applications that integrate with HotDocs typically provide several additional features for controlling how HotDocs resources are used. For example, HotDocs template storage, user authentication and authorization, and HotDocs interview generation. The Hub supplies these components without any additional development effort on your part. Users interact with the Hub either through the Hub's own user interface or through your own custom user interface, built using the Hub APIs.
HotDocs Hub provides the following core components:
- Template Hub – storage, organization, and permissions for HotDocs templates.
- User Hub – authentication and authorization for accessing HotDocs resources (i.e. templates, Interviews, Hub administrative tools).
- Interview Service – HotDocs interview generation, using HotDocs Server and templates stored in the Template Hub.
The Template Hub and Interview Service are always installed as part of a solution. The User Hub is optional, depending on the security requirements of the solution.
HotDocs Hub is a multi-tenanted application, and both cloud and on-premise HotDocs Hub deployments use the same underlying multi-tenanted architecture. However, only cloud deployments support multiple tenants. On-premise deployments of Hub may only have a single tenant.
Each Hub component also provides an extensive API. This enables you to develop your own applications that integrate Hub functionality.
The Template Hub is a web service providing storage, organization, and retrieval of HotDocs templates. The service enables users to:
- Store HotDocs template files in a database.
- Edit template metadata.
- Retrieve template files.
- Organize templates into groups.
- Version control templates.
Templates uploaded to the Hub from HotDocs Developer are stored in a database. This requires that Microsoft SQL Server 2012 R2 or later is installed as part of the solution.
HotDocs templates are created and uploaded to the Hub using the HotDocs Developer desktop application.
Templates uploaded to the Hub are subject to version control. Once a template is uploaded, any subsequent upload of the same template creates a new version of that template in the Hub. This produces a 'history' of uploads for the template. Using this version history, an administrator can roll the template back to an earlier version if necessary.
The User Hub is a web service providing user authentication and authorization for HotDocs resources, including the Template Hub and Interview Service. The User Hub enables administrators to:
- Create User accounts.
- Allocate User Roles: Tenancy Administrators, Template Uploaders and Template Users.
- Organise Users into User Groups.
- Edit User account details.
Users are organized by assigning them to structured User Groups. Access to resources in other Hub components is controlled by allocation of User Groups to Template Groups.
Users in the assigned User Groups may then access the templates in the Template Group For example:
- A User Group (HR Department) is created in the HotDocs Hub, with three users allocated.
- A Template Group (Employment Agreements) is created in the HotDocs Hub, with six templates allocated.
- The HR Department User Group is assigned to the Employment Agreements Template Group.
- All users in the HR Department user group can access the templates in the Employment Agreements templates group; i.e. they can load interviews and assemble documents using the templates.
The User Hub is an optional HotDocs Hub component. It does not need to be installed for the Hub to function. If the User Hub is not installed, system administrators typically use an alternative solution for user authentication and authorization. See Security Configuration Options for more information.
The Interview Service is a web service providing HotDocs Interview generation. It exposes the interview generation and document assembly functionality provided by the HotDocs Platform.
A HotDocs Interview is a series of dialogs, each containing one or more questions which HotDocs generates from the variables in a template. The template's user must answer the questions in the interview before HotDocs can assemble a custom document. Once a person completes the interview, HotDocs assembles the final customized document from the template by merging the interview answers into the template text. Before an Interview can be generated, a template must be uploaded to the Template Hub. This is necessary as the Interview content and structure is derived from the template for which an Interview is requested.
Once a user has finished an Interview, two items of data are typically output:
- Answer XML – the data entered into the interview by the user
- Assembled document – the completed document produced by merging Interview data with the template
The user can download the assembled document after they complete the Interview.
The Hub UI web application enables users to access Hub functionality through a web browser. During installation, you can optionally install the HotDocs Hub UI, containing the core user interface components for the HotDocs Hub. If you choose to install Hub components without the user interface, you can also interact with components directly through their APIs.
HotDocs templates are created by template authors – users that automate documents using HotDocs Developer – using the HotDocs desktop platform.
HotDocs Developer is an application used by template authors to create HotDocs templates. It is installed on the template author's desktop computer. Once template author's create templates, they can then upload the templates to HotDocs Hub. Once uploaded to Hub, templates are then available to templates users through the Hub user interface, accessible through their web browser.
The Upload Plugin for HotDocs Developer add-on enables content developers to upload templates from HotDocs Developer to the HotDocs Hub.