HotDocs Hub Solution Overview
This document provides an overview of using the HotDocs Platform, HotDocs Hub, and other components, in a document automation solution.
In this Topic Hide
Document Automation
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.
Overview of a Solution
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.
HotDocs Components used in a Solution
Domain Name | Environment | HotDocs Software Components | Features Provided |
HotDocs
Desktop
|
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 | Template Hub |
|
User Hub | Enables administrators to create user accounts and allocate access permissions. | ||
Interview Service |
|
||
HotDocs Platform |
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.
HotDocs Hub Solution Architecture
An on-premise document assembly solution typically has the following architecture:
HotDocs Platform
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
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
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.
Deployment Environment
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
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.
Hub Components
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.
Hub Tenancies
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.
Hub APIs
Each Hub component also provides an extensive API. This enables you to develop your own applications that integrate Hub functionality.
Template Hub
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.
Template Storage
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.
Adding HotDocs Templates to the Template Hub
HotDocs templates are created and uploaded to the Hub using the HotDocs Developer desktop application.
Version Control
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.
User Hub
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.
User Groups
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.
Security Configuration
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.
Interview Service
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.
HotDocs Interviews
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.
Interview Generation
The Interview is a combination of HTML and JavaScript, embedded in a web page. There are several ways to display an Interview using the HotDocs Hub. These are:
- Using the Interview button in the Templates section of the HotDocs Hub user interface.
- Clicking an Interview Link, generated using the Interview Link button in the Templates section of the Hub user interface.
When using the Interview Button or Interview Link, the Interview loads within the context of the Hub user interface.
Interview Output
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.
Hub User Interface
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 Desktop
HotDocs templates are created by template authors – users that automate documents using HotDocs Developer – using the HotDocs desktop platform.
HotDocs Developer
HotDocs Developer is used by template authors to create HotDocs Templates. It is installed on the content developers' desktop computer. Once Templates are created, they are uploaded to the Template Hub. Once uploaded to the Template Hub, Templates are then made available to end users through the HotDocs Hub user interface, accessible through their web browser.
Upload Plugin for HotDocs Developer
The Upload Plugin for HotDocs Developer add-on enables content developers to upload templates from HotDocs Developer to the HotDocs Hub.
Business Application
The Business Application is your application that integrates output from the Hub into its own processes. For example, your application could:
- Store answer XML data output from a HotDocs interview into your own database.
- Store assembled documents output from the HotDocs interview into your own Document Management System.
- Display a HotDocs interview, instead of users interacting with the interview through the Hub user Interface.
The HotDocs Hub APIs, which expose core Hub functionality to developers, give you flexibility over how your application integrates with the Hub.