Home

Home > Home

HotDocs Developer Help File

The HotDocs Help window is divided into three parts – the navigation bar along the top of the help window, the main help content pane to the right, and the Contents, Index, Search and Glossary pane to the left.

You can use the tabs to switch between the Contents, Index, Search and Glossary on the left hand pane.

There are four buttons in the navigation bar where you can access the following options:

  • Hide: Hide the left hand pane, the button then changes to the [image] Show button.

  • Back: Go back to the previous page.

  • Print: View the Print dialog box to print a copy of the current page.

  • Options: Show the options drop-down menu where you can choose from: Hide Tabs, Back, Forward, Home, Stop, Refresh, Internet Options, Print, and Search Highlights Off.

For further information on using this help file see Get Help Using HotDocs and Form a Help Search Query.


Common Confusions

In HotDocs there are a some features which, while working as expected, may at first seem counter intuitive. The following is a list of common confusions and known issues:

Template Development

Microsoft Word Features that Cannot Be Used with HotDocs

Microsoft Word 2016 Right-click Menu Restrictions

Using Smart Returns

Clauses and Clause Libraries

Dialog Element Image Display Issues in Browser Interviews

Using Multiple Choice Merge Text

Apparent Issues with Dot Codes

Ampersands in Variable Prompts

ASSEMBLE instructions must be included in the template as well as in the interview script

Template Uploading

Template ID Conflicts

Document Assembly

Problems with Text Pushing Too Far to the Left Side of the Assembled Document

Enabling Update table of contents, references, fields etc in HotDocs Server templates

Using the /nw Command-line Switch with the /of Switch Does Not Support Converting a Document to PDF

Work Around

Server Assembly Behavior Differs from Desktop

Using a SET instruction in a repeated dialog script can result in unanswered repetitions in the assembled document

Special characters that cannot be used in Cloud Services package IDs

Update Table of Contents, References, Fields, etc. Option

Known Issues

Browser Interviews

See the Troubleshooting section of this help file to resolve other issues you encounter.

Template Development

Microsoft Word Features that Cannot Be Used with HotDocs

There are a couple of Microsoft Word features that are not supported in HotDocs templates. To avoid errors, we recommend you remove the following features from your documents before converting them into templates:

  • Mail merge
  • Smart quotes

Microsoft Word 2016 Right-click Menu Restrictions

Due to a change by Microsoft, custom right-click menus are no longer possible in Microsoft Word 2016. As a result, right-clicking on HotDocs fields within Word templates will no longer present a custom menu allowing you to edit the field or related component. This is unfortunate, but expected, behavior. HotDocs fields can still be edited by double-clicking in Word, and fields and components cat still be edited using the HotDocs ribbon in Word as well.

Using Smart Returns

We recommend becoming familiar with how HotDocs uses smart returns after inserting an instruction, before you develop any complex templates with multi-level lists. The way you set the smart returns options can alter the formatting in your assembled document. You can set your default options for smart returns at the HotDocs Options dialog box.

Clauses and Clause Libraries

HotDocs Clauses and Clause Libraries are an old feature which we do not recommend relying upon for your template functionality.

Dialog Element Image Display Issues in Browser Interviews

When you develop a template for browser interviews, we recommend you thoroughly test how images display when included as dialog elements because Silverlight and JavaScript handle image display in slightly different ways. If an image is too big to fit in the allotted space, Silverlight interviews clip the image, while JavaScript interviews resize the image. To avoid any display issues, in such cases, we recommend you resize the image so that it displays equally well in both Silverlight and JavaScript.

Using Multiple Choice Merge Text

If you are using merge text in a computation variable, make sure you remember to use quotations around the multiple choice variable name otherwise you will be using the option text. For example using «MCVariable» will use the option text in the assembled document but using "«MCVariable»" will use the merge text.

Apparent Issues with Dot Codes

Sometimes, it can appear that special characters are being considered as punctuation, so that the assembled document omits (for example) the period.

The behavior of the sentence punctuation dot codes—the dot codes for period (<<.>>), comma, semicolon, colon, exclamation point, and question mark—insert punctuation only if the preceding character is not another sentence punctuation of the kind that HotDocs inserts. For example, the period dot code will insert a period after a closing parenthesis, but will not do so if the dot code is preceded by an exclamation point.

Ampersands in Variable Prompts

You can type an ampersand (& ) immediately before a character in a variable prompt to make that character an accelerator key. During the interview, an accelerator key enables the user to move the cursor to that answer field by pressing the Alt key while also pressing the underlined character in the prompt. This functionality can create an issue if you need to include a word in your prompt that has an ampersand immediately preceding a character. To do this without creating an accelerator key, you must type two ampersands (&&) where you want the ampersand to appear as a single ampersand. For example, to have "R&D" as your variable prompt you would need to type "R&&D".

ASSEMBLE instructions must be included in the template as well as in the interview script

To ensure that templates are added to, and remain in, the assembly queue, you should include identical ASSEMBLE instructions in both your interview and template scripts. This way, no matter which script HotDocs processes last, it will put the desired templates in the assembly queue.

Template Uploading

Template ID Conflicts

When uploading multiple templates, you may encounter an issue with duplicate template IDs. If two or more templates share the same template ID, HotDocs generates an error message alerting you to the problem, and specifying the templates that are in conflict.

A conflict of this sort most often occurs in cases where you copy a template (whether using Widows Explorer, or HotDocs native copy a template feature) to avoid recreating all the components in the accompanying component file. Since HotDocs assigns a unique ID to each template, merely copying a template to another location in this way, and even renaming that copy, does not change the template ID. In such cases, you end up with two templates, each with the same ID number. The proper method for creating a copy is to use HotDocs to create a new template based on an existing template.

You can fix the problem that caused the error message by following the steps below:

To change a template ID number

  1. In the HotDocs Developer library, select the template whose ID you want to change.

  2. On the right side of the toolbar at the top of the library, click [image] Component Manager; then just below the Save icon, click [image] Component File Properties.

  3. On the General tab, to the right of the Template Identifier box, click New. This updates the template ID.

  4. Repeat until you resolve all ID conflicts; then try uploading again.

Document Assembly

Problems with Text Pushing Too Far to the Left Side of the Assembled Document

Templates developed in Word 2007 with smart tags enabled can display text incorrectly. This results from a bug in Microsoft's Open XML Format SDK. If you have templates automated from documents developed in Word 2007, be sure to remove the smart tags in your templates or ask your template developer to resolve this problem.

Enabling Update table of contents, references, fields etc in HotDocs Server templates

On the HotDocs Server tab of Component File Properties, if you enable Update table of contents, references, fields, etc option, you may find that it does not produce exactly the same results as the desktop option of the same name on the Assembly tab. Unlike in desktop HotDocs, using this feature with server is known to occasionally alter or lose advanced formatting features in the assembled document. Not enabling this feature removes the chance of this error occurring but you loose the ability to dynamically update the table of contents, references, fields etc in the interview. If you choose to use this feature when converting a template for use with HotDocs server, we recommend testing all features that previously relied on the desktop version of this option.

Using the /nw Command-line Switch with the /of Switch Does Not Support Converting a Document to PDF

Normally, the file extension on the file specified in the /of command line switch instructs HotDocs to convert the assembled document to a file of that type after assembly. However, when converting to PDF, this only works when the assembly window is visible. When you hide the assembly window (by using the /nw switch), conversion to a PDF document is not supported. HotDocs does, however, save the assembled document to a file with a .PDF extension as instructed by the /of command line switch. This can be confusing if you specify “tf=template.docx /of=document.pdf” in the command line after using a /nw switch. In this case, HotDocs assembles a DOCX document from the DOCX template, but saves the DOCX document iin the file system with the filename specified by the /of switch (document.pdf). If you then double-click that file in Windows Explorer, the application mapped to the PDF file extension (usually Adobe Reader) tries to open the file but fails because the file contains a DOCX document, not a PDF document (as the file extension claims).

In cases where the assembly window is hidden by specifying the /nw switch, only native word processor file types are supported for the /of commandline switch, as follows:

Template type | Allowed output file
DOCX | DOCX
RTF | RTF, DOCX
DOT | RTF, DOCX

Work Around

A possible work around is to use Microsoft Word's PDF conversion feature to accomplish the same result, using either Word's graphical user or programming interface.

Server Assembly Behavior Differs from Desktop

Using a SET instruction in a repeated dialog script can result in unanswered repetitions in the assembled document

In a dialog script, if you SET a variable to an answer in a repeated dialog script without using a condition on the SET instruction, HotDocs sets that variable every time you create a new iteration of the dialog. As a result, your answer file may contain more answers than what you intended. (This is especially true if the variable in the SET instruction is hidden on the dialog.) Although you may not see that repetition in the interview, it exists in the answer file.

During a desktop assembly, HotDocs keeps track of how many repetitions of the dialog are visible and then uses that information when assembling the document to prevent seemingly unanswered repetitions from appearing in your document. However, if you perform the assembly silently (without showing the assembly window), or you perform the assembly using HotDocs Server, HotDocs does not track the number of repetitions shown in the interview and must assemble the document based only on what is available in the answer file.

You can avoid the situation where these extra, unanswered repetitions appear in your assembled document by adding an IF instruction to the dialog script so that the script only SETs the variable if some other variable in the repetition is answered. Likewise, you can add a FILTER on the REPEAT instruction in your template to filter out any unwanted repetitions in which the only answered values are the ones that are hidden.

The following is an example of a dialog script that only SETs a variable if you answer another variable:

HIDE Repeat Variable

IF ANSWERED(Test2)

SET Repeat Variable TO “AutomaticallySetValue”

ELSE

SET Repeat Variable TO UNANSWERED

END IF

Special characters that cannot be used in Cloud Services package IDs

'/', '\', and '?' cannot be included in the template name when you are creating a template package for use in a HotDocs Cloud Services direct interview.

Update Table of Contents, References, Fields, etc. Option

There are potential formatting issues in your template if you select the “Update table of contents, references, fields, etc.” option on the HotDocs Server tab of the Component File Properties dialog. While we review all reported formatting issues, some issues cannot be addressed:

  • Paragraphs numbered using the AutoNum field do not format correctly. Microsoft considers this field obsolete and suggests you use the ListNum field. To avoid this issue, you may also consider updating your template's paragraph numbering using Word's Numbering found in Paragraph group of the Home tab.

Known Issues

The following issues are known and are either not addressable by HotDocs as they originate in external software or are planned to be resolved the future releases. In the meantime you can use the workarounds listed below:

  • Multiple choice variables populated using a SET instruction do not differentiate between upper and lower case when you edit an answer in the interview. For example, the multiple choice variable won't honour changing the answer "JOHN DOE" to "John Doe". It continues to display the uppercase answer until you make a character change, only then does it recognise you have typed in a new answer. To avoid this problem you need to add an ERASE VAR instruction to the beginning of your computation, rather than using CLEAR VAR. For example, a computation like this would honour the changes between upper and lower case:

ERASE MCVariable

ADD Txt1 TO MCVariable

SET MCVariable TO Txt1

  • Double ampersand is not escaped correctly in the dialog title when the Combine Default Dialogs option is selected. When the Combine Default Dialogs option is on, HotDocs takes the variable title, for example "R&&D", and instead of correctly escaping the first ampersand, so it appears in the interview correctly as "R&D", it appears incorrectly as "RD". To avoid this issue it is best to not use Combine Default Dialogs if you want to use ampersands in your dialog titles and instead create your own dialogs using the component file.
  • If you try to assemble a .dot template on a new installation of HotDocs Developer, Windows is occasionally unable to open Microsoft Word correctly to assemble the document. To avoid this problem HotDocs recommends assembling an .rtf or .docx template after installing a new version of HotDocs Developer. If you do assemble a .dot template first, and experience this issue, you need to remove the template from your library, restart HotDocs Developer, then add the template again. That should solve the issue.

Browser Interviews

  • In a Javascript interview, selecting "None of the above" on a list style multiple choice question in the interview, occasionally does not clear any other selected options. You need to hold down Ctrl and click the selected options to clear them and then you can select "None of the above" only.


Quick Help Links

Using the links below, you can quickly find topics of interest, particularly if you are a new user.

Starting HotDocs

  • HotDocs Overview
  • Introduction: Use HotDocs Libraries
  • Create a Library
  • Work with Templates and Other Files in a Library

Automating a Template

  • Introduction: Template and Component Files
  • Create a New Text Template File
  • Use Component Manager to Work with Components
  • Insert a Variable Field in a Text Template
  • Gather Questions into a Custom Dialog
  • Create a REPEAT Instruction to Gather a List of Answers
  • Include or Exclude a Single Version of Text Using a Simple IF Instruction or Expression

Assembling a Document

  • Assemble a Text or Form Document
  • Select an Answer File for Assembly
  • Navigate Through Answer-Gathering Dialogs
  • Preview the Assembled Text Document
  • Save an Assembled Text or Form Document
  • Save an Answer File During Assembly


HotDocs Overview

HotDocs is a suite of award-winning software applications that significantly reduce the time you need to spend generating client or customer specific documents (such as contracts, sales proposals, government and court forms, loan applications, and medical forms).

HotDocs' document generation software solutions form an array of products, environments, and platforms that enables users across a wide variety of work situations to take advantage of HotDocs' automated customization capabilities.

Using HotDocs, you can transform any word processor file or form into an interactive template by replacing the changeable text with HotDocs variables. Then, the next time you want to generate a completed document, just assemble the interactive template you've created. As you do this, you will be prompted for the information needed in the document and that information will be merged into the document.

When using HotDocs, you can perfect a template, minimizing the “human error” factor that repetitive typing introduces. Additionally, you can automate your templates so that verb tenses, gender references, dates, numbers, calculations, and more are updated automatically as users enter information. Custom interview questions and help resources guide you or your users through the interview.

Virtually any document in your workflow can be converted to a HotDocs template. HotDocs templates then become your gold standard—experienced colleagues can share their knowledge, and new colleagues come up to speed faster. Using HotDocs, you can compile an invaluable repository of special language, unique clauses or terms, correspondence, and more.

This document provides an overview of:

  • HotDocs Document Generation Workflow
  • HotDocs Product Matrix
    • Tools Layer
    • Content Layer
    • Environment
    • Platform Layer
      • Desktop HotDocs Platform
      • HotDocs Server Platform
      • Cloud Services Platform
    • Communication Layer
      • Desktop Environment
      • HotDocs Server Environment
      • Cloud Services Environment
    • User Layer
      • Desktop Environment
      • HotDocs Server Environment
      • Cloud Services Environment

HotDocs Document Generation Workflow

HotDocs document generation follows the following workflow:

  1. You (or another template developer The person responsible for automating your firm's templates. The template developer creates and inserts the variables in the template, arranges variables in dialogs, and performs other custom tasks in the template. (See also user.)) use HotDocs software products and systems to produce a generic exemplar document known as a template A word processor or form document that has been converted to HotDocs format so that it can be automated. When in template format, changeable text in the template can be replaced with variables. Other instructions can be added as well, such as instructions that create lists, condition text, and insert other templates.. (You can do this most easily by replacing an existing document's changeable text—text that varies from one client to another, such as names, dates, and institutions—with HotDocs variable A component that is used to represent changeable text (such as names, dates, numbers, etc.) in the template. Types of variables include Text, Date, Number, True/False, Multiple Choice, Computation, and Personal Information.s).
  2. You tell HotDocs to use the template you create to generate an interactive interview A series of dialogs, each containing one or more questions which HotDocs generates from the variables you add to your template. The template's user must answer the questions in the interview before HotDocs can assemble a custom document. You can view the interview by clicking the Interview tab of the assembly window. The left pane of the assembly window displays an outline of the interview. As the user answers questions, the outline tracks the user's progress through the interview. that asks your end user (a client or customer) for the data HotDocs needs to create a customized document.
  3. HotDocs presents the interview to your end user either in a desktop product, or in a browser.
  4. Your end user steps through the interview, providing the information you request at the prompts you set up in the template's dialog In template development, represents the component in which the developer groups variables and other components. In document assembly, represents the group of questions in the Interview tab of the assembly window where users enter their answers.s.
  5. HotDocs stores this information in an answer file A saved file that contains the answers gathered by an interview. Often template developers save an answer file so they can reuse the answers later to assemble other documents to which the answers are pertinent..
  6. When your user finishes the interview, HotDocs assembles a final document by merging the information in the answer file with the non-changing text in the template.

HotDocs can also use existing answer files to supply an interview with commonly reused information (for example, a company's address and contact information).

The workflow diagram below shows HotDocs' capability to use both answer files (saved answers) and end user input to provide information in an interview. The diagram also shows that HotDocs can generate an answer file or an assembled document by merging the template text with the answers from the completed interview.

HotDocs Document Generation Workflow

Using HotDocs, you can perfect a template, minimizing the "human error" factor that repetitive typing introduces. Additionally, you can automate templates so that verb tenses, gender references, dates, numbers, calculations, and more, update automatically as users enter information. Custom interview questions and help resources guide you or your users through the interview.

You can convert virtually any transactional document in your business to a HotDocs template. HotDocs templates then become your standard for document generation—experienced colleagues can share their knowledge, and new colleagues come up to speed faster. Using HotDocs, you can compile an invaluable repository of special language, unique clauses or terms, correspondence, and more.

HotDocs Product Matrix

HotDocs provides the products described in the product matrix below to enable you to accomplish the steps of the HotDocs document generation workflow described above. Which product or products you use to accomplish the steps depends on your particular computing circumstances and needs. You can gain a better understanding of a particular product or feature by locating it within the conceptual areas which define the matrix:

  • Tools layer (template development)
  • Content layer (completed templates containing non-changeable text and HotDocs variables)
  • Environment (desktop, client/server, or cloud computing)
  • Platform layer (desktop HotDocs products, HotDocs Server, or HotDocs Cloud Services)
  • Communication layer (communications protocols)
  • User layer (information gathering and final document generation)

HotDocs Product Matrix

Tools Layer

The tools layer of the HotDocs product suite is the area you use to create a HotDocs template. The tools layer consists of the following:

  • HotDocs Developer—a desktop application that enables a template developer to transform a word processor file into a HotDocs template by replacing the document's changeable text with HotDocs variables

HotDocs Developer LE is also available for those creating word processor-based templates without using scripting, and for those not interested in publishing their templates for others to use.

  • HotDocs Automator—an aspect of HotDocs Developer that enables a template developer to transform a graphical form into an interactive template by replacing the form's changeable text with HotDocs variables
  • Models markup—a simple HotDocs document markup notation system that provides non-HotDocs domain experts a means to mark up or edit a word processor document so that HotDocs Developer can transform the marked up document into a HotDocs template

Content Layer

HotDocs templates form the content layer of HotDocs. A completed template acts as a generic or exemplar document you can use as the basis for drafting documents of the same type for various specific clients. To change the template to a client specific document, HotDocs needs to gather user information and then merge that information with the non-changeable text in your template.

Environment

To accomplish the task of gathering the user information needed to assemble a final document, HotDocs' product suite includes data-gathering solutions for three separate computing environments:

  • Desktop
  • Client/Server
  • Cloud

These environments serve as metaphors for specific software platforms that enable HotDocs to deliver data-gathering and document assembly functionality to end-users, regardless of their local computing configurations.

Platform Layer

HotDocs provides software solutions in the desktop, client/server, and cloud environments to collect client data and assemble client specific documents. These solutions form three independent but interrelated computing platforms for gathering and processing your clients' data to produce custom documents.

HotDocs provides three platform choices in the platform layer:

  • Desktop HotDocs Platform
  • HotDocs Server Platform
  • Cloud Services Platform

You can use products from each of these platforms in any combination that enables you to meet both your and your clients' needs.

Desktop HotDocs Platform

The Desktop HotDocs Platform is not a product; rather, as the name implies, the desktop platform consists of products and communication protocols that you and your clients install on regular desktop computers or laptops.

The base product for the desktop platform is HotDocs Developer or HotDocs Developer LE A version of HotDocs that contains the tools necessary to automate a simple to moderately complicated set of text templates. HotDocs Developer LE can also be used to assemble text and form documents. (See HotDocs Developer.) Prior to the release of HotDocs 10, Developer LE was named Standard Edition.. HotDocs Developer enables you to create text-based templates using either Microsoft® Word or Corel® WordPerfect®. You can also use HotDocs Developer to create a graphic-based form template. HotDocs Developer LE provides the same basic template creation ability as HotDocs Developer, but does not contain certain advanced features available in HotDocs Developer, such as dialog scripting and answer file linking.

In addition to creating templates, you can also generate interviews using HotDocs Developer (and answer interview questions yourself). However, your end-users in the desktop platform area usually use one of the products in the User Layer of the product matrix to answer interview questions.

HotDocs Server Platform

HotDocs Server is the name, both of the platform, and of the base software product upon which the platform depends. In contrast to the desktop HotDocs platform, the HotDocs Server platform requires a client/server configuration with a dedicated server to run HotDocs Server and a separate client interface (in the User Layer of the platform) for displaying interviews to your end users. HotDocs Server is the server-based version of HotDocs that enables you to use a standard web browser to generate and display interviews and, using the answers from the interview, assemble your end-user's final customized documents.

Cloud Services Platform

HotDocs Cloud Services is the name, both of the platform, and of the base software product upon which the platform depends. In contrast to the HotDocs Server platform, the Cloud Services platform does not require you to install any HotDocs software. The advantage of the cloud environment is that it frees firms from needing to install and maintain server software (or for that matter, any client software in the User Layer). Instead, Cloud Services exists as a HotDocs-provided service to which any third-party can make web service calls to provide their end-users access to HotDocs generated interviews, and to deliver to those same end-users their final documents.

Communication Layer

The communication layer of the product matrix consists of the communications protocols which enable interactions between the User layer and the parts of the HotDocs system that make up the platform layer of the HotDocs product matrix. These communications are necessary to present interviews to end users to gather the information needed to assemble final client-specific documents. The communication protocols used vary with the platform.

Desktop Environment

In the desktop paradigm, the Desktop API is the communication model you use if you want to integrate HotDocs functionality into your own, or third-party, applications. A typical use includes passing data from a third party database into HotDocs. You can also use the plug-in API to, for example, add new menu items to the HotDocs Developer library window.

HotDocs Server Environment

The HotDocs Server Platform enables you to choose several modes for communicating between HotDocs Server and your client application (a HotDocs Server host application A (usually third-party) web application that "hosts" HotDocs Server or Cloud Services features on the back end to present interviews to end users in a web browser. A host application enables template (and related file) uploading and storage, as well as interview generation and presentation, final document assembly, and answer file handling and storage.):

  • HotDocs Server .NET API—a set of native .NET classes that wrap COM functionality; these enable communication between HotDocs Server and HotDocs Server host applications on the ASP.NET framework
  • HotDocs Server COM API—Provides a set of COM objects that enable communications between HotDocs Server and HotDocs Server host applications
  • HotDocs Server JavaScript API—Enables you to directly integrate a browser interview in your HotDocs Server host application web page by providing direct and synchronous communication with the interview runtime (which must either be loaded in the same frame, or have the same domain name loaded by the interview frame)
  • HotDocs Server Web Service API—Enables communication between HotDocs Server and a HotDocs Server host application (using web services)
  • HotDocs Open SDK—An open source communication protocol for HotDocs Server or HotDocs Cloud Services; many Open SDK API calls receive quicker responses than those in the alternative communication protocols above

Cloud Services Environment

  • HotDocs Cloud Services .Net API—a set of native .NET classes that enable communication between HotDocs Cloud Services and HotDocs Cloud Services host applications using the ASP.NET framework
  • HotDocs Cloud Services Direct JavaScript API—Enables you to directly integrate a browser interview in your HotDocs Cloud Services host application web page by providing direct and synchronous communication with the interview runtime (which must either be loaded in the same frame, or have the same domain name loaded by the interview frame)
  • HotDocs Cloud Services Embedded JavaScript API—Enables you to place HotDocs interview functionality within an IFRAME in your HotDocs Cloud Services host application web page and use the EasyXDM library for asynchronous communication between Cloud Services and the interview in a cross-domain-safe manner
  • HotDocs Open SDK—An open source communication protocol for HotDocs Server or HotDocs Cloud Services; many Open SDK API calls receive quicker responses than those in the alternative communication protocols above

User Layer

The user layer of the HotDocs product matrix is where the work of presenting an interview to a user, then collecting user information in an answer file occurs. Once collected, HotDocs can use the answers (or access answers previously stored in third-party data sources) and the non-changing text in the template to assemble the final client-specific document. The products and solutions for accomplishing these tasks vary with the platform.

Desktop Environment

The desktop platform provides the following products in the user layer:

  • HotDocs User—enables you or your end users to complete interviews and assemble text documents from existing HotDocs templates
  • HotDocs Player—a more basic version of HotDocs user that enables you or your end users to complete interviews and assemble text documents from existing HotDocs templates
  • HotDocs Filler—enables you or your end users to complete interviews and assemble documents from existing HotDocs form templates
  • Third party integrations—enable you or your end users to complete interviews and assemble text and form documents with HotDocs functionality provided through the Desktop HotDocs API.

HotDocs Server Environment

The HotDocs Server platform provides several HotDocs-created examples of the host application you need to give your end-users access to HotDocs interviews. Many customers prefer to build their own host applications to customize their users' experience. The following solutions are available:

  • HotDocs Workspace—a host application available from HotDocs that enables you or your end users to complete interviews and assemble documents within a web browser; available for use with HotDocs Server and HotDocs Cloud Services; uses a SQL backend to store metadata about uploaded templates
  • HotDocs Template Portal—a host application available from HotDocs that enables you or your end users to complete interviews and assemble documents within a web browser; available for use with HotDocs Server and HotDocs Cloud Services; uses a SQL backend to store metadata about uploaded templates

  • HotDocs Sample Portal—a sample host application designed to show how to build a custom host application for working with HotDocs Server or HotDocs Cloud Services

  • Third party host applications—enable you or your end users to complete interviews and assemble text and form documents with HotDocs functionality provided through the various APIs delineated in the Communication layer

Cloud Services Environment

The HotDocs Cloud Services platform provides several HotDocs-created examples of the host application you need to give your end-users access to HotDocs interviews. Many customers prefer to build their own host applications to customize their users' experience. The following solutions are available:

  • Document Services—a HotDocs Software-as-a-Service (SaaS) host application
  • HotDocs Market—an ecommerce platform offering expertly crafted HotDocs templates published by bar associations and other legal industry experts.
  • HotDocs Workspace—a host application available from HotDocs that enables you or your end users to complete interviews and assemble documents within a web browser; available for use with HotDocs Server and HotDocs Cloud Services
  • HotDocs Sample Portal—a sample host application designed to show how to build a custom host application for working with HotDocs Server or HotDocs Cloud Services
  • Third party host applications—enable you or your end users to complete interviews and assemble text and form documents with HotDocs functionality provided through the various APIs delineated in the Communication layer


HotDocs Developer Overview

This document provides an overview of:

  • HotDocs Developer Defined
  • HotDocs Developer Library Window
    • Template Creation and Generation
    • Answer File Manager
  • HotDocs Tab
  • HotDocs Automator
  • Template Development Work Flow
    • Craft a Well-designed Interview

HotDocs Developer Defined

HotDocs Developer A version of HotDocs that contains the tools necessary to automate a simple to highly complicated set of both text and form templates. It is also used to assemble both text and form templates. (See also HotDocs Developer LE.) Prior to the release of HotDocs 10, Developer was named Professional Edition. is the desktop-based software application you use to automate The process of converting any document (text or form) into an interactive template. At its very core, automation is replacing changeable text in the document with variables. Additional automation steps include making text in the template conditional, repeating sections of the template so multiple answers can be entered, and inserting other boilerplate text into the template. any of your textual or graphical (PDF) documents, transforming them into an interactive HotDocs template A word processor or form document that has been converted to HotDocs format so that it can be automated. When in template format, changeable text in the template can be replaced with variables. Other instructions can be added as well, such as instructions that create lists, condition text, and insert other templates.. You transform an existing document into a template by replacing changeable text in the document (text that varies from client to client, such as names, dates, and institutions) with HotDocs variable A component that is used to represent changeable text (such as names, dates, numbers, etc.) in the template. Types of variables include Text, Date, Number, True/False, Multiple Choice, Computation, and Personal Information.s.

A template enables you to generate transactional documents and forms, such as contracts, wills, trusts, insurance forms, etc. After you create a HotDocs template, you can use that template to create any number of custom documents. To do so, you use Developer (or, alternatively, HotDocs User A version of HotDocs that is used for assembling any templates created using HotDocs Developer. HotDocs User functions differently to HotDocs Player, which can only assemble registered templates. For more information, see HotDocs Player., HotDocs Player A version of HotDocs that is used for assembling published (and registered) templates. HotDocs Player functions differently to HotDocs User, which can assemble any template created by HotDocs Developer. For more information, see HotDocs User., HotDocs Server The web-based version of HotDocs. Interviews generated by HotDocs Server are presented in a user's web browser. Answers are then sent back to HotDocs Server so final documents can be assembled by merging the interview answers with the non-changing template text. HotDocs Server enables users to create documents and answer files without requiring them to install HotDocs on their desktop. or HotDocs Cloud Services The cloud-based version of HotDocs that displays interviews and your customers' final assembled documents within a web browser. HotDocs Cloud Services does not require end-users to install any HotDocs software on their computers.) to generate a HotDocs interview A series of dialogs, each containing one or more questions which HotDocs generates from the variables you add to your template. The template's user must answer the questions in the interview before HotDocs can assemble a custom document. You can view the interview by clicking the Interview tab of the assembly window. The left pane of the assembly window displays an outline of the interview. As the user answers questions, the outline tracks the user's progress through the interview. that asks your end users for the information required to replace the HotDocs variables acting as placeholders in your template. HotDocs stores the answers your end user supplies at the interview prompts within an answer file A saved file that contains the answers gathered by an interview. Often template developers save an answer file so they can reuse the answers later to assemble other documents to which the answers are pertinent.. Once the user completes the interview, HotDocs merges that information with the non-changeable text in your template to assemble a final, customized document for your end user or client.

Using HotDocs Developer, you can accomplish every part of the workflow described above. There are products besides HotDocs Developer that can accomplish the interview generation and final document assembly portions of the process, but only HotDocs Developer (or HotDocs Developer LE) enables you to create a HotDocs Template.

In addition to the basic template automation, HotDocs Developer's template features enable you to use variables to build business logic into your template. HotDocs Developer also enables you to design the look and flow of the interview you use to collect the information you need to generate a customized document for a client.

There are two main parts to the HotDocs Developer application:

  • HotDocs Developer Library Window
  • HotDocs tab

You use the HotDocs Automator The tool used to automate form templates, or those templates whose underlying static text cannot be changed. Examples of form templates include tax preparation forms, applications, and so forth. aspect of Developer to create a graphical template.

HotDocs Developer Library Window

When you install HotDocs Developer, the HotDocs Developer library window installs as a desktop application. The library A window used to display and organize templates. The library does not store the actual files—instead, it contains shortcuts (or links) to the files, which are stored on disk. In addition to the template library, HotDocs also uses an answer library, which is more commonly known as Answer File Manager. interface enables you to group and organize within your library those files required for assembling your final documents:

  • Text template A template that is created and automated in Microsoft Word or WordPerfect. It is distinguished from a form template by the fact that the underlying text of the template can be modified. (See also text document.)s—DOCX, DOC, RTF, and WPD-based templates

  • Form template A template that is created and automated in HotDocs Automator. It is distinguished from a text template by the fact that the underlying text cannot be modified because it is static. (See also form document.)s—HPT files (HotDocs PDF File name extension that designates that the file is a Portable Document Format file, a format created and supported by Adobe. PDFs are a useful way of distributing documents in a format most users can view—as long as they have Adobe Acrobat, Adobe Reader, or HotDocs Filler installed. With HotDocs, template developers can also create PDF-based form templates. They can also create PDFs from assembled documents.-based Templates)

  • Component file The file that stores all of the components used in a template. The component file and template file are both necessary for template development and document assembly to work correctly. Template developers use Component Manager to work with components.s—Only visible in the library list if they are not associated with a template, otherwise you access these files from the Component Manager The tool used to coordinate component usage in a template. Component Manager shows all of the components used in the template and provides options for working with those components.

  • Clause library A file that contains a listing of available clauses. Users can select the clauses they want to use from the library, designate the order they should be merged in the document, and then answer any questions contained in the clauses. The clauses are then merged in the document.—Only visible in the library list if they are not associated with a template

The library window does not store these elements; rather it provides a list of shortcuts to the location where you store these elements on your computer. You can learn more about organizing these elements here.

Template Creation and Generation

In addition to acting as an organizer for your template development, you need the HotDocs Library dashboard features to perform the template generation functionality such as:

  • Creating new templates
  • Editing templates
  • Editing component files
  • Setting options
  • Assembling documents

Answer File Manager

The Answer File Manager The library used to manage answer files. With Answer File Manager, users can group answer files, view histories of their usage, and so forth. (The alternative is using Windows Explorer to find, view, and use answer files.) window enables you to organize your answer files in much the same way that the library organizes templates. (Click the Answer File Manager button on the HotDocs Developer library window to access the Answer File Manager.)

An answer file contains the answers an end user provides when completing an interview. Saving an answer file enables you to reuse an interview's answers to assemble other documents. For example, perhaps you have an answer file that contains only client-specific answers (such as names and addresses). You can use the answers in that file to assemble other related documents that need that same information.

HotDocs Tab

When you install HotDocs Developer, the install adds the HotDocs tab as an extension to your word processor's ribbon. When you select the tab on your word processor ribbon, you can see all the editing and navigation toolbar buttons you use to add variables to a template.

HotDocs Word Processor Tab

In addition, you have access to all the native functionality of your word processor. This integration with your word processor ensures that HotDocs generates final documents using whatever font faces, design, and pagination elements you choose.

HotDocs Automator

In addition to word processor functionality, HotDocs Developer (but not HotDocs Developer LE) includes HotDocs Automator. HotDocs Automator is a forms-based development environment that enables you to automate PDF-based graphical forms (fields, check boxes, etc.). While you can access Automator in your Start menu, you can also open it from within the library, just as you would open Word for a text template.

HotDocs Automator Toolbar

Since many document sets consist of both word-processor documents and graphical forms, HotDocs enables you to share component files among any number of templates, meaning you can generate all the word processor documents as well as PDF-based forms in a set from a single answer file.

Template Development Work Flow

Like most software tools, HotDocs Developer has a recommended workflow. To develop templates successfully, you should follow that workflow. Your first job as a HotDocs template developer The person responsible for automating your firm's templates. The template developer creates and inserts the variables in the template, arranges variables in dialogs, and performs other custom tasks in the template. (See also user.) is to understand HotDocs templates.

Because HotDocs Developer enables you to create templates of varying levels of complexity (ranging from very simple fill-in-the-blank templates to those that include sophisticated business logic and financial calculations), you should become familiar with Developer's capabilities and feature set by working your way through the HotDocs Developer tutorials that are part of the HotDocs Developer install. You should also look through the list of advanced tutorials and decide whether to download and install those tutorials now, or wait until you gain more experience with creating basic templates on your own.

Once you have gained an understanding of the basics of HotDocs templates, you are ready to begin the template development workflow:

  1. Plan your project ; i.e., determine which document or set of documents you want to automate (transform into HotDocs templates).
  2. Mark up (identify and mark) the changeable text in the set of document you want to use as templates.
  3. Create a library to organize your templates.
  4. Create a template within the appropriate library.
  5. Prepare to automate your templates by thinking about how you want to approach the automation process.
  6. Automate your templates by creating templates from the documents you marked up, then replacing the changeable text with variables, etc.
  7. Organize the final template library by creating folders in the HotDocs library where you can group related templates.
  8. Distribute the finished templates in an organized way to your template users.

Craft a Well-designed Interview

The goal of creating a HotDocs template is to generate an effective interview that gathers all the information you need your end-user or customer to provide. HotDocs can then create a final customized document by merging the data your customer supplies with your template's non-changing text. That document should contain everything you want it to, in exactly the order you need.

A well designed interview should go beyond merely asking questions; it should actually guide and assist your users in correctly inputting each answer to your questions. You should practice going through the interviews generated from your templates and have a colleague navigate your workflow. A fresh pair of eyes can prove invaluable in refining your interviews so each interview accomplishes exactly what you want and your final documents provide exactly what your clients or customers need.


List HotDocs File Name Extensions

The following is a list of all file types used by HotDocs:

File Name Extension | Type of File
.DOCX | Word DOCX Template/ Word Document
.RTF | Word RTF Template
.DOT | Word Template
.WPT | WordPerfect Template
.TTX | Plain Text Template
.HFT | HotDocs Envoy-based Form Template
.HPT | HotDocs PDF-based Form Template
.HFD | HotDocs Envoy-based Form Document
.HPD | HotDocs PDF-based Form Document
.DOC | Word Document
.WPD | WordPerfect Document
.CMP | HotDocs Component File
.CMP | HotDocs Interview Template
.HDL | HotDocs Template Library
.HDL | HotDocs Clause Library
.HCL | HotDocs Clause Archive
.HDP | HotDocs Publish Settings File
.HDA | HotDocs Auto-Assemble File
.HDI | HotDocs Auto-Install File
.HDK | HotDocs Registration File (required when publishing templates for commercial use with HotDocs Player)
.HAL/.HDL | HotDocs Answer Library HotDocs 6 through HotDocs 2008 supported binary answer libraries (or answer libraries with the .HAL file name extension). Starting with the release of HotDocs 2009, however, HotDocs now supports both binary answer libraries and XML-based answer libraries (which use the .HDL file name extension). By default, HotDocs will continue to use binary answer libraries as long as the file properties of items in the library use characters that are compatible with your system's default language. If you define answer file properties that contain foreign characters, HotDocs will create an XML-based answer library (so that it can properly display these characters in the Properties tab of the library window.)
.ANS/.ANX | HotDocs Answer File HotDocs 6 through HotDocs 2008 supported two types of answer files—binary answer files and XML answer files. These files were typically named using the .ANS and .ANX file name extensions, respectively. Starting with the release of HotDocs 2009, however, HotDocs can save answer files in only XML format. This means that if you open a binary answer file (such as an .ANS file) in HotDocs 2009, make a change to the file, and then save it, the contents of the answer file will be converted to and saved as XML. (The file name, however, will continue to use the ANS file name extension.) If you want the answer file to be compatible with versions of HotDocs prior to HotDocs 2009, see Compatibility of HotDocs 11 Files with Earlier Versions of HotDocs.
.HPL | HotDocs Answer Source
.manifest.xml | HotDocs Template Manifest File (This file is generated when templates are published for use with HotDocs Server 11.)
.HDPMX | Publisher Answer Source Mapping File (This file is used to save variable mapping information created and used by other third-party applications.)
.HDUMX | User Answer Source Mapping File (This file is used to save variable mapping information created and used by other third-party applications.)


Use the Keyboard to Work in HotDocs

You can use the keyboard to complete many tasks in HotDocs. The following describes some of these keyboard options.

The options described below refer to using a standard U.S. keyboard. Commands that require you to press two keys simultaneously are displayed using a plus (+) character. For example, to describe the Print command, the keyboard shortcut would appear as Ctrl+P.

There are four ways you can use the keyboard to work in HotDocs:

Tab Between the Elements in a Window, dialog box

Press the Tab key to move between the different elements of a HotDocs window or dialog box. Similarly, press Shift+Tab to move through the different elements in reverse order.

If certain elements don't appear in the tab order, use one of the other methods described in this topic, such as use an accelerator key.

For example, if you're viewing the template library and you want to assemble a document, you can press the Tab key to move focus to the item list of the library. Then press the Up Arrow or Down Arrow key to move between items in the library. Once the template you want to assemble is selected, press Alt+M (to view the Template menu). Finally, either press the Down Arrow key to select Assemble from the menu, or press the A key to activate the accelerator key in the Assemble command. The assembly window appears.

Use Accelerator Keys

Many commands and options in HotDocs can be accessed using an accelerator key. Accelerators appear as underlined letters in a command name or prompt. To access them, press the Alt key while also pressing the underlined letter. If you aren't in a text field (or a field where you can enter or select text), you can simply press the underlined letter and HotDocs will move you to that element or command.

For example, to save an answer file during an interview, at the assembly window, press Alt+F. The File menu appears. Then press S. The Save Answer File dialog box appears.

Accelerator keys aren't identified until the Alt key is pressed. To always view accelerator keys, go to Start menu > Settings > Control Panel > Display. Click the Advanced tab, and then click Effects. Clear Hide underlined letters for keyboard navigation until I press the Alt key. To always view accelerator keys on Windows Vista, go to Control Panel > Ease of Access > Ease of Access Center > Make the keyboard easier to use and select Underline keyboard shortcuts and access keys.

You can assign your own accelerator keys in variable prompts, but you need to avoid letters already in use by HotDocs in the Interview tab of the Assembly window. Currently available keys are: B, C, D, I, J, K, M, O, Q, U, W, X, Y, Z. You can download this interview template to see how accelerator keys work in variable prompts.

Use the Shortcut Menu

When working with specific elements in a window or dialog, you can frequently access a list of commands for that element by displaying the shortcut menu. To access the shortcut menu, place focus on the element and then either press the [image] Windows Application key on your Windows keyboard, or press Shift+F10. Use the arrow keys to move between options in the menu.

For example, to view where the answer to a specific question is used in the assembled document, while your cursor is in an answer field, press the [image] Windows Application key on your keyboard. (Or, press Shift+F10.) A shortcut menu appears. Then, either press the Down Arrow key to select Go to Answer in Document (and then press Enter), or press the G key to issue the command.

To close a shortcut menu without choosing an option in it, press the Esc key.

Use Shortcut Keys

Several commands within HotDocs can be accessed using a shortcut key, which is a key or a combination of keys you can press that will quickly execute the command. (Accelerator keys can be considered shortcut keys.)

For example, to send an assembled document to the word processor, press the F11 key. Or, to move between the different tabs of the assembly window, press Ctrl+Tab. (Pressing Ctrl+Shift+Tab moves through the tabs in reverse order.)

Click here for a complete list of shortcut keys.


Full List of Keyboard Shortcuts

You can use keyboard shortcuts to complete many tasks in HotDocs. A keyboard shortcut is a key or a combination of keys you can press that will quickly execute the command.

For example, to send an assembled document to the word processor, press the F11 key. Or, to move between the different tabs of the assembly window, press Ctrl+Tab. (Pressing Ctrl+Shift+Tab moves through the tabs in reverse order.)

Click one of the links below to see the keyboard shortcuts for that specific part of HotDocs:

  • Keyboard Shortcuts at Template Library
  • Keyboard Shortcuts at Component Manager
  • Keyboard Shortcuts at the Script Editor
  • Keyboard Shortcuts for the Interview Tab of the Assembly Window
  • Keyboard Shortcuts for the Document Preview Tab of the Assembly Window
  • Keyboard Shortcuts for the Form Document Tab of the Assembly Window
  • Keyboard Shortcuts for a Clause Library at the Assembly Window
  • Keyboard Shortcuts for Answer File Manager
  • General Keyboard Shortcuts
  • Keyboard Shortcuts for JavaScript Interviews
  • Keyboard Shortcuts for Silverlight Interviews


HotDocs Templates Overview

A HotDocs template A word processor or form document that has been converted to HotDocs format so that it can be automated. When in template format, changeable text in the template can be replaced with variables. Other instructions can be added as well, such as instructions that create lists, condition text, and insert other templates. is a software component created using HotDocs Developer. The template contains all of the document's boilerplate text (the parts of the document which remain the same every time the document is generated), the variable A component that is used to represent changeable text (such as names, dates, numbers, etc.) in the template. Types of variables include Text, Date, Number, True/False, Multiple Choice, Computation, and Personal Information. fields (which will be replaced with new information collected during the interview), and any template logic needed (this can be repeated fields, conditional paragraphs, inserted templates etc.). The HotDocs template and the paired HotDocs component file The file that stores all of the components used in a template. The component file and template file are both necessary for template development and document assembly to work correctly. Template developers use Component Manager to work with components. (generated by HotDocs alongside the template) contain all the information necessary to produce multiple documents with the information gathered in a HotDocs interview.

A HotDocs Template encapsulates three important things:

  • Natively formatted content. For example, a HotDocs Template can be created right in Word; most of Word's formatting and document features can be built right into the HotDocs template. The documents you generate from such a template are native Word documents; no conversion or reformatting is necessary.
  • Embedded Document logic. HotDocs embeds the business logic necessary to produce correct documents right inside your template. Computed values, conditional logic, specialized formatting, lists or tables of arbitrary length, nested lists, etc... all the know-how necessary to draft the perfect document.
  • Data-gathering Interview. Not only does a template contain the logic HotDocs needs to produce a customized document, it also contains a definition of exactly what data is required to do so. HotDocs uses this to create a dynamic data-gathering interview based on the template. HotDocs Interviews can gather exactly the data that is necessary, leaving out the questions that are not relevant according to what's already been answered.

Generally speaking there are three types or categories of templates:

Template Type | Description
Text Templates

You create and automate The process of converting any document (text or form) into an interactive template. At its very core, automation is replacing changeable text in the document with variables. Additional automation steps include making text in the template conditional, repeating sections of the template so multiple answers can be entered, and inserting other boilerplate text into the template. a text template A template that is created and automated in Microsoft Word or WordPerfect. It is distinguished from a form template by the fact that the underlying text of the template can be modified. (See also text document.) in a word processor, such as Microsoft Word or WordPerfect. You can modify the underlying text of a text template both as you automate the template and as you view the assembled document in the word processor. Text templates have a .DOCX, .RTF, .DOT, .WPT or .TTX file name extension.

Microsoft Word .DOT templates cannot be used with HotDocs Server.
Form Templates | A form template A template that is created and automated in HotDocs Automator. It is distinguished from a text template by the fact that the underlying text cannot be modified because it is static. (See also form document.) is based on static graphical or text content, such as a PDF document. You place variable fields directly on top of the static content so that during the document assembly process, HotDocs can overlay answers on top of the static text. When you answers are merged with the static document content, the underlying static text and formatting does not change. Form templates have a .HFT or .HPT file name extension.
Interview Templates | An interview template A template that contains a series of interview questions designed to gather information about a person (or persons) or matter. Answers are saved in an answer source file, which can then be linked to a dialog in a template that requires the same information. Generally, interview templates can be used to create a list of possible answers so users have more options to choose from gathers specific information (such as court, attorney, or client information). HotDocs saves the answers your end users provide for use in assembling documents; however, unlike text and form templates, HotDocs does not generate a document directly from an interview template. The only direct output of an interview template is an answer file. However, starting with an interview template, HotDocs can trigger subsequent assembly of additional documents using the ASSEMBLE instruction. Interview templates have a .CMP File name extension that designates that the file is a component file. file name extension.

When you create a new template file, HotDocs creates a companion file called the component file The file that stores all of the components used in a template. The component file and template file are both necessary for template development and document assembly to work correctly. Template developers use Component Manager to work with components.. The component file contains information about variables and other component A template resource file that displays or stores information about the user input/answers to merge in the final document. Examples of components include variables, dialogs, dialog elements, merge text groups, and formats.s used in the template. The component file has the same base file name as the template file, but with a .CMP file name extension. Both the template file and the component file are necessary for a template to work. Whenever you copy a HotDocs template—for example, to share a template with another user—you must be sure to copy both the template file and the component file.

The component file works in the background—as you create various components in the template, HotDocs stores the component file. Normally, each template uses its own component file, but you can make two or more templates share one component file.

Interview templates consist of only a component file; they do not have a separate template file.

Templates used with HotDocs Server also require an additional file: the template manifest (.manifest.xml). Like a component file, this file also shares the same base file name as the template except for the file name extension. It is created when you publish a template for use with HotDocs Server.

Versions of HotDocs Developer prior to 11 uploaded JavaScript (.JS) and Variable Collection (.HVC) files when publishing content for use with HotDocs Server. These files are no longer of concern when working with HotDocs Server version 11 or later.

Template Relationships

Any HotDocs template can potentially refer to (and thus rely on) other templates in two ways:

  • INSERT instructions. When one template "inserts" another, this means content and logic from the inserted template dynamically become part of the parent template. The inserted template can influence the parent template's interview (changing which questions need to be asked, for example), and the content of the inserted template becomes part of the assembled document that is produced.
  • ASSEMBLE instructions. When one template "assembles" another, this means the assembled template is "queued up" for subsequent interview and/or assembly after the current interview or assembly has been completed by the user. This is a separate operation, but it is necessary to implement the full feature set on which HotDocs template authors generally rely for proper execution of their templates.


Plan Your HotDocs Project

Plan Your HotDocs Project

Gather and Review Documents

Before you can automate any templates, you must first identify which documents you want to include in a set of templates. You should gather all of these documents into one central location. Documents you should consider are those you routinely create for clients.

As you review your documents, you’ll probably realize you’ve created the same type of document for multiple clients. While each of these documents contains generally the same content, some documents may contain unique or different paragraphs or clauses. To capitalize on the work you’ve already done, create a HotDocs Model where you copy all of these text variations. Then, when you automate the template, you can use HotDocs scripting to include or omit these different paragraphs, depending on the user.

Define the Audience

Another point to consider is your audience. Are you the only one who will use the automated templates, or will you share your work with others, perhaps in your firm or more broadly? If others will use the templates, how do you plan to distribute these templates to them? (Template distribution options are covered later in this document.)

As you identify your audience, you should also consider their experience in using the types of documents you are automating. If your users don’t have the same understanding or experience you do with the documents, you may need to change the way the templates are automated to help them better understand the documents. For example, you may need to include additional resources to help users better understand how to answer questions in the interview.


Mark Up the Document Set

Mark Up the Document Set

The process of marking up a document for template automation includes identifying the text in the document that will change, depending on the person for whom the document is being created. Once identified, you indicate the variable that should replace that text. Variable information includes names, dates, numbers, and so forth.

How you mark up the document depends on your project and your needs. Following are some options:

  • You can create a HotDocs Model using the HotDocs Markup Tools. Once the document is marked up, you can convert it to HotDocs template format. (See Introduction: Create HotDocs Models for details.)
  • You can manually mark up word processor documents and store the markup information in a spreadsheet application, such as Excel. You can then take the marked up documents and create templates from them, referring back to the spreadsheet for specific information about how the template should be automated.
  • Another option is to simply print a copy of each document in your set and mark up the documents by hand. You can write directly on the printed document what variables should be used and identify which properties should be assigned to these variables.

Regardless of which markup option you choose, you should try to address these questions in the markup:

  1. How should variables be named? While it might not seem important at first, defining a naming scheme up front will save you time later when you need to manage a large list of components. For example, should you name related variables using a consistent format (like Client Name, Client Address, Client City, Client State, etc.)?
  2. Which variables can be reused in other templates in the set? When templates require the same information, you should mark the variables using the same name. This way, when users save answer files after assembling a document, the answers can be used with those other documents. This saves the user from retyping common answers.
  3. How should answers in the document be formatted? For example, should text answers be written using all capital letters? Should number answers be numeric (7) or spelled out (seven)?
  4. How much information does the user need to know in order to answer certain questions during the interview? How should questions be phrased, punctuated, and capitalized? Should they contain examples of possible answers?
  5. How much additional information should be included with variables? For example, when should variable resource (or help) information be included? How much is too much?
  6. What other information should be known about the variables? For example, are there restrictions or limits for answers? Should an answer be formatted a certain way? If the answer must be calculated, what kind of calculation should it be? (For a complete list of properties you can assign to the different variables, see Appendix 1: Variable Properties.)
  7. What text in the document should be included only under certain conditions? For example, if there’s a paragraph about the client’s spouse, but the client isn’t married, you wouldn’t want to include the paragraph.

You can also mark in the document where lists of answers should be merged and where boilerplate text should be inserted. See Appendix 2: Template Instructions for details.


Prepare to Automate the Templates

Prepare to Automate the Templates

Once the templates in your set are marked up, you should think about the following things before you begin the actual automation process:

Decide if you want to share component files. If there are common variables across most of the templates, you may consider pointing each template in your set to a shared component file. Then, when you make a change to a shared component, (for example, if you change a prompt or resource text, the change will appear in all templates that use that component.) (See Use One Component File for Multiple Templates.)

It’s a good idea to point all the templates that will share a component file to the shared component file before you start creating components in the templates. That way, they are saved directly in the shared component file and are ready for use when you automate other templates.

Identify boilerplate text. If there is boilerplate text in the templates, consider saving that text in a separate template file and then dynamically inserting that template in each template that requires it. (Examples of boilerplate text include captions, signature blocks, and so forth.) Then, when you need to make a change to the text, you only need to make it in one file.

Create common document styles. If automating a Microsoft Word template, make good use of styles. Ultimately, this will help retain formatting throughout your templates. The Microsoft Word Help file contains a lot of useful information on using styles.

Set HotDocs Options. As you prepare to automate your templates, there may be some custom settings you want applied to all new templates you create. For example, if your templates will be used with HotDocs Server, you can specify a setting that enables all new templates you create for use with HotDocs Server.

To view a list of settings you can change, at the HotDocs template library, choose Options (Tools menu) and then open the Template Development folder. (See HotDocs Options)


Automate Your Templates

Automate Your Templates

The next step in the process is to actually start automating your template A word processor or form document that has been converted to HotDocs format so that it can be automated. When in template format, changeable text in the template can be replaced with variables. Other instructions can be added as well, such as instructions that create lists, condition text, and insert other templates.s.

You can find detailed instructions on each phase of this process in the HotDocs Help.

Create the Template

You first begin by creating templates from the documents you marked up.

When you create a new template, you can enter a title and a description for the template. Include as much information as necessary to better identify the file. For example, if the file that’s created and saved to disk uses some cryptic file naming scheme (such as RLWHCP.docx), you could enter a different title that makes more sense, such as Revocation of Living Will and Health Care Proxy. In the description you can enter as little or as much information about the template as you feel necessary.

Also, if you plan to point your templates to a shared component file, you should do so right after you create the template and before you begin any automation work. That way HotDocs will correctly save any variables and other components you create to the shared component file.

We recommend that template names are kept to less than 52 characters and don't use non-ASCII characters. This will reduce the possibility of the template name causing errors if you later enable it for use with HotDocs Server.

Replace Template Text with Variables

Once the template has been created, you replace changeable text in the template with variable fields. If you’ve previously marked up the template, you should be using variable names and properties you defined in the markup.

As you create variables, you should test them (by clicking the Test button on the component editor). This shows you how the question will appear to the user. Frequently, testing helps you identify ways to improve the variable question. For example, if you’re testing a Text variable that requires the user to enter a long description, you may realize you forgot to adjust the answer field height to allow for multiple lines of answer text.

Make Text Conditional

Once you have replaced all of the variable information with variable fields, you should then review the document to identify sections of text that are optional. To mark these sections, you use IF instructions. IF instructions use a True/False variable (for example, Is the Client Married?) to determine whether to include text or not. More complicated instructions usually require more than a simple yes/no question to determine. An example of an expression would be IF YEARS FROM( Child’s Birth Date, TODAY ) <= 17.

There are two different ways you can use conditional text:

First, you can use IF and END IF instructions to include or exclude simple optional text. For example, in an employment agreement, you may need to include or exclude a paragraph describing a probationary period for the new employee. If the employee isn’t required to complete a probationary period, you wouldn’t include information about it.

Second, you can use IF, ELSE IF, ELSE, and END IF instructions to include alternative text. For example, you may have different versions of a paragraph, only one of which the user will include in the assembled document. Using ELSE IF and ELSE, you can create a series of conditions under which the user determines which text HotDocs will include.

Repeat Variables to Create Lists

Sometimes there are variables in a template that you need to repeat so users can enter more than one answer. For example, you may need to list the client’s children. Because you don’t know how many children a client may have, you can repeat the Child Name variable. This allows the user to enter as many children as necessary. You accomplish this by using a REPEAT instruction. You can repeat a single variable, or you can repeat entire sections of text.

Often, you must repeat information within a word processor table. For instructions on how to repeat a single cell or an entire row, see Use a Word Processor Table to Display a List.

Group Variables in Dialogs

As you know, variables in the template represent the questions users must answer during the interview. You can organize these variables into logical groupings, called dialogs.

Typically, when you create a dialog, you group similar questions together. For example, if the template asks for the name and address of a client, you could group all of these variables together in a single dialog named Client Information. Information about the spouse could be asked in a separate dialog, as could information about the case.

If HotDocs should ask questions only under certain conditions, you can use dialog scripting to include or exclude those questions. You can also select several different options that control the way the questions appear in the dialog. For example, you can choose to place all of the questions above the answer fields, or you can choose to place each question to the left of its answer field.

Test Assemble the Template

Test assembling a template is an imperative task in the template development process. Testing allows you to see the full interview as the user will see it. It provides an opportunity for you to correct mistakes, as well as fine-tune the interview process by improving questions and adding other information to make the process easier for the user.

It’s important that as you are testing, you enter many different combinations of answers. This exercises the scripting in your template and helps you ensure that no matter what answers users enter, HotDocs will assemble the document correctly.

As you test assemble a template, you should check for the following things:

  • HotDocs isn’t reporting any errors or warnings that you need to fix.
  • The interview outline looks right and operates properly.
  • Dialogs look right and operate properly.
  • HotDocs has assembled the document correctly with no unanswered questions and has correctly formatted the answers.

If you find problems as you are testing, you can leave the test assembly window open and make changes to the underlying components. You can then update the test assembly window with your changes.


Organize the Final Template Library

Organize the Final Template Library

Once all of your templates are automated, you can organize them within the library. How you organize the library depends on the template set. (See Introduction: Use HotDocs Libraries.)

One way you can organize the library is to create folders for storing the templates. Frequently, you can group similar templates in these folders. For example, wills can be organized in one group or a series of subgroups, depending on the number and types of wills you have automated. (See Organize the Contents of a Library.)

If you have a large set of templates, it may make more sense to create individual libraries for the template types. Real estate templates can be stored in one library, while family law templates could be saved in a different library.

Because the items in the library work like shortcuts to the actual files, you must be cautious when working with the actual files. Moving an actual file without updating the reference in the library will make the file inaccessible from the library. If you need to move the files in the library, use either the Move command or the Copy command (both commands found in the Template menu). If you need to update references, choose Properties or Multiple (Edit menu). (See Move Items to New Locations on Disk, Change the Properties of a Single Library Item, and Change the Properties for Multiple Items in a Library.)

When you created the templates, you may have added template titles and descriptions for each template you added to the library. If you did not, this is a good time to do this. Template titles and descriptions are an easy way to help the user identify the template. You do this by editing the template properties. (See Change the Properties of a Single Library Item.)


Distribute the Templates

Distribute the Templates

The final task in the template development process is to distribute your template sets so they can be used for assembly. Before doing this, you must first identify who will use your templates.

If you’ve automated your templates for your own practice, there may not be a distribution plan—you can assemble documents from the same templates you are editing. Or, if you’d like to separate template development from document assembly, you can create a new library and copy your completed templates to a different folder. As you make corrections to the templates, you can update those files saved in the assembly-only location.

If you plan to share your templates with others in the firm, you should place copies of the files on a network location for your co-workers. You should restrict access to the templates as much as possible to keep users from inadvertently changing the files. Some ways you can do this include:

  • Making the network folder where the templates are saved read-only. (You should also make the template files themselves read-only.)
  • Placing a copy of the files on a network and then having users import the library to their local drives for assembly-only. (See Copy Templates to New Locations and Import One Library Into Another.)
  • Publishing the template set as a HotDocs auto-install file, which users can then install on their computers. (See Publish Templates as Auto-Install Files (HDI).)

If you plan to share your templates with those outside the firm, you should publish the templates and distribute them using the Internet or even a CD.

If you plan to sell your automated templates and distribute copies of HotDocs Player with the templates, you must acquire a publishing license from HotDocs Corporation, which allows you to redistribute HotDocs Player to your customers. (HotDocs Player is a free, assembly-only version of HotDocs.) (See Publish and Register Templates for Use With HotDocs Player.)


Conclusion

Conclusion

As with any major project, the more planning you do up front, the better your results will be. While this document covers the basics, it’s expected that you will also discover tips and tricks that will help you improve the template automation process.

For helpful lists of Variable Properties and Template Instructions see the appendices to this section:

  • Appendix 1: Variable Properties
  • Appendix 2: Template Instructions

Previous Topic


Appendix 1: Variable Properties

Appendix 1: Variable Properties

Following is a list of the different variable types, followed by the properties you can assign to each variable type:

Text Variables |
Patterns | HotDocs allows you to assign a pattern to a text variable. The two most common patterns are telephone number patterns and Social Security number patterns. These patterns format users’ answers correctly both in the interview and in the assembled document.
Answer field height | Each variable in a template is asked in an answer-gathering dialog during the interview. You can control how tall (up to 12 lines) the answer field is in the dialog.
Maximum | The maximum number of characters allowed in a text answer is 15,000. If an answer requires a specific number less than this, you can specify it.
Number Variables |
Maximum and minimum values | You can specify limits for how large or small a number can be. For example, if new employees are allowed between 10 and 15 paid vacation days, you can specify these limits so that users don’t inadvertently specify more vacation days than they are allowed.
Decimal places | You can indicate the number of decimal places (up to 7) that should be allowed in a number.
Currency symbol | You can designate whether a currency symbol should be used for a monetary amount. Predefined options include $, £, DM, and €, but you can enter your own. (Patterns have a 3-character limit).
Multiple Choice Variables |
Multiple Choice options, prompts, and merge text | Multiple Choice variables allow users to choose an answer from a list of predefined options. If the options you specify aren't descriptive enough, you can define a prompt for each option. Additionally, you can specify different text for each option that will be merged in the completed document. For example, say you need to merge gender-specific pronouns (like he/she or his/hers) in the document. To do this, you would create a Multiple Choice variable (Gender) with two options—Male and Female—and then specify merge text that will merge the correct pronoun (he or she), based on the user’s gender.
Selection options and styles | You can allow users to select only one option or select multiple options. You can also designate whether the options appear as buttons or as lists. By default, all new Multiple Choice variables are set to Select One Only.
Computation Variables |
Scripts | Computation variables tell HotDocs to perform a particular task during assembly, such as insert one template into another or perform some action based on an answer the user provides. Similarly, they are used to calculate monetary amounts or other figures, or find the number of years between two given dates, and so forth.

Previous Topic


Appendix 2: Template Instructions

Appendix 2: Template Instructions

HotDocs Instruction | What It Does
IF instruction | Designates that a variable, word, phrase, or paragraph should only be included in the assembled document when a certain condition is met.
REPEAT instruction | Repeats variables and text so that users can enter more than just one answer.
INSERT instruction | Inserts another template into the current template. (For example, perhaps you have a separate file that includes boilerplate language. You can use a separate document for this language and then just insert it wherever you need it.) In most cases, inserted templates appear "inline" with the template into which they are inserted.

Previous Topic


Home > Using Libraries > At a Glance: The HotDocs Library Window

At a Glance: The HotDocs Library Window


Introduction: Use HotDocs Libraries

HotDocs files—such as templates, clause libraries, and answer files—reside in folders on your local disk or on a network. To make it easier to organize templates and clause libraries, you can use a HotDocs template library or, for answer files, the Answer File Manager. Using a library lets you assign titles and descriptions to files, and, in the case of answer files, track the history of when a file is used.

Template libraries help you organize template files and provide quick access to many HotDocs tools, such as the Assembly Queue and HotDocs Options:

The Answer File Manager is a library of answer files. You can group answer files as well as sort them. You can also view a history of when a specific answer file was used:

Both the template library and Answer File Manager are divided into two panes. The left pane shows a list of the items referenced in the library. Depending on what kind of library it is, these items can include folders, templates, clause libraries, or answer files. The right pane displays information about the selected item. A different view shows the contents of the file.

The items you see in the left pane are not the actual HotDocs files on your local disk or network. Instead, they are references to the files, operating similar to Windows-type shortcuts. When you select an item for assembly, HotDocs follows the assigned file path and locates the actual template or answer file.

Additionally, folders in a library help you organize the list of files in the library—not the actual folders on the local disk or network.

Because the items in the library work like shortcuts to the actual files, you must be cautious when working with the actual files. Moving an actual file without updating the reference in the library will make the file inaccessible from the library. If you need to move the files in the library, use either the Move command or the Copy command (see Move Items Within a Library and Copy Templates to New Locations). If you need to update references, choose Properties or Multiple from the Edit menu. (See Change the Properties of a Single Library Item or Change the Properties for Multiple Items in a Library.)

The library window is the starting point for many HotDocs tasks. Such tasks include organizing templates, moving templates and component files, editing templates, assembling documents, and accessing other HotDocs tools, such as Answer File Manager, HotDocs Options, and Component Manager.


At a Glance: The New Library dialog box

After opening the HotDocs Library, you can open the New Library dialog box by clicking on the [image] New Library button on the toolbar.

In the first text field A you can enter a file name for the new template and you can use the [image] Browse button to the right specify a location for the new library file in your file system.

HotDocs will automatically copy the file name into the second text field B as the template title, but you can edit this if you would like to use a different title for the template. This title will appear in the title bar of the library window.

In the third text field C you can enter an optional description of the library. Here you can specify information about the library, such as what kinds of templates are included, or when the library should be used. If specified, it appears when the user views the properties of the top folder in the library.

To learn more about creating a new library follow the link below:

  • Create a Library


Creating a Library

You may want to use separate libraries for templates that deal with different matters. For example, you may want to create one library for divorce templates and another library for estate planning templates. When you create a library, you create an .HDL file on the disk. Once it's created, you can add references to templates to it as well as organize it in whatever way you need.

By default, all new libraries you create will be saved in XML format. If you need to use the library with versions of HotDocs prior to HotDocs 2009, you must specify this format by choosing Save Library As from the File menu and then choosing HotDocs 2005-2008 Library from the Save as type drop-down list. (See HotDocs and XML File Formats for details.)

To create a library

  1. At the HotDocs library window, click the [image] New Library button. The New Library dialog box appears.
  2. Click the [image] Browse button next to the File Name field. The New Library File Name dialog box appears.
  3. Browse to the location where you want to save the file and enter a name in the File Name field. (Click OK once you have specified the file location.)
  4. At the New Library dialog box, enter a name for the library in the Title field. This title appears as the top folder in the library window. (Library titles can be up to 100 characters long.)
  5. Optionally, type a description of the library in the Description field. The description appears in the Properties tab when the user views the main folder in the library.

Once you create a new library, you can add templates and other files to it. See Add Templates and Other Files to a Library.

See Change HotDocs Program File Locations for information on the default location HotDocs looks for and saves library files.


Open a Library

Often you have templates that are located in different libraries. You can access any library by using the Open command at the library you are currently viewing.

To open a different HotDocs library

  1. Start HotDocs. (See Start HotDocs.)
  2. At the library window, click the [image] Open Library button. The Open Library dialog box appears.
  3. Locate and select the library (.HDL) file with which you want to work, then click Open. The folders, templates, and clause libraries in the new library appear in the template list.

After opening the library, you can edit the templates, or use them to assemble documents.

See Change HotDocs Program File Locations for information on the default location HotDocs looks for and saves library files.


At a Glance: The Add Item dialog box

After opening the HotDocs Library, you can open the Add Item dialog box by clicking on the [image] Add Item button on the toolbar.

At the top of the dialog box is a drop-down list A where you can choose the type of item you wish to add to the library. You can choose from:

  • Text Template
  • Form Template
  • Interview Template
  • Clause Library
  • HotDocs Model
  • Auto-Assemble File
  • Web Address
  • Folder

In the first text field B you can enter a file name for the new template or you can use the [image] Browse button to the right to locate a file in your file system.

In the second text field C you can specify the title of the item, which appears when you select the item and view its properties. HotDocs suggests a title based on the file name. If the template provider has specified a default title, you can click the [image] Get Title button and that title will be used instead.

In the third field D you can enter an optional description of the library item, such as how the item should be used, or when it was created. This information appears when you select the item and view its properties.

To learn more about adding an item to a library follow the link below:

  • Add Templates and Other Files to a Library


Add Templates and Other Files to a Library

Home > Using Libraries > Add Templates and Other Files to a Library

Adding Templates and Other Files to a Library

After you create a library, you can add folders, template files, Web addresses, and miscellaneous files to the folder. In order to upload a template (or any other file) to a host application A (usually third-party) web application that "hosts" HotDocs Server or Cloud Services features on the back end to present interviews to end users in a web browser. A host application enables template (and related file) uploading and storage, as well as interview generation and presentation, final document assembly, and answer file handling and storage., you must first add it to a library.

When you create new templates, they are automatically added to the library. Clause libraries created at the template library are likewise added to the library automatically.
Adding an item to a library does not affect the files on your local disk or network. For example, you could select a form template from a library on your network and add it to a library on your local disk. However, the actual file would remain on the network.

There are three scenarios for adding items to a library: ShowHide

Adding a Single Item to a Library

Adding Multiple Items at Once

Adding Miscellaneous Files

Adding a Single Item to a Library

The items you add using this method are those available in the Type drop-down list.

To add a single item to the library

  1. At the HotDocs library window, select a folder.
  2. Click the [image] Add button. The Add Item dialog box appears.
  3. From the Type drop-down list, select the appropriate kind of library item. (Your options include Text Template, Form Template, Interview Template, HotDocs Model, Clause Library, Auto-Assemble File, Web Address, and Folder.)
  4. Click the [image] Browse button next to the File name field and locate the library item.
  5. Select the item you want to add and click OK. The Add Item dialog box appears again.
  6. In the Title field, enter a title for the library item (100 characters or less). The title will identify the item in the library.
  7. Optionally, enter a description in the Description field. The description appears in the Properties tab when the library item is selected.

Adding Multiple Items at Once

You can add multiple files to a library simultaneously. Doing this however, means you must wait to assign properties (such as titles and descriptions) to each individual file until after you add the files to the library.

To add multiple items at once

  1. Follow the steps in the procedure above until you choose the item typel

  2. Click the [image] Browse button next to the File name field and locate the library item.

  3. Select all the items you want to add and click OK. Once they are added, you can modify the properties.

Adding Miscellaneous Files

You can also add miscellaneous files such as word processor documents, PDF files, and so forth to the library. Once you add the file, you can assign properties (such as titles and descriptions) to each individual file.

To add miscellaneous files

  • In Windows Explorer, browse to the file or files you want to add to your library, drag and drop the files onto the library at the location where you want them. Once they are added, you can modify the properties.


Work with Templates and Other Files in a Library

You use a HotDocs library to organize and maintain your template set, including adding and removing templates from the library and changing the properties of templates in the library. (See Organize the Contents of a Library.) You can also use commands in the library to work directly with the templates. For example, you can select a template and assemble it.

To use the library to access the templates and clause libraries

  1. At the HotDocs library window, open the desired HotDocs library. (See Open a Library.)
  2. Perform tasks as explained in the following table:
To | Do This
Assemble the selected document | Select the template and click the [image] Assemble button.
Create a new template or clause library and add its reference to the library. | Click the [image] New Template button. (See Create a New Text Template File or Create a Form Template.)
Create a new folder in the library | Choose Add Folder (Edit menu).
Edit an existing template or clause library | Select the item and click [image] Edit. (See Edit a Template or Customize a Clause Library.)
Add an existing item to the library | Click the [image] Add Item button. (See Add Templates and Other Files to a Library.)
Remove the selected item from a library | Click the [image] Remove Item button. (See Remove Items from a Library.)
Move items up or down in the library list | Click on the item and drag it up or down in the list. HotDocs displays a horizontal bar indicating where the item will be placed when you release the mouse.
Modify the selected item's file name, title, or description | Click the [image] Properties button. (See Change the Properties of a Single Library Item.)
View or hide all of the items within a folder in the library list | Choose Expand All (View menu). (To hide the list again, choose Collapse All.)


At a Glance: The Remove Item Dialog Box

After opening the HotDocs Library, you can open the Remove Item dialog box by clicking on the [image] Remove Item button on the toolbar.

You can use the two check boxes to specify any options for the removal. Check the top box to approve the removal of items stored within the folder you have selected and check the bottom box to delete the selected files from the disk as well as deleting the references from the library.

To learn more about removing an item to a library follow the link below:

  • Remove Items from a Library


Remove Items from a Library

Libraries do not contain the actual files that HotDocs uses, such as template files, component files, or answer files. Libraries only contain references to those files, similar to shortcut icons on a Windows desktop. When you remove an item from a library, you can choose to remove just the reference, or you can choose to delete the actual file from disk.

The available options for removing items in a library depend on the type of item:

  • When you remove the reference for a template, you can choose to also delete the associated template file, component file, and clause library file (if any) from disk. If you do this, the files you delete are either sent to the Windows Recycle Bin (if the template is stored on your local disk) or permanently deleted (if it's stored on a network drive). Or, you can delete only the reference, leaving the template, component file, and clause library file in place on the disk—perhaps for use in another library.
  • When you remove the reference for a folder, you can choose to delete the items within the folder. If you choose to remove the items in the folder, all of the items in that folder and in all subfolders will be removed. If you choose to leave the files, they will be moved to the next higher folder.

To remove items from a library

  1. At the HotDocs library window, select the item (or items).
  2. Click the [image] Remove Item button. The Remove Item dialog box appears, asking if you want to remove the reference to the file from the library.
  3. Optionally, if you have selected a folder and you want to remove items within the folder, select Remove the unselected items contained in selected folders.
  4. Optionally, if you want to delete the actual files from disk, select Permanently delete the files for selected items from the disk.
  5. Click Yes.

If the template you are deleting is in the same folder as another template with the same file name but a different file name extension (for example, you are deleting Invoice.rtf and the same folder also contains Invoice.wpt), HotDocs doesn't delete the associated files, like the component file. You need these files for the other template.


At a Glance: The Item Properties dialog box

After opening the HotDocs Library, you can open the Item Properties dialog box by clicking on the [image] Properties button on the toolbar.

In the File name field A you can enter a file name for the new template. You can use the [image] Browse button to view or change the location on the disk where your template is saved. This field can also be used to enter command-line options for the template. For example, by adding different command-line options to the end of the file name, you can have HotDocs automatically save answer files, send the finished document directly to the word processor and many more.

HotDocs will automatically copy the file name into the Title field B when you click into it, but you can edit this if you would like to use a different title for the template.

In the Description field C you can enter an optional description of the library item, such as when it was created, or how it should be used. This description will appear when the user views the item properties tab in the library.

Clicking on the [image] Get title button pulls the title and description information from the Component File Properties and will overwrite anything currently in both fields.

To learn more about item properties follow the link below:

  • Change the Properties of a Single Library Item
  • Change the Properties for Multiple Items in a Library
  • Introduction: Command-Line Options


Change the Properties of a Single Library Item

You can change the title and description of a library item. If the item is a template or clause library, you can also change the file name and add command-line options.

Changes made at the Item Properties dialog box affect only the reference to the item—not the template or clause library files themselves. For example, if you change a template's file name at the Item Properties dialog box, it does not change the template's name on your local disk or network. Unless you also update the underlying file, the template may no longer work because the reference is incorrect. (See Rename Templates Using Template Manager for information about renaming templates and having all references to the file updated—including in the library.)

To modify a library item

  1. At the HotDocs library window, select the item you want to modify.
  2. Click the [image] Properties button. The Item Properties dialog box appears.
  3. Make changes based on the following options:
To | Do This
Change the file path | In the File Name field, type the new file path, or click the [image] Browse button and specify a new path.
Change the item title | In the Title field, either type a new title in the field, or click the [image] Get Title button to use the default title. (Titles can be 100 characters long.)
Change the command-line options | In the File Name field, type the new options. (For example, Refund.wpt /af=bwhittington.anx). See Introduction: Command-Line Options.
Change the item description | In the Description field, enter a new description. (The description appears in the Properties tab when the library item is selected.)

You can change the properties of several other library items at once. See Change the Properties for Multiple Items in a Library.


At a Glance: The Multiple Item Properties dialog box

After opening the HotDocs Library, you can open the Item Properties dialog box by clicking on the [image] Multiple button in the Edit Menu with the items selected.

In the first text field A you can choose to leave the <default> file path, enter a new file path for the selected items, choose from recently used paths in the drop-down list, click the [image] Browse button to navigate to and select a new folder, or click the [image] Reference Path button to select the path you pre-defined in HotDocs Options (See Change HotDocs Program File Locations).

Using the second text field B, you can keep the <various> file names,or choose to give all the selected items the same file name extension (by typing it into the field or alternatively, by selecting one of the items existing extensions using the drop-down list). Note, however, that changing the file name extension here does not change the extension for the actual file.

In the third text field C you can type in any command-line options you would like to add to the items or choose from a list of currently used options in the drop-down list. Any options you specify here will be applied to all the items you have selected. (To learn more about command-line options see Introduction: Command-Line Options and to view a list of command-line options see Full List of Command-Line Options)

To learn more about item properties follow the link below:

  • Change the Properties of a Single Library Item
  • Change the Properties for Multiple Items in a Library


Change the Properties for Multiple Items in a Library

You can change the folder paths, file name extensions, and command-line options for two or more library items in a folder. For example, if you have used Windows Explorer to move templates from one folder to another, you can update all the file paths in the library at once. (Remember, moving the files on disk does not automatically update the references to those files in the library.)

If you select a folder, the changes affect all items in the folder and in any subfolders. For example, if you select the top folder of a library, you will change the properties for every item in the library.

Changing properties of library items does not affect the files on your local disk or network. For example, changing the file path in the Multiple Item Properties dialog box does not actually move the file to a different folder—you must manually move the files. (See Move Items to New Locations on Disk.)

To change the properties of two or more items in a library folder

  1. Select the items (or the folder that contains the items) and select [image] Multiple (Edit menu). The Multiple Item Properties dialog box appears.
  2. Make changes as specified in the following table:
To Do This
Change the file path for the selected items Click the File path [image] Browse button and browse to the new folder. Then click OK. The new folder path is inserted. (Click the File path drop-down button to view a list of all the various file paths used for the templates in your list.)

To specify the default folder the different files, choose <default> from the File path drop-down list and click OK. (The default folder is the location HotDocs looks for the file when no file path is given. You can specify what this default location is at HotDocs Options. See Change HotDocs Program File Locations.)
Change the reference path for the selected items Click the [image] Reference path button and choose a path from the Select Reference Path dialog box. When you click OK, HotDocs inserts the reference path keyword in the File path field.

To remove all reference paths and specify the default folder for the different files, choose <default> from the File path drop-down list and click OK. (The default folder is the location HotDocs looks for the file when no file path is given. You can specify what this default location is at HotDocs Options. See Change HotDocs Program File Locations.)

The [image] Reference path button isn't available unless you have at least one reference path defined in the File Locations folder of HotDocs Options. (See Assign Reference Paths to HotDocs Files.)
Change the file name extension for the selected items Click the File name extension drop-down button and make a selection. If the desired extension is not listed, type it.

HotDocs displays a list of the file name extensions for all the items you have selected in the File path drop-down list. If you have multiple file types selected, <various> appears in the File name extension field.
Change the command-line option or options for the selected items Type the command-line option (for example, /af=path and file name) in the Command-line options field and click OK. If assigning multiple options, include spaces between each option. (See Introduction: Command-Line Options.)

To remove existing command-line options, select <none> from the Command-line options drop-down list and click OK.
  3. Click OK at the Multiple Item Properties dialog box.
  4. When HotDocs confirms the change, click Yes.


At a Glance: The Folder Sort Options Dialog Box

After opening the HotDocs Library and clicking on your chosen folder (or the entire library), you can open the Folder Sort Options dialog box by clicking on the [image] Sort button on the toolbar.

Using the multiple choice menu A you can choose between Ascending or Descending. Ascending sorts the contents of a folder from 1 to 9, and from A to Z and Descending sorts the contents of a folder from 9 to 1, and from Z to A.

Clicking on the check box B below will sort items in any subfolders based on the Sort Order option you selected.

To learn more about sorting library folders follow the link below:

  • Sort Items in a Library


Sort Items in a Library

To help you locate or organize files in the library, you can sort the items in a folder in alphanumeric order.

To sort library items

  1. At the HotDocs library window, select the folder whose items you want to sort.
  2. Click the [image] Sort button. The Folder Sort Options dialog box appears.
  3. Select the order for sorting the library items:
    • To organize them A to Z and 1 to 9, select Ascending, then click OK.
    • To organize them Z to A and 9 to 1, select Descending, then click OK.
  4. Optionally, select Sort Subfolders to sort the folders inside the selected folder.

The template list changes to show the rearranged library items.

You can save templates you frequently use to a Favorites folder in the library for quicker access, select the template and click Add to Favorites (View menu). See Create a Favorites Folder in the Template Library.


Organize the Contents of a Library

Once you create a library and add templates to it, you often want to organize the contents of the library into logical groups. This may include grouping items by subject matter in folders, or grouping items alphabetically. Additionally, you may need to print a list of templates in the library or remove templates you no longer need.

To organize the contents of a HotDocs library

  1. At the HotDocs library window, open the desired HotDocs library. (See Open a Library.)
  2. Use any of the following commands to work with files in the library:
To | Do This
Add a folder to the library so you can group library items | Choose Add Folder (Edit menu). The Add Item dialog box appears where you can specify the folder name and a description. (Once you create a folder, you can move items to it.)
Print a list of the titles, file names, and descriptions of templates and folders in a library | Click the [image] Print Library button. (See Print a List of Items in a Library.)
Remove an item from the library | Select the item and click [image] Remove Item button. (See Remove Items from a Library.)
Remove an item from the library and places a copy of it on the Clipboard so you can paste it elsewhere in the library | Select the item and click the [image] Cut button.
Copy an item in the library to the Clipboard so you can paste it elsewhere in the library | Select the item and click the [image] Copy button.
Paste an item to a new location in the library | Select the folder in the library where you want the item pasted and click the [image] Paste button.
Sort items in a library in ascending or descending order based on their titles | Select the folder on which you want to sort, and click the [image] Sort button. (See Sort Items in a Library.)
Change an item's file name, title, or description | Select the item and click the [image] Properties button.
View the file names for templates in the library (rather than the template titles) | Choose File Names (View menu). (To view template titles again, choose Template Titles.)
Search for a specific template in the library list | Type the text for which you are searching in the Find field. HotDocs will show only those files that contain the search text in the template title, file name, or description. (See Search for a Specific Template in a Library.)
Group templates you use most frequently in a Favorites folder | Select the template and choose Add to Favorites (Edit menu). (See Create a Favorites Folder in the Template Library.)


Create a Favorites folder in the Template Library

You can create a Favorites folder in your template library and add templates to it. This may be useful if you find you assemble some documents more than others and you want to access them quickly each time you view the library.

To add templates to a Favorites folder in the library

  1. At the template library, select the template you want to add to the Favorites folder.
  2. Click Add to Favorites (Edit menu).

If no Favorites folder exists, HotDocs creates the folder and adds the template to it.


Create a New Library by Exporting Part of an Existing Library

You can create smaller libraries by exporting some of the folders and files of a larger, existing library. Creating a library this way eliminates the need to manually create a new library and then add each folder, template, or clause library to it.

When you export part of a library, HotDocs asks you for the file name and title of the new library. Then it creates the library, and finally creates the library references in it. During the process, you can choose to have HotDocs copy the files in the library you are exporting to the new location, or you can choose to have the library reference the original files.

Exporting will only export the files you select at the library. This means that if a template you are exporting contains references to other templates or files not listed in the library, those items will not be exported and you may receive errors when you attempt to use the template for assembly.

To export part of an existing library

  1. At the HotDocs library window, select the library items you want to export. (If you select a folder, all the items in the folder will be exported.)
  2. Choose File > Export Library To > HotDocs Library File. The Export HotDocs Library File dialog box appears.
  3. At the File name field, click [image] Browse, select a location for the new library, and enter a library name in the File name field. (Click OK when you are finished.)
  4. At the Export HotDocs Library File dialog box, enter a name for the new library in the Title field, or accept the suggestion HotDocs makes. This title will appear in the Properties tab of the HotDocs library window.
  5. Optionally, in the Description field, type a description of the library. (The description appears in the Properties tab when a library (or folder) is selected.)
  6. Click OK. HotDocs asks if you want to export the selected files:
    • Click Yes to copy the selected files to the same folder as the new library.
    • Click No to have the new library refer to the files in their current location.

After exporting the items, the original library items are still available. (HotDocs does not delete the references from the original library—templates can be referenced in multiple libraries.) If you want the old references deleted, select the library items and click [image] Remove Item.

HotDocs does not automatically display the new library. To open it, click [image] Open and select the file name for the new library. (See Open a Library.)


At a Glance: The Import Library Dialog Box

After opening the HotDocs Library, you can open the Import Library dialog box by choosing Import Library from the File menu and selecting a HotDocs library at the browse window.

You have three options at the Import Library dialog box:

  • Assembly Only: Imports the library in such a way that you will be able to assemble documents, but not modify the library structure or edit items in the library.
  • Editing and Assembly: Imports the library in such a way that you will be able to edit the items in the library, assemble them, and modify the structure of the library.
  • Cancel: Cancels the import process without making any changes to the library.

To learn more about importing a library follow the link below:

  • Import One Library Into Another


Import One Library Into Another

You can import a copy of another library into the current library. The imported library will become a folder in the current library.

There are three types of imported libraries. Which type you choose depends on how you need to use the library and its contents:

  • Assembly Only: You can use the library to assemble documents, but you can't change the library’s (or folder's) structure or edit a template. This type of import is useful, for example, when you want to access company templates stored on a network drive, but you don't have authorization to edit the templates or the imported library's structure.
  • Editing and Assembly Using Original Files: You can use the library to assemble documents and edit templates. You can also modify the structure of the library. The imported library references the same files as the original library. (Templates and clause libraries can be referenced in more than one library.) If you edit a template from either the imported library or the original library, changes you make will appear in documents produced from either library. This type of import is useful when you are maintaining company templates stored on a network.
  • Editing and Assembly Using Copies: You can use the library to assemble a document and edit templates. You can also modify the structure of the library. However, this method copies the files to a new location, rather than refers to the originals. Any changes you make to the templates are applied only to the copies and not the original files. This is useful if you are copying a library from a removable disk or network on your local disk.

When importing a library, HotDocs looks for the items referenced in the library in the same folder as the library itself. If they are not saved together, importing will not work.

To import one library into another

  1. At the HotDocs library window, select the folder where you want the imported library to be located.
  2. Click Import Library (File menu). The Import Library dialog box appears.
  3. Select the library you want to import and click Import. The Import Library dialog box appears.
  4. Choose how you want to import the templates:
    • Click Assembly Only to assemble documents from the templates—and nothing else.
    • Click Editing and Assembly to edit the templates and assemble documents from them.
  5. If you select Editing and Assembly, HotDocs displays another dialog box, prompting you to choose whether to copy the associated files or use the originals:
    • Click Yes to import copies of the files to a new location you specify. Changes you make to the templates will affect files in the new location only. The Browse for Folder dialog box appears, prompting you to specify where the copied files should be placed.
    • Click No to have the library reference the original files. Changes you make to the templates will affect everyone using those files to assemble documents.


Print a List of Items in a Library

You can print a list of the files and folders in the library currently displayed in the HotDocs library window, allowing you to see the library structure, as well as the file path and the description of each item.

To print a HotDocs library

  1. At the HotDocs library window, open the library whose contents you want to print. (See Open a Library.)
  2. Click the [image] Print Library button. The Print dialog box appears.
  3. Click OK. The list of titles, file names, and descriptions are printed at the selected printer.

To preview what the printout will look like before you print it, select [image] Print Preview (File menu). To return to the library window, click Close.


Save a Library

HotDocs saves all changes you make to a library immediately after you make the change. Clicking Save (File menu) simply displays a message confirming this


Save the Contents of a Library as a Text File

You can save the contents of a HotDocs library—including folder names, template file names, titles, and descriptions—as a text file. The hierarchy of the library is preserved within the text file. This is useful if you want to spell check the text used in your library. (To do this, you must open the text file in a word processor with spell-checking capabilities).

To save the library as a text file

  1. At the HotDocs library, select Export Library To > Plain Text File (File menu). The Save As dialog box appears.
  2. Select a location to save the text file to, enter a name for the file, then click Save. A .TXT file containing a tabbed list of the folder names and template titles is saved to the location you choose.


Move Items Within a Library

To organize your library, you can move an item to a different location in the same library by dragging, by cutting and pasting, or by copying and pasting.

These methods do not move the actual file to a different location on your local disk or network. See Move Items to New Locations on Disk for information on doing this.

To drag library items to a new location

  • At the HotDocs library window, select the library item and drag it to the new location using the mouse. (As you drag, HotDocs uses a horizontal bar to indicate where the item will be placed when you release the mouse button.)

To cut and paste several library items

  1. At the HotDocs library window, select the items you want to move.
  2. Click the [image] Cut button (or press Ctrl+X.)
  3. Select the new location and click the [image] Paste button (or press Ctrl+V).

To copy and paste several library items within the library

  1. At the HotDocs library window, select the items you want to copy.
  2. Click the [image] Copy button (or press Ctrl+C).
  3. Select the new location and click the [image] Paste button (or press Ctrl+V).


Move Items to New Locations on Disk

Using the Move command (Template menu) at the HotDocs library window, you can move template and clause library files to new locations on your local disk or network. Using this command also updates the library reference to the file. (Moving files in other ways, for example, by using Windows Explorer, requires that you manually update the library reference.)

To move template and clause library files

  1. At the HotDocs library window, select the templates and clause libraries you want to move.
  2. Click Template menu>Move [image] .
  3. Browse to the folder where you want to copy the template or templates.
  4. Click OK. HotDocs removes all associated files except for inserted templates (component files, default answer files, and so forth) from the old location, pastes them at the new location, and then updates the references to the files in the HotDocs library.

HotDocs handles the Move command a little differently if you are moving the template from a folder that contains another template with the same file name but different file name extension (for example, if you are moving Invoice.docx from a folder that also has Invoice.wpt). In such a case, HotDocs copies the associated component file to the new folder, but does not delete it from the original folder because it is still needed by the other template.

You can also copy templates to new locations on disk and have the library reference updated. See Copy Templates to New Locations for details.

When a template has insert fields, HotDocs does not move those inserted templates along with the parent template. If you want to move a template that has insert fields you can use the Publishing Wizard to publish the initial template to the new location as a standard template file and HotDocs includes a copy of all the files necessary for assembly.


Copy Templates to New Locations

Often you need to make a copy of a template and save it to a new location on disk. You can use the Copy command at the template library to do this. As you are copying, you can choose to make the template and component file read-only. You can also choose to update the reference to the file in the library so the library refers to the copied template rather than the original.

Be aware that copying a template creates two templates with identical template IDs. This can lead to template ID conflicts should you upload both the original and copied templates to a web server.

To copy the template to a different location

  1. At the HotDocs library window, select the templates and clause libraries you want to copy. (Press Ctrl or Shift to select multiple items.)
  2. Click Template menu>Copy.
  3. Browse to the folder where you want to copy the template or templates and click OK.
  4. You can then set some properties for the copied templates:
    • Select Mark newly created templates as read-only to keep users from editing the template. (This assigns the read-only property to both the template and the component file.)
    • Select Update library entries to refer to the newly created templates to have HotDocs change the file path for the library item so that it uses the file path for the copied template.

When a template has insert fields, HotDocs does not copy those inserted templates along with the parent template. If you want to copy a template that has insert fields you can use the Publishing Wizard to publish the initial template to the new location as a standard template file and HotDocs includes a copy of all the files necessary for assembly.


Introduction: Assemble a Text or Form Document

Home > Assembling Documents > Completing an Interview > Introduction: Assemble a Text or Form Document

Overview: Assemble a Text or Form Document

There are two types of documents you can assemble—text documents and form documents:

  • Text documents are documents you view in your word processor. Once the document is assembled, you can edit any of the text.
  • Form documents are those in which the underlying text is static, meaning it cannot be modified. Only the answers that are merged into the document can be modified. (An IRS form is a good example of a form document.)

The process of assembling both of these types of documents is very similar. However, there are specific things you should know about assembling form documents. Please see Introduction: Assemble a Form Document for a description of these differences.

When you assemble a document, HotDocs displays the assembly window, which is divided into three panes—the interview outline, the dialog pane, and the resource pane. The interview outline shows a list of dialogs (or groups of questions). You can click on any dialog in the outline and view (and answer) the questions in the dialog pane. Finally, where provided, the resource pane shows information to help you answer questions in the dialog.

As you answer questions, HotDocs merges your answers into the assembled document, which you can view by clicking the Document tab at the assembly window. As you are reviewing the assembled document, if you see an answer that needs to be edited or changed, you can make the change right in the Document Preview tab. (Some template providers may prohibit you from changing answers at the Document Preview tab. If this is the case, the buttons and commands that control this feature will be disabled.) Additionally, if the template provider has allowed it, you can edit the actual text of the document while viewing the Document Preview tab. (These features are available to Microsoft Word users only.) You can also use the document navigation bar to move between answers in the document.

If you need to generate quick views of the document—for example a list of just the questions or a list of questions and answers (without all of the other document text)—you can view the Question Summary tab or the Answer Summary tab. Both provide you with a short list of information required in the document. You can also view a spreadsheet of the template's variables and any answers that have been given.

Once all of the answers are provided and the document is correct, you can send a copy of the document to a word processor (if you are assembling a text document) or you can view the assembled document at the Form Document tab (if you're assembling a form document). If no further editing is needed, you can print the document or save it to disk. You also can save the answers you've provided in an answer file, which can then be used to assemble other documents.

The following diagram shows the assembly process:


At a Glance: The Assembly Window

When you choose to assemble a template HotDocs will open an Interview window. Using this window you can enter answers, view resources, view summaries, and preview the finished document.

The main portion of the Interview window is split into 3 panes. The Interview Outline, the Interview Pane, and the Resource Pane.

The Interview Outline shows a list of dialogs within the interview. Next to each dialog is an icon indicating the dialogs status and type:

None of the questions in the dialog are answered.

At least one of the questions in the dialog is answered.

All of the questions in the dialog are answered.

Repeats the dialog, allowing you to enter more than one set of answers.

Allows you to enter a new set of answers in a list.

In the Interview Pane you can see questions on the selected dialog and spaces to type or select your answers. These can be in the form of text or number fields, check boxes, spreadsheets or drop down menus.

Some dialogs or questions will have extra resource information to help the user answer the question (see Add Resource Information to a Variable or Dialog). This information can be displayed in the Resource Pane.

Between the Resource Pane and the Interview Pane you can see the Navigation Bar. This contains the following buttons to help you move though the interview:

  • First Dialog
  • Previous Unanswered Dialog
  • Previous Dialog
  • Next Dialog
  • Next Unanswered Dialog
  • Last Dialog
  • Finish Interview

Interview is just one of the five available pages you can look at from this window. You can move to the other pages by clicking on one of the Tabs below the Toolbar:

  • Document Preview: A preview of the finished document showing the answers in place.
  • Question Summary: Displays a list of questions that are asked in the interview with space for answers. This can be printed and used as a paper questionnaire version of the interview.
  • Answer Summary: Displays a summary of questions in an interview as well as any answers you entered.
  • Variable Sheet: Displays a spreadsheet of variables, prompts, current answers, and variable types. You can sort the spreadsheet by clicking the spreadsheet column headings.

You can click on the Interview tab to return to the interview you are working on.

Above all of the tabs are the Menu bar and Toolbar. From the Toolbar you can access the following buttons:

  • HotDocs Library: Displays the HotDocs library window.
  • Recent Answer Files Drop-down List: Displays a list of recently used answer files. Click this button to select a different answer file.
  • New Answer File: Replaces the current answer file with a new, empty answer file.
  • Open Answer File: Opens the Open Answer File dialog box so you can select another answer file for the interview.
  • Save Answer File: Saves changes to the answer file.
  • Send Document to: Sends a copy of the assembled document to a word processor or HotDocs Filler, depending on the type of template you are using. Once in the word processor or HotDocs Filler, you can make post-assembly changes to the document. Be aware, however, that any changes you make will only affect that document -- your changes will not be saved in the answer file.
  • Save Document: Saves the document to disk. The Save As dialog box will appear, allowing you to specify a name and location for the saved file.
  • Print Document: Prints a copy of the current document.
  • Instant Update: Determines when HotDocs updates the interview. If the button is pressed down, this happens when you move between answer fields. If it is not pressed down, this happens when you navigate to another dialog. This can help speed up how quickly you are able to move through answer fields in the dialog.
  • Show Resource Pane: Shows and hides the resource pane where helpful information about a question or group of questions can be viewed.
  • Check Spelling: Checks the spelling of text answers entered during the interview.
  • Show Assembly Queue: Displays the assembly queue, which lists all of the templates you have chosen for assembly. The queue gives you greater control over the assembly process when you are assembling multiple documents.
  • HotDocs Options: Opens the HotDocs Options dialog box where you can specify several preferences that control how HotDocs works.
  • Help: Opens the relevant page of the HotDocs Help File.
  • Erase Answer: Clears the answer from the answer field.
  • Undo: Undoes the most recent change made to an answer.
  • Redo: Restores changes that were made to an answer.
  • Cut: Cuts the selected text and saves it to the Windows Clipboard. You can then paste the text into another answer field.
  • Copy: Copies the selected text and saves it to the Windows Clipboard. You can then paste it elsewhere.
  • Paste: Pastes any text that has been saved to the Windows Clipboard into the current answer field.
  • Insert Repetition in a Spreadsheet: Inserts a new, empty repetition above the current repetition.
  • Delete Repetition in a Spreadsheet: Deletes the selected repetition from the interview. Any answers you have entered will be lost.
  • Move Repetition Up in a Spreadsheet: Moves the selected repetition up in the list of answers. You should be aware, however, that if the template provider has assigned sorting options to the list, answers in the assembled document will be listed in that order instead of the order you specify here.
  • Move Repetition Down in a Spreadsheet: Moves the selected repetition down in the list of answers. You should be aware, however, that if the template provider has assigned sorting options to the list, answers in the assembled document will be listed in that order instead of the order you specify here.
  • Sort Spreadsheet: Sorts columns in a spreadsheet in either ascending or descending order. To sort on a second level, include those search options on the second line of the Sort Spreadsheet dialog.
  • Highlight Fields: Highlights all answers or unanswered variables at the document preview tab.
  • Edit Document Text: Opens the Document Text Editor where you can edit modifiable text within the document.
  • Go to Answer in Document (at Interview tab): Positioning your curser within an answer field and clicking this button will take you to the answer at the Document Preview tab, letting you view the answer in place.
  • Go to Answer in Interview (at Document Preview tab): Positioning your curser at an answer on the Document Preview tab and clicking this button will take you to the corresponding answer field in the Interview tab.

When assembling a form document additional tool bar options become available:

  • Field Properties: Changes the properties for the selected field or fields.
  • Font: Changes the font for the selected field or fields.
  • Override Answer: Allows you to type any answer in the field, even if the field requires a certain type. For example, you can override a number-only field and type a text answer.
  • Fill Tool: Allows you to enter information in the field, such as an answer.
  • Select Tool: Activates the Select Tool. This button allows you to select an existing field so that you can move it, resize it, or edit its properties (including the variable properties).
  • Scroll Tool: Makes the Scroll Tool the current cursor. Use the cursor to grab the current form page and drag it around the window.
  • Zoom Tool: Activates the Zoom Tool, allowing you to increase or decrease magnification of the template.
  • View Page Width: Displays the entire width of the current form page in the window.
  • View Full Page: Shows the whole form document in the window.
  • Show Fields: Shows and hides the colored field backgrounds during direct-fill assembly of a form document.
  • Show Thumbnails: Shows and hides thumbnail images of each page in the form. You can use these pages to move through the document.
  • Previous Page: Moves to the page just before the current page in the form.
  • Next Page: Moves to the page just after the current page in the form.

In the Menu Bar you can access further options not available on the Toolbar.

To learn more about assembling templates follow the links below:

  • Introduction: Assemble a Text or Form Document
  • Adjust HotDocs Windows and Panes
  • Update Your Interview Outline and Document
  • Preview a Template Before Assembling It
  • Assemble a Text or Form Document
  • Assemble an Interview Template
  • Assemble a Document Without Showing an Interview
  • Assemble Multiple Documents
  • Assemble a Clause Library from the Template Library
  • Navigate Through Answer-Gathering Dialogs
  • View Resources During Assembly
  • Use Repeated Dialogs During Assembly
  • Use Inserted Dialogs During Assembly
  • Select Clauses During an Interview
  • Use the End of Interview Dialog
  • Spell Check Answers


Adjust HotDocs Windows and Panes

You can arrange the HotDocs windows and panes to match your work preference.

To work with HotDocs windows

At the HotDocs window, complete any of the following steps:

  • To move a window, click on the title bar and drag the window to another location.
  • To maximize or minimize the window, click either the Maximize or Minimize buttons in the window title bar. The Maximize button causes the window to fill the entire screen, while Minimize closes the window and places it on the Windows taskbar.
  • To resize the window to a specific size, move the mouse pointer to a border or corner of the window. When the icon becomes a resize arrow, click and drag the border to the desired position.
  • To resize a pane within a window, move the mouse pointer to a border between two panes. The icon becomes a resize arrow. Click and drag the border to the desired proportions.
  • To rearrange toolbars, move the mouse pointer to the anchor bar of one of the toolbars. Drag the toolbar to the desired location in the window.

When moving toolbars, you can separate toolbars from the assembly window. To reattach the toolbar, move it to a position over the menu bar. You can also remove toolbars by clearing the toolbar at the View menu.


Update Your Interview Outline and Document

Some answers you enter during an interview may cause HotDocs to update the appearance of the interview outline. Additionally, each time you change an answer while viewing the Document tab, HotDocs updates the entire document. Depending on the complexity of the interview or the document, this updating may take longer than desired. To minimize the time HotDocs takes to update the interview or document with your changes, you can turn off [image] Instant Update to make HotDocs update only when necessary.

When [image] Instant Update is turned off, information in the interview and document may become outdated. When this happens, the [image] Instant Update button changes appearance. You can click the button and HotDocs updates the interview or document so that all information will be current. HotDocs also updates the document and interview when you move between tabs in the assembly window, as well as when you print, save, or send the assembled document to the word processor.

To control when HotDocs updates the interview outline or document

While viewing either the Interview tab or the Document tab at the assembly window, click the [image] Instant Update button:

  • When the button is selected (or pressed in), HotDocs updates the interview outline as you move between answer fields. If you're viewing the Document tab, it updates the entire document.
  • When the button is not selected (or not pressed in), HotDocs updates the outline only when you move between dialogs. If you're viewing the Document tab, it updates just the answer field you are currently viewing (and any other answer fields that merge the same answer).


Preview a Template Before Assembling It

To help you identify the correct template, you can preview the template before you select it for assembly. The Preview tab shows the text of the document, as well as where HotDocs variable fields are merged.

To preview a template

  1. At the HotDocs library window, select a template.
  2. Click the Preview tab. The library window changes to show the template text.

To remove the Preview tab from the library window, choose Preview Tab (View menu).

To move the Properties and Preview tabs to the top of the pane, select Tabs at Top (View menu.)

The Preview tab shows the information in the template correctly; however, it may not be formatted correctly—particularly when previewing WordPerfect templates. Additionally, previewing form templates will not show you variable fields.

You can preview a simpler version of the template by choosing Markup View at the template library window. This changes the preview so it shows simple mark-up fields, rather than complicated automation. (Markup View is supported for Word templates only.)


Search for a Specific Template in a Library

Some libraries may contain a long list of templates. Instead of browsing through the template list, you can search for a specific template or clause library based on the template's title, file name, or description.

To search for a template or clause library

  1. At the HotDocs library window, select the Find check box, located below the template list. The template list changes, showing each template in the library in alphabetical order.
  2. In the Find field, type the text that is in the title, description, or file name of the desired template. The template list changes to show only the items that contain the text you type. (The Find text field is not case-sensitive.)
  3. To view the entire library again, clear the Find check box.

To show file names instead of template titles in the file list, choose File Names from the View menu. To view template titles again, choose Template Titles.


Assemble a Text or Form Document

You assemble a document by selecting a template and then answering the questions in the interview. Answers to your questions are then merged in the correct places in the document. Once all of the questions are answered, you can view, print, or save the document.

To assemble a document

  1. At the HotDocs library window, select a template. (If you're assembling a form document, see Introduction: Assemble a Form Document for additional instructions.)
  2. Click [image] Assemble. The Answer File dialog box appears. (You can also start an interview by double-clicking the template.)
  3. Select an answer file (see Select an Answer File for Assembly), then click OK. The assembly window appears, showing the interview outline and the first information-gathering dialog.
  4. Answer the questions in each dialog, clicking [image] Next to advance to each new dialog. (See Navigate Through Answer-Gathering Dialogs.) (You can also advance to the next dialog by pressing Alt+N, Enter, or Page Down.)

After the final dialog, the End of Interview dialog identifies how many questions are unanswered. This dialog also provides options for working with the assembled document. See Use the End of Interview Dialog for specific details.

HotDocs updates the interview as you enter answers in a dialog. If you experience a significant delay when moving from one answer to the next, you can have HotDocs update the interview less frequently. (See Update Your Interview Outline and Document.)


At a Glance: The Answer File dialog box

When you click to assemble a template you will usually see the Answer File dialog box appear. Unless you have set a default answer file (see Create a Default Answer File) then the Answer File field A will show the option New Answer File and when you click OK it will start a blank answer file which you can choose to save during assembly or after assembling the template.

Clicking on the Answer File field A will allow you to choose from a drop-down list of recently used answer files.

If you would like to use a previously saved answer file click on the [image] Open Answer File button B where you will be taken to Answer File Manager to choose the file you would like to use for this assembly.

Once you have chosen an answer file the two check boxes D ungray. The top check box allows you to have HotDocs automatically select this answer file the next time you assemble this template. The bottom check box allows you to send the assembled document to Microsoft Word without displaying the interview. This is useful if you have a completed answer file that you don't wish to edit as HotDocs will immediately create the document.

If after selecting an existing answer file you decide you would instead like to use a new answer file then clicking the [image] New Answer File button C will return the Answer File field to displaying New Answer File.

To find out more about selecting an answer file follow the link below:

  • Select an Answer File for Assembly


Select an Answer File for Assembly

When you assemble a document, you must choose whether to use a new answer file or an existing file. After you complete each interview, HotDocs can save your answers for use with other assemblies.

To select an answer file

  1. At the HotDocs library window, select a template, then click [image] Assemble. The Answer File dialog box appears.
  2. Accept the suggested answer file or change the answer file by choosing one of the following options:
    • Click the [image] Open Answer File button to open the Open Answer File dialog box where you can choose an existing answer file. After making your selection, click [image] Open.
    • Click the [image] New Answer File button to create an empty, untitled answer file.
    • Select Automatically select this answer file for use with the next assembly to have HotDocs suggest this answer file for all subsequent documents you assemble.
  3. At the Answer File dialog box, click OK. The assembly window appears

You can also use Windows Explorer to access your answer files. See Introduction: Use Answer Management.

Some templates may have an answer file assigned by the template provider. For templates like this, the Answer File dialog box does not appear.


Assemble an Interview Template

An interview template does not produce an assembled document. Instead, it gathers and (and sometimes automatically saves) information (such as court, attorney, or client information) that can be used in assembling other documents. An interview template is distinguished from other templates in the library by its icon: .

For example, a template library includes an interview template named Client Information. This template gathers personal information about each client—such as name, address, gender, and birth date. This information may be needed in other templates in the library. Before you ever assemble any of these other documents, you could assemble the interview template and create a set of answers. Then, whenever a dialog in another template requires client information, you can access the answers you've already entered.

To assemble an interview template

  1. At the HotDocs library window, select the [image] interview template and click [image] Assemble. The Answer File dialog box appears. (If the template is already associated with an external answer source, you will not be prompted to select an answer file. Skip to step 3.)
  2. Select an answer file, then click OK.
  3. Answer the questions in each dialog, clicking [image] Next or [image] Previous to move between dialogs.
  4. At the end of the assembly, HotDocs may prompt you to save your answers in an answer file.
    • If this prompt appears, click Save or Save As to view the Save Answer File dialog box, where you can save the answers you've provided. Or, click Don't Save to discard the answers.
    • If this prompt doesn't appear, the template is probably associated with an external answer source, so HotDocs automatically saves the answers to that answer source.
  5. Close the assembly window.


Answer Questions in a Dialog Using an Answer Source

Template providers can link questions in a dialog to an answer source or an answer file that contains existing answers. When you link a dialog to one of these sources, a [image] Select button appears on the dialog. Click the [image] Select button to open the answer source and select a record or add a new record to the answers.

Each record contains answers to one or more questions. For example, the records may contain the names, addresses, and phone numbers of attorneys in an office. After selecting one attorney's record, that attorney's information will be merged into the answer fields. This saves you from having to re-enter answers you use frequently as you assemble documents.

To access an answer source

  1. At the HotDocs library window, select a template and begin assembling the document.
  2. Use any of the following commands to complete different tasks associated with an answer source:
To | Do This
Use an existing set of answers | Select the desired record, then click the Select button.
Add a new record | Select an empty row in the spreadsheet and click [image] Edit Row. Then enter your answers in the pop-up interview. You can either gradually build the list, entering a different record each time you complete an interview; or you can enter several records at once. You can delete, edit, or add new records at any time.HotDocs saves your answers as you add them to the answer source.
Insert a record in between other records | Select the record you want to be below the new record you are inserting and click [image] Insert Row. Then click [image] Edit Row to enter your answers.
Edit an existing record | Select the record and click [image] Edit Row. Make your changes in the pop-up interview.
Delete a record | Select the record and click [image] Delete Row. The answers are deleted.
Sort or alphabetize columns in an answer source | Click the column you want to sort, right-click and choose Sort from the shortcut menu. The Sort Spreadsheet dialog box appears. Designate your sorting preferences and click OK. To sort on a second level, enter your preferences in the and then fields.

An answer source may be populated in different ways. For example, the template provider can either add answers to the answer source during development, or allow you to add answers during the interview. Additionally, an answer source may be an Outlook Contacts list or a Time Matters Contacts or Matters record, which the template provider has integrated with HotDocs.

If your dialog is linked to a Time Matters Contacts or Matters answer source and you change answers once they have been retrieved, you may be prompted to write the answers back to Time Matters.


Assemble a Document Without Showing an Interview

You can assemble a document without answering any questions in the interview. When you do this, HotDocs uses the answer file you specify and assembles the document. Depending on which Finish Interview Action options you have selected, you can choose where you will view the assembled document—either in the word processor (text templates), HotDocs Filler (form documents), or at the Document tab of the assembly window. (See Control What Happens When You Finish an Interview.)

To assemble a document without viewing the interview

  1. At the HotDocs library window, select one or more templates.
  2. Click [image] Assemble. The Answer File dialog box appears.
  3. Select an answer file. (See Select an Answer File for Assembly.)
  4. Select Send / Go directly to ... without displaying an interview and click OK. HotDocs assembles the document using the answers in the answer file you selected. It then displays the assembled document in the application specified at HotDocs Options.


Overlay Answers in the Current Answer File

When you assemble a document, you can use answers from an existing answer file and overlay them in the current answer file, overwriting any existing answers in the current answer file.

For example, perhaps you have an answer file that contains only client-specific answers, such as names and addresses. You can use these answers to assembe several related documents. However, to use this answer file in the traditional way (selecting it at the Answer File dialog box), you would most likely add answers to the file, making it less useful in assembling other documents. To make the file useful for multiple templates, you can select a new or existing answer file at the Answer File dialog box, and then use the answer file that contains your client-specific answers as an overlay answer file. Answers you enter or change during the interview are saved to the current answer file—not the overlay answer file.

To use an overlay answer file during assembly

  1. At the HotDocs library window, select a template and click [image] Assemble. The Answer File dialog box appears.
  2. Select an answer file, and click OK. The assembly window appears.
  3. Click File, then click Overlay Answers. The Open Answer File dialog box appears.
  4. Select an answer file to overlay, and click the [image] Open button. The assembly window appears again, showing information from the overlay answer file; however, the answer file you selected in step two is still assigned (as seen in the Current Answer File drop-down list).

You can also specify an overlay answer file at the command line.


Assemble Multiple Documents

You can select multiple templates or clause libraries, and then start one assembly process that will address each template. Each template or clause library will create a separate document, using the same answer file, unless you select a different answer file during the interview. (See Switch Answer Files During Assembly.)

To assemble multiple documents

  1. At the HotDocs library window, press Ctrl or Shift, then select all the templates and clause libraries you want to assemble.
  2. Click [image] Assemble. The assembly queue status box (located in the status bar of the assembly window) displays how many assemblies are waiting, and the Answer File dialog box appears.
  3. Select an answer file and click OK. (Select an Answer File for Assembly.) The assembly window appears.
    • If the item is a template, the first answer-gathering dialog is shown. (See Assemble a Text or Form Document.)
    • If the item is a clause library, the clause library is shown. (See Select Clauses During an Interview.)
  4. Provide answers or select clauses for the interview.
  5. After completing the interview, the End of Interview dialog notifies you that other assemblies are ready to begin.
  6. Close the assembly window, and begin assembling the next document.

The assembly queue and assembly queue status box (located in both the library and the assembly window status bars) can help you track the assembly of each document. See Use the Assembly Queue for details.


At a Glance: The Assembly Queue Dialog Box

When you have the assembly window open you can click on the [image] Assembly Queue button to view the Assembly Queue dialog box.

At the top of the dialog is the Assembly Queue toolbar A where you can access the following options:

  • Assemble: Manually starts the next assembly. (This option is available if Auto Start is not selected.)
  • Auto Start: Switches the assembly mode between automatic (where HotDocs automatically assembles documents listed in the queue) and manual (where you must manually click the Assemble button for each document listed in the queue).
  • Move up: Moves the selected entry closer to the top of the queue.
  • Move down: Moves the selected entry closer to the bottom of the queue.
  • Delete: Removes the selected template from the assembly queue. You can only delete templates that are not currently being assembled.
  • Clean up: Removes entries for assemblies that have been completed.
  • Help: Opens the relevant page of the HotDocs Help File.

Below that is the Assembly Queue List B where you can see the templates selected for assembly and their current assembly status. Templates will be assembled in this order, so change the order, select a template and click the Move Up or Move Down button.

To learn more about the Assembly Queue follow the link below:

  • Use the Assembly Queue


Use the Assembly Queue

The assembly queue shows a list of templates—some that may be waiting to be assembled and some that may have recently been assembled. Using the assembly queue, you can start and stop assemblies, change the assembly order, and change how assemblies are started. In addition, the assembly queue status box (which is located in the status bar of the template library window and assembly window) also shows when templates are queued for assembly.

The assembly queue provides two methods for starting assemblies: auto mode and manual mode. These methods are controlled by the [image] Auto Start button in the assembly queue toolbar. When assembling multiple templates and [image] Auto Start is selected, HotDocs automatically starts each assembly, following the order in which the templates are added to the queue. When assembling multiple templates and [image] Auto Start is not selected, HotDocs starts the first assembly, but then waits for you to start each subsequent assembly by clicking the [image] Assemble button on the assembly queue toolbar.

As templates are added to the assembly queue, they are assigned a status, which helps you identify each template's stage in the assembly process. (For a description of template statuses, click here.)

To add Items to the assembly queue

HotDocs will allow you to assemble only one document at a time. If you are currently assembling a document and you attempt to assemble another one, HotDocs will add it to the assembly queue and it won't be assembled until the current assembly is complete. If there are multiple templates in the queue, HotDocs will assemble them in the order they are added.

  1. At the End of Interview dialog select the option to assemble the template.
  2. If another template is currently being assembled, the Multiple Assemblies dialog box will appear.
  3. Click Yes to add the template to the Assembly Queue.
  4. You can also tick the check box at the bottom of this dialog, Don't warn me about multiple assemblies again, to keep this dialog box from appearing. The next time you attempt to assemble a document when HotDocs is already busy assembling, the template will be added to the queue.

To work with templates in the assembly queue

  1. At the HotDocs library window, click the [image] Assembly Queue button. The Assembly Queue dialog box appears. (You can also select Assembly Queue (Tools menu) or double-click the assembly queue status box in the status bar of the template library window.)
  2. At the library window, select multiple templates and click [image] Assemble. Entries for each template appear in the assembly queue. Then the Answer File dialog box appears. (See Assemble Multiple Documents.)
  3. At the Answer File dialog box, select an answer file and click OK. (See Select an Answer File for Assembly.) The first dialog appears in the assembly window.
  4. Throughout the interview process, perform any of the following tasks using the following commands in the Assembly Queue:
To | Do This
Change the order in which pending or confirmed templates are assembled | Select the item in the assembly list and click either the [image] Up button or the [image] Down button. (Templates that are currently assembling cannot be moved in the queue.)
Remove a confirmed assembly | Select the item in the assembly list and click the [image] Delete button. (Templates that are currently assembling cannot be removed from the queue.)
Change whether assemblies start automatically or manually | Click the [image] Auto Start button. When Auto Start is turned off, clicking the [image] Assemble button at the HotDocs library only starts the first assembly. To begin subsequent assemblies, you must also select an entry in the assembly queue and click the [image] Assemble button there.
Manually start an assembly | Click the [image] Assemble button.
Remove the entries for all completed assemblies from the Assembly Queue | Click the [image] Clean Up button.

When HotDocs closes, it remembers the assembly queue display setting. If you close HotDocs while the queue is showing, the queue will automatically be displayed the next time you open HotDocs.

You can have completed assemblies automatically removed from the assembly queue. See Include List of Completed Assemblies in Assembly Queue for details.


Assemble a Clause Library from the Template Library

A clause is a section of text, usually a commonly used paragraph, and a clause library is a collection of clauses. You can select clauses from a clause library and use them to assemble text documents. (See Introduction: Use Clauses and Clause Libraries.)

In HotDocs, you can view a clause library and select clauses for inclusion in a document both at the template library and during the interview for a text template.

  • When a clause library is referenced in a template library, you assemble the clause library and then choose where the assembled clause text is merged. You can choose to send the assembled clauses to a new, empty document; copy the assembled text to the Windows Clipboard (so you can paste it into an existing document); or paste the assembled text directly into an open word processor document. (Instructions for this method are included below.)
  • When a clause library is asked during the interview of a text template, the clause text is automatically inserted into that assembled document.

To assemble a clause library from the template library

  1. At the HotDocs library window, select a clause library and click [image] Assemble. The Answer File dialog box appears.
  2. Select an answer file and click OK. The clause library appears in the dialog pane.
  3. (Optional) Perform either of the following tasks:
    • Select the Find check box to find all of the clauses with specific text in their title or description. In the text field, type the text for which you are searching.
    • Click [image] Preview to view the clause text in a pop-up dialog box. To return to the clause library, click the X in the upper-right corner of the pop-up dialog box.
  4. From the Available list, select each clause you want to use and click [image] Select to add it to the Selected list. To remove a clause, select it, then click [image] Remove. (Press Ctrl or Shift to select multiple items.)
  5. (Optional) Reorder the clauses in the Selected list by selecting and dragging a clause to the desired position. The clauses will be inserted into the document in this order.
  6. When all the necessary clauses are in the Selected list, click [image] Next on the navigation bar.
  7. Answer any questions in the interview. Once all questions are answered, complete any of the following steps:
    • Click the [image] Send the assembled document to the word processor button (or press F11) to open the assembled document in your word processor.
    • Click [image] Paste the assembled document into the open word processor document (or press Shift+F11) at the End of Interview dialog. This will insert the assembled document into an open word processor document.
    • Microsoft Word users: Choose File > Send Document To > Clipboard (or press Ctrl+F11) to place a copy of the document on the Windows Clipboard. You can then open an existing document and paste the text in the desired location.


Navigate Through Answer-Gathering Dialogs

To assemble a document, you must answer interview questions. To help you go through the interview easily, you can use the navigation bar, located at the bottom of the dialog pane.

As you answer questions, the icons in the interview outline change color. This can help you identify how much of the interview is left to complete:

None of the questions in the dialog are answered.

At least one of the questions in the dialog is answered.

All of the questions in the dialog are answered.

Repeats the dialog, allowing you to enter more than one set of answers.

Allows you to enter a new set of answers in a list.

The final dialog in an interview is usually the End of Interview dialog, which reports how many questions are unanswered. This dialog is customizable and also provides options for working with the assembled document.

To navigate through HotDocs dialogs

  1. At the HotDocs library window, select a template and begin assembling the document.
  2. The HotDocs assembly window appears. Complete any of the tasks using commands listed in the following table:
To | Do This
Enter an answer for the question Depending on the type of answer required, type a text or number answer, enter a date, select a check box, or choose an option from a list of options.

When entering a multi-line text answer, you can control whether the Enter key inserts a line break or a paragraph mark in the assembled Word document. To enter a line break, simply press Enter. To enter a paragraph break, press Ctrl+Enter. (In some situations, the template developer may have specified which break to use.)

When entering a patterned time of day, enter the hour first, then press the right arrow key to move past the colon to enter the minutes. You can also click the up and down arrows next to the answer field to select the hours and minutes.
Move to another dialog in the interview outline | Click a dialog icon in the interview outline.
Go to the next or previous dialog | Click either the [image] Next Dialog button or the [image] Previous Dialog button. (You can also press Page Down/Page Up, or Alt+N/Alt+P.)
Go to the next dialog or the previous dialog that contains an unanswered variable | Click either the [image] Next Unanswered button or the [image] Previous Unanswered button. You can also press Ctrl+Page Up/Ctrl+Page Down.
Go to the first or the last dialog in the interview | Click either the [image] First Dialog button or the [image] Last Dialog button.
Finish the interview and view the assembled document | Click the [image] Finish Interview button. (Where you view the assembled document depends on the Finish Interview action you've specified.
View additional information about a specific answer or the contents of a dialog | Click the [image] View Resource button.
View where the answer is merged into the document (This option is available to Word users only.) | Click the [image] Go to Answer in Document button. HotDocs displays the Document tab and moves the cursor to the first place in the document where the answer is merged. However, if you place your curser in the answer field of an answer that is not directly used in the document HotDocs will not display the document tab and you will see an error message.
Hide the interview outline | Clear Interview outline (View menu).
Preview an assembled text document before sending it to the word processor | Click the Document Preview tab.
View an assembled form document | Click the Form Document tab.
View a list of all questions in the template | Click the Question Summary tab.
View a list of all the questions and their answers in the interview | Click the Answer Summary tab.
View a spreadsheet of the variables and their current answers | Click the Variable Sheet tab.

HotDocs updates the interview as you enter answers in a dialog. If you experience a significant delay when moving from one answer to the next, you can have HotDocs update the interview less frequently.

Sometimes the format of your answer may be changed. To verify these changes, you can specify an option that forces HotDocs to warn you of answer format changes before moving to the next dialog.

To display the different tabs along the bottom of the window (instead of the top), clear Tabs at Top in the View menu.


View Resources During Assembly

Template providers can include helpful information with dialogs and questions in the interview. When such information is available, it appears in the resource pane. (To view the resource pane, either choose Resource Pane (View menu) or click the [image] Resource button in the assembly window toolbar.)

To view resource information

  1. At the HotDocs library window, select a template and begin assembling the document. (See Assemble a Text or Form Document.)
  2. Navigate to a dialog that shows a resource.
    • If the resource pane is already displayed, the information automatically appears there. (You can change the size of the resource pane by selecting the top border of the pane and dragging it up or down.)
    • If the resource pane isn't displayed, you can either click the [image] Resource button in the toolbar or click the [image] Resource button that appears next to the answer field.

Resources help you answer questions in the interview. For help using HotDocs, see Get Help Using HotDocs.


At a Glance: The Save Answer File Dialog Box

When you come to save an Answer File, either during assembly or after assembling a template, you will be presented with the Save Answer File dialog box.

In the first field A you can enter a file name for the answer file and using the [image] Browse button B the right of this field you can change where the file will be saved on your computer. If you do not change where the file is to be saved it will be saved to the Answers folder in your HotDocs folder usually in My Documents.

In the next field C you can enter a Title for the answer file. This will be the name displayed when you see the answer file in Answer File Manager or when you use it in a HotDocs Interview.

In the last field D you can enter a brief description of the answer file. This will display with the answer file in Answer File Manager and may help you to identify the answer file you need the next time you come to use it.

Below these text fields is a check box E. Checking this box will have HotDocs save the answer file in a format that is compatible with older versions of HotDocs (see Compatibility of HotDocs 11 Files with Earlier Versions of HotDocs in the Quick Start Guide). This can be useful when you intend to share the answer file with someone who may be running a different version of HotDocs to you.

To learn more about saving answers files follow the link below:

  • Save an Answer File During Assembly


Save an Answer File During Assembly

While assembling a document, you can save the answers you have entered. This allows you to save your work and perhaps start a different assembly without closing the assembly window. Saving answers also allows you to use the information you enter with other templates, thus saving you time.

To save answers during assembly

  1. At the HotDocs library window, select a template and begin assembling the document. (See Assemble a Text or Form Document.)
  2. At the assembly window, click the [image] Save Answers button. If you are using an existing answer file, the new answers are saved. If you are using a new answer file, the Save Answer File dialog box appears where you can perform any of the following tasks:
To | Do This
Enter the file name | At the File name field, enter a name. When you click OK, the answer file will be saved to the default Answers folder and a reference to it will be added to Answer File Manager. To save the answers to a location other than the default Answers folder, click the [image] Browse button and navigate to the location.
Enter the title that identifies the answer file in Answer File Manager | At the Title field, enter a name or accept the suggestion HotDocs makes.
Add information to help identify the file | At the Description field, type notes about the answer file's purpose or contents. (The description will appear at the Properties tab of the Answer File Manager. When searching for specific answer files, you can search for text in the description.)
Save the answer file so it is compatible with versions of HotDocs earlier than HotDocs 2009 | Select HotDocs 2005-2008 answer file. (See Compatibility of HotDocs 11 Files with Earlier Versions of HotDocs.)

See Introduction: Use Answer Management for information on using Windows Explorer instead of Answer File Manager.

The [image] Save Answers button may be disabled because the template provider wants to prevent the answer file from being altered. You can assemble a document using new answers, but when you close the assembly window, the new answers are automatically discarded.


Switch Answer Files During Assembly

While assembling a document, you may want to use another answer file. At any point during the interview, you can select a different answer file, then continue the interview using the new answers.

To switch answer files

  1. At the HotDocs library window, select a template and begin assembling a document. (See Assemble a Text or Form Document.)
  2. During the interview, click [image] Open Answers. The Open Answer File dialog box appears. (Depending on the file management settings you have selected, a Windows Explorer dialog box or a window from your document management program may appear instead. See Manage Answer Files.)
  3. Select an answer file and click [image] Open.
  4. If prompted to save the old answers, click Save, Save As, or Don't Save, depending on your needs. (See Save an Answer File During Assembly.)
  5. The assembly window appears again, using the newly selected answer file.

When viewing the answer library, you can sort the answer files. To do this, select a folder and click [image] Sort. To search for a specific answer file, select the Find check box, then type the text for which you are searching in the text field.


Use Repeated Dialogs During Assembly

Dialogs can be repeatedly asked to gather several sets of answers for the same questions. A repeated dialog can appear as a series of dialogs or as a spreadsheet.

Once you have created a list of answers, you can use commands in the toolbar to move records within the list.

You can change the way repeated dialogs are represented in the interview outline. (See Display Repeated Dialogs Using a Special Icon.)

HotDocs updates the interview as you enter answers in a dialog. If you experience a significant delay when moving from one answer to the next, you can have HotDocs update the interview less frequently. (See Update Your Interview Outline and Document.)

To enter answers in a series of dialogs

  1. At the repeated dialog, enter answers for the questions.
  2. Click the [image] Add Another button to add another repetition of the dialog to the series. The repetition number next to the dialog icon increases each time you enter a new set of answers. (You can also press Alt+A to add new repetitions to a list.)
  3. To move to the next dialog after entering all the answers in the list, click [image] Next in the navigation bar. (You can also click on the next dialog icon in the interview outline, or press Page Down or Alt+N.)

When entering a list of answers within another list of answers, you can press Alt+Left Arrow to return to the parent dialog. (You can also choose Parent Dialog from the Navigate menu.)

To enter answers in a repeated spreadsheet

  1. At an answer-gathering dialog that includes a repeated dialog formatted as a spreadsheet, click in the first spreadsheet cell and enter your answer.
  2. Press Tab to move to the next cell in the row (or use the mouse to click in the next cell) and enter your answer.
  3. Repeat this process for each answer.

To work with repeated answers

  1. Answer questions in the repeated dialog.
  2. Select the record with which you want to work. (If you are editing records in a dialog series, select the dialog icon in the interview outline. If you are editing records in a spreadsheet, click on the row you want to edit.)
  3. Use the options described in the following table to complete additional tasks:
To | Do This
Remove a specific dialog from the list of answers | Select the dialog you want to delete and either click the [image] Delete Repetition button, or choose Delete Repetition from the Edit menu.
Insert a new dialog between existing dialogs | Either click the [image] Insert Repetition button, or choose Insert Repetition from the Edit menu.
Move an existing dialog up in the list of answers | Select the dialog you want to move and click the [image] Move Repetition Up button (located on the Edit toolbar).
Move an existing dialog down in the list of answers | Select the dialog you want to move and click the [image] Move Repetition Down button (located on the Edit toolbar).
Sort the contents of a spreadsheet dialog in alphanumeric order | Click in the column on which you want to sort and click the [image] Sort button (located on the Edit toolbar). The Sort Spreadsheet dialog box appears where you can specify your sorting preferences. If the template developer has specified any sorting options, answers will be merged in the document using those sort options. Otherwise the sort order you specify here will be used in the assembled document.
Edit the contents of the row in a regular dialog | Click in the row you want to edit and either click the [image] Edit Row button, or right-click and choose Edit Row from the shortcut menu.


Use Inserted Dialogs During Assembly

In some templates, one dialog may contain other dialogs. For example, a dialog may ask for information about a client; then, if the client is married, an inserted dialog may ask for information about the spouse.

To use an inserted dialog

  1. At the HotDocs library window, select a template and begin assembling the document. (See Assemble a Text or Form Document.)
  2. Navigate to a dialog that contains an inserted dialog.
  3. Select the inserted dialog and provide information for the answer fields, based on the following information:
    • If the dialogs are not grouped: For each inserted dialog, HotDocs displays an icon in the dialog pane and in the interview outline. If you don't answer questions in the inserted dialogs, HotDocs counts them as unanswered questions and warns you about them.
    • If the dialogs are grouped for single selection: HotDocs adds an option button next to each inserted dialog icon. Until you select one of the option buttons or click the child dialog icon or title, no icon for the inserted dialog appears in the interview outline. If you don't select an option button and don't answer any questions in the inserted dialogs, HotDocs doesn't count them as unanswered questions.
    • If the dialogs are grouped for multiple selection: HotDocs adds a check box next to each inserted dialog icon. Until you select the check boxes or click the child dialog icon or title, no inserted dialogs appear in the interview outline. If you don't select any check boxes and don't answer any questions in the inserted dialogs, HotDocs doesn't count them as unanswered questions.

You can hide all inserted dialogs in the interview outline by selecting Collapse All (View menu) or by pressing Alt+-.

HotDocs updates the interview as you enter answers in a dialog. If you experience a significant delay when moving from one answer to the next, you can have HotDocs update the interview less frequently. (See Update Your Interview Outline and Document.)


View Individual Rows in a Spreadsheet

Some documents may require a list of information. To generate a list, template providers create a repeated dialog, which may be formatted as a spreadsheet. This format may be awkward to work with when there are large numbers of questions (or columns)—the spreadsheet may extend beyond the viewable area. However, to see all the questions at once, you can view one row of the spreadsheet in dialog format.

To answer a single set of answers in a spreadsheet

  1. At the HotDocs library window, select a template and begin assembling the document. (See Assemble a Text or Form Document.)
  2. At the assembly window, navigate to a repeated dialog that is formatted as a spreadsheet.
  3. At the spreadsheet, click [image] Edit Row. A pop-up interview appears. (You can also right-click and choose Edit Row from the shortcut menu.)
  4. Type answers in the answer fields, then click [image] Next. The answers are saved and a new set of answer fields appears.
  5. After providing all the necessary answers, close the pop-up interview by clicking [image] Finish.


Select Clauses During an Interview

A clause is a section of text, usually a commonly used paragraph, and a clause library is a collection of clauses. You can select clauses from a clause library and use them to assemble text documents. (See Introduction: Use Clauses and Clause Libraries.)

In HotDocs, there are two places where you may view a clause library and select clauses for inclusion in a document—at the template library or during the interview for a text template:

  • When a clause library is referenced in a template library, you assemble the clause library and then choose where the assembled clause text is merged. You can choose to send the assembled clauses to a new, empty document; copy the assembled text to the Windows Clipboard (so you can paste it into an existing document); or paste the assembled text directly into an open word processor document. (See Assemble a Clause Library from the Template Library for instructions on using this method.)
  • When a clause library is asked during the interview of a text template, the clause text is automatically inserted into that assembled document. (Instructions for this method are included below.)

To select clauses from an inserted clause library

  1. At the HotDocs library window, select a template that contains an inserted clause library and begin assembling the document. (See Assemble a Text or Form Document.)
  2. Navigate to the dialog where the clause library is located. The clause library appears in the dialog pane.
  3. Optionally, perform either of the following tasks:
    • Select the Find check box to find all of the clauses with specific text in their title or description. In the text field, type the text for which you are searching.
    • Click [image] Preview to view the clause text in a pop-up dialog box. To return to the clause library, click the X in the upper-right corner of the pop-up dialog box.
  4. From the Available list, select each clause you want to use and click [image] Select to add it to the Selected list. To remove a clause, select it, then click [image] Remove. (Press Ctrl or Shift to select multiple items.)
  5. Optionally, reorder the clauses in the Selected list by selecting and dragging a clause to the desired position. The clauses will be inserted into the document in this order.
  6. When all the necessary clauses are in the Selected list, click [image] Next on the navigation bar.
  7. Answer any questions in the interview.


Answer Date Questions

To make it easier to answer Date variables, HotDocs provides three different ways to enter a date:

  • Type the letter t, then move to the next answer field. HotDocs converts the letter to the current date.
  • Type a date using a common format, such as MM/DD/YYYY. HotDocs converts the format to match the format specified for the template.
  • Click the [image] Calendar button to access the Calendar dialog box. Then use the Next or Previous arrows to find the desired month and year. Select a day, and click OK.

HotDocs requires a four-digit year for Date variables. However, you can enter a two-digit year, and then let HotDocs convert it to a four-digit year. You can control which years are converted to 1900-century dates, and which are converted to 2000-century dates. See Control How HotDocs Handles Two-Digit and Four-Digit Years.

The [image] Calendar button is not available when a Date variable is in a dialog repeated as a spreadsheet. However, if you click Edit Row, the pop-up interview will show the calendar button.

HotDocs may format dates in the interview different from the way they will appear in the assembled document. The appearance in the interview is controlled by a setting in the HotDocs Options dialog box. (See Change the Way Dates Appear in Answer Fields.) When a date appears in the document, however, it is formatted according to the format assigned to that variable.

HotDocs updates the interview as you enter answers in a dialog. If you experience a significant delay when moving from one answer to the next, you can have HotDocs update the interview less frequently. (See Update Your Interview Outline and Document.)


View an Answer's Variable Name

Sometimes as you complete an interview, you may need to ask the template provider about a specific question asked in the interview. Being able to identify the question by variable name may help the template provider better understand the kind of information you need. You can have HotDocs show you the name of the variable.

To view the variable name for a question in the interview

  1. At the HotDocs library window, select a template and begin assembling the document. (See Assemble a Text or Form Document.)
  2. Navigate to the dialog that contains the question.
  3. Place your cursor in the answer field, right-click, and choose Variable Name from the shortcut menu. A message box appears, showing you the variable name.


Use the End of Interview Dialog

The End of Interview dialog appears after the last dialog in each interview. At this dialog, you can view a report of unanswered questions, as well as access commands for working with the assembled document.

To work with assembled documents at the End of Interview dialog

  1. At the HotDocs library window, select a template and begin assembling the document. (See Assemble a Text or Form Document.)
  2. After completing the interview, the End of Interview dialog appears. The following table describes the commands available here:
To | Do This
Return to the first unanswered question in the interview | Click [image] Go to the first unanswered question in the interview.
Send the assembled text document to the word processor so you can view it in its final format | Click [image] Send the assembled document to the word processor. You can choose the default word processor to which assembled documents are always sent, or you can let HotDocs choose the word processor each time based on the file type. See Change Your Default Word Processor.
View the assembled form document | Click the [image] View the assembled form document at the Form Document tab button. (See View the Assembled Form Document.)
Insert the assembled document into an open word processor document | Click [image] Paste the assembled document into the open word processor document. This command will paste the document text into a document already open in your word processor. If there is not a document already open, HotDocs will create a new document.
Copy the document text to the Clipboard (only available when assembling Microsoft Word documents) | Click [image] Copy the assembled document to the Clipboard. For DOCX templates the assembled document is copies in plain text format.
Save a copy of the assembled document | Click [image] Save the assembled document in a file.
Save an assembled text or form document as a PDF file | Click [image] Save the assembled document as a PDF. For complete instructions on saving assembled documents as PDF files, see Save Assembled Text Document as PDF.
Close the assembly window without saving a copy of the assembled document | Click [image] Close this window without saving the assembled document.
Choose which buttons are displayed in the End of Interview dialog | Click [image] Choose which buttons are displayed on this dialog.

When you assemble multiple documents, the End of Interview dialog also notifies you that other assemblies are ready to begin.

To keep the End of Interview dialog from appearing, clear End of Interview Dialog at the View menu of the assembly window. Then, when you click Next at the last dialog in the interview, HotDocs will either send the assembled document to the word processor or HotDocs Filler, or it will display the Document tab of the assembly window. To specify which action HotDocs performs, see Control What Happens When You Finish an Interview.

You can choose which options appear in the End of Interview dialog. See Customize the End of Interview Dialog.


Spell Check Answers

You can spell check text answers you have entered at any time during an interview.

To spell check your answers

  1. At the HotDocs library window, select a template and begin assembling the document. (See Assemble a Text or Form Document.)
  2. After providing the required answers, click the [image] Check Spelling button. If HotDocs finds any unrecognized words, the Check Spelling dialog box appears. In the Answer being checked field, HotDocs shows a section of the text that contains the misspelled word, which is highlighted. Options for working with the misspelled word appear below it.
  3. Make your selection, based on the options described in the following table:
To | Do This
Ignore the current instance of the word and continue spell checking | Click Ignore.
Ignore all instances of the word and continue spell checking | Click Ignore All.
Correct only the current instance of the word and continue spell checking | Select an existing replacement from the Change to list (or type the replacement in the Change to field) and click Change.
Correct all instances of the misspelled word and continue spell checking | Select an existing replacement from the Change to list (or type the replacement in the Change to field) and click Change All.
Add the word to your personal dictionary so that the spelling checker will not question the word again | Click Add.
Display additional spelling alternatives for the unrecognized word | Click Suggest. A deeper search takes longer but produces better possible replacements. If the button is unavailable, HotDocs is searching at the deepest level.
Change your spell checking options, such as which words the spelling checker looks at and how it determines whether a word is a possible replacement | Click Options. (You can also change your options at the HotDocs Options dialog box. See Change Your Spell Checking Options.)


Preview the Assembled Text Document

After assembling a text document, you can print the document, send it as an e-mail attachment, or save it as a word processor file. However, once you perform any of these actions, the document is no longer associated with HotDocs. That means any changes you make to the text of the document will not be updated in the answer file or template. Because of this, it is helpful to preview the assembled document in the assembly window and make sure the information in the document is accurate before you perform any of the aforementioned tasks.

While the information in the Document Preview tab is shown accurately, the document may not be formatted correctly, particularly in WordPerfect documents. To view the actual formatting, send the document to the word processor. (See Send the Assembled Text Document to the Word Processor.)

Some template providers may not allow you to edit answers or text at the Document Preview tab. If not, these commands will be disabled.

To preview an assembled text document

  1. At the HotDocs library window, select a template and begin the assembly. (See Assemble a Text or Form Document.)
  2. After providing the required answers, click the Document Preview tab. The assembly window changes to show a preview of the document. By default, answers that have not been entered are marked with asterisks (for example, ***Employee Name***). You can choose a different unanswered format, however. See Format Unanswered Variables in a Document for details.
  3. (Word users) Optionally, to edit an answer or document text, click the [image] Highlight Fields button, then double-click on an answer field or section of editable text. (See Edit Answers at the Document Preview Tab and Edit Document Text at the Document Preview Tab for details.)
  4. Once you have verified that the document is correct, use any of the following commands to work with the assembled document:
To | Do This
Save the assembled text document to disk | Click the [image] Save Document button. (See Save an Assembled Text or Form Document.)
Send the assembled text document to the word processor so you can see it in its final format | Click the [image] Send Document button. (See Send the Assembled Text Document to the Word Processor.)
Print the assembled text document | Click the [image] Print Document button. (See Print an Assembled Text Document or Print an Assembled Form Document.)
Close the assembly window | Choose Close (File menu)

If an assembled text document contains any cross references, including a table of contents or index, you may need to update the references once you send the document to the word processor. To do this, select all of the document text (press Ctrl+A) and then press the F9 key.


Edit Answers at the Document Preview Tab

The ability to edit answers at the Document Preview tab is available to Microsoft Word users only. Additionally, this option is available only if the template provider has allowed it.

If you are viewing the Document Preview tab, you can edit answers you've entered. Additionally, you can move from an answer in the document to its question in the interview and vice versa. Seeing answers in the context of the document helps you pinpoint errors and makes it easy for you to correct them without having to go back to the interview.

To help you review answers in the document, you can use the Document Navigation Bar. Just like the Interview Navigation Bar, this toolbar can help you move between answers, unanswered fields, and matching answers.

Some template providers may prohibit you from changing answers at the Document Preview tab. If so, the buttons and commands that control this feature will be disabled.

To change answers while previewing the document

  1. At the HotDocs library window, select a template and begin assembling the document. (See Assemble a Text or Form Document.)
  2. After providing the required answers, click the Document Preview tab. The assembly window changes to show a preview of the document.
  3. Click the [image] Highlight Fields button. This assigns colors to both answered questions and unanswered questions in the document. (You can change the default colors assigned to answered fields as well as unanswered fields. See Set Properties for Viewing Answers and Editable Text in the Assembled Document.)
  4. Double-click on an answer field. A pop-up interview appears, showing the dialog in which the question is used.
  5. Change your answer and click [image] Next or [image] Finish. The pop-up interview closes and the answer is updated in the document.
  6. Use any of the following commands to help you edit answers in the document:
To Do This
Jump to the place in the interview where the question is asked Place your cursor in the answer field and click the [image] Go to Answer in Interview button. You can also right-click on the answer field and select Go to Answer in Interview from the menu.
While viewing the Interview tab, you can go to the place in the document where the answer is merged. To do this, place your cursor in the answer field and click the [image] Go to Answer in Document button.
Because of scripting in the template, sometimes you will not be able to move between the Interview and Document tabs in this manner. In the Document tab, if you place your curser in the answer field of an answer generated from a computation, the [image] Go to Answer in Interview button in the tool bar will be greyed out. If you right-click in the answer field the menu will show Computed Value and you will be unable to select it. Similarly, in the Interview tab, if you place your curser in the answer field of an answer that is not directly used in the document HotDocs will not display the document tab and you will see an error message.
Move between answers in the document Click [image] Next or [image] Previous to move to the next or previous answer in the document.

Click the [image] Next Unanswered or [image] Previous Unanswered button to move to the next unanswered or previous unanswered question in the document.

Press Ctrl+M or Ctrl+Shift+M to move between matching answers in the document (for example, those answers in the document that are exact matches). (You can also press Shift as you click the [image] Next or [image] Previous button.)

Click [image] End or [image] Beginning to go to end of the document or the beginning of the document.

If you experience a delay when changing answers in your document, click the [image] Document Instant Update button (so it isn't pressed in). Then, when you change an answer, HotDocs will just update the field you are editing (and any other fields that merge the exact same answer). Be aware, however, that turning [image] Instant Update off may cause some of the information in the document to be out of date if you change answers. (You can tell when the document is out of date by the appearance of the Instant Update Instant Update button. To update the document, click the button again. (The document will automatically update if you attempt to save it, print it, or send it to the word processor.)

Once your cursor is in an answer field, you can press Enter and the pop-up interview will appear.

If the template provider has allowed it, you can also edit the text of the document. See Edit Document Text at the Document Preview Tab for details.


At a Glance: The Document Text Editor

The Document Text Editor will appear when you click on editable document text while on the Document Preview tab of the HotDocs Interview.

The window is split into two parts, at the top is the Toolbar A and at the bottom is the workspace B where you can type to edit the text.

The Toolbar A itself is split into two parts. The lower part has standard word processor tools such as font, styles and justification. The upper part of the toolbar has more specific HotDocs buttons including:

  • Save and Close: Saves your changes, closes the Document Text Editor, and merges the new text in the assembled document.
  • Restore Original Text: Discards any changes you've made to the text and restores the original document text.
  • Print: Prints a copy of the text you are editing
  • Undo: Removes any changes you have made to the script.
  • Redo: Reapplies any changes you have made to the script.
  • Cut: Removes the selected text and copies it to the Clipboard.
  • Copy: Copies the selected text to the Clipboard.
  • Paste: Pastes the selected text on the Clipboard at the cursor position in the script.
  • Find: Displays the Find dialog box where you can specify the word or text string for which you are searching.
  • Find Next: Finds the next instance of the word or text string for which you are searching.
  • Find and Replace: Searches for a specific word or text string and replaces it with word or text string you specify.
  • Ruler Guide: Show or hide the ruler guide below the toolbar.
  • Paragraph Marks: Show or hide the paragraph marks in the editable text. HotDocs always adds an extra paragraph mark to the end of editable text which cannot be deleted.
  • Spell Check: Checks the spelling within the Document Text Editor only.
  • Cancel: Closes the Document Text Editor without saving any changes.
  • Help: Opens the relevant page of the HotDocs Help File.

To learn more about using the document text editor follow the link below:

  • Edit Document Text at the Document Preview Tab


Edit Document Text at the Document Preview Tab

The ability to edit the text of an assembled document is available to Microsoft Word users only. Additionally, this option is available only if the template provider has allowed it. (You can tell if the developer has made text editable by the color of the document text. By default, editable text is green.)

After you finish answering questions in an interview and before you send the document to the word processor or save it, you should review it. As you do, you may see that you need to change the language of a particular paragraph, or you may need to change a word or phrase to fit your particular needs. If the template developer has allowed it, you can edit the document text while viewing the Document Preview tab. Changes you make can be saved in an answer file so that if you reassemble the document, those changes will be reapplied. (You can always send the document to the word processor and make the changes there. However, those changes are specific to the word processor and will not be saved to HotDocs.)

When you edit the text of the assembled document, the text appears in a pop-up window called the Document Text Editor. This editor provides many of the text-editing tools you need, including font options, spell checking, printing, and copying and pasting. As you edit, you can add new text or remove existing text. You can also change the formatting of text.

You cannot edit variable (or answer) fields at the Document Text Editor. To edit answers, return to the assembly window and make the change at the Interview tab.

To edit the text of the document

  1. At the HotDocs library window, select a Microsoft Word template and begin assembling the document. (See Assemble a Text or Form Document.)
  2. After providing the required answers, click the Document Preview tab. The assembly window changes to show a preview of the document.
  3. Click the [image] Highlight Fields button. Text in the document that can be edited changes color.
  4. Place your cursor in an editable section of text and click the [image] Edit Document Text button (or double-click on the text). The Document Text Editor appears. (If there are multiple sections of text you can edit, HotDocs may ask you which section you want to edit.)
  5. Edit the text using the commands in the Document Text Editor toolbar. (See Document Text Editor Toolbar for a description of each command.)
  6. When you are finished making your changes, click [image] Save and Close. The editor closes and your changes are merged in the assembled document.

When you are finished reviewing the document, you can save your answers and the changes you made to the document are saved to the answer file. Then, if you reassemble the document using that answer file, the document will update with the changes you made.

To move between sections of editable text, click the [image] Next Editable Text or the [image] Previous Editable Text buttons in the navigation bar.

You can choose specific colors for marking editable and edited text in the document. See Set Properties for Viewing Answers and Editable Text in the Assembled Document.

When viewing the document in the Document Text Editor, if you click the [image] Show Codes button, you will see an extra paragraph mark at the end of the document. This paragraph mark is merged by the text editor and will be deleted when you save your changes and the text is inserted back into the document. Because of this, do not modify the paragraph mark.


View an Assembled Document in Markup View

If you are not a template developer, please click here for a brief explanation of template development terms. Understanding these terms will help you understand how the assembled document is marked up.

As you assemble Microsoft Word documents, there may be times when you want to assemble only a partial document and then submit it to an attorney or peer for revisions or corrections. To make the document easier for a non-HotDocs user to review, you can change the formatting of the document to Markup View and then provide the reviewer a copy of it.

When displaying markup, HotDocs replaces unanswered fields and instructions in the document with markup, which includes markers (such as brackets) and variable names. How the resulting markup fields look depend on the type of fields they are:

  • Answer fields: By default, answer fields are marked using brackets. If the template developer has assigned a comment to the variable, the comment text may be used as the field name. If no comment is used, HotDocs will use either the title or the name the template developer assigned to the variable.
  • Conditional and repeated text blocks: By default, conditional and repeated text blocks are marked using brackets. If a comment is assigned to these text blocks, the comment can be merged in the field label. If no comment is assigned, HotDocs will simply merge the field markers around the text block. The text block can be marked using an annotated footnote or endnote, depending on your preferences.
  • Insertion fields: HotDocs will merge the file name of the template being inserted.

Once you assemble the document using as many answers as needed, you can switch to Markup View and save a copy of the document. You can then provide a copy of it to the reviewer.

To view a document in Markup View

  1. Define the Markup View options you want to use in the document.
  2. Assemble the Word document for which you want to generate markup.
  3. Answer only the questions whose answers you want to appear in the assembled document. Leave all other questions unanswered. (These unanswered questions are the fields that will be marked using the scheme you define in step 1.)
  4. Click on the Document Preview tab to switch to the preview pane.
  5. Choose Markup View (View menu). The document changes to show the marked up document.
  6. If you send the document to the word processor it will appear in markup view.

By default, merge fields in the document appear in color—red for unanswered questions and blue for answered questions. Sometimes, however, if an answer field is within a text block that is conditional or repeated, it appears (and remains) blue until the condition is met or the REPEAT instruction is answered. Editable text likewise appears using the colors you've defined at HotDocs Options.

Additionally, merge fields in the document are italicized by default. If you've used international characters in your answers, the italicized version of the font used in the document may not display the foreign characters correctly. If this is the case, clear the Italic attribute for Markup View.

If the template developer has used merge fields in question prompts, those merge fields can be displayed as markup fields. Click the View menu, and then click Markup View while in the interview tab. Additionally, you can switch to Markup View while assembling form documents.

To view a non-marked up version of the assembled document again, clear Markup View (View menu).


Send the Assembled Text Document to the Word Processor

Once you complete an interview, you often want to view the document in its final format. For text documents, this must be done in the word processor.

To send the assembled text document to the word processor

  1. At the HotDocs library window, select a template and begin assembling the document. (See Assemble a Text or Form Document.)
  2. After providing the required answers, click the [image] Send Document to the Word Processor button. The word processor appears, showing the assembled document.
  3. Using the word processor's tools, modify the document. Be aware, however, that any changes you make to answers in the document will not be reflected in the answer file.

If you have more than one word processor installed, you can choose which word processor will be used for viewing assembled documents. See Change Your Default Word Processor for details.

You can preview a text document at the Document Preview tab. While this preview shows the information in the document correctly, it may not be formatted correctly—particularly in WordPerfect documents.

If the template provider has allowed it, you may be able to edit the text of the document while still viewing it in the assembly window. For details, see Edit Document Text at the Document Preview Tab (Word users only).

If you are assembling a Plain Text Templates, the document will be sent to your default text editor instead of word processor.


Open a Saved Text Document for Editing

After assembling and saving a document, you can later edit the document using the appropriate program:

  • Text documents are saved as word processor files (.DOCX, .DOC, .WPD, or .RTF). To edit these files, you must use a word processor.
  • Form documents are saved as HotDocs form files (.HFD or .HPD). To edit these files, you must use HotDocs Filler. See Edit a Saved Form Document for instructions on completing these actions.

To open a saved text document using Windows Explorer

  • Using Windows Explorer, locate the document file and double-click it. Your word processor appears, showing the saved document.

To open a saved text document using the word processor

  • Using your word processor program's commands, locate and open the desired document file.

When an assembled document is saved, the file is separated from the template file, component file, and answer file that created it. This means that changes you make to a saved document are not reflected in the answer file used to assemble that document. Finally, if you do make changes to the document, you must identify and change each instance of the answer manually, including re-evaluating any computations or conditions affected by changed answers.


Print an Assembled Text Document

Many projects require you to print copies of assembled documents.

To print an assembled text document

  1. At the HotDocs library window, select a template and begin assembling the document. (See Assemble a Text or Form Document.)
  2. After providing the required answers, click the Document Preview tab. The assembly window changes to show a preview of the document.
  3. Click the [image] Print Document button. The document is printed at the printer you specify.


Save an Assembled Text or Form Document

Some projects may require you to save an electronic copy of every document. Also, you may need to move the document to a disk or laptop, so you can take an editable, printable version of the document to another location.

When you save a text or form document, the file is separated from the answer file, so any changes made to a saved document are not saved to the answer file.

To save an assembled text or form document

  1. At the HotDocs library window, select a template and begin assembling the document. (See Assemble a Text or Form Document.)
  2. After providing the required answers, click the [image] Save Document button in the toolbar or at the End of Interview dialog. The Save As dialog box appears.
  3. Navigate to the folder where you want the document to be saved.
  4. In the File name field, enter a name for the document and click Save.


Save Assembled Text Document as PDF

With HotDocs Developer, you can use the PDF printer driver to save assembled text and form documents as PDF documents. Creating PDF files allows you to take advantage of features available in Adobe Acrobat.

To save a document as PDF

  1. At the HotDocs library window, select a text template and click [image] Assemble. (See Assemble a Text or Form Document.)
  2. Answer questions in each dialog.
  3. After answering all of the questions, choose Save Document As (File menu). The Save As dialog box appears.
  4. Specify the file name and folder path for the file.
  5. At the Save as drop-down list, make sure PDF File (*.pdf) is selected.
  6. Optionally, click Security to assign any security options you need to the document. (See Assign Security Options to a PDF Document.)
  7. Click Save. The Convert to PDF dialog box appears.
  8. Optionally, you can add information about the document's title, subject, author, or search keywords. Otherwise, click OK. The assembled document is saved in PDF format.

Information you type in the Convert to PDF dialog box is saved as metadata embedded in the PDF-based file. HotDocs does not use this information, but other programs that work with PDF files may access this metadata. (For instance, if you open a PDF or PDF-based form template in Adobe Acrobat, you can select Document Properties (File menu) to see the values in these fields.) For form templates, the values input here will also be set in any PDF documents assembled with that template.


Save Assembled Form Document as PDF

With HotDocs, you can use the PDF printer driver to save assembled PDF form documents as PDF documents. Creating PDF files allows you to take advantage of features available in Adobe Acrobat.

To save assembled PDF forms as PDF

  1. At the HotDocs library window, select a PDF template and click [image] Assemble. (See Assemble a Text or Form Document.)
  2. At the End of Interview dialog, click Save the assembled document as a PDF. The Save As dialog box appears.
  3. Specify the file path and name for the PDF file, and select PDF File (*.pdf) from the Save as type drop-down list.
  4. Optionally, click Security to assign any security options you need to the document. (See Assign Security Options to a PDF Document.)
  5. Click Save. The Convert to PDF dialog box appears.
  6. Optionally, you can add information about the document's title, subject, author, or search keywords. Otherwise, click OK. The assembled document is saved in PDF format.

If the file you're using to create a PDF document is a form document, the answer fields and other HotDocs features are removed. Only the current answers are shown as static text on the PDF document. If you may need to edit the answers later, you should first save the file as a PDF-based form document (.HPD), then save another copy of the file as a PDF.

Information you type in the Convert to PDF dialog box is saved as metadata embedded in the PDF-based file. HotDocs does not use this information, but other programs that work with PDF files may access this metadata. (For instance, if you open a PDF or PDF-based form template in Adobe Acrobat, you can select Document Properties (File menu) to see the values in these fields.) For form templates, the values input here will also be set in any PDF documents assembled with that template.


At a Glance: The PDF Security Settings Dialog Box

If you select Save Document As... from the File menu while assembling a template, then you can view the PDF Security Settings dialog box by choosing PDF File(*.pdf) from the Save as Type drop-down list and clicking the Security button.

In the first set of options A you can decide on the Security Level you would like from the following options:

  • None: Assigns no security options to the PDF document you are creating.
  • 40-bit RC4 Encryption: Allows you to assign minimum security options to the document, including disabling the ability to print the document, changing the contents of the document, copying or extracting the contents of the document, and adding or changing comments in the document. While security is less, the document is compatible with versions of Acrobat back to version 3.
  • 128-bit RC4 Encryption: Allows you to assign more complicated security options to the document. This level of security, however, makes it so the document can't be viewed in any version earlier than Acrobat 5.

In the second set of options B you can set Master and User passwords for the file. You can set the Master password by ticking the check box and entering your chosen password in both the Password and Confirm fields below. The file then requires a password when editing the contents of the document. You can set the User password by ticking the check box and entering your chosen password in both the Password and Confirm fields below. The file then requires the intended recipient to enter a password when opening the document. Make sure you communicate this password to the intended recipient.

In the third set of options C you can set the printing options. Fully allowed lets the user to print a copy of the document, Low resolution only lets the user to print only a low-resolution copy of the document, and Not allowed keeps the user from printing a copy of the document

In the fourth set of options D you can set the content protection options. Check the first box to allow the intended recipient to copy content from the document and check the second box to allow visually impaired recipients greater access to the document.

In the final set of options E you can set the Document Editing options by ticking the check boxes:

  • Allow content editing: Allows the intended recipient to edit the content of the document, including making changes to the text.
  • Allow page-level editing: Allows you or the intended recipient to make page-level edits in the document.
  • Allow annotations: Allows the intended recipient to annotate the document.
  • Allow form filling: Allows the intended recipient to fill form questions in the document.

To learn more about setting options for PDF Security follow the link below:

  • Assign Security Options to a PDF Document


Assign Security Options to a PDF Document

When creating PDF documents, you may want to protect the content of the document. You can do this by assigning security options to the document.

To assign security options at the HotDocs Save As dialog box

  1. Assemble a document. (See Assemble a Text or Form Document.)
  2. Choose Save Document As (HotDocs File menu). The Save As dialog box appears.
  3. Click the Save as type drop-down button and choose PDF File (*.pdf).
  4. Click the Security button. The PDF Security Settings dialog box appears.
  5. Make your selection, based on the following information (for additional information about each of these options, see the Adobe Help file):
    • Select None to leave the document unprotected. No security options will be applied and the user can edit the document (using Adobe Acrobat Professional).
    • Select 40-bit RC4 encryption to apply less-stringent security options to the document (and make the document compatible with all versions of Adobe starting Adobe 3.x). (Selecting this option affects which options are available in the rest of the dialog box.)
    • Select 128-bit RC4 encryption to apply more stringent security options to the document (and restrict use of the document to Acrobat 5.x and later users). (Selecting this option affects which options are available in the rest of the dialog box.)
    • Select Master password and enter (and confirm) the required password to require the user to enter a password when changing security options for the document.
    • Select User password and enter (and confirm) the required password, require the user to enter a password when attempting to open the document.
    • Select one of the printing options: Fully allowed, Low resolution only, and Not allowed to allow varying levels of printing.
    • Clear Allow content copying and extraction to keep users from copying the text in the document and pasting it into other applications.
    • Select Allow access for visually impaired to allow the document to be read out loud by Acrobat.
    • Select Allow content editing to let users can modify the pages of the document, including adding or removing pages, or rotating pages to let users make changes to the document.
    • Select Allow page-level editing (insert, delete, rotate) to let users make changes to page properties of the document (such as inserting pages).
    • Select Allow annotations to let users make comments or other notes in the document.
    • Select Allow form filling to let users enter information in Adobe fields on the form.


Introduction: Assemble a Form Document

In most cases, you assemble a form document exactly as you assemble a text document. (See Assemble a Text or Form Document.) However, HotDocs form documents provide some additional capabilities. For example, you can enter answers directly in the form document, moving from field to field. You can also print a blank copy of the form that can be completed by hand. Finally, you can create and modify an addendum to save answers that require more space than the form provides.


At a Glance: HotDocs Filler

When you open HotDocs Filler to view assembled form documents you will see the window laid out with one main Workspace, a Toolbar and above that a Menu Bar. Using HotDocs Filler you can edit the answers and the form, save and print the document.

From the Toolbar you can access the following buttons:

  • HotDocs Library: Opens the HotDocs library (if it's not already open) and brings it to the front.
  • Open: Opens a form template file for editing, or opens a saved form document for printing or editing.
  • Save: Saves the current form. If the form has never been saved, HotDocs will ask for the path and file name to use.
  • Print: Prints a copy of the form.
  • Field Properties: Displays the Field Properties dialog box during direct-fill assembly of form documents. This allows you to modify the appearance of answers in that field.
  • Answer Font: Changes the font for the selected field or fields.
  • Fill Tool: Allows you to place your cursor in a form's answer field and type an answer.
  • Select Tool: Either creates a new field or selects an existing field during direct-fill assembly of a form document.
  • Scroll Tool: Scrolls form documents up and down, and side to side during direct-fill assembly.
  • Zoom Tool: Changes the view of the form document during direct-fill assembly, increasing the magnification (or decreasing it when used in combination with the Shift or Ctrl keys).
  • Fit Page Width: Displays the entire width of the current form page in the window.
  • Fit Page Height: Displays the entire length of the current form page in the window.
  • Show Fields: Shows or hides the field backgrounds.
  • Show Thumbnails: Shows or hides a thumbnail view of each page in the form at the left of the window.
  • Previous Page: Moves to the page just before the current page in the form.
  • Next Page: Moves to the page just after the current page in the form.
  • HotDocs Options: Opens the HotDocs Options dialog box where you can specify several preferences that control how HotDocs works
  • Help: Opens the relevant page of the HotDocs Help File.

In the Menu Bar you can access further options not available on the Toolbar.

To learn more about editing assembled documents using HotDocs Filler follow the link below:

  • Edit a Saved Form Document


Enter Answers Directly at the Form Document Tab

When assembling text documents, you answer questions in the interview and those answers are merged into the document. When assembling form documents, however, you can either enter your answers in the interview or you can enter your answers directly on the form document. This latter method of assembly is called direct-fill assembly. In some cases, the template provider designs templates so that the only method for assembly is by direct-fill.

To enter your answers directly into the fields

  1. At the HotDocs library window, select a form template and begin assembling the document. (See Assemble a Text or Form Document.)
  2. If you're not viewing it, click the Form Document tab. The assembly window changes to show the form document.
  3. Click on a field and enter an answer.
  4. Press Tab to move to the next field, or use the mouse to click on another field.

As you tab between fields, HotDocs will skip any conditioned fields that have been resolved in such a way that it isn't necessary to answer the field.

  5. Optionally, you can perform any of the following tasks:
To | Do This
Create a new field on the document | Click the [image] Select Tool button and draw the field. (See Create a Form Field.) To enter text in the field click on the [image] Fill Tool and then click in the field.
Add additional answers to a table | If the template developer has included it, click the [image] Table Wizard button next to the field.
Answer questions that compute the answer for a field or control the inclusion of other answers | If the template developer has included it, click the [image] Answer Wizard button next to the field.
Show or hide the colored fields | Click the [image] Show Fields button.
Quickly browse through the pages of a form document | Click the [image] Show Thumbnails button. This displays small images of each page in the document in the left margin of the form view. You can click one of these images and go to that page immediately.
Jump to a specific page of the assembled document | Choose Go To (Edit menu) and enter the page number of the page you want to view.
Move through the answers in a document Place your cursor in a field and click one of the following navigation buttons: (If the Form Navigation Bar isn't showing, choose it at the View menu.)
  • Clicking [image] Next or [image] Previous moves you to the next or previous answer in the document.
  • Clicking the [image] Next Unanswered or [image] Previous Unanswered button moves you to the next unanswered question in the document
  • Pressing Ctrl+M or Shift+Ctrl+M moves between matching answers in the document (for example, those answers in the document that are exact matches). (You can also press Shift as you click the [image] Next or [image] Previous button.)
  • Clicking [image] End or [image] Beginning to go to the end of the document or the beginning of the document.

To access answer wizards, table wizards, and calendars during direct-fill assembly, right-click on the field and choose the option from the shortcut menu. For example, to view the calendar for a date field, right-click on the field and choose Calendar from the shortcut menu.

Some answers may be too large to fit in the field. If this happens, HotDocs warns you by displaying the Overflow Status dialog box. See Check Form Fields for Answer Overflow. Similarly, you can specify when this warning should appear. See Set Rules for Handling Answer Overflow.


At a Glance: The Field Inactive Warning Dialog Box

When entering answers at the form document tab, you will see the Field Inactive Warning dialog box when you try to enter an answer into a restricted field.

Here you have three options:

  • Override: Choosing Override will allow you to type any answer into the field regardless of the restrictions placed upon it, however this answer will not be saved in the answer file and will not be used in any calculations. After clicking the Override button you will see another warning tab explaining this.

  • Wizard: If the field has an answer wizard attached to it then choosing Wizard opens that answer wizard. From there you can answer the questions necessary to properly create the answer that the restricted field requires. You can also open answer wizards by clicking on the Answer Wizard [image] button next to the field.

  • OK: Choosing OK will close the warning dialog without altering the answer in the answer field.

To learn more about entering answers at the form document tab follow the link below:

  • Enter Answers Directly at the Form Document Tab


View the Assembled Form Document

Before saving the assembled form document, it is a good idea to review the document. You can do this at the Form Document tab of the assembly window. Doing this allows you to make changes to answers in the document and have those changes automatically updated in the answer file.

To view assembled form documents

  1. At the HotDocs library window, select a template and begin assembling the document. (See Assemble a Text or Form Document.)
  2. After answering the questions in the interview, click the Form Document tab. The assembly window changes to show the assembled document.
  3. Optionally, select a field and enter a different answer. (See Enter Answers Directly at the Form Document Tab.)
  4. Once you have finished entering answers, complete any of the following options:
    • Click the [image] Save Document button to save the assembled form document to disk. (See Save an Assembled Text or Form Document.)
    • Click the [image] Print Document button to print the assembled form document. (See Print an Assembled Form Document.)
    • Click Send Document To > Mail Recipient (File menu)to attach the assembled form document to an e-mail message. (See Attach a Text or Form Document to an E-mail Message.)
    • Click Close (File menu) to close the assembly window. HotDocs prompts you to save any changed answers.

See Introduction: Assemble a Form Document for a list of changes you can make to an assembled form document.


Assemble a Fillable PDF Document

Some form templates you assemble can be saved as fillable PDF documents. Fillable PDF documents allow users to enter answers on the form while editing the form in Adobe Acrobat or Reader.

The process of assembling a fillable PDF is nearly the same as the process for assembling a regular form document—you can enter answers in the interview or type your answers directly on the form at the Form Document tab. You can also choose to save the assembled document as a HotDocs form document, a regular PDF, or a fillable PDF. If you plan to save the assembled document as a fillable PDF, however, there are a few things you should understand:

  • Adobe Acrobat/Reader does not support the creation of an addendum when an answer overflows its field. If a field overflows in HotDocs, Adobe may attempt to force the answer to fit in the field when you save it as a fillable PDF. If the answer doesn't fit, it will simply appear cut off. If possible, you should review the assembled document for any field overflow before sending it to Adobe so that you can minimize the chance answers won't appear correctly in the field. See Check Form Fields for Answer Overflow for details.
  • When viewing the document in HotDocs, some answers may appear differently than when viewing the assembled document in Adobe Acrobat/Reader. This is because the underlying Adobe fields may have formats or patterns assigned to them that are different than what was assigned in HotDocs.
  • If you create additional fields on the assembled document, any text you enter in the fields will appear as static text when you save the document as a fillable PDF.
  • If you change the properties of an existing fillable field, those changes will not be honored when you save the document as a fillable PDF.

To assemble a fillable PDF document

  1. Follow the instructions for assembling a form document in Assemble a Text or Form Document.
  2. Complete the interview. (See Navigate Through Answer-Gathering Dialogs.)
  3. At the Form Document tab, review your answers.
  4. Choose Check for Overflow (Tools menu) and resolve any fields that overflow.
  5. Click the [image] Save Document button. The Save As dialog box appears
  6. Click the Save as type drop-down button and select Fillable PDF Form from the list of options.
  7. Enter a name in the File name field and click Save. The document is saved.

Once you save the document, you should review it to make sure the answers appear correctly.

When creating a fillable PDF document, form designers can enable usage rights within the document. These rights allow Adobe Reader users to save copies of the document with changes they have made to the document—including entering or changing answers they have entered in the fillable PDF. However, when a rights-enabled fillable PDF is converted to template format, the document is changed in such a way that usage rights are no longer in effect. This means that you will not be able to save changes you make when editing the assembled document in Adobe Reader.


Override an Answer in a Form

In a HotDocs form document, fields are designed to hold certain types or formats of information. However, there may be times when you need to enter a type of answer that HotDocs won't allow. You can override the field type and enter any answer you need.

For example, a field with a Number variable attached to it is designed to hold only digits. However, if the number you enter (say, $325,000,000) is too large for the field, but you don't want to send the answer to the addendum, you can override the field and enter $325 m.

Answers entered in overridden fields are not saved in the answer file. The original answer is saved in the answer file and used in any computations or other fields that require it.

To override an answer

  1. At the HotDocs library window, select a form template and begin assembling the document. (See Assemble a Text or Form Document.)
  2. After entering answers, click the Form Document tab. The assembly window changes to show the document.
  3. Select the field you want to override.
  4. Click the [image] Override Field button and, at the Override Field warning message, click OK. The assembly window appears again.
  5. In the field, enter the answer you want, then move to a different field. The overridden field changes to gray.

To remove the overridden answer, select the field and click the [image] Override Field button again. The current answer is removed and the saved answer reappears. Removing the override, however, may create answer overflow situations. See Check Form Fields for Answer Overflow for details.


At a Glance: The Print PDF-Based Documents Dialog Box

When you are assembling a PDF-based template you can view the Print PDF-based Documents dialog box by clicking the [image] Print button at the Form Document tab or by selecting Print Document... from the File menu.

From the multiple choice list A at the top of the dialog you can select which application you want to use to print the document—HotDocs or Adobe Acrobat. The following provides some guidelines for choosing an option:

When using HotDocs to print the document:

  • You cannot print a PDF-based form using a PostScript printer driver.
  • You should print within the 300 DPI (dots per inch) to 600 DPI range, as printing at higher resolutions may be problematic.
  • For the most reliable results, use a PCL-based printer with at least 8 MB RAM. Other types of printers may or may not print as expected.
  • You can print the document with or without the answers merged. (You cannot do this using Adobe Acrobat.)
  • Printing time takes longer than printing with Adobe Acrobat. (Printing at a lower resolution may decrease the amount of time it takes to print.)

When using Adobe Acrobat to print the document:

  • You can print a PDF-based form using a PostScript printer driver. (PostScript printer drivers are always recommended. Non-PostScript printer drivers may print the page off-center by 1/8 inch to 1/4 inch.)
  • Documents will print with both form fields and answers—you have no option of printing one or the other.
  • Printing time is faster than with the HotDocs print function.
  • Both printer options give you options for scaling the content to fit in the printable area.

At the bottom of the dialog there is a check box B that you can select to specify the printing option you select as the default selection. HotDocs will not prompt you for this information again.

To learn more about printing options for form documents follow the links below:

  • Print an Assembled Form Document
  • Choose Default Form Printing Options for a Form


Print an Assembled Form Document

Many projects require you to print copies of assembled form documents. The options available for printing a form depend on which type of form you are printing. Specifically, you can print:

  • HotDocs form documents (or .HFDs).
  • HotDocs PDF documents (or .HPDs).

To print a form document

  1. At the HotDocs library window, select a template and begin assembling the document. (See Assemble a Text or Form Document.)
  2. After providing the required answers, click the Form Document tab. The assembly window changes to show the assembled document.
  3. Click the [image] Print Document button.
  4. If you are printing a HotDocs form document (or .HFD file), select any of the following printing options. (If you're printing a PDF form document, skip to step #5.)
    • To print the form and answers, select Form with Answers in the Output group.
    • To print only the static text of the form, select Form Only (Blank Form) in the Output group.
    • To print the answers onto a pre-printed copy of the form, select Answers Only (Use Preprinted Form) in the Output group.
    • To change the double-sided printing options, select the desired option. Single-sided prints the document using one side of each sheet of paper. Double-Sided, Side-to-Side prints the document with the tops of both pages at the same end of the paper, like a traditional book. Double-Sided, Top-to-Bottom, prints the document with the bottom of the second page at the same end as the top of the first page, like a flip-chart.
  5. If you are printing a PDF form document (or .HPD file), you must choose whether to print using the functionality of HotDocs or Adobe Acrobat. (See Print PDF-Based Documents Dialog Box for tips on which printing option you should choose.)
    • Choose HotDocs, which prints at a slower speed but provides a wider range of printing options.
    • Choose Adobe Acrobat, which prints at a faster speed but provides few printing options.

Some types of printers have been known to cause problems when printing a form template or document, and should be tested before use with finished products. These printers include:

  • Ink jet printers
  • Brother printers
  • 16-bit postscript printer drivers
  • DeskJet printers
  • Xerox printers
  • "All-in-one" printers (printers that include copying, scanning, printing, and faxing capabilities)

For best results, it is recommended that you use an HP LaserJet with at least two megabytes of memory.


At a Glance: The Printing Properties Dialog Box

While editing a form template, you can open the Printing Properties dialog box choosing Printing from the Template Properties list in the File menu.

From the multiple choice list A at the top of the dialog you can select the from three printing options:

  • Single-sided: Prints all pages on separate sheets of paper.
  • Double-sided, side-to-side: Prints the template using both sides of the paper, so you can turn through the pages like a traditional book.
  • Double-sided, top-to-bottom: Prints the template using both sides of the paper, so you can lift the pages up, like a flip-chart.

Below this list are two drop-down menus. From the first drop-down list B you can select the paper size you would like to use and from the second drop-down list C you can select the paper source.

To learn more about setting the printing options for a form template follow the link below:

  • Choose Default Form Printing Options for a Form


Choose Default Form Printing Options for a Form

Different forms may require different printing settings. You can specify that a form should be printed single-sided, double-sided side-to-side, or double-sided top-to-bottom. You can also control what size of paper to use as well as which paper tray should feed the paper to the printer.

The option you specify is set as the default in the Print dialog box, but users can select a different option.

To specify form printing options

  1. Edit a form template. (See Edit a Form Template.)
  2. Click File > Template Properties > Printing. The Printing Properties dialog box appears.
  3. Select the printing settings from the following options:
    • Single-sided prints the document using one side of each sheet of paper (default setting).
    • Double-sided, side-to-side prints the document double-sided, with the tops of both pages at the same end of the paper. (This option allows you to turn through the pages like a traditional book.)
    • Double-sided, top-to-bottom prints the document double-sided with the bottom of the second page at the same end as the top of the first page. (This option allows you to turn through the pages like a flip chart.)
    • Paper size specifies the dimensions of the paper used to print the document.
    • Paper source specifies what tray of paper is used to print the document.

Paper size and source settings are recommendations that will be passed on to the printer if possible. If printing via acrobat then paper size, paper source and duplex options will revert to your defaults.

You can specify the print setting for all forms you create at the HotDocs Options dialog box. (See Introduction: HotDocs Options.)

You can use command-line options to control the paper size and paper source. (See Paper Size and Paper Tray.)


Edit a Saved Form Document

After assembling a form document, you often need to save the document to disk. Once saved, you can re-open the document using HotDocs Filler.

Once a form document is saved to disk, it is no longer associated with the answer file. This means that changes you make to answers in the document do not affect the answer file. If you want to save changes you're making to the answers, re-assemble the form document and change your answers in the interview. Then save your answer file again.

To work with a saved form document in Filler

  1. Using Windows Explorer, locate and double-click the appropriate form document. HotDocs Filler appears, showing the form document.
  2. Optionally, you can perform any of the following tasks:
To | Do This
Change an answer in a field | Click on a field. The field becomes active, allowing you to enter an answer. You can edit answers in a saved form document, but you must re-evaluate any computations or conditions affected by changed answers. Similarly, changes you make are not reflected in the answer file used to assemble the document.
Create new fields | With the [image] Select Tool button selected, press the left mouse button and move the mouse pointer to draw a rectangle. To type in this field, select the [image] Fill Tool button. The fields you create in Filler have no variable associated with them. They are simply text fields where you can type information.
Print the document | Click the [image] Print button.
Open a different HotDocs form file | Click the [image] Open button, and then locate the desired file. (You can also press Ctrl+O.)
  3. Once you have the assembled form document open for editing, there are several other things you can do. For example, you can:
    • Change the field type. (See Change the Field Type.)
    • Change the size of a field. (See Resize Form Fields.)
    • Change the position or margins of a field. (See Move a Field on a Form and Change the Borders and Margins of a Field.)
    • Create a new answer field. (See Create a Form Field.)
    • Rotate text in a field. (See Rotate Answers in a Field.)
    • Convert answers on the form to bar code format. (See Convert Answers on the Form to Bar Code Format.)
    • Insert a graphic into a field. (See Insert a Graphic File in a Form.)
    • Cross out static text on the form. (See Cross Out Static Text on the Form.)
    • Circle static text on a form. (See Circle Static Text on a Form.)


Create a Form Field

These instructions can also be used to create a form field at both the Form Document tab of the assembly window and in HotDocs Filler.

The first step in automating a form template is creating HotDocs fields at each place on the form where a user's information must be merged.

When you create a field, HotDocs determines the type of field you are creating based on the size of the field—if a field is smaller than a certain dimension, HotDocs creates a check-box field. If a field is larger, then it creates an edit field. (You can define these dimensions at HotDocs Options. See Set Properties for New Edit Fields.) Additionally, once you create the field, you can make it a Resource hyperlink or a Control field.

Sometimes when you create a field, HotDocs can detect the borders of the underlying form and adjust its size to fit within those borders. This helps ensure the field fits best in the space allotted. See Detect Borders to Create or Resize a Field.

Once a field is created, you can attach a variable to it.

Please see Check Fillable Fields in a PDF Template for information on working with fields in a template created from a fillable PDF.

To create a form field

  1. Edit a form template. (See Edit a Form Template .)
  2. Click the Select Tool Select Tool button.
  3. Position the mouse pointer at one end of the intended field.
  4. Press and hold down the left mouse button, then drag the pointer to the opposite corner of the field.
  5. Release the mouse pointer. The field is created.
  6. Optionally, click Detect to have HotDocs adjust the size of the field to more closely match the underlying static line or lines.
  7. Optionally, you can customize the appearance of your fields in the following ways:
    • Attach a variable to the field. (See Attach a Variable to a Field.)
    • Change the field type. (See Change the Field Type.)
    • Adjust the size. (See Resize Form Fields.)
    • Change the field's position on the form. (See Move a Field on a Form.)
    • Make a field conditional so the variable is asked only if a condition is true. (See Make a Field Conditional .)

To move multiple fields once they have been created, select the fields and press the arrow key that indicates which direction you want to move them. To move fields more quickly, press the Shift key while pressing the arrow keys.

You can also create a standard-size field by double-clicking on the form. Or, you can click to set the field cross-hair and press F8.


Select a Field

These instructions can also be used to select fields both at the Form Document tab of the assembly window and in HotDocs Filler.

In order to work with a field, you must first select it. When you select a field, handles appear on the field borders showing that you can edit the borders or other properties. You can select a single field to work with, or you can select multiple fields to group them or to make the same change to all of the fields.

To select fields

  1. Edit a form template. (See Edit a Form Template .)
  2. Click the Select Select Tool button
  3. Click on the field you want to work with.
  4. Optionally, to select multiple fields, either press the Ctrl key while clicking each field, or press the Shift key, then press the mouse button and drag the mouse pointer to create a bounding frame. All fields included in or touched by this frame will be selected.
  5. Use any of the following additional methods for selecting fields or canceling the selection, as described in the following table:
To | Do This
Select all the fields on the current page | Click Select All (Edit menu). (You can also press Ctrl+A.)
Cancel the selection of all selected fields | Click outside the fields, or press the Esc key.
Cancel the selection of only one of a group of selected fields | Hold down the Ctrl key and click that field.
Add fields to your group of selected fields without canceling the selection of those already selected | Hold down the Ctrl key and click the new fields.

If you have trouble selecting the field you want, the field may be in a group. If this is the case, you must first ungroup the fields by clicking Ungroup (Field menu). (See Ungroup Form Fields.)

Click the Show Fields Show Fields button to show and hide field colors.


Create a Check-Box Field

These instructions can also be used to create check-box fields at the Form Document tab of the assembly window and in HotDocs Filler.

Some forms include check boxes for users to mark. Check boxes can represent either true/false (or yes/no) options, but they can also represent several predefined options for users. By default, HotDocs merges an X in a check box to indicate that it has been selected, but you can define a different check-box character.

Please see Check Fillable Fields in a PDF Template for information on working with fields in a template created from a fillable PDF.

To create a check-box field

  1. Edit a form template. (See Edit a Form Template.)
  2. Where the check box appears on the form, double-click within the field borders, or click the Detect Detect Field button. A check-box field is created.
  3. Attach a variable to the field. Your options include True/False and Multiple Choice.

When assigning a True/False variable, if you want to merge a character other than an X, indicate the character by specifying it as a variable format. See Customize a True/False Variable for details. To change the font for the field, see Set Properties for New Check-Box Fields. When assigning a Multiple Choice variable, you should group the fields before attaching the variable. See Group Form Fields So Answers Can Flow From One Field to Another for details.

  4. Optionally, specify a condition to make the field dependant on other answers in the form. (See Make a Field Conditional.)

You can change the default measurements used to identify new fields as check boxes. You can also specify a default character other than X to be used when selecting check-box fields. (See Set Properties for New Check-Box Fields.)

If HotDocs creates an Edit field, rather than a Check-box field, select the field, click the Field Properties Field Properties button, and choose Check box as the Field type.


Detect Borders to Create or Resize a Field

These instructions can also be used to detect field borders both at the Form Document tab of the assembly window and in HotDocs Filler.

When you create fields on a form, you often use the underlying static text as a guide as to where the field should be placed. Often, you want the borders of the fields to match the borders of the static text. To help you align these borders, you can use the Detect Detect feature. This feature is useful both when you create a new field and when you need to resize a field to fit within its allotted space.

If HotDocs is unable to automatically create or resize a field to the size and position you want, you must create the field manually. Several factors may contribute to these difficulties:

  • Insufficient surrounding features: To detect a field, HotDocs searches for surrounding features, such as lines, text, or graphics. If there are insufficient surrounding features, HotDocs may have difficulty detecting a field. In such cases, HotDocs creates a field of the default size.
  • Label text: When label text is inside the field area and there is enough space between the text and the bottom of the field area, the Detect Detect command will extend the field up to the bottom of the label text. If you want the field to occupy the area to the left or right of the label, or if you want to include the label inside the field, you must create the field manually.
  • Field not completely visible: If part of the intended field is not visible (for example, it's scrolled out of the window), HotDocs attempts to scroll to detect the field. It is recommended that you use a zoom level such as Fit Page to Width Fit Page to Width so HotDocs can find the entire field on the screen.

To detect the borders of the underlying static text

  1. Edit a form template. (See Edit a Form Template .)
  2. On the form, complete one of the following steps:
    • If the field is already created, select the field and click the Detect Detect button.
    • If you are creating a new field, place your cursor where the new field should be created and click the Detect Detect button.

If you are working with linked fields in a fillable PDF template and you plan to save the document assembled from the template as a fillable PDF, any changes you make to the linked field will not be honored in the saved fillable PDF. See Check Fillable Fields in a PDF Template for details.


Move a Field on a Form

These instructions can also be used to move fields both at the Form Document tab of the assembly window and in HotDocs Filler.

As you create fields on a form, you will frequently need to move the fields. You can do this using the mouse or keyboard. You can also specify a precise location using the Field Properties dialog box.

To move a field using the mouse

  1. Edit a form template. (See Edit a Form Template.)
  2. Position the mouse pointer over the selected field. The cursor changes.
  3. Hold down the mouse button and drag the field to the new position.

To move a field using the keyboard

  1. Edit a form template. (See Edit a Form Template .)
  2. Select a field. (See Select a Field.)
  3. Press the arrow keys to move the field one unit of measurement in that direction. (To move the field more quickly, hold down the Shift key as you press the arrow keys.)

To move a field using the Position/Size dialog box

  1. Edit a form template. (See Edit a Form Template .)
  2. Select a field. (See Select a Field.)
  3. Click the Field Properties Field Properties button. The Field Properties dialog box appears.
  4. Click the Additional tab. The view changes to show the positioning options.
  5. In the Position group, enter the desired distance from the left and top margins of the page in the Left and Top boxes. (You can also click the up or down arrows for each field to change the distance.)

If you are working with linked fields in a fillable PDF template and you plan to save the document assembled from the template as a fillable PDF, any changes you make to the linked field will not be honored in the saved fillable PDF. See Check Fillable Fields in a PDF Template for details.

If a field you want to move is part of a group, you must first ungroup the fields. (See Ungroup Form Fields.)

The Field Properties dialog box includes the First, Previous, Next, and Last buttons to move you between fields. When you have multiple fields selected, these buttons are not available.


Align Two or More Fields

When creating fields on a form template, you frequently need to align fields, either vertically or horizontally. Other times, you may need to adjust the height or width of a group of fields so they match each other. Aligning fields can give forms a more professional appearance, as well as minimize problems the user may experience when tabbing between fields during direct-fill assembly.

To align fields in relation to each other

  1. Edit a form template. (See Edit a Form Template.)
  2. Select the fields you want to align. (See Select a Field.)
  3. Click the Align Align button. The Align Fields dialog box appears. (You can also right-click and choose Align from the shortcut menu.)
  4. Select an option in the Horizontal alignment group to align the fields horizontally, or the Vertical alignment group to align the fields vertically. The Example box previews the selected alignment option.
  5. Click OK. The template appears again, and the selected fields are repositioned.

To size fields in relation to each other

  1. Edit a form template. (See Edit a Form Template.)
  2. Select the fields you want to size. (See Select a Field.)
  3. Click the Align Align button. The Align Fields dialog box appears. (You can also right-click and choose Align from the shortcut menu.)
  4. Select the options you need from the Width group and/or the Height group. The Example box previews the selected resizing options.
  5. Click OK. The template appears again, and the selected fields are resized.

If you are working with linked fields in a fillable PDF template and you plan to save the document assembled from the template as a fillable PDF, any changes you make to the linked field will not be honored in the saved fillable PDF. See Check Fillable Fields in a PDF Template for details.


Change the Borders and Margins of a Field

These instructions can also be used to change the borders and margins of fields both at the Form Document tab of the assembly window and in HotDocs Filler.

You can change the borders and margins of a form template field. Borders control the thickness of the field box, and margins control the distance between the border of the field and the answer text.

To change field borders or margins

  1. Edit a form template. (See Edit a Form Template .)
  2. Select the field whose borders or margins you want to change.
  3. Click the Field Properties Field Properties button. The Field Properties dialog box appears.
  4. Click the Layout tab. The view changes to show layout options.
  5. In the Borders and Margins groupings, make your selections. (Remember, borders affect the thickness of field boxes, while margins affect the distance between the border of the field and the answer in the field.)

If you are working with linked fields in a fillable PDF template and you plan to save the document assembled from the template as a fillable PDF, any changes you make to the linked field will not be honored in the saved fillable PDF. See Check Fillable Fields in a PDF Template for details.


Copy One or More Form Fields

These instructions can also be used to copy and paste fields both at the Form Document tab of the assembly window and in HotDocs Filler.

Frequently, you need to copy fields on a form. For example, say you need to create a group of fields that all have the same properties. Rather than creating each field individually and modifying its properties, you can create a single field, assign the properties, and then copy the field to create the others in the group.

When a field is copied to a new place in the same template, all the field’s properties (size, font, line formatting, fill order, etc.) are copied with it. Similarly, when variables, conditions, or REPEAT instructions are attached to fields, they are also attached to the copied fields. However, if you copy fields from one template to another, the variables, dialogs, and other components used in computations, conditions, or instructions are not copied to the new template’s component file. You must copy these items manually. (See Create and Edit Multiple Components Simultaneously or Use One Component File for Multiple Templates.)

When you copy fields to a new location, the cursor position tells HotDocs where to paste the copied fields. If you copy a single field, the lower-left corner of the field will be at the cursor position. Likewise, if you copy two or more fields at the same time, the lower-left corner of an invisible boundary box drawn around all of the copied fields will be at the cursor position. If there is no cursor, the field is pasted on top of the original.

You can copy fields on only one page at a time.

To copy and paste one or more fields

  1. Edit a form template. (See Edit a Form Template .)
  2. Select the field or fields you want to copy. (See Select a Field.)
  3. Choose Copy (Edit menu). The field is copied to the Windows Clipboard. (You can also select the field and press Ctrl+C, or you can right-click on the field and choose Copy from the shortcut menu.)
  4. Place the mouse cursor where you want the lower-left corner of the copied field to be, and then click the mouse to set the cross-hair.
  5. Choose Paste (Edit menu). The copied field is pasted at that location. (You can also press Ctrl+V, or you can right-click on the field and choose Paste from the shortcut menu.)

You can also copy a field by holding down the Ctrl key while dragging the field to its new location.

If you need to automate an updated version of the template, it may be easier to replace the static content, rather than copy all of the fields. (See Update the Underlying Text in a Form Template.)

If you are working in a fillable PDF template, remember that linked fields are associated with underlying fillable fields in the PDF. If you plan to save the assembled document as a fillable PDF, answers associated with linked fields will only be merged where there are fillable fields on the form. This means that you cannot copy a linked field to a new location on the form and expect the answer to appear there in the resulting fillable PDF. If you want to use the same variable somewhere else in the form, create a regular HotDocs field and assign it the same variable name as the fillable field. Note, however, that in the fillable PDF, the answer will appear static.


Resize Form Fields

These instructions can also be used to resize fields both at the Form Document tab of the assembly window and in HotDocs Filler.

You may need to adjust the size of a field to fit it into the available space on the form. You can change a field's size using the mouse, the keyboard, or the Position/Size tab of the Field Properties dialog box.

To resize a field using a mouse

  1. Edit a form template. (See Edit a Form Template .)
  2. Select the field. (See Select a Field.)
  3. Click a handle or field border. (When the mouse pointer is on a handle, the pointer changes to a double-arrow, indicating the directions the border can be moved.)
  4. Hold down the mouse button and drag the border to a new position.

To resize a field using the keyboard

  1. Edit a form template. (See Edit a Form Template .)
  2. Select the field. (See Select a Field.)
  3. Press the Page Up or Page Down keys to move the top border of the field up or down, and the End or Home keys to move the right border of the field right or left. (To resize the field more quickly, hold down the Shift key as you press the keys.)

To resize a field using the Field Properties dialog box

  1. Edit a form template. (See Edit a Form Template .)
  2. Select the field. (See Select a Field.)
  3. Click the Field Properties Field Properties button. The Field Properties dialog box appears.
  4. Click the Additional tab and, in the Size group, enter the desired distance from the left and top borders of the field in the Width or Height boxes. (You can also click the up or down arrows for each field to change the size.) The field size is changed.

If you are working with linked fields in a fillable PDF template and you plan to save the document assembled from the template as a fillable PDF, any changes you make to the linked field will not be honored in the saved fillable PDF. See Check Fillable Fields in a PDF Template for details.


Change the Tab Order of Fields

These instructions can also be used to change the tab order of fields both at the Form Document tab of the assembly window and in HotDocs Filler.

When determining the order to ask questions in the interview, HotDocs begins with the top-left field of the form and processes all of the fields until it reaches the bottom-right field. This processing affects two things—the order questions are asked in the default interview and the order in which the user is able to tab through fields on the form.

Because of this default field ordering, sometimes you may find your dialogs being asked out of order. You may also find that the tab order during direct-fill assembly isn't working as you expect. Additionally, when automating a nontypical table, you may need to change the order in which fields are asked.

Once you specify a fill order for one field, you must specify the order for every field you want processed after that field. In effect, when you specify a fill order for just one field, you set that field to be answered last. This is because all the other fields are still set to Row 0, Column 0—they are lower than the Row 1 or Column 1 , so they will be filled first. Therefore, to change the order of the fields in the middle of the form, you must also change the order for every remaining field.

The following rules control field ordering:

  • Fill order is determined first by row, then by column.
  • All field values are initially set the same—Row 0, Column 0.
  • When fields have different row numbers, fields with lower row numbers are asked first, for example, Row 0, Column 0; Row 1, Column 0; etc.
  • When fields have the same row numbers, but different column numbers, fields with lower column numbers are asked first, for example, Row 1, Column 0; Row 1, Column 1; etc.
  • Fill order is treated separately for each page of the template—you cannot specify a fill order that runs from one page to another.

To change the tab order for fields

  1. Edit a form template. (See Edit a Form Template .)
  2. Select the field. (See Select a Field.)
  3. Click the Field Properties Field Properties button. The Field Properties dialog box appears.
  4. Click the Additional tab. The view changes to show ordering options.
  5. In the Row box, type the row number.
  6. If you need to specify the order for fields in the same row, type a number in the Column box.
  7. Optionally, at the Order dialog box, you can click the First, Previous, Next, or Last button to save the current field's settings and display the next field's order.

By selecting and ordering different groups of fields, you can use fill order to handle various situations. For example:

  • Remove all fill order settings: Select all fields and set the Row and Column numbers to 0.
  • Organize large sections of fields: Select the desired fields and specify the order.
  • Flow answers across fields contrary to the default order (top to bottom, left to right): Set the desired order, then group the fields. (See Group Form Fields So Answers Can Flow From One Field to Another.)
  • Fill table columns in an order different from the static text: Set the desired order, then group the fields as a table.

To control when a variable is asked without changing fill order, you can use ASK instructions. For example, if you simply want a particular field to be asked first even though it isn't the first field on the form, place an ASK instruction in the top left corner of the page. (See Attach an ASK Instruction to a Field.)


Group Form Fields So Answers Can Flow From One Field to Another

These instructions can also be used to group fields for answer flow-through both at the Form Document tab of the assembly window and in HotDocs Filler.

Sometimes an answer must begin in one field and continue in other fields. For example, you may have a Text variable whose answer must span two or more pre-printed lines. You can create fields for each line, and then group the fields so that answers flow from one field to another. Fields grouped this way are called run-on groups.

Once fields are grouped, HotDocs treats the group as a single field. This means that the Text variable and any conditions for the variable are assigned to the grouping, not the individual fields in the group.

If you are automating a fillable PDF template and you plan to save the assembled document as a fillable PDF, you cannot group fillable fields since necessarily, each fillable field is linked to a separate “variable.” Answers—both in HotDocs and Adobe—must be entered on individual lines. This means that when you reach the end of one field, you must tab to the next field and continue typing your answer. (This inability to group fields is a limitation of Adobe. If you have access to the form, you may consider replacing individual fields in the group with a single, multi-line field. Text you enter may not match the lines perfectly, but you will not have to tab between fields to enter the answer.)

To flow an answer across multiple fields

  1. Edit a form template or saved form document.
  2. Create all the text fields across which the answer should flow.
  3. Select all the fields that will be used for the answer.
  4. Click Group in the Field menu. A bounding frame appears around the grouped fields. (You can also right-click and select Group from the shortcut menu.)
  5. Attach a variable to the grouped fields.

When fields are grouped, you cannot change properties for individual fields. You must first ungroup the fields.

A form may require an answer to appear in a series of single-character fields or boxes (for example, a Social Security number). Placing one character or digit in each field requires additional formatting.

You can group fields that appear on separate pages in the form.

By default, HotDocs asks questions in the interview by reading fields in the form from left to right, top to bottom. As it encounters a field, it asks the variable associated with it. If the variable is linked to a dialog, it asks the dialog instead. When directly filling the form, HotDocs tabs through the form fields using this same method. However, sometimes grouped run-on fields can create problems with the tab order. To ensure that text in a run-on group flows in the correct order, you may need to specify a fill order for fields in the group.


Ungroup Form Fields

These instructions can also be used to ungroup fields both at the Form Document tab of the assembly window and in HotDocs Filler.

When fields are grouped, you cannot modify the individual fields. You must first ungroup the fields.

To ungroup the fields

  1. Edit a form template. (See Edit a Form Template .)
  2. Select one of the grouped fields. The whole group is selected. (See Select a Field.)
  3. Click Ungroup (Field menu). (You can also right-click on the field and choose Ungroup from the shortcut menu.)

Some properties that were assigned to the group, such as text, margin, and line format properties remain applied to the individual fields that made up the group. Other properties, such as a field order or a condition, are lost until you regroup the fields. Regrouping the fields restores the properties that were previously applied to the group.

Properties of a table, including the name of the repeated dialog, are attached to the first field in a table. Because of this, you should not delete the first field in the group before you regroup the fields. Also, do not close the form before you regroup the fields. If you do either of these things, these properties are lost.


Change the Field Type

These instructions can also be used to change the field's type at the Form Document tab of the assembly window and in HotDocs Filler.

When you first create a field, HotDocs creates it as either an edit or check-box field, depending on the field’s height and width. Check-box fields are usually used to mark a yes/no response, while edit fields are used for questions that require text, date, or number answers. In addition, you can assign some fields as control fields, which means users can't access or edit the field during direct-fill assembly. You can also create resource fields, which can display helpful information about the form.

Once you choose a field type, you can determine the type of answer that is merged in the field. Your options include text, graphics, and bar codes. You can also use fields to cross out or circle static text on a document.

The following are the different types of fields you can create:

Type of Field | Default Color | Description
Edit | Yellow | Allows users to enter any type of answer, including text, dates, numbers, multiple choice options, or computed values. It is the most commonly used field type.
Check Box | Blue | Allows users to select from two or more options. Usually check-box fields are associated with True/False variables or Multiple Choice variables. Answers in a check-box field are usually indicated by an X or other character. (See Create a Check-Box Field.)
Resource | Orange | Allows users to view helpful information about the form while directly filling the form. Resource fields appear as hyperlinks on the form. When users click the link, a pop-up window containing the useful information opens. (See Create a Resource Link on a Form.) Resource fields provide help for the form in general, instead of for a specific variable or dialog.
Control | Green | Allows you to complete "behind-the-scenes" tasks in the template, such as inserting templates or setting the values of variables. If the field contains answer or example text, it will be visible to users, but users won't be able to access the field.

If you are working with a fillable PDF template, linked fields appear using a light blue color. This distinguishes them from regular HotDocs fields. See Check Fillable Fields in a PDF Template

To change the field type

  1. Edit a form template. (See Edit a Form Template.)
  2. Create a new field (See Create a Form Field) or select an existing field. (See Select a Field.)
  3. Click the Field Properties Field Properties button. The Field Properties dialog box appears.
  4. At the Type tab, make your selection, based on the information in the table above.

You can change the default colors used for form fields at the HotDocs Options dialog box. (See Change Colors in HotDocs Forms.)


Change the Font Used for a Field

These instructions can also be used to change the field's font properties both at the Form Document tab of the assembly window and in HotDocs Filler.

You can choose the font that is used for answers on a form. When choosing the font, you can also indicate the style (for example, bold or italics), size, effects, and color that are used.

As is always the case when working with fonts, if the form requires a specific font be used, you must ensure the font is installed on all computers where the form will be viewed.

To change the font for a field or group of fields

  1. Edit a form template. (See Edit a Form Template .)
  2. Select the field or fields whose font you want to change.
  3. Click the Field Properties Field Properties button. The Field Properties dialog box appears.
  4. At the Type tab, click Font. The Font dialog box appears.
  5. Make your font selections.

You can specify default font properties for all new fields you create at HotDocs Options. See Set Properties for New Edit Fields for more details.

If you are working with linked fields in a fillable PDF template and you plan to save the document assembled from the template as a fillable PDF, any changes you make to the linked field will not be honored in the saved fillable PDF. See Check Fillable Fields in a PDF Template for details.


Format Lines and Paragraphs of Text in a Form Field

These instructions can also be used to format how text appears in a field both at the Form Document tab of the assembly window and in HotDocs Filler.

Sometimes you need to format the text within a multi-line text field. For example, perhaps you need to indent the first line of a paragraph, or maybe you need to adjust the number of lines that fit in an inch of vertical space. To do this, you can adjust the line format of a field.

To format lines and paragraphs

  1. Edit a form template. (See Edit a Form Template .)
  2. Create a multi-line field.
  3. Attach a multi-line Text variable to the field. (See Customize a Text Variable.)
  4. With the field selected, click the Field Properties Field Properties button. The Field Properties dialog box appears.
  5. Click the Layout tab. The view changes to show the different options for formatting the field.
  6. In the Line Format group, complete one of the following options:
To | Do This
Indent the first line of text in the paragraph | Enter how much space to include between the margin of the field and the first character of the answer in the First line indent box. (You can either type the number or click the up or down arrows.)
Force a certain number of lines to appear in an inch of space in the field | Enter the number of lines in the Lines per inch box.
Indicate how many lines can appear in the field | Enter the number of lines in the Maximum lines box. If the answer contains more lines than is specified, the field will overflow.
Indicate the maximum number of characters that can appear in a given line of text | Enter the number of characters in the Max chars/line box. When the number of characters exceeds this limit, text will wrap to the next line.

If you are working with linked fields in a fillable PDF template and you plan to save the document assembled from the template as a fillable PDF, any changes you make to the linked field will not be honored in the saved fillable PDF. See Check Fillable Fields in a PDF Template for details.


Rotate Answers in a Field

These instructions can also be used to rotate answers in an answer field both at the Form Document tab of the assembly window and in HotDocs Filler.

By default, answers in fields appear in horizontal rows and can be read from left to right. You can rotate text so answers will read from bottom to top, top to bottom, or upside-down from right to left.

To rotate text in a field

  1. Edit a form template. (See Edit a Form Template .)
  2. Select the fields you want to rotate. (See Select a Field.)
  3. Click the Field Properties Field Properties button. The Field Properties dialog box appears.
  4. Click the Layout tab. The view changes to show field layout properties.
  5. In the Rotation group, select a degree of rotation: 0º, 90º, 180º, or 270º, for example:

You can enter test text in the test answer box (of the Type tab) to preview the selected rotation. See Preview the Formatting of Answers in a Form Field.

When you change the rotation, HotDocs views the bottom of the letters as the bottom of the field. This means that aligning the text horizontally or vertically may have different effects.

If you are working with linked fields in a fillable PDF template and you plan to save the document assembled from the template as a fillable PDF, any changes you make to the linked field will not be honored in the saved fillable PDF. See Check Fillable Fields in a PDF Template for details.


Keep Contents of Form Fields from Printing

These instructions can also be used to cross out static text on a form both at the Form Document tab of the assembly window and in HotDocs Filler.

Sometimes you want field text to appear on the form during direct-fill assembly, but you don't want the text to appear when you print a copy of the form. For example, if you create a resource field, you may not want the resource field text to appear on the form when you print it. You can select an option that keeps this text from printing.

To designate that a field's contents shouldn't be printed

  1. Edit a form template. (See Edit a Form Template .)
  2. Create or select the field whose text you want to appear only on the form.
  3. Click the Field Properties Field Properties button. The Field Properties dialog box appears.
  4. At the Type tab, select Non-printing field.

If you are working with linked fields in a fillable PDF template and you plan to save the document assembled from the template as a fillable PDF, any changes you make to the linked field will not be honored in the saved fillable PDF. See Check Fillable Fields in a PDF Template for details.


Cross Out Static Text on the Form

These instructions can also be used to cross out static text on a form both at the Form Document tab of the assembly window and in HotDocs Filler.

Sometimes a form includes static text that must be crossed out, depending on answers the user enters during the interview. For example, say a form includes a list of medical conditions. Instructions on the form tell you to cross out any conditions that do not apply to you. You could manually cross out these conditions once you've printed the form; however, HotDocs allows you to create a strike-through field, which crosses out the text for you, depending on answers you enter during the interview.

A strike-through field, which is transparent, overlays the static text. You can choose the character that will be used to cross out the text.

To create a strike-through field in a form

  1. Edit a form template. (See Edit a Form Template .)
  2. Create a field that covers the static text on the form. (See Create a Form Field.)
  3. Click the Field Properties Field Properties button. The Field Properties dialog box appears. (You can also right-click and select Field Properties from the shortcut menu.)
  4. Click the Type tab.
  5. In the Field type group, select the type of field you want to associate with the strike-through field.
  6. In the Display type group, select Strike-through.
  7. In the Variable box, insert a True/False or Multiple Choice variable. This variable sets the conditions when static text should be crossed out. (See Attach a Variable to a Field.)
    • True/False variable: Select an example format that merges the strike-through character when the variable is true or false, as appropriate. (See Customize a True/False Variable.)
    • Multiple Choice variable: Type the strike-through character in the Merge Text field of the option that should cause the strike through, and type NONE in the other choices. (See Customize a Multiple Choice Variable.)

    You can use the alignment controls on the Field Properties dialog box to position the strike-through text more accurately.

    To change the font properties of the strike-through character, click the Font button at the Field Properties dialog box and make your changes there.


Circle Static Text on a Form

These instructions can also be used to circle static text on a form both at the Form Document tab of the assembly window and in HotDocs Filler.

Sometimes instructions on a form ask users to circle a preprinted option. Rather than make users print the form and manually circle the option using a pen, you can create a form field that overlays a circle on the text. You can attach a variable to the field so that the user can select which option should be circled during the interview. Creating circle fields not only preserves the professional look of the form, but allows the answer associated with the selection to be saved in the answer file.

To create a field that circles text

  1. Edit a form template. (See Edit a Form Template .)
  2. Create a field that covers the static option on the form you want to select. (See Create a Form Field.)
  3. Click the Field Properties Field Properties button. The Field Properties dialog box appears. (You can also right-click and select Field Properties from the shortcut menu.)
  4. Click the Type tab.
  5. In the Field type group, select the type of field you want to associate with the circled field.
  6. In the Display type group, select Circled.
  7. Assign a True/False or Multiple Choice variable to the field. (See Customize a True/False Variable, Attach a Multiple Choice Variable to a Group of Check Boxes, and Customize a Multiple Choice Variable.)
  8. Optionally, to control the width of the circle's border, click the Layout tab and change the Line thickness in the Circle group.

To preview the circle (see Preview the Formatting of Answers in a Form Field), make sure you enter text in the Answer text box of the Type tab.


Insert a Graphic File in a Form

These instructions can also be used to insert graphics in a form both at the Form Document tab of the assembly window and in HotDocs Filler.

Sometimes you may need to include an image on your form, such as a signature or seal. You can create a field and assign as one of its properties a graphic file. Supported file formats include .JPG, .BMP, and .PNG. Image files should be saved to the same folder as the template.

You control the conditions under which the image appears on the form. For example, you can attach a Multiple Choice variable or a True/False variable that merges an image file depending on which option a user chooses. Additionally, you can make the field a control field so that users can't access the field directly.

To create a graphic field using a variable

  1. Edit a form template. (See Edit a Form Template.)
  2. Create a field (See Create a Form Field) and attach either a Multiple Choice or True/False variable to it. (See Customize a Multiple Choice Variable or Customize a True/False Variable.)
  3. If you're using a Multiple Choice variable, edit the variable and, in the Merge Text column, enter the file names of the graphics, depending on which options the user chooses.
  4. If you're using a True/False variable, edit the variable and, in the Format box, enter the file name of the graphic, either preceded or followed by a forward slash (to indicate yes/no status).
  5. Click OK at the variable editor and at the Variable Field dialog box.
  6. With the field still selected, click the Field Properties Field Properties button. The Field Properties dialog box appears.
  7. At the Type tab, select Image from the Display type group.
  8. Optionally, change the Field type to Control to restrict the user’s ability to modify the field. (Change the Field Type.)

To create a graphic field without using a variable

  1. Edit a form template. (See Edit a Form Template .)
  2. Create a field. (See Create a Form Field.)
  3. With the field still selected, click the Field Properties Field Properties button. The Field Properties dialog box appears.
  4. At the Type tab, select Image from the Display type group.
  5. Click the Open Open button next to the Image file name box. The Open dialog box appears.
  6. Locate and select the desired graphic file and click Open. The path and file name appear in the box.
  7. Optionally, change the Field Type to Control to restrict the user’s ability to modify the field. (Change the Field Type.)
  8. Optionally, click the View Variables Show Variables button in the Automator toolbar to view the image.

The image is visible at the Form Document tab.

If you are automating a fillable PDF template and you plan to save the assembled document as a fillable PDF, you cannot assign an image to a linked field. Instead, use a regular HotDocs field.


Convert Answers on the Form to Bar Code Format

These instructions can also be used to enter bar code text both at the Form Document tab of the assembly window and in HotDocs Filler.

You can create a two-dimensional bar code field that displays a single answer or group of answers. This may be useful if the organization to which you submit your documents requires certain data in the document be in bar code format. This allows the organization to scan the information and save it in some data retrieval system, such as a database.

For example, say you must submit a form to the court. When the court files the form, rather than manually entering case information (such as party names, case numbers, etc.), it can simply scan the bar code and have the information automatically entered in the system.

Typically, bar codes display data in a pattern of lines and formats, which should be readable by most hand-held laser scanners or charge-coupled device (CCD) scanners. The scanner should be able to read the size of the bars, which is 0.01 inch.

Use the following tips when working with bar codes:

  • The format HotDocs uses for bar codes is PDF417, or Portable Data File 417. It is one of several recognized 2-D bar code formats.
  • Bar codes in HotDocs can store about 1,500 characters, including numbers and other standard text symbols.
  • Printing a form that has a bar code requires a high-density printer, such as a laser printer.
  • Bar code fields can overflow, but all overflow properties assigned to the field are ignored. When too much text is entered for a bar code, no bar code appears. If you are having trouble getting the bar code to fit in the field, you can enlarge the field or reduce the field margins. (See Resize Form Fields or Change the Borders and Margins of a Field.)

There are two methods for creating a bar code:

  • Create a bar code using a variable: When the answers you want to convert to a bar code must be supplied by the user, you can create a variable, such as a Computation variable, which will then merge the answers in the field and convert them to bar code format.

  • Create a bar code using predefined text: If the bar code text is always the same, regardless of who is completing the document, you can enter that text at the Field Properties dialog box.

To create a bar code using a variable

  1. Edit a form template. (See Edit a Form Template.)

  2. Create a field and attach a variable to it, such as a Computation variable. (See Attach a Variable to a Field.)

  3. If using a Computation variable, create a script that will create a text string that includes all the answers you want encoded. Separate each answer by using a delimiter character, such as a tilde (~) or a vertical bar ( | ). (See Customize a Computation Variable and Introduction: Instruction and Expression Models.)

For example, Court Branch or District + "|" + Court Mailing Address + "|" + Court City + "|" + Court Zip Code.

  4. Click OK at both the variable editor and the Variable Field dialog box. The template appears again.

  5. With the field still selected, click the Field Properties Field Properties button. The Field Properties dialog box appears.

  6. At the Type tab, select Bar code as the Display type.

  7. Optionally, click the Bar Code tab and adjust any of the bar code settings. (See Understand Bar Code Settings.)

When the user assembles the document, the answer will be encoded as a two-dimensional bar code.

To create a bar code using predefined text

  1. Edit a form template. (See Edit a Form Template .)
  2. Create a field. (See Create a Form Field.)
  3. Click the Field Properties Field Properties button. The Field Properties dialog box appears.
  4. At the Type tab, select Bar code.
  5. Type the data you want encoded in the Bar code text box. As you type the text, HotDocs displays the bar code in the underlying form field. (You may need to click the Show Variables Show Variables button in the Automator toolbar to hide variable names.) (If you are entering a group of answers that must be interpreted by the bar code scanner as individual answers, you must separate each answer with some sort of delimiting character, such as a tilde (~) or vertical bar (|).)

For example, Superior Court of Ada County|12 N. Elm Street|Boise|99999.

If you are automating a fillable PDF template and you plan to save the assembled document as a fillable PDF, you cannot assign a bar code to a linked field. Instead, use a regular HotDocs field.

For information on changing the bar code specifications, see Understand Bar Code Settings.

To access the Field Properties dialog box, you can also right-click and select Field Properties from the shortcut menu.


Flow a Single Answer Across Two or More Pages in a Form

These instructions can also be used to flow an answer across two pages both at the Form Document tab of the assembly window and in HotDocs Filler.

At times, a single answer field will start at the bottom of one page and continue to the top of the next page. However, HotDocs will not allow you to create a single field that spans across both pages. You can, however, create two fields—one on each page—and then link them using the Group Fields command.

To group fields on separate pages

  1. Edit a form template. (See Edit a Form Template .)
  2. Create the first field in the series of spanned fields. (See Create a Form Field.)
  3. Assign a Text variable to the field. (See Customize a Text Variable.)
  4. Select the field and click the Field Properties Field Properties button. The Field Properties dialog box appears.
  5. Click the Overflow tab, and in the Group name box, enter a name. Usually, this is the name of the variable, but it can be any text as long as it is the same for each field in the group.
  6. On the following page(s), create the fields that will contain any overflow. Do not assign variables to these fields.
  7. Repeat the preceding steps for each field in the group, using the same group name as you assigned to the first field.

Now, answers that do not fit in the first field will overflow to the next field named in the group.

To span text across multiple fields on the same page, see Group Form Fields So Answers Can Flow From One Field to Another.


At a Glance: The Overflow Status Dialog Box

When entering answers at the form document tab, you will see the Overflow Status dialog box when you enter an answer that is too large for the field.

At the top of the dialog there are two check boxes A you can select to decide the overflow properties. You can select Shrink the answer to fit in the field to reduce the answer's font size to the minimum font size specified in the Field Properties dialog box for this field or you can select Send the answer to the addendum to send the answer information to an addendum at the end of the document, and inserts an addendum reference in the field. The Split answer option only becomes available after selecting Send the answer to the addendum and send only the portion of the answer that does not fit in the field to the addendum.

Otherwise you can choose from the three option buttons below. Click the Edit button B to place the cursor in the highlighted field so you can shorten the answer, click the Resize button C to select the field so you can click a field border or handle and resize the field (resizing the field to make it larger may resolve the overflow), or click the Override button D to override the field properties, and place the cursor in the highlighted field so you can edit the answer. When override is used, you can enter any type of answer.

To learn more about when the overflow status dialog box appears follow the links below:

  • Check Form Fields for Answer Overflow
  • Enter Answers Directly at the Form Document Tab
  • Control Warnings During Assembly


Check Form Fields for Answer Overflow

HotDocs can compare the size of a field and the length of the answer. If an answer uses more space than is available in that field, HotDocs warns you and lets you resolve the overflow. Your options for resolving the overflow include reducing the answer's font size, sending answers to the addendum, editing the answer, resizing the field in which the answer is merged, and overriding the field to enter a differently formatted answer.

After you complete an interview, you can manually check for answer overflow. Also, when you direct-fill assemble a form document, HotDocs automatically checks each field when you move to another field. Finally, when you print a document, HotDocs checks for any unresolved answer overflows.

To manually check for field overflow

  1. At the HotDocs library window, select a form template and begin assembling the document. (See Assemble a Text or Form Document.)
  2. After answering the questions in each dialog, click the Form Document tab to view the assembled document.
  3. Click Check for Overflow (Tools menu). HotDocs begins comparing the size of each field and answer.
  4. If an answer is too long, HotDocs selects the field and displays the Overflow Status dialog box. Information about the status of any answers that overflow is displayed at the top of the dialog box.
  5. Make adjustments as explained in the following table:
To | Do This
Reduce the answer's font size to the minimum size allowed for the field | Select Shrink the answer to fit in the field. The answer's font size is reduced to a smaller point size. If the answer still doesn't fit in the answer field, you must choose another option for resolving the overflow.
Send the answer to the addendum and insert cross-reference text in the answer field Select Send the answer to the addendum. The answer is moved to the addendum. HotDocs then merges text in the field that indicates the answer can be found in the addendum.

Select Split answer if you want only the part of the answer that doesn't fit in the field to be sent to the addendum.
Change the text of the answer, such as reduce the number of words in the answer Click Edit. HotDocs highlights the field that contains the answer so you can edit the text.

Once you edit your answer, click back on the Overflow Status dialog box to have HotDocs the overflow.
Make the answer field larger Click Resize. HotDocs selects the field so you can click one of its handles to resize it.

Once you resize the answer field, click back on the Overflow Status dialog box to have HotDocs recheck the overflow.
Override any settings or formats of the field and enter any text in the field Click Override and enter the text you choose in the field.

Overriding a field does not change the original answer. In fact, HotDocs continues to use the original answer in any calculations or scripts that require it. It also saves the original answer to the answer file. Choosing to override a field simply allows you to define only the text that needs to appear on the form.

Once you override the answer field, click back on the Overflow Status dialog box to have HotDocs recheck the overflow.
Resolve the overflow at a later time | Click Ignore. The Overflow Status dialog box is closed and you are able to work with other answer fields in the document. If you click on the overflowing answer field again, or if you check for answer overflow, you will be asked to resolve the overflow again
Resolve the overflow on your own | Choose Close. HotDocs highlights the overflowing field so you can change the answer in whatever way you choose

Once you resolve the overflow, you can click Close to close the dialog box. Any other fields that overflow will display a similar dialog box.

You can prevent HotDocs from checking for field overflow during assembly. See Set Rules for Handling Answer Overflow for details.

Fillable PDFs do not support the creation of an addendum when a field overflows. This means that if a field in an assembled fillable PDF template overflows, the answer in the saved PDF document will simply appear cut off. Template users should always review and modify any answers that may potentially overflow before saving the assembled document as a fillable PDF.


Customize the Look of the Addendum

These instructions can also be used to customize the look of the addendum both at the Form Document tab of the assembly window and in HotDocs Filler.

Sometimes when assembling a form document, an answer is too long for the form field. One way to resolve this overflow is to send the overflowing text to an addendum, which is a section of the form designed to display such answers. You can modify the appearance of the addendum—for example, you can choose what page margins to use, define what text appears in the headers and footers, and choose the font properties for the text that is used in the addendum. You can also define how pages are numbered in the addendum.

To change the addendum format

  1. Edit a form template. (See Edit a Form Template .)
  2. Click File > Template Properties > Addendum. The Addendum Properties dialog box appears.
  3. Complete any of the following steps:
To | Do This
Define how much white space there is between the addendum page edges and the text in the addendum | Enter the dimensions in the Page margins group.
Define the text that appears at the top of each addendum page | Enter the text in the Header text box. To learn how to merge page numbers in the header, see Use Answer Overflow and Addendum Text Codes.
Define the text that appears at the bottom of each addendum page | Enter the text in the Footer text box. To learn how to merge page numbers in the footer, see Use Answer Overflow and Addendum Text Codes.
Change the font properties (including font face, size, and style) of the header or footer text | In the respective Header properties and Footer properties groups, click the Font button and make the changes at the Font dialog box.
Define how much vertical space the header or footer text requires | In the respective Header properties and Footer properties groups, enter a number in the Height box.
Change the alignment of the header or footer text | In the respective Header properties and Footer properties groups, click the Alignment button and choose your alignment option.
Insert a variable in the header or footer text | In the respective Header properties and Footer properties groups, click the Variable Field Variable Field button. The Variable Field dialog box appears, where you can define the variable whose answer you want merged in the header or footer.
Define the font properties (including font face, size, and style) for answers that appear in the addendum | In the Addendum entries group, click the Font button and make your changes at the Font dialog box.
Define how much space there should be between the addendum label and the answer | In the Addendum entries group, enter a number in the Indentation box.
Define how much space there should be between each answer in the addendum | In the Addendum entries group, enter a number in the Space between box.
Make the addendum appear as a pleading paper | Select Number lines to format as pleading paper.

Once an answer has been sent to the addendum, you cannot edit the actual addendum—you must either modify your answers at the Form Document tab or Interview tab, or you must send the addendum to the word processor (choose File > Send Addendum To > Word Processor). You can also send the addendum to the Windows Clipboard (choose File > Send Addendum To > Clipboard) to paste it into a different program for editing.

Fillable PDFs do not support the creation of an addendum when a field overflows. This means that if a field in an assembled fillable PDF template overflows, the answer in the saved PDF document will simply appear cut off. Template users should always review and modify any answers that may potentially overflow before saving the assembled document as a fillable PDF.


Define Overflow Properties for a Regular Field

These instructions can also be used to change the overflow properties for a field both at the Form Document tab of the assembly window and in HotDocs Filler.

When an answer is too large to fit in its field, HotDocs, by default, warns you and asks how to handle the overflow. You can customize the field overflow properties, controlling how HotDocs automatically handles answer overflows.

For example, you can have HotDocs automatically create an addendum, where each answer that overflows is sent. In the field that overflows, HotDocs can insert cross-reference text that points you to a specific item in the addendum. You can designate the text that is used both for the cross-reference and for the label in the addendum.

Another option is for you to have HotDocs automatically reduce the answer’s font size. You can set a minimum point size and control if the answer is automatically reduced to this size before displaying an overflow warning message. (Be careful reducing the font size since others may find the smaller size harder to read.) (See Change the Font Used for a Field.)

How you define overflow properties depends on the type of field you are creating. For example, in an addendum, grouped fields and tables are handled a little differently from regular fields. See Define Overflow Properties for Run-on Fields and Define Overflow Properties for a Table.

To set overflow properties for regular fields

  1. Edit a form template. (See Edit a Form Template.)
  2. Select the field whose overflow properties you want to define.
  3. Click the Field Properties Field Properties button and click the Overflow tab.
  4. Complete any of the following steps:
To | Do This
Automatically shrink an answer that overflows to a specific point size | Select Shrink answer as needed and enter a point size in the points box.
Automatically send an answer that overflows to the addendum | Select Send answer to addendum. (To send only part of a multi-line answer to the addendum, select Split answer. (See Split a Multi-Line Answer Between the Form and the Addendum.)
Define the text that appears in the answer field when an answer is sent to the addendum | Enter the text in the Cross-reference text box. (See here for a list of reference numbering codes you can use.)
Define the text that identifies the answer once it has been sent to the addendum | Enter the text in the Addendum label text box.
Make an answer the first item on its addendum page | Select Begin addendum entry on a new page.
Make an answer the last item on its addendum page | Select Begin new page following addendum entry.

Fillable PDFs do not support the creation of an addendum when a field overflows. This means that if a field in an assembled fillable PDF template overflows, the answer in the saved PDF document will simply appear cut off. Template users should always review and modify any answers that may potentially overflow before saving the assembled document as a fillable PDF.


Split a Multi-Line Answer Between the Form and the Addendum

When creating multi-line fields, you can select an overflow option that sends either all of the answer to the addendum, or only the part of the answer that doesn't fit in the field to the addendum.

If you allow the user to choose whether to split the answer between the form and the addendum, you can customize the reference and label text, based on their selection. For example, if the user chooses to send the entire answer to the addendum, you can specify See Addendum 1 as the cross-reference text. However, if the user chooses to send just part of the answer, you can specify Continued in Addendum 1 as the reference text.

To choose overflow options for a multi-line answer

  1. Create a multi-line field. (See Create a Form Field.)
  2. Select the field and click the Field Properties Field Properties button. The Field Properties dialog box appears.
  3. Click the Overflow tab. The view changes to show overflow options.
  4. Complete any of the following steps:
To | Do This
Always send the answer to the addendum without prompting the user | Select Send answer to addendum. To send just the part of the answer that doesn't fit in the field to the addendum, select Split answer.
Specify the text that will be merged in the field as well as the addendum if the user chooses just to send to addendum | Enter the text in the Cross-reference text and Addendum label text boxes, respectively. To specify alternate text that will be merged in the field and addendum if the user chooses to split the answer between the form and the addendum, type a vertical bar (|) and then enter the alternate text after the bar. For example: Cross-reference text: See Addendum 1|Continued in Addendum 1 Addendum label text: Addendum 1|(con't) Addendum 1

Fillable PDFs do not support the creation of an addendum when a field overflows. This means that if a field in an assembled fillable PDF template overflows, the answer in the saved PDF document will simply appear cut off. Template users should always review and modify any answers that may potentially overflow before saving the assembled document as a fillable PDF.


Attach a Text or Form Document to an E-mail Message

After assembling a document, you can attach it to an e-mail message and send it to another user.

Internet-based e-mail services are not compatible with this feature. You must have an e-mail program, such as Microsoft Outlook, installed on your computer.

To attach a document to an e-mail message

  1. At the HotDocs library window, select a template and begin assembling the document. (See Assemble a Text or Form Document.)
  2. After providing the required answers, click Send Document To > Mail Recipient (File menu). The Send Document To Mail Recipient dialog box appears.
  3. Type a name for the attachment, then click OK. An e-mail message window appears.
  4. Complete the e-mail message and send it.


Introduction: Question and Answer Summaries

Some projects may require a printout of the information in the template. A Question Summary lists each question followed by a blank space so an answer can be written in, as if being filled out like a questionnaire. An Answer Summary lists each question and the associated answer. These printouts can be concise records of exactly what information was used when the document was assembled.

The following is an example of an Answer Summary:

You can specify a one-column or two-column format for your summaries. In one-column format, dialogs, questions, and answers are displayed as an indented outline. In two-column format, the information is presented as a table, with each answer appearing on the same row as its question. (See Change the Way Question and Answer Summaries Appear.)

If you're assembling a form document, you can create a questionnaire by printing a blank copy of the form itself.


View a Question Summary

You can create a concise list of the questions that appear in an interview. This can be useful when you want to create a questionnaire, gathering information from one person so that a second person can enter the information using HotDocs. A question summary can also give a quick overview of what questions will be asked during an interview.

You can format a question summary to appear as an indented bullet list, or as a table with one column for questions and a second column for answers. (See Change the Way Question and Answer Summaries Appear.) Also, in a question summary, you can control which conditional sections are included. (See Control Which Variables are Asked in a Question Summary.)

To assemble a question summary

  1. Assemble a text or form document. (See Assemble a Text or Form Document.)
  2. At the assembly window, click the Question Summary tab. The assembly window shows the HotDocs variables and other information about the template. (To hide or show the tab, choose Question Summary Tab at the View menu.)
  3. Optionally, complete any of the following tasks:
To | Do This
Print a copy of the summary | Click the [image] Print button.
Attaches the summary (in HTML format) to an e-mail message to send to another person | Choose Send Summary to Mail Recipient (File menu).
Send the summary to the word processor so you can edit it or format it | Click the [image] Send Summary to Word Processor button.
Save a copy of the summary as an HTML document | Click the [image] Save Summary button.


View an Answer Summary

An answer summary is a list of the questions and the answers in an assembled document. It provides a way to quickly scan and review information, rather than reading through a document or paging through dialogs in the assembly window.

You can format an answer summary to appear as an indented bullet list, or as a table with one column for questions and a second column for answers. (See Change the Way Question and Answer Summaries Appear.)

To view an answer summary

  1. At the HotDocs library window, select a template and begin assembling a document. (See Assemble a Text or Form Document.)
  2. After answering the questions, click the Answer Summary tab. The assembly window shows the HotDocs variables and the answers you have entered in the interview.
  3. Optionally, perform any of the following tasks:
To | Do This
Print a copy of the summary | Click the [image] Print button.
Attaches the summary (in HTML format) to an e-mail message to send to another person | Choose Send Summary to Mail Recipient (File menu).
Send the summary to the word processor so you can edit it or format it | Click the [image] Send Summary to Word Processor button.
Save a copy of the summary as an HTML document | Click the [image] Save Summary button.


View the Variable Sheet

The Variable Sheet helps you see the relationship between variables and answers. It shows the variables in the interview as well as the answers, variable types, and prompts. While viewing the Variable Sheet, you can sort the different columns.

To view the Variable Sheet

  1. At the HotDocs library window, select a template and begin assembling the document. (See Assemble a Text or Form Document.)
  2. After providing the required answers, choose Variable Sheet Tab (View menu).
  3. Click the Variable Sheet tab. The assembly window changes to show the Variable Sheet.
  4. Optionally, complete any of the following tasks using toolbar buttons and menus:
    • To sort the different lists in alphanumeric order, click one of the column headings.
    • To save the variable sheet as an HTML document, click the [image] Save Variable Sheet button.
    • To view the variable sheet in the word processor, click the [image] Send Variable Sheet to Word Processor button.
    • To attach the variable to an e-mail message, click File > Send Variable Sheet To > Mail Recipient.
    • To copy the contents of the Variable Sheet into a spreadsheet program, such as Microsoft Excel, click File > Send Variable Sheet To > Spreadsheet.

When sending Variable Sheet data to a spreadsheet, HotDocs automatically looks for Microsoft Excel. If you do not have Excel installed, you will be prompted to copy the contents from the Clipboard to another spreadsheet program.


Introduction: Save Answers

When you assemble a document, you can save the answers you enter in an answer file, which can then be used later to recreate the same document or assemble other documents that require the same information.

For example, perhaps you are creating several estate planning documents that require much of the same information, like names, addresses, and important dates. You can save your answers in an answer file and then use that answer file when assembling other estate planning documents. This eliminates the need to re-enter information you've already provided. Answer files are saved in XML format.

You can organize your answer files with the Answer File Manager, or you can use Windows Explorer to manage your answer files. (See Manage Answer Files.)

See Compatibility of HotDocs 11 Files with Earlier Versions of HotDocs for details on making answer files compatible with versions of HotDocs prior to HotDocs 2009 and HotDocs 10.


Create a New Answer File

Often, you want to save answers you enter during an interview so they can be used with other interviews. Saving answers in an answer file and then reusing those answers keeps you from having to enter the same information multiple times.

To create a new answer file by assembling a document

  1. At the HotDocs library window, select a template and begin assembling a document with a new, untitled answer file. (See Assemble a Text or Form Document.)
  2. Answer the questions in the interview and click the [image] Save Answers button. The Save Answer File dialog box appears.
  3. In the File name field, enter a file name. (To save the answer file in a folder other than the default Answers folder, click the [image] Browse button and select a location.)
  4. In the Title field, enter a name for the new answer file. This name will identify the answer file in Answer File Manager.
  5. Optionally, type a note in the Description field to help identify the answer file. (The description will appear at the Properties tab of Answer File Manager. When searching for specific answer files, you can search based on text in the description.)
  6. If the answer file will be used with HotDocs 2005-2008, select HotDocs 2005-2008 answer file. (See Compatibility of HotDocs 11 Files with Earlier Versions of HotDocs.)

To save an existing answer file as a new answer file, choose Save As (File menu) and enter a new name for the answer file. To create a new, empty answer file while in Answer File Manager, click the [image] New Answer File button and enter the appropriate information about the file you want to create.

By default, answer files are saved in the answer file folder specified during installation (for example C:\Documents and Settings\Username\My Documents\HotDocs\Answers). To change this default location, see Change HotDocs Program File Locations.


Create a Default Answer File

When certain answers are used frequently in a specific document, you can have those answers automatically inserted each time you assemble the document. To do this, create a default answer file for that document.

A default answer file must be saved to the same folder as the template's component file. It must also have the exact same file name as the component file, but the file name extension must be either .ANX or .ANS. In most cases, the file name and path for the component file are identical to the file name and path for the template file. (The exception would be if the template is pointing to a shared component file, in which case you would use the shared component file name.) You can find this information by selecting the template at the HotDocs library window and viewing the Properties tab.

To create a default answer file for a document

  1. At the HotDocs library window, select a template and begin assembling the document, using a new answer file. (See Assemble a Text or Form Document.)
  2. Type information for only the answers you want to be default answers.
  3. Click the [image] Save Answers button. The Save Answer File dialog box appears.
  4. At the File name field, click the [image] Browse button and locate the folder that contains the component file. Then enter a name that matches the component file's name, followed by an answer file name extension. For example, if the component file is named Invoice.cmp, the answer file name would be Invoice.anx.
  5. In the Title field, type a name for the default answer file.
  6. Optionally, in the Description field, type a description for the answer file.
  7. If the answer file will be used with HotDocs 2005-2008, select HotDocs 2005-2008 answer file. (See Compatibility of HotDocs 11 Files with Earlier Versions of HotDocs.)

The next time you assemble the document, HotDocs automatically inserts the answers from the default answer file into the template's answer fields. You can then modify the answers as necessary and save a new answer file. (See Create a New Answer File.)


Suggest an Answer File for Every Assembly

You may use a certain answer file more frequently than any others. You can select an option that will automatically suggest that answer file every time you assemble a document.

To suggest an answer file for every assembly

  1. At the HotDocs library window, select a template and click [image] Assemble. The Answer File dialog box appears.
  2. Click the [image] Open Answer File button. The Open Answer File dialog box appears.
  3. Choose an answer file and click [image] Select. The Answer File dialog box appears again.
  4. Select Automatically select this answer file for use with the next assembly, then click OK.

The next time you assemble any document, the same answer file will automatically be selected at the Answer File dialog box. To change the answer file, click the [image] Open Answer File button and choose a different file.


At a Glance: The Send Answers to Mail Recipient Dialog Box

While assembling a template you can view the Send Answers to Mail Recipient dialog box by choosing Send Answer to.. and then Mail Recipient from the File menu.

In the Attachment name field A you can specify the answer file name used for the e-mail attachment. You can also check the box B to send an answer file that would be compatible with HotDocs 2005-2008.

To learn more about sending answer files by email follow the link below:

  • Attach an Answer File to an E-mail Message


Attach an Answer File to an E-mail Message

After gathering information in an interview, you may need to send those answers to another user. You can do this by attaching the answer file to an e-mail message.

Internet-based e-mail services are not compatible with this feature. You must have an e-mail program, such as Microsoft Outlook, installed on your computer.

To attach an answer file to an e-mail message

  1. At the HotDocs library window, select a template and begin assembly. (See Assemble a Text or Form Document.)
  2. After completing the interview, click Send Answers To (File menu). The Send Answers to Mail Recipient dialog box appears.
  3. In the Attachment name field, enter a name for the answer file attachment. Make sure to leave the file name extension on the attachment name.
  4. Optionally, if you want the answer file to be compatible with versions of HotDocs prior to HotDocs 2009, select HotDocs 2005-2008 answer file.
  5. Click OK. HotDocs opens an e-mail message and attaches the answer file.


Introduction: Use Answer Management

By default, each answer file you create or use is managed through the Answer File Manager. The Answer File Manager is similar to the HotDocs template library in that it allows you to organize your answer files according to project specifications. It also lets you sort and search for answer files. (See Introduction: Use HotDocs Libraries.)

At times you may prefer to not use the Answer File Manager. For example, you can manage answer files using a document manager instead of Answer File Manager. Or, if you have multiple users accessing the same set of answer files, you can use Windows Explorer, since only one person can have write access to Answer File Manager. (All other users have read-only access, which keeps them from saving or adding answer files to the answer library.)

HotDocs 6 through HotDocs 2008 supported binary answer libraries (or answer libraries with the .HAL file name extension). Starting with the release of HotDocs 2009, however, HotDocs now supports both binary answer libraries and XML-based answer libraries (which use the .HDL file name extension). By default, HotDocs will continue to use binary answer libraries as long as the file properties of items in the library use characters that are compatible with your system's default language. If you define answer file properties that contain foreign characters, HotDocs will create an XML-based answer library (so that it can properly display these characters in the Properties tab of the library window.)


At a Glance: The Answer File Manager

After clicking the [image] Answer File Manager button on the toolbar (or Tools menu) in your HotDocs Library the Answer File Manager window opens.

The window is split into two main panes. On the left is the Answer File List, this contains a list of all the answer files you have saved. You can select an answer file from this list by clicking on it.

The second main pane in the Answer File Manager window is the Properties Pane. When you select an answer file from the list the answer file properties are displayed in the Properties Pane. These include the File name, File type, File path and the usage History. To view the contents of the answer file go to Tabs at the top of the Properties Pane and click on the Contents tab. This will display a list of all variables, answers and variable types within the answer file.

To access further options for your selected answer file you can use the Toolbar at the top of the window. It contains the following options:

  • New Answer File: Displays the New Answer File dialog box where you can specify the type of answer file you want to create as well as provide a file name, title, and description for the file.
  • Cut: Removes (or cuts) the selected answer file to the Windows Clipboard so you can paste it someplace else in the library.
  • Copy: Copies the selected answer file to the Windows Clipboard so you can paste it someplace else in the library.
  • Paste: Pastes any items currently saved on the Windows Clipboard to the location you specify in the library.
  • Add: Displays the Add Item dialog box where you can add existing answer files or folders to your answer library.
  • Remove: Removes the selected answer file or folder. When you delete an answer file, you can choose whether to delete just the reference to the file in the library as well as to delete the actual file from disk.
  • Import: Allows you to locate an answer file and automatically copy it to the default Answers folder. If managing your answer files using Answer File Manager, the file will also be added to the manager.
  • Sort: Sorts the items in the currently selected folder in the order you have specified.
  • Answer File Properties: Displays the Item Properties dialog box where you can modify information about the item.
  • Help: Opens the relevant page of the HotDocs Help File.

To find out more about using Answer File Manager follow the links below:

  • Introduction: Use Answer Management
  • Open and Close Answer File Manager
  • Add an Answer File to Answer File Manager
  • Work with Answer File Manager
  • Add, Modify, and Delete Folders in Answer File Manager


Open and Close Answer File Manager

When you use Answer File Manager to manage your answer files, you have greater control over the organization of your files (see Work with Answer File Manager). To use Answer File Manager, however, you must first open it.

To open Answer File Manager

  • At the HotDocs library, click the [image] Answer File Manager button. Answer File Manager appears.

To close Answer File Manager

  • At Answer File Manager, click the X in the upper-right corner of the dialog box.

You can also open Answer File Manager by choosing Answer File Manager at the Tools menu. To close Answer File Manager using the keyboard, press Alt+F4.


Add an Answer File to Answer File Manager

Answer File Manager allows you to organize your answer files. When you save your answers after an interview, a reference to the file is automatically added to Answer File Manager. When you need to use answer files that someone else has created (or if you have created them while using Windows Explorer to manage your files), you must add the files to Answer File Manager.

There are two ways to add an answer file to an answer library. You can import the answer file or you can add it using the [image] Add button.

To import an answer file

  1. At the HotDocs library window, click the [image] Answer File Manager button. Answer File Manager appears.
  2. Click [image] Import. The Import Answer File dialog box appears.
  3. Browse to and select the file you want to import. HotDocs confirms you want to import the file.
  4. Click Yes. The answer file is added to Answer File Manager. The file is also automatically included in any answer file drop-down lists.

To add an answer file to Answer File Manager using Add

  1. At the HotDocs library window, click the [image] Answer File Manager button. Answer File Manager appears.
  2. Click the [image] Add button. The Add Item dialog box appears.
  3. In the File name field, enter the path and file name of the answer file you want to use (or click [image] Browse to locate and open the file).
  4. In the Title field, enter a name for the answer file. This title will identify the answer file in Answer File Manager.
  5. Optionally, in the Description field, enter a description to help you identify the answer file. (This description appears at the Properties tab, and can be used when searching for specific answer files.)

By default, answer libraries are saved in binary format, which does not support the use of international characters. If you attempt to add an answer file that contains international characters in its properties to Answer File Manager, HotDocs will prompt you to choose whether to create a new, XML-based answer library (which will support these characters) or convert the foreign characters to an approximate character that can be read in binary format. If you choose to create a new XML-based library, HotDocs 2005-2008 will continue to use the older binary-format library, while HotDocs versions after 2009 will use the XML-based library.

If the answer file is located in a folder other than the default Answers folder, you can import the file, which copies the file to the default Answers folder and adds it to Answer File Manager. To do this, click [image] Import and then locate the answer file.

When adding files to the library, press Ctrl or Shift to select multiple files at once.


Work with Answer File Manager

Answer File Manager helps you organize answer files, much like a HotDocs library helps you organize templates and clause libraries.

When you save answer files, they are added to Answer File Manager, where you can organize them and modify the file properties. You can also view an answer file's history—a list of dates and times the answer file was used, including the template with which it was used. Finally, the Answer File Manager lets you preview the answers currently saved in an answer file.

By default, answer libraries are saved in binary format, which does not support the use of international characters. If you are using a binary answer library and you either add an answer file that contains foreign characters in its properties to the library, or you change the properties or an existing file to include foreign characters, HotDocs will prompt you to either convert the answer library to XML format or manually remove the characters from the file's properties. If you choose to convert the answer library to XML format, you will have two answer libraries—one that works with HotDocs 2008 and earlier and one that works with HotDocs 2009 and later. (A third option allows you to keep the library in its current, non-XML format, but HotDocs replaces characters that are not compatible with your system's default language with the closest approximation available. Usually this means HotDocs will use question marks or square box characters.)

To display Answer File Manager

  1. At the template library, click the Answer File Manager button. The Answer File Manager dialog box appears.
  2. Complete any of the tasks described in the following table:
To | Do This
Create a new, empty answer file | Click the [image] New button. (See Create a New Answer File.)
Add an existing answer file to the library | Click the [image] Add button. (See Add an Answer File to Answer File Manager.) To add multiple files one at a time, press Ctrl or Shift to select several files.
Remove a reference to an answer file and optionally delete the actual file from disk | Select the answer file, then click [image] Remove.
Simultaneously copy an answer file you receive to the Answers folder and add it to the answer library | Click [image] Import. The Import Answer File Name dialog box appears, where you can browse to the answer file and select it. When you click OK, the file is copied to the Answers folder and added to the library.
Sort answer files in alphanumeric order, based on answer file titles | Select a folder, then click the [image] Sort button. The contents of the folder are reorganized.
Search for a specific answer file | Select Find, then type the text from the answer file's title or description for which you are searching in the text field. Only files that have matching text in their title or description are shown.
View the answers currently saved in an answer file | Select the answer file, then click the Contents tab. In the Contents tab, you can sort the columns by clicking the column headings.
View the history of when the selected answer file was used to assemble various templates | Select the answer file, then click the Properties tab.
Change the title, path, file name, description, or format of an answer file | Select the answer file, then click the [image] Properties button and make the necessary changes. Changing the file path does not change the location of the actual answer file. If you change the file path without moving the actual file to the new location on disk, that answer file will not be accessible.
Add a folder so that you can better organize groups of answer files | Click the [image] Add button, then select Folder at the Type drop-down field. (See Add, Modify, and Delete Folders in Answer File Manager.)
Modify a folder's title or description | Select the folder, then click [image] Properties. (See Add, Modify, and Delete Folders in Answer File Manager.)
Delete a folder | Select the folder, then click [image] Remove. HotDocs asks what you want to do with any answer files within the folder. (See Add, Modify, and Delete Folders in Answer File Manager.)
Move an answer file into a folder | Double-click the folder to open it, then select the answer file and drag it to the folder.
Change the format of an answer file so it is compatible with a specific version of HotDocs | Select the answer file, and then click [image] Properties. The Item Properties dialog box appears where you can select HotDocs 2005-2008 answer file. (See Compatibility of HotDocs 11 Files with Earlier Versions of HotDocs for details.)
Use Windows Explorer to access answer files instead of Answer File Manager | Change the setting at the HotDocs Options dialog box. (See Manage Answer Files.)


Add, Modify, and Delete Folders in Answer File Manager

To help organize your answer files, you can place them in folders and subfolders within Answer File Manager.

To add a new folder

  1. At the HotDocs library window, click the [image] Answer File Manager button. The Answer File Manager appears.
  2. Click the [image] Add button. The Add Item dialog box appears.
  3. In the Type drop-down list, select Folder. The dialog box changes to show the options needed for new folders.
  4. In the Title field, enter a folder name.
  5. Optionally, in the Description field, enter notes to explain why the folder was created, or what kinds of answer files it contains. (This description appears at the Properties tab, and can be used when searching for specific answer files.)
  6. Click OK. The folder is added to the answer library. You can work with the folder using the following commands:
To | Do This
Move an answer file to a specific folder | Double-click the folder to open it, then select an answer file and drag it to the folder.
Modify the title or description | Select the folder and click the [image] Properties button. The Item Properties dialog box appears, where you can change the title or description.
Sort the contents of a folder in alphanumeric order | Select the folder and click [image] Sort. The answer files are rearranged based on title.
Remove a folder | Select a folder and click [image] Remove. If you want to remove the items in the folder as well, select Remove the unselected items contained in the selected folders. Otherwise, any files referenced in the folder will be moved to the next folder level.


Introduction: Use Published Files on the Internet

When you install HotDocs, the installation program sets up HotDocs as a helper program for Microsoft Internet Explorer. This makes it possible for the browser to communicate with HotDocs. When you click on a hyperlink to an auto-install or auto-assemble file, the browser starts HotDocs and sends it the file. Then HotDocs begins installing or assembling the file.

In HotDocs, you can also add auto-assemble files from the Internet or from a corporate intranet to your HotDocs library. This allows you to access the files without starting your browser. If you will be unable to connect to the Internet at the time of assembly, you can download and cache copies of the auto-assemble files for use offline. If you add the URL for a Web page to a HotDocs library, you can start your browser from within HotDocs and display that Web page.

In HotDocs, if you are using a template that has been enabled for answer uploading, you can upload the answers you used to assemble a document to a Web server. (Note, however, that the URL of the Web server must be specified by the template developer.)

Finally, if you use a browser other than Internet Explorer, you may need to manually register HotDocs to work with your browser.


Register HotDocs to Work with Web Browsers

If HotDocs is registered as a helper program with your Web browser, you can click on a HotDocs auto-install (.HDI) or auto-assemble (.HDA) file listed on a Web page and have your browser start HotDocs and pass the file to it.

The HotDocs installation program automatically registers HotDocs with Microsoft Internet Explorer. If you use a different Web browser, you will need to register HotDocs as a helper program yourself. Specific instructions for your browser should be available in your browser’s online help system. (Search for the keywords MIME types, file types, helper programs, or associations.)

To register HotDocs with a Web browser (other than Internet Explorer)

  1. Find your browser’s list of MIME types. A MIME type is an association that tells the browser what to do when you download a particular type of file. Each entry in the list of MIME types consists of a MIME type, one or more associated file name extensions, and an action to take on files of this type—usually either by displaying the file in the browser, by using a plug-in to view it, or by starting a helper program. Depending on the browser, each entry may also have a descriptive name.
  2. For HotDocs auto-assemble files, make an entry in the MIME types list using the following settings:
Option | Value
Name (optional) | HotDocs Auto-Assemble File
MIME type | application/x-hotdocs-auto
Extension | hda
Launch Application | hd_dispatch.exe /ha= By default, the launch application executable is found in C:\Program Files\HotDocs
  3. For HotDocs auto-install files, make an entry in the MIME types list using the following settings:
Option | Value
Name (optional) | HotDocs Auto-Install File
MIME type | application/x-hotdocs
Extension | hdi
Launch Application | hd_dispatch.exe /hi= By default, the launch application executable is found in C:\Program Files\HotDocs
  4. Save these settings and restart your browser.

If you upgrade or change browsers after installing HotDocs, you may need to reinstall HotDocs so it will be registered correctly with the new browser.


Add an Auto-Assemble File on the Internet to a HotDocs Library

You can add an auto-assemble file located on the Internet to the HotDocs library. You must know the URL for the file’s location on the Internet or intranet. When you select the auto-assemble file at the library window, and click the Assemble button, HotDocs downloads the file and begins assembling.

To make sure you always have the most current version of the auto-assemble file, you must be connected to the Internet at the time you assemble it. Otherwise, HotDocs uses the version of the file that has been cached.

To add an Internet-based auto-assemble file to a library

  1. At the HotDocs library window, select the folder in which you want the auto-assemble file and click the [image] Add button. The Add Item dialog box appears.
  2. In the Type drop-down list, select Auto-Assemble File.
  3. At the File name field, type the URL for the file's location on the Internet or intranet, or click the [image] Browse button to locate the file on your local disk or network and click OK.

Make sure the URL is entered correctly. If you don’t include http:// or https:// or ftp:// (or if you are missing a slash or a colon), HotDocs will treat the URL as a regular file path.

  4. In the Title field, type a title for the auto-assemble file. The title identifies the file in the template library.
  5. Optionally, type a description in the Description field. The description appears at the Properties tab

The first time you use an auto-assemble file that is stored on a Web server to assemble a document, HotDocs caches the HDA on your hard disk. Then, each time you use the file, it checks to see if a newer version of the file is available and, if so, automatically downloads it. You can also force HotDocs to check for newer versions by choosing Refresh Cache from the Tools menu. (See Download Auto-Assemble Files for Use Offline.)


Download Auto-Assemble Files for Use Offline

In HotDocs, you can download the latest version of an auto-assemble (.HDA) file and store it on your local drive. When you are assembling, if HotDocs can't connect to the Internet or intranet, it uses the local copy.

To download auto-assemble files for use offline

  1. At the HotDocs library window, select the auto-assemble file you want to download. You can download all the auto-assemble files in a folder by selecting the folder.
  2. Click Refresh Cache (Tools menu).


At a Glance: The Install Template Set dialog box

You can open the Install Template Set dialog box by clicking Install Templates... in the File menu and navigating to the .hdi file you would like to install.

In the first field A you can enter where you would like HotDocs to save the template files on your computer. Either by typing the file path into the text field or by clicking the [image] Browse button and navigating to the correct folder. By default HotDocs will install them in the default Templates folder in your Documents.

Using the drop-down list B below you can choose to install the library file in the default Templates folder, default Libraries folder or in the same folder you specified for the templates in the field above A.

To find out more about installing template sets follow the link below:

  • Install a Template Set


Install a Template Set

Some template sets are published as an auto-install file. Because these templates are published, you can't simply add the templates to an existing library. Instead, you must first install them. When you do, HotDocs installs the library and templates to the locations you specify. You can then access the templates.

To install a template set

  1. At the HotDocs library window, click Install Templates (File menu). The Install Templates dialog box appears.
  2. Locate and select the auto-install (.HDI) file you want to install, then click Install. The Install Template Set dialog box appears.
  3. At the Specify where the templates should be installed field, accept the suggested Template Sets folder location, or click the [image] Browse button to choose a different location.
  4. Click the Choose where the library file should be installed drop-down button and choose whether to save the library to the shared Templates folder, the user-specific Libraries folder, or, if you installed the templates to a custom folder in step 3, to the same folder as specified for the templates.
  5. Click OK. HotDocs installs the template set (including the library) to the locations you specified.


At a Glance: The Update Template Sets dialog box

After opening [image] Update Template Sets from the Tools menu in your HotDocs Library you can see a list of your template sets and when they were last checked for updates. Use the mouse to select the sets you would like to update. Or use the Select All and Clear All buttons below to select all or none of the sets. When you have chosen the sets you would like to update click the OK button.

To find out more about updating template sets follow the link below:

  • Check for Template Set Updates


Check for Template Set Updates

If you are using a published template set, HotDocs can check for updates to the set at regular intervals and notify you when updates are available. Updates can include new or revised template files, or they may include an important message from the template provider. Although the frequency of automatic update checks is set by the template provider, you can manually check for template set updates at any time.

To check for template set updates

  1. At the HotDocs library window, click Update Template Sets (Tools menu). The Update Template Sets dialog box appears.
  2. Select the template sets for which you want to check for updates, then click OK. The Template Set Update Progress dialog box appears, showing the progress as HotDocs checks for updates.
  3. When HotDocs has finished checking for updates, the Install Template Set Updates dialog box appears, displaying a list of updates. You can work with this list as described in the following table:
To | Do This
Install specific update items | Select Install for each item you want to install.
Discard an update item to prevent HotDocs from prompting you to install the update | Select Discard for the item. If this box is disabled, the template provider has marked it as a required update and it cannot be discarded. (You can choose to not install the update, but it will be displayed every time you check for updates.)
View a list of discarded updates | Select Discarded updates. The list changes to include discarded items.
View a list of all installed updates | Select Installed updates. The list changes to include installed updates.
Reinstall an update | Select Installed updates, then select the update you want to reinstall from the list.
  4. Click Continue. HotDocs installs the selected updates.

You can hide the Template Set Update Progress dialog box or choose which template sets are checked for updates in the HotDocs Options dialog box. (See Determine How Frequently HotDocs Checks for Template Set Updates.)


Upload Answers

If a template has been enabled for answer uploading, the answers you provide to assemble a document can be uploaded to a Web server. The template developer specifies where and when answers will be uploaded. The developer may also specify that HotDocs automatically uploads the answers.

To upload answers

  1. If a template is enabled for uploading answers, HotDocs automatically displays the Upload Answers dialog box after you assemble a document and close the assembly window. (If the Upload Answers dialog box doesn't appear, it means either that the template isn't enabled for answer uploading, or that the template developer specified that HotDocs must always upload the answers.)
  2. Click one of the upload buttons to finish the upload process: Upload Now (uploads the answers immediately), Upload Later (lets you upload either when you start or exit HotDocs), or Don't Upload (doesn't upload the answers at all).

If errors occur when HotDocs tries to upload the answers (or if you click the Upload Later button), HotDocs creates a data file that contains the information needed about the files you need to upload. Then, every time HotDocs starts or closes, it checks to see if files are waiting to be uploaded and prompts you to upload them.

If you choose to Upload Later, you can then upload the files from the library window at any time by clicking Upload Answers (Tools menu).


Add a Web Page to a HotDocs Library

You can include a URL in a HotDocs template library, making it possible to open a Web page and download published files. You can also use a URL to link to a support site where information about the template set is available.

When you click a URL in the template library, HotDocs launches a Web browser and displays the specified Web page.

To add a Web page to a template library

  1. At the HotDocs library, open the folder to which you want to add the URL.
  2. Click the [image] Add button. The Add Item dialog box appears.
  3. At the Type drop-down list, select Web Address.
  4. In the URL field, enter the URL. Or, click the [image] Browse button to locate the address. Then close the browser window to save the URL to the Add Item dialog box.

You can prevent HotDocs from checking for field overflow during assembly. See Set Rules for Handling Answer Overflow for details.

  5. In the Title field, enter a title for the URL. The title identifies the item in the template library.
  6. Optionally, type a description in the Description field. The description appears at the Properties tab.


Introduction: Assemble Documents Linked to a Database

For the most part, templates linked to database tables are assembled just like regular unlinked templates. However, instead of entering answers to questions, you select a record or records from a database table and HotDocs uses the information in those records and merges them into the assembled document. You can save your record selections in a HotDocs answer file.

Depending on how the template was designed, you may also have the ability to sort and filter records you view in the database table.


Select Records During Document Assembly

Instead of displaying questions during the interview for which you must enter individual answers, HotDocs presents a list of records from which you can choose. The information in the record or records you select will be merged into the assembled document.

In some situations, the template developer may allow you to select multiple records from the table, for example, to create a list of answers.

To select records from a database table

  1. Assemble a document. (See Assemble a Text or Form Document.)
  2. When a database table appears, click a single row in the table, or press and hold either Shift or Ctrl to click multiple rows.
  3. If selecting a single row, complete the following steps:
    • Click Select. HotDocs places the record in the Selected Item pane of the assembly window. (You can also double-click a record and have it automatically placed in the Selected Item pane.)
    • Click Next. HotDocs merges the answers from the database record into the assembled document.
  4. If selecting multiple rows, complete the following steps:
    • Click Select. HotDocs adds the records you just selected to the Selected Items pane of the assembly window. (Additionally, to select multiple records, double-click the cell that uses a thicker border in the last record you selected.)
    • Optionally, select a record and click the [image] Up button (moves the record up to the next row in the list of records) or the [image] Down button (moves the record down to the next row in the list of records). You can also click the column headings of the Selected Items list to automatically sort selected rows by any field. (These options are available if the template developer has given you permission to sort your records. If these buttons do not appear, you cannot change the order of selected rows.)
    • Click [image] Next. HotDocs merges the answers from the database into the assembled document.

If the template developer has assigned a filter to the table, you may see different results. For example, if only one record meets the filter criteria, that record will automatically be merged into the document without appearing in the interview. Similarly, if no records meet the filter criteria, HotDocs will ask the questions and allow you to enter your own answers. Finally, in some situations, the template developer may have opted to have any selections returned by the filter automatically merged into the assembled document without first prompting you.

To remove a selected record, you can either select a different record, or you can click [image] Clear.

To remove a single selected record from the Selected Items list, select the record and click Clear. To remove all selected records from the list, click Clear All.


Sort Database Records During Assembly

If the template developer has allowed it, you can sort the list of records in the database table to show the records in ascending (A to Z,1 to 9) or descending (Z to A, 9 to 1) order. You can sort on any column in the table. Additionally, if the template developer has allowed you to select multiple records (in order to create a list of answers), you can choose which order the answers will be merged into the document.

To sort database records in alphanumeric order

  1. Assemble a document. (See Assemble a Text or Form Document.)
  2. When the database table appears, click the heading for the column on which you want to sort. HotDocs sorts the list in alphanumeric order (A to Z, 1 to 9.)
  3. Optionally, to sort the list in reverse alphanumeric order, click the column heading again. HotDocs lists the entries from Z to A, 9 to 1.
  4. Optionally, if you have selected multiple records and want to control the order the answers are merged into the assembled document, click a record in the Selected Items list and then click the Up button (moves the record up to the next row in the list of records) or the Down button (moves the record down to the next row in the list of records). You can also click the column headings in the Selected Items list to automatically sort the selected items by any field.

You may also be able to filter the list of records to show only those you think will be relevant to your selection. See Filter Database Records During Assembly for details.


Filter Database Records During Assembly

If the template developer has allowed it, you can filter the list of records in the database table to show only those records you think are relevant. To do this, you specify conditions that must be met for the records to appear. You can filter based on any field in the table.

To filter a list of records in a database table during assembly

  1. Assemble a document. (See Assemble a Text or Form Document.)
  2. When the database table appears, select Find records where all conditions are met. This causes filtering options to appear at the top of each database column.
  3. In the database table, select the drop-down button at the top of the column on which you want to filter and select a comparison operator. A comparison operator allows you to compare two values. If the comparison results in a true statement, the record will be included. If it's false, it will not be included.
  4. In the field directly below the comparison operator, type the value against which you want to filter. For example, to view only those companies whose names start with the letter A, you would click the drop-down button in the Company column, select begins with, and type the letter A in the next cell.
  5. Click Apply Filter. HotDocs filters the list of records to show only those that meet the criteria you specified.

Once the list is filtered, you can select a record or records (see Select Records During Document Assembly) and continue with the interview.

When you apply the filter, only those records that meet every condition you specified will be returned. This is because <all> is selected at the Find records where all conditions are met prompt. You can click the drop-down button and select <any> , which will return a record, even if only one of the conditions is true.

You can sort a list of records in alphanumeric order. For details, see Sort Database Records During Assembly.


Save Selected Records in an Answer File

If you are using a database to provide your answers during document assembly, you can save your answers using the same steps you follow when saving regular answer files. (See Create a New Answer File.)

However, if you think you may need an exact replica of a document assembled from a template that includes a database component, be sure to save a copy of the document. If you try to reassemble the document later, even if you use the same answer file, the document may not come out exactly the same because the information stored in the connected database may have changed.


Introduction: HotDocs Options

You can change the way HotDocs looks and works by changing your preferences by clicking [image] HotDocs Options from the toolbar (or Tools menu) in your HotDocs Library. These changes affect the program regardless of which template you are using. (Some options, however, can be controlled at the template or component file level.)

For example, from the HotDocs Options dialog box, you can specify several options that will help you develop templates more efficiently. You can also control the way HotDocs presents interview information during assembly, and you can control the way the information is presented in an assembled document. Finally, some options let you control where you save your HotDocs files—both program files as well as word processor files.

Settings specified at HotDocs Options are user-specific and are saved in the Current User key of the Windows System Registry. For information on working with the registry, see the Windows Help file.


At a Glance: Interviews and Dialogs (HotDocs Options)

After opening [image] HotDocs Options from the toolbar (or Tools menu) in your HotDocs Library you can choose from a list of option pages in the left hand pane A.

If you click on Interviews and Dialogs you will see the Interviews and Dialogs Options dialog box, from here you can set options to change how HotDocs interviews are presented.

The first section B has two options you can set for the interview outline. Use the check box to choose if HotDocs will display the special repeat icons in the interview outline and use the drop-down list to decide if HotDocs will automatically expand child dialog entries Completely, Partially or Not At All.

In the second section C the options relate to dialog navigation within the interview. At the top of this section there are three check box options. Using these you can decide if you would like the Next button to be first in tab order on the Navigation bar, if HotDocs should select existing answers when tabbing between fields, and/or if HotDocs should display a warning when clicking the Add Another button at an empty dialog. Below this are three drop down menus. The first drop-down decides whether clicking the Enter key in single-line fields moves the curser on to the Next dialog, Next answer field, or has No action. The second drop-down decides if the answer field resource button is shown For the current field only or For all fields with a resource. When answers in the dialog are reformatted, the third drop-down list allows you to choose if you Don't leave the dialog, Pause before leaving the dialog or Leave dialog anyway.

The last section D contains options for the entering of dates in an interview dialog. The first drop-down list allows you to choose between Day Month Year or Month Day Year format for date detection. The next drop-down list allows you to choose the display format for a date in the interview. Below is a check box that let you choose if HotDocs will require four-digit years to be given in date answers. If you uncheck this box then the number field to the right will ungray. You can use this to specify the century rollover year, this decides at what two digit number HotDocs will stop using the current century and start using the previous century to fill in the first two digits. For example if you specify a rollover value of 34, dates entered as 5/14/34 will appear as 14 May 2034. A date entered as 5/14/35 will appear as 14 May 1935

To find out more about setting options for Interviews and Dialogs follow the links below:

  • Display Repeated Dialogs Using a Special Icon
  • Control How Child Dialogs Appear in the Interview Outline
  • Control the Tab Order of Buttons on the Navigation Bar
  • Select Existing Answers When Tabbing Between Answer Fields
  • Display Warning When Trying to Add a New Repetition
  • Control the Functionality of the Enter Key During the Interview
  • Display Resource Buttons Next to Answer Fields
  • Warn When HotDocs Reformats Date and Number Answers
  • Specify How HotDocs Should Process the Date Order
  • Control How HotDocs Handles Two-Digit and Four-Digit Years
  • Change the Way Dates Appear in Answer Fields


Display Repeated Dialogs Using a Special Icon

When HotDocs starts an assembly, it displays an interview outline and a dialog pane. The interview outline contains a list of all the dialogs in a given template. The dialogs appear as icons, followed by the name of the dialog. If HotDocs encounters a repeated dialog, it can display an icon that more closely represents a repeated dialog: . When you click this icon, the interview outline expands to show each repeated dialog as entries underneath the dialog title. These entries are numbered to show which repetition you are on.

To display repeated dialogs using a special icon

  1. At the HotDocs library, click [image] Options.
  2. Click the Interviews and Dialogs folder. The window shows several options relating to the way variables and dialogs appear and are processed during the interview.
  3. In the Interview Outline group, select Display repeat icons in interview outline.

To have HotDocs show repeated dialogs in the main level of the interview outline, clear Display repeat icons in interview outline.


Control How Child Dialogs Appear in the Interview Outline

As you assemble documents, HotDocs displays the dialogs from the template in the interview outline, which can include inserted dialogs (child dialogs). You can control just how much detail the outline shows for each parent and child dialog: a full view of all dialogs, a view of just the current dialog, or a view of just the parent dialog.

To change the appearance of child dialogs in the interview outline

  1. At the HotDocs library, click the [image] Options button.
  2. Click the Interviews and Dialogs folder. The window changes to show several options relating to the way variables and dialogs appear and are processed during the interview.
  3. In the Interview Outline group, click the Automatically expand child dialog entries drop-down button and select one of the following options:
    • Choose Completely to have HotDocs expand the interview outline to show the relationship between all related dialogs.
    • Choose Partially to have HotDocs expand the interview outline to show only the dialog you are currently answering.
    • Choose Not at all to have HotDocs not expand the interview at all and show only the parent dialog in the interview outline.

These views are controlled when you use the navigation bar or shortcut keys to complete an interview. Once you click in the interview outline, expansion of the outline is controlled by the mouse.


Control the Tab Order of Buttons on the Navigation Bar

Sometimes as you navigate through an interview, you may press the Tab key to move between options in a dialog—including the buttons on the Navigation Bar. You can select an option that causes the [image] Next button to always be the first button on the navigation bar to which you tab after answering questions in the interview. When this option is cleared and you press Tab after the last question in the interview, HotDocs will tab to the first active button in the Navigation Bar.

To control the Navigation Bar tab order

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Interviews and Dialogs folder. The window changes to show several options relating to the way variables and dialogs appear and are processed during the interview.
  3. In the Dialog Navigation group, select Next button first in Navigation Bar tab order.

Now when tabbing from the last answer field in the dialog to the Navigation Bar, you will automatically tab to the [image] Next button, regardless of whether the [image] First Dialog, [image] Previous Unanswered, or [image] Previous buttons are active.


Select Existing Answers When Tabbing Between Answer Fields

During an interview, you can have HotDocs automatically highlight existing text in an answer field when you tab to it. When you do this, you can immediately type a new answer without having to select the text first. If you need to edit part of an answer, rather than replace it entirely, you can clear this option.

To control text selection during the interview

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Interviews and Dialogs folder. The window changes to show several options relating to the way variables and dialogs appear and are processed during the interview.
  3. In the Dialog Navigation group, select Select existing answers when tabbing between fields to have existing text highlighted when you tab to a field.


Display Warning When Trying to Add a New Repetition

When answering repeated dialogs, you click the [image] Add Another button to add a new, empty repetition to the series of dialogs. However, if you are already in a new, empty dialog, clicking this button has no effect. You can have HotDocs display a warning the reminds you that you must first answer at least one question in the current dialog before you can add a new repetition.

To display a warning when trying to add a new repetition to a dialog

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Interviews and Dialogs folder. The window changes to show several options relating to the way variables and dialogs appear and are processed during the interview.
  3. Select Display warning when clicking Add Another button at empty dialog.


Control the Functionality of the Enter Key During the Interview

You can control the functionality of the Enter key as you enter answers in a dialog. For example, if you want to use the Enter key to advance to the next dialog instead of the next answer field, you can specify an option that will make this possible.

To specify how the Enter key functions during

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Interviews and Dialogs folder. The window changes to show several options relating to the way variables and dialogs appear and are processed during the interview.
  3. In the Dialog Navigation group, click the Enter key action in single-line fields drop-down button and select an option:
    • Choose Next dialog to have the Enter key display the next dialog.
    • Choose Next answer field to have the Enter key move your cursor to the next answer field.
    • Choose No action to make the Enter key not do anything.

Pressing Enter in a multi-line text field will insert a line break, while pressing Ctrl+Enter will insert a paragraph end. (This affects Word users only.)


Display Resource Buttons Next to Answer Fields

In addition to viewing helpful information in the resource pane, you can specify an option that will display a [image] Resource button next to answer fields in the dialog pane. (Clicking this button causes the resource text to appear in a pop-up dialog.) You can also control when the button appears.

To have HotDocs display a resource button next to an answer field

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Interviews and Dialogs folder. The window changes to show several options relating to the way variables and dialogs appear and are processed during the interview.
  3. In the Dialog Navigation group, click the Show answer field resource button drop-down and select an option:
    • For the current field only causes HotDocs to display a resource button next to an answer field only when that field is active (or when you are answering it).
    • For all fields with a resource causes HotDocs to simultaneously display resource buttons for all answer fields in the dialog that contain a resource. The buttons appear regardless of which answer field is active.


Warn When HotDocs Reformats Date and Number Answers

When you type an answer in an answer field, HotDocs sometimes reads the answer and reformats it to appear a certain way. For example, if you type February 6, 2006 in a date field, HotDocs will reformat the answer to appear as 6 Feb 2006. Sometimes this reformatting can reveal an incorrectly interpreted answer, especially if the answer you typed is ambiguous. For example, the date 05/06/2006 may either be interpreted as June 5, 2006 or as May 6, 2006.

Depending on where the reformatted answer appears in the dialog, you may not even be aware that it has been reformatted. For example, when you enter an answer in one of the first answer fields in a dialog and then move to the next field, you will most likely see that your answer has been reformatted. However, if you enter an answer in the last answer field and click Next to advance to the next dialog, you may not see that the answer has been reformatted.

You can specify an option that forces HotDocs to alert you that an answer has changed before HotDocs advances to the next dialog.

To have HotDocs tell you it has reformatted an answer before advancing to the next dialog

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Interviews and Dialogs folder. The window changes to show several options relating to the way variables and dialogs appear and are processed during the interview.
  3. Click the When answers are reformatted drop-down button and select one of the following options:
    • Choose Leave dialog anyway to have HotDocs immediately advance to the next dialog in the interview without showing you the reformatted answer.
    • Choose Pause before leaving dialog to cause HotDocs to reformat the variable and re-display it for one second before advancing to the next dialog.
    • Choose Don't leave dialog to cause HotDocs to reformat the variable and stay at the current dialog until you click Next again.

This answer reformatting affects only how answers are displayed in the dialog pane. Answers in the assembled document are formatted as the developer specifies or according to the Default date format property.


Specify How HotDocs Should Process the Date Order

When you type an answer for a Date variable, the first thing HotDocs does to process the information is to separate what you type into the different parts of a date, for example, the month, the day of the month, and the year. Once it has determined this, it formats the date and then merges the answer into the assembled document. Often, if the user spells out the month when typing a date (for example, May 6, 2006), HotDocs can easily distinguish between the different parts. However, if a user enters an all-digit value, such as 05/06/2006, HotDocs could process the date one of two ways—either as May 6, 2006 or as 5 June 2006.

You can specify an option that tells HotDocs the order in which you want months and days of months to be processed—either as Month Day Year, or as Day Month Year.

To specify a date order format for Date variables

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Interviews and Dialogs folder. The window changes to show several options relating to the way variables and dialogs appear and are processed during the interview.
  3. At the Answer Entry group, click the Date Detection drop-down list and select a format:
    • Choose Month Day Year to have HotDocs assume the first set of numbers in an answer is the month while the second set is the day of the month.
    • Choose Day Month Year to have HotDocs assume the first set of numbers in an answer is the day of the month while the second set represents the month.

For HotDocs users in the United States, the default option is Month Day Year. For HotDocs users outside the U.S., the default option is Day Month Year.

To specify the format for the answer when it is merged into the assembled document, see Specify a Default Date Format.


Control How HotDocs Handles Two-Digit and Four-Digit Years

As a safety precaution, HotDocs requires you to enter four digits when entering the year portion of a date. If you enter a two-digit date, such as 7/9/99, HotDocs responds with this message: “You must enter a four-digit year.”

You can override this default option by specifying a century rollover year at the HotDocs Options dialog box. The number you enter controls how HotDocs interprets two-digit years. Two-digit years less than or equal to the number you enter are understood as 2000-century years. Two-digit years greater than the number you enter are understood as 1900-century years.

For example, if you specify a rollover value of 34, dates entered as 5/14/34 will appear as 14 May 2034. A date entered as 5/14/35 will appear as 14 May 1935.

To set a century rollover preference

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Interviews and Dialogs folder. The window changes to show several options relating to the way variables and dialogs appear and are processed during the interview.
  3. In the Answer Entry group, clear Require four-digit year in dates. The Century rollover year option becomes available, with the default rollover value of 50 selected.
  4. Type a new two-digit number value in the Century rollover year field (or click the up or down arrows to select a number.) Dates you enter where the year is greater than this value will appear as 19??, while dates where the year is less than this value will appear as 20?? (where ?? represents the year you type at the answer field.)


Change the Way Dates Appear in Answer Fields

As you enter dates during an interview, HotDocs reformats the date to appear a certain way in the answer field. You can change this format. (To change the format of dates in the assembled document, see Specify a Default Date Format.)

To change the way dates appear in an answer field

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Interviews and Dialogs folder. The window changes to show several options relating to the way variables and dialogs appear and are processed during the interview.
  3. At the Answer Entry group, select a date format from the Date display format drop-down list. Your options include 3 Jun 1990; June 3, 1990; 6/15/1990; and 15/6/1990.

Whether the 6/15/1990 format or the 15/6/1990 format is available depends on your date detection format.


At a Glance: Appearance (HotDocs Options)

After opening [image] HotDocs Options from the toolbar (or Tools menu) in your HotDocs Library you can choose from a list of option pages in the left hand pane A.

If you double click on Interviews and Dialogs you will see a list below showing Appearance and End of Interview. Click on Appearance and the Appearance Options dialog box opens, from here you can customize the look of the interview.

At the top of this dialog B there are three drop-down menus to change the font for the Dialog, Resource and Outline. To the right of each font field there is a number field to choose the text size.

Below these are two drop-down menus C which you can use to change the color of items in the dialog pane. Find the item you wish to change in the first drop-down list then click the second menu to choose a color from the palette. You will see the changes in the example dialog pane below D. Below the example dialog pane is a check box E where you can choose to show an asterisk for required fields.

At the bottom of the page is the Restore Default Fonts and Colors button F. You can use this to return the all the settings on this page back to their original values.

To find out more about setting options for Appearance follow the link below:

  • Customize the Look of the Dialog Pane


Customize the Look of the Dialog Pane

You can change the appearance of the dialog pane. Specifically, you can change background colors and text properties (such as font face, size, and color). You can also change some of the properties of the resource pane as well as the interview outline.

To restore all default properties after you have changed them, at the Appearance window, click Restore Default Fonts and Colors.

To change the appearance of the dialog, resource pane, or interview outline of the assembly window

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Double-click the Interviews and Dialogs folder. The folder expands to show subfolders.
  3. Click the Appearance subfolder. The window changes to show a visual representation of the dialog pane.
  4. Make any changes, based on the following options:
    • To change the font or font size for text in the dialog, click the Dialog font drop-down button and choose the font from the list and enter a size in the Font size field.
    • To change the font or font size for text in the resource pane, click the Resource font drop-down button and choose the font from the list and enter a size in the Font size field.
    • To change the font or font size for text in the interview outline, click the Outline font drop-down button and choose the font from the list and enter a size in the Font size field. (To see these changes take effect, you must start a new assembly.)
    • To change the color of an item in the assembly window, click the Item color drop-down button and choose the item from the list. Then click the color drop-down button and choose the color.
    • To have HotDocs mark required questions with an asterisk, select Show asterisk for required fields .

In addition to choosing the item whose properties you want to change using the drop-down lists, you can also click on an area in the dialog preview. This automatically selects the item (in the corresponding drop-down list) so you can then change the properties.


At a Glance: End of Interview (HotDocs Options)

After opening [image] HotDocs Options from the toolbar (or Tools menu) in your HotDocs Library you can choose from a list of option pages in the left hand pane A.

If you doubleclick on Interviews and Dialogs you will see a list below showing Appearance and End of Interview. Click on End of Interview and the End of Interview Options dialog box opens, from here you can decide how HotDocs will finish an interview and what buttons appear at the end of interview dialog.

The top set of check boxes B enable you to decide which buttons appear on the End of Interview dialog; you can choose as many or as few as you need.

Below that are two sets of check boxes; the top set C allow you to choose what will automatically happen when you finish an interview for a text document and the bottom set D allows you to choose what will automatically happen when you finish an interview for a form document.

The option to Send assembled form document to Adobe Acrobat and close does not work with .HFT templates as they are not PDF based templates. Selecting this option instead sends them to HotDocs Filler. If you need to send the assembled form to Adobe Acrobat you should save your .HFT templates as .HPT templates before choosing this option.

To find out more about setting options for End of Interview follow the links below:

  • Customize the End of Interview Dialog
  • Control What Happens When You Finish an Interview


Customize the End of Interview Dialog

Options in the End of Interview dialog allow you to work with assembled documents. Such options include sending documents to the word processor, saving them to disk, or closing the assembly window without doing anything. You can choose which of these options appear in the End of Interview dialog.

To choose which options appear in the End of Interview dialog

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Double-click the Interviews and Dialogs folder. The folder expands to show subfolders.
  3. Click the End of Interview subfolder. The window changes to show which buttons you can choose to have appear in the End of Interview dialog.
  4. In the End of Interview Buttons group, choose which buttons you want on the End of Interview dialog by selecting the corresponding check box.

Buttons will be included only if they are selected and if they are relevant to the current interview. For example, HotDocs will display the [image] Go to the first unanswered question in the interview button only if there is at least one unanswered question in the interview.

To customize the list of buttons while viewing the End of Interview dialog, you can right-click anywhere in the dialog and choose Change Options from the shortcut menu.


Control What Happens When You Finish an Interview

By default, when you click [image] Next at the last dialog in an interview, HotDocs displays the End of Interview dialog, which gives you options for working with the assembled document. For example, you can choose to send the assembled document to the word processor or Filler, or you can return to the interview and answer any unanswered questions. However, if the End of Interview dialog is hidden (see Use the End of Interview Dialog), clicking [image] Next simply displays the assembled document. Where you view the document, either in the assembly window or in the word processor or HotDocs Filler, depends on which options you select.

Likewise, when you click the [image] Finish button in the navigation bar, HotDocs displays the assembled document. Again, you can choose where you view the document.

To define how HotDocs should finish an interview

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Double-click the Interviews and Dialogs folder. The folder expands to show subfolders.
  3. Click the End of Interview subfolder. The window changes to show options for working with the End of Interview dialog.
  4. In the Finish Interview Action group, select an option for text documents:
    • To send all assembled text documents directly to the word processor, select Send assembled text documents to the word processor and close.
    • To view all assembled text documents directly at the Document Preview tab of the assembly window, select Proceed to the Document Preview tab.
  5. Select an option for form documents:
    • To send all assembled form documents directly to HotDocs Filler, select Send assembled form documents to HotDocs Filler and close .
    • To view all assembled form documents at the Form Document tab of the assembly window, select Proceed to the Form Document tab.

Now, whenever the End of Interview dialog is hidden and you click [image] Next at the last dialog in the interview, HotDocs will perform the action you specified. Additionally, whenever you click the [image] Finish button, the same action will be performed.


At a Glance: Document Assembly (HotDocs Options)

After opening [image] HotDocs Options from the toolbar (or Tools menu) in your HotDocs Library you can choose from a list of option pages in the left hand pane A.

If you click on Document Assembly you will see the Document Assembly Options dialog box, from here you can set options to decide how HotDocs assembles a document.

The first section B has seven check box options to help you customize the assembly window. By checking these you can choose to auto-arrange toolbars, display the unanswered warning before saving a document, prompt to save the document when closing the assembly window, prompt to save documents sent to a word processor, prompt before printing assembled documents via a word processor, explain the paragraph mark added by the document text editor, and/or prompt for an answer file when beginning an assembly.

The setting Explain the paragraph mark added by the document text editor refers to the final paragraph mark in the text editor shown when editing a SPAN. When ticked, this option displays an explanation of this paragraph mark when editing SPAN fields during an interview. Uncheck this box to suppress the dialog box containing that explanation.

In the next section C you can change settings to change the look of an assembled document. In the text field at the top the default date format is displayed. To change this you just need to delete the text and type in your preferred date format example. using the drop down list below you can chose what an unanswered variable placeholder will look like in the assembled document. Below that is a check box giving you the option to highlight fields at the Document Preview tab. At the end of this section are two drop down lists that allow you to specify the color of different parts of the document. From the first drop down menu you chose a document field from: Answered Text, Unanswered Text, Editable Text or Edited Text. Then click the Color drop-down list and chose the color you would like this field type to be from the color palette.

The last section D has two check box options to change settings for the assembly queue. Checking the top box will have HotDocs prompt you before adding an assembly to the queue and checking the bottom box will have HotDocs produce a list of completed assemblies.

To find out more about setting options for Document Assembly follow the links below:

  • Make Assembly Window Toolbars Automatically Wrap
  • Display Warning When Questions are Unanswered
  • Prompt to Save the Assembled Document When Closing the Assembly Window
  • Warn When Printing Assembled Text Documents
  • Prompt to Select an Answer File Before Assembly
  • Specify a Default Date Format
  • Format Unanswered Variables in a Document
  • Set Properties for Viewing Answers and Editable Text in the Assembled Document
  • Warn When Adding Assemblies to Assembly Queue
  • Include List of Completed Assemblies in Assembly Queue


Make Assembly Window Toolbars Automatically Wrap

The HotDocs assembly window includes several toolbars to help you accomplish the work you need. At times, the width of the assembly window won't allow all of the toolbars to be displayed at once—some of the toolbars scroll off the right edge of the window. You can select an option that allows those toolbars to wrap to a new line of the assembly window so you can view all of them at once.

To auto-wrap assembly window toolbars

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Document Assembly folder. The window changes to show several assembly options
  3. Select Auto-arrange toolbars.


Display Warning When Questions are Unanswered

As you complete a HotDocs interview, HotDocs keeps track of which questions you have answered. You can have HotDocs display a warning message if you attempt to send the document to the word processor without answering one or more questions. (The warning also appears when you save or print the document.) Leaving questions in an interview unanswered may result in an incorrectly assembled document. Heeding these warnings can help you ensure the accuracy of the document.

To have HotDocs display a warning when variables are unanswered

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Document Assembly folder. The window changes to show several assembly options.
  3. Select Display unanswered warning before saving documents.

If you don't want HotDocs to warn you about unanswered questions, clear Display unanswered warning before saving documents. Unanswered questions will still be reported in the End of Interview dialog, but HotDocs will no longer display warning messages.


Prompt to Save the Assembled Document When Closing the Assembly Window

Whenever you close an assembly window, either before or after you send the assembled document to the word processor, HotDocs can ask if you want to save a copy of the assembled document.

To have HotDocs prompt you to save the assembled document

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Document Assembly folder. The window changes to show several assembly options.
  3. Select Prompt to save document when closing assembly window. HotDocs will prompt you to save a copy of the assembled document whenever you close the assembly window.
  4. Optionally, select Prompt to save documents sent to word processor to have HotDocs prompt you to save a copy of the assembled document when you close the assembly window, even if you have sent the document to the word processor.

Depending on your project needs, you may not need to save electronic versions of your documents. In such cases, you can clear both of these options.


Warn When Printing Assembled Text Documents

When you print an assembled text document from the assembly window, HotDocs opens the document in the word processor, prints it using the default printing options, and then closes the word processor without ever displaying a Print dialog box.

Frequently, you may need to change the default printing options, which you can only do by sending the assembled document to the word processor and then by printing from the word processor's File menu. To help you remember this sequence of steps, you can have HotDocs warn you when it's about to print a document without displaying the Print dialog box. If you choose, you can stop the print job.

To display the Print warning

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Document Assembly folder. The window changes to show several assembly options.
  3. From the Assembly Window group, select Prompt before printing assembled document via word processor.


Prompt to Select an Answer File Before Assembly

You can have HotDocs prompt you to select an answer file when you assemble a document. When it does, you can choose to use an existing answer file; specify a new, untitled answer file; or use the answer file from your last assembly.

To have HotDocs prompt you for an answer file

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Document Assembly folder. The window changes to show several assembly options.
  3. Select Prompt for answer file when beginning an assembly.

Clear Prompt for answer file when beginning an assembly to have HotDocs bypass this option and start the interview immediately using an untitled answer file. Once the interview has started, you can save the current answer file at any time.


Specify a Default Date Format

You can specify a default format for dates that are merged in assembled documents. This default format is used if no format has been assigned by the template provider. It controls how dates are merged into the assembled document—not how dates are formatted for display during the interview. (See Change the Way Dates Appear in Answer Fields.)

To specify a default date format

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Document Assembly folder. The window changes to show several assembly options.
  3. Type a date format in the Default date format field. (Use one of the following example formats: June 3, 1990; 3 June 1990; 03 JUN 90; 06/03/90; or 3rd day of June, 1990.)


Format Unanswered Variables in a Document

You can specify how an unanswered variable will appear in an assembled text document. (If a variable is left unanswered in a form document, the form field is left empty, regardless of which unanswered variable placeholder you have selected.)

To specify an unanswered variable format

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Document Assembly folder. The window changes to show several assembly options.
  3. At the Unanswered variable placeholder drop-down list, make a selection based on the following information:
    • Select ***Variable*** to insert the name of the variable with three asterisks on both sides of the variable name.
    • Select [Variable] to insert the name of the variable between two brackets.
    • Select Underscores to insert a blank line where the answer should be.
    • Select Asterisks to insert three asterisks.
    • Select Nothing to insert nothing in the unanswered field, not even a space.

Sometimes a template developer may assign a placeholder to be used with a variable. If so, the document may show a placeholder that is different than what you select here.

If you are using Microsoft Word (and the template developer has enabled answer editing at the Document Preview tab), you can edit answers while viewing the document. See Edit Answers at the Document Preview Tab.


Set Properties for Viewing Answers and Editable Text in the Assembled Document

If you are using Microsoft Word, you can view answers and assembled document text that can be edited while viewing the Document Preview tab. (See Edit Answers at the Document Preview Tab for details.) When doing this, you can control whether the answers and text are marked by a special color, which you can also define.

Some template developers choose to disable these features in their templates. If the options for editing answers and text are not available at the assembly window, this is why.

To always highlight answers and editable text in a document

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Document Assembly folder. The window changes to show several assembly options.
  3. Select Highlight fields at Document Preview tab. This will mark answers in the document with the color you define at the Color drop-down. It will also mark editable document text as well as edited document text.
  4. Optionally, to change the color for answer fields or sections of editable text, click the Document field drop-down button, and choose the appropriate option. Then click the Color drop-down button and choose a color.

To restore the default colors, choose the field type and then click the Color drop-down button. Choose Default from the top of the Palette tab.


Warn When Adding Assemblies to Assembly Queue

HotDocs will only allow you to assemble one document at a time. If you are currently assembling a document and you attempt to assemble another one, HotDocs will add it to the assembly queue and it won't be assembled until the current assembly is complete. If there are multiple assemblies in the queue, HotDocs will assemble them in the order they are added. (See Use the Assembly Queue.) You can have HotDocs warn you when you attempt to assemble a document and one is already being assembled.

To have HotDocs warn you when you add an assembly to the queue

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Document Assembly folder. The window changes to show several assembly options.
  3. In the Assembly Queue group, select Prompt before adding an assembly to the queue.


Include List of Completed Assemblies in Assembly Queue

As you assemble documents during a given session of HotDocs, you can have HotDocs create a list of each document you have assembled in the assembly queue. This list remains active during a particular session of HotDocs. (A session is the time between when you start HotDocs and when you close it.)

To list completed assemblies in the assembly queue

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Document Assembly folder. The window changes to show several assembly options.
  3. In the Assembly Queue group, select List completed assemblies.

If you are assembling large numbers of documents and you don't want HotDocs to track completed assemblies, clear List completed assemblies. Then, once assembly has finished, the assembly is removed from the queue.


At a Glance: Document Markup (HotDocs Options)

After opening [image] HotDocs Options from the toolbar (or Tools menu) in your HotDocs Library you can choose from a list of option pages in the left hand pane A.

If you click on Markup View (Word) you will see the Markup View (Word) Options dialog box, from here you can set options for the look and function of a template in markup view.

In the first section of options B you can choose the markers used for Answer Fields, Insertion Fields, Editable Text, Conditional Text, Alternative Text and Repeated Text by typing the characters you would like to use into the corresponding fields.

In the next section C you can set options for labels by ticking the check boxes. Using the first four check boxes you can choose to use developer comments to label answer fields, use option text to label multiple choice answer fields, use developer comments to label the beginning and/or the end of text blocks, and/or enclose text block labels in markers. The last check box has slightly more complicated options and ticking the last box will ungray the two drop-down menus next to it then you can use these to decide if, at the beginning and/ or end of text blocks, you would like Footnote Letters, Footnote Numbers, Endnote Letters or Endnote Numbers.

In the next section D you can choose which attributes to apply to markup fields. Using the three check boxes you can choose to apply Bold, Italic, and/or a different Color scheme. Once the Color box has been ticked the drop-down list next to it ungrays, then you can chose from Regular, Nested, or Sequential color schemes. You can further customize these schemes at the Field Colors Options dialog.

The last section E contains three check boxes with more general options for Markup View. You can choose to mark editable text blocks, use minimal markup at the HotDocs Library Preview tab, and/or apply attributes to answer fields when minimal markup is used.

To find out more about setting options for Markup View (Word) follow the link below:

  • Specify How Documents Should Be Marked Up


Specify How Documents Should Be Marked Up

This feature is available to Word users only.

Moving between Markup View and Developer View is supported in Microsoft Word RTF templates only. In Microsoft Word DOCX templates you can click the [image] Create Markup button to open a Markup document in a new Word window.

As you automate a Microsoft Word template and create within it variable and instruction fields, the template can be complicated to read and understand, especially to someone unfamiliar with automation. At times, however, you may need for a subject matter expert to review the text of the template for accuracy or to make changes or edits. To make the template easier for non-HotDocs users to review, you can provide them a marked up copy of the template.

How the template is marked up depends on your preferences. You can choose which fields HotDocs marks as well as define how much information is included in the field. For example, say you have a template with a series of IF expressions. You can assign comments to each IF Field describing, in layman's terms, the conditions surrounding the inclusion of the text in the document. Then, when you view the template in Markup View, the comments can be used to mark the expressions. The instructions themselves can then be viewed in an annotation.

In addition to viewing markup in the template, you can also view markup at the Preview tab of the template library and at the Document Preview tab of the assembly window. To view markup in either of these places, choose Markup View from the respective window's View menu.

To specify how documents should be marked

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Markup View (Word) folder. The window changes to show several markup options.
  3. Complete any of the tasks, described in the following table:
To | Do This
Choose the character or characters that should be used to mark fields in the template Enter the opening and closing characters in the fields next to the field type:
  • Answers field = variable fields
  • Insertion field = INSERT instructions
  • Editable text = SPAN / END SPAN instructions
  • Conditional text = IF/ END IF instructions
  • Alternative text = ELSE IF / ELSE instructions
  • Repeated text = REPEAT / END REPEAT instructions
Mark variable answer fields with any comments entered for the variable | Select Use developer comments to label answer fields. If comments have been entered for a variable field, they will be merged in the markup field.
Use a Multiple Choice variable's merge text options as the label for its field

If you've named your merge text, the name will be used instead.

 Select Use option text to label multiple choice answer fields.
Mark text blocks (such as IF, REPEAT, and SPAN instructions) using developer comments entered for the instruction Select Use developer comments to label beginning of text blocks.

To merge the same comment in the closing markup field, select and end of text blocks.
Include both opening and closing markers when merging a field label (which includes developer comments)

By default, when HotDocs marks text blocks, an opening field marker is merged before the opening instruction and the closing marker is merged after the closing instruction.

 Select Enclose text block labels in markers.

Selecting this option causes HotDocs to use the closing marker after the opening label. The closing marker will also be used at the end of the text block.

In the following example, [* is the opening marker for conditional text while *] is the closing marker. The following is what will be merged in the marked up document:

*Insert paragraph if employee must complete a trial period*]

The length of [Employee Name]'s employment will be an initial term of six months.*]
Include text block instructions in either a footnote or endnote Select Add Footnote/Endnote at beginning of text blocks. Then select whether the annotation will be marked using Letters or Numbers.

To annotate the closing field label, select and end of text blocks.
Apply font attributes, such as bold and italics, to a markup field Select Bold or Italic.

Merge fields in the document are italicized by default. If you've used international characters in your answers, the italicized version of the font used in the document may not display the foreign characters correctly. If this is the case, clear the Italic attribute.
Define the color scheme used for marking the different fields in the template | Select Color and click the Color drop-down button. Then choose the color scheme.
Include editable text markers when showing a template in Markup View Select Mark editable text blocks.

Editable text blocks are not visible when viewing the markup of an assembled document.

By default, HotDocs does not show SPAN instructions when you switch to Markup View.
Show only basic markup when previewing the template at the HotDocs library Select Use minimal markup at the HotDocs library Preview tab.

When this option is selected, HotDocs will simply mark fields using field markers. If comments have been assigned to variable fields, those comments will be merged. (They will not be merged for instruction fields, however.)

To assign font formatting and color to markup fields at the Preview tab, select Apply attributes to answer fields when minimal markup is used.


At a Glance: Field Colors (HotDocs Options)

After opening [image] HotDocs Options from the toolbar (or Tools menu) in your HotDocs Library you can choose from a list of option pages in the left hand pane A.

If you double click on Markup View (Word) you will see a list below showing Field Colors. Click on Field Colors and the Field Colors Options dialog box opens, from here you can set the colors HotDocs will use in Markup view.

There are three lists B for the three of available color schemes. You can choose which color scheme you would like to use on the Markup View (Word) Options dialog. By clicking on any of the words you will see a color palette where you can choose a different text color for that item. By clicking on the white space behind any of the words you will see a color palette where you can choose a different background color for that item.

To find out more about setting options for Field Colors follow the link below:

  • Define Field Colors


Define Field Colors

By default, when you insert fields in a HotDocs text template, HotDocs applies certain colors to the fields, depending on the field type. For example, all variable fields will be merged using a specific color, while all REPEAT instructions will be merged using a different color, and so forth.

Depending on the complexity of the template, there may be times when you want to use field coloring to view relationships between SPAN, IF and REPEAT instructions in the template. For example, when working with nested instructions, you may want all first-level instructions to be marked by one color, all second-level instructions to be marked by another color, and so forth. Additionally, you may want to view instructions in the template sequentially, meaning each instruction pair is marked with its own color.

At the Field Colors page, you can assign the colors HotDocs will use for marking fields and instructions in a template.

To customize the field colors in a text template

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Double-click the Markup View (Word) folder. The folder expands to show subfolders.
  3. Click the Field Colors folder. The window changes to show lists of field types and instructions with their corresponding colors.
  4. Complete any of the following steps:
    • To specify the color for all field types in a template, click that particular field in the Regular column and choose the color you want from the palette.
    • To specify the color for each nested level of instruction, click that particular level in the Nested column and choose the color you want from the palette.
    • To specify the color for each matching pair of instructions, click that field in the Sequential column and choose the color you want from the palette.
  5. Repeat this process for each field type or level of instruction you want to change.

Once you have made these changes, you must click the [image] Apply Colors button within your template to apply the new colors to any existing fields.

HotDocs allows you to assign up to 20 Nested and Sequential colors. If you want to use fewer color schemes, select the Level or Field after the last color you want used and assign black as the text color and white as the highlight color. (So, for example, if you want to show only four levels of nesting, click on Level 5 and assign the black/white color combination.)

If using the keyboard, tab to the row you need to access and press the Spacebar to show the foreground color palette. Press Shift+Spacebar to show the background color palette.

To restore default colors, click the Color drop-down button and choose Default at the top of the Palette tab.

To choose the colors used for form fields, see Change Colors in Form Fields.


At a Glance: HotDocs Models

Home > Setting HotDocs Options > HotDocs Models > At a Glance: HotDocs Models (HotDocs Options)

At a Glance: HotDocs Models (HotDocs Options)

After opening [image] HotDocs Options from the toolbar (or Tools menu) in your HotDocs Library you can choose from a list of option pages in the left hand pane A.

If you click on HotDocs Markup you will see the HotDocs Markup Options dialog box, from here you can decide if you want to enforce HotDocs Model naming standards by checking the box B. Unchecking this box removes the requirement that component names in HotDocs Models not contain spaces or other special characters. (Names should only contain letters, numbers, and underscores.) If names in your automation contain these non-standard characters, selecting this option will cause HotDocs to display error messages when you either assemble a HotDocs Model, or when you create a template from a HotDocs Model.

To find out more about setting options for HotDocs Markup follow the link below:

  • Allow Non-Standard Names in HotDocs Markup


Allow Non-Standard Names in HotDocs Markup

When marking up HotDocs Models, you must adhere to the HotDocs Markup rules when naming variables. For example, variable names can include letters, numbers, and underscores, but they cannot include spaces or other special characters.

Because of this requirement, you may receive errors either when you convert templates to models where spaces and non-alphanumeric characters are used in a variable name, or when you assemble a HotDocs Model that use this naming scheme. If your HotDocs Model contains these non-standard variable names, you can select a HotDocs Option that allows HotDocs to still convert or assemble a model, regardless of how you've named your variables.

To allow spaces and other non-alphanumeric characters in variable names

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the HotDocs Markups folder. The window changes to show options for working with HotDocs Markup.
  3. Clear Enforce HotDocs Markup naming standards.

Currently in HotDocs, template developers can include spaces and non-alphanumeric characters in variable names. In some future version, however, HotDocs may require users to follow a newer, more standard practice of naming variables that includes using only letters, numbers, and underscores.

See HotDocs Model Naming Standards for more details.


At a Glance: Form Documents (HotDocs Options)

After opening [image] HotDocs Options from the toolbar (or Tools menu) in your HotDocs Library you can choose from a list of option pages in the left hand pane A.

If you click on Form Documents you will see the Form Documents Options dialog box, from here you can set options to decide how new form documents appear and function.

This section of options B at the top of this dialog allow you to choose some of the main setting for new form documents. Using the three drop-down lists you can select the type of measurements used in the document, which color theme to use for HotDocs Automator; you can choose whether to automatically send PDF-based forms to Adobe Acrobat or HotDocs Filler.

The option to Send Assembled PDF-based forms to Adobe Acrobat does not work with .HFT templates as they are not PDF based. If you need to send the assembled form to Adobe Acrobat you should save your .HFT templates as .HPT templates before choosing this option.

The next section C allows you to set options on how the form document first appears upon opening. You can use the three check boxes to decide if you would like HotDocs to highlight fields, show variables, and/or show thumbnails. Using the drop-down list to the right you can also decide on the initial zoom level for the form.

In the next section D you can choose which warnings HotDocs can display when filling. You can have HotDocs warn when leaving a field that has overflowed, warn when typing in a restricted field, warn when overriding a field, and/or warn when attempting to create a field using the fill tool.

In the section below E you can set two options for printing form documents. You can tick the check box to have HotDocs remember the printer used for forms and you can choose from the drop-down list whether you use HotDocs, Adobe Acrobat, or HotDocs should Always Ask which program to use to print PDF-based forms.

In the last section F there are two check box options that allow you to set options for recovery in HotDocs Automator. Check the first box to have HotDocs create backup copies of the original templates and check the second box to have HotDocs maintain auto-recovery files while you are editing templates.

To find out more about setting options for Form Documents follow the links below:

  • Change the Units of Measurement for Forms
  • Change Colors in HotDocs Forms
  • Send Assembled PDF Documents to Adobe
  • Control How Forms Appear When Opened
  • Control Warnings During Assembly
  • Save Printer Information for Printing Forms
  • Specify How PDF-based Forms Should Be Printed
  • Protect Forms By Backing Them Up


Change the Units of Measurement for Forms

HotDocs Automator measures the fields you create to identify whether they should be treated as check-box fields or edit fields. In addition, the units of measurement affect the margins around all fields and the amount of space used by the header and footer sections of the addendum.

To change the units of measurement

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Form Documents folder. The right pane changes to show options for working with forms.
  3. Click the Show measurements in drop-down button and select Inches, Points, Centimeters, Picas, or Millimeters.


Change Colors in HotDocs Forms

You can change the colors for field backgrounds and borders in HotDocs Automator . Changes affect all forms edited or assembled using HotDocs. There are several custom color schemes from which you can choose.

To change colors

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Form Documents folder. The view changes to show general form options.
  3. Click the Color theme drop-down button and select a color scheme.

To change the colors used for text template fields, see Define Colors for Fields and Instructions.


Send Assembled PDF Documents to Adobe

You can select an option that allows you send an assembled PDF-based document to Adobe Acrobat. When this option is selected, you can click the [image] Send Document to Adobe Acrobat button and HotDocs will send the form document to Acrobat rather than HotDocs Filler. (If you want to view the assembled form document in Filler, you can still choose this option, too.)

To send assembled PDF-based documents to Adobe

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Form Documents folder. The right pane changes to show options for working with forms.
  3. Click Send assembled PDF-based forms to drop-down button and choose Adobe Acrobat.

To always send PDF-based forms to HotDocs Filler, click Send assembled PDF-based forms to and choose HotDocs Filler.


Control How Forms Appear When Opened

When you open a form in HotDocs Automator , different views of the form can be shown, such as fields, variable names in fields, and thumbnail views of form pages. You can control which views appear, as well as what level of magnification is used. These settings are used each time you open a form.

To control how forms appear when opened

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Form Documents folder. The right pane changes to show options for working with forms.
  3. In the On Open group, select options that control the view when you open a form, as described in the following table:
To | Do This
Display the colored fields | Select Highlight Fields.
Display the names of variables attached to each field | Click Show Variables.
Display thumbnail images of each page of the form | Click Show Thumbnails. The thumbnails appear in a separate pane in the window. You can click on the thumbnail images to move through the form.
Display forms at actual size. | Click Zoom and select 100%
Match form width to the left and right edges of the window | Click Zoom and select Fit to Width.
Matches form height to the top and bottom edges of the window | Click Zoom and select Fit to Height.

You can hide the fields, variables, and thumbnails by clearing these options.

To change the colors used for form fields, see Change Colors in HotDocs Forms.


Control Warnings During Assembly

When you assemble form documents, situations may arise where your answers may be altered. These situations include when answers overflow the field, or when field settings are different. HotDocs can warn you in such situations.

To control warnings that display during assembly

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Form Documents folder. The right pane changes to show several options for working with forms.
  3. In the While Filling group, make selections based on the following information:
    • Select Warn when leaving a field that overflows to display the Overflow Status dialog box when an answer needs more space than the field allows.
    • Select Warn when typing in a restricted field to display the Restricted Field dialog box when you type in a field that can't be answered until other fields have valid answers.
    • Select Warn when overriding a field to display the Override Field dialog box when you choose to override a field.
    • Select Warn when attempting to create a field using the Fill tool to display a message explaining how to create a field when viewing the Form Document tab of the assembly window.

You can choose to have no warnings appear by clearing these options. This will not automatically resolve answer overflow or allow you to type answers in inactive fields. It only means no warnings will be displayed during the interview or direct-fill. When you attempt to save or print the document, you must resolve the overflow.


Save Printer Information for Printing Forms

Forms may need to be printed using a specific printer. You can have HotDocs remember which printer you use to print form documents, saving you the task of manually selecting the printer each time, especially when the printer you use for forms is different than your default printer.

To save information about the printer you use to print forms

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Form Documents folder. The right pane changes to show several options for working with forms.
  3. From the Printing group, select Remember the printer used for forms.
  4. Print a form document, selecting the printer you want to associate with forms.

You can have HotDocs not remember printer information by clearing this option. This means HotDocs will suggest the default printer you have selected for all printing.


Specify How PDF-based Forms Should Be Printed

When you print an assembled PDF-based form document, you can choose the program that controls the printing process—either HotDocs or Adobe Acrobat.

To specify how PDF-based form documents should always be printed

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Double-click the Form Documents folder. The folder expands to show several sub-folders, and the right pane changes to show several options for working with forms.
  3. At the Print PDF-based forms using drop-down list, do one of the following:
    • Select Always Ask to have HotDocs prompt you for your choice each time you print a PDF form.
    • Select HotDocs to always print the assembled document using HotDocs' printing technology.
    • Select Adobe Acrobat to always print the document using Adobe's printing technology.

Click here for tips on which printing option you should choose.


Protect Forms By Backing Them Up

In HotDocs Automator, you can choose safety precautions to protect your work from system failure.

To protect your work from system failure

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Form Documents folder. The right pane changes to show several options for working with forms.
  3. From the Recovery (HotDocs Automator only) group, make selections based on the following information:
    • Select Create backup copies of original templates to have HotDocs create a backup file when you open a form for editing in HotDocs Automator. If ever you need to revert to the file as it was when you created it, you can open the backup file and save it using the original file name.
    • Select Maintain auto-recovery files while editing templates to have Automator create a log file that lists all changes made directly in the form. If there is a system failure while you are working, the next time you open the file, it will use the log file to reapply all changes made to the form, so you won't lose any work. (The log file, however, doesn't back up the component file.)

Backup files are created in the same folder as the original file. If the folder is write-protected, the backup file is created in the temporary folder defined by your TMP or TEMP system variable. The backup file has the same name as the original file but with the extension ~FT, or ~PT. (If, for some reason, the backup file can't be created with that name, it will have a number instead of the F or P in the extension—for example, ~2T.) Each time you open the original file, its current content will be saved to the backup file, overwriting the previous content.


At a Glance: Properties for New Fields (HotDocs Options)

After opening [image] HotDocs Options from the toolbar (or Tools menu) in your HotDocs Library you can choose from a list of option pages in the left hand pane A.

If you double click on Form Documents you will see a list open below containing a file for setting the options for the Properties for New Fields and the Properties for New Forms. Click on Properties for New Fields to bring up the Properties for New Fields dialog box.

There are two main sections on this dialog. The top section B allows you to set options for new edit fields. You can set the horizontal and vertical alignment of text within the field by selecting from the two drop-down menus on the left side of this section. Below this there are three further options for the field alignment and format. Check the first box to have HotDocs automatically set the vertical alignment to Top for multi-line fields, you can then set how many lines per inch you would like to type in the multi-line fields and check the box below to keep the maximum number of lines to 1 for single line fields. To the right of these options you can set the size of the border between the edge of the field and the text by entering measurements into the four fields. At the top right of this section you can set the font for new edit fields by clicking the Font button.

The second section in this dialog C allows you to set options for new check box fields. In the first number field you can set the field size below which HotDocs will automatically turn the field into a check box. Then you can choose what character HotDocs uses to check the field by typing it into the Character field and the minimum size that character can be. Below these options you can set the horizontal and vertical alignment of character within the field by selecting from the two drop-down menus. To the right of these options you can set the size of the border between the edge of the field and the text by entering measurements into the four fields. At the top right of this section you can set the font for new edit fields by clicking the Font button.

To find out more about setting options for New Fields follow the links below:

  • Set Properties for New Edit Fields
  • Set Properties for New check box Fields


Set Properties for New Edit Fields

You can specify the default properties that will be used each time you create an edit field in a HotDocs form. You can control font sizes, text alignment and spacing, and field margins.

To set the properties for all new edit fields

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Double-click the Form Documents folder. The folder expands to show several subfolders.
  3. Open the Properties for New Fields folder. The window changes to show options that control how edit fields appear.
  4. Make changes in the Edit Fields group, based on information in the following table:
To | Do This
Set font properties for text in edit fields | Click Font and make your changes at the Font dialog box.
Set the horizontal alignment for text in edit fields | At the Horizontal alignment drop-down list, select Left, Right, Center, or Justified.
Set the vertical alignment for text in edit fields | At the Vertical alignment drop-down list, select Left, Right, Center, or Justified. Vertical alignment is only apparent in multiple-line fields.
Align the text in multi-line fields with the top border of the field | Select Set to Top for multi-line fields.
Change the distance between lines of text in a multiple-line field | At the Lines per inch field, type a number (or click the up or down arrows to select a number).
Keep the user from manually entering multiple lines of text in a single-line answer field | Select Max lines 1 for single-line fields.
Changes the distance between the text and the edges of the field | At the Margins group, type a number (or click the up or down arrows to select a number) for the left, right, top, and bottom margins.

The changes you make are not applied to existing fields. The changes won't take effect until you create a new field. To change the appearance of existing edit fields, right-click on a field in the form and select Field Properties from the shortcut menu.

Some changes you make to these edit field properties may not affect specific fields because of settings assigned to these fields. For example, if the Max Lines setting for a field is set to 1, the Lines per inch property will have no effect—this property only affects multiple lines of text, but the Max lines setting limits the field to one line of text.


Set Properties for New check box Fields

When you create a field in a form template or document, HotDocs checks the size to see if it should be a check-box field. You can adjust the measurement that is used to distinguish check-box fields from edit fields. If a new field is identified as an edit field, HotDocs assigns standard formatting to the field that controls how answers appear in the field. You can also assign other default properties of a check-box field, such as assign the character that will be used when a field is selected, as well as set the alignment and margins of a field.

To set the properties for all new check box fields

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Double-click the Form Documents folder. The folder expands to show several subfolders.
  3. Click the Properties for New Fields folder. The window changes to show field detection options that affect what kind of fields are created.
  4. Make changes in the check box Fields group, based on information in the following table:
To | Do This
Set font properties for text in check box fields | Click the Font button, then make changes at the Font dialog box.
Sets the minimum size for edit fields so that all fields created smaller than this size will be created as check-box fields. | Enter a number in the Check-box detection threshold box. If you specify 0.00 as the value of this box, no new fields will be created as check-box fields.
Specify the character that will be inserted in a check box | Enter the character in the Character field.
Specify the smallest size that will be used for the check box character | Enter a font size in the Minimum size field.
Set the horizontal alignment for text in check-box fields | At the Horizontal alignment drop-down list, select Left, Right, Center, or Justified.
Set the vertical alignment for text in check-box fields | At the Vertical alignment drop-down list, select Left, Right, Center, or Justified.
Change the distance between the check box character and the edges of the field | At the Margins group, type a number (or click the up or down arrows to select a number) for the left, right, top, and bottom margins.

The changes you make are not applied to existing fields. The changes won't take effect until you create a new field. To change the appearance of existing check box fields, right-click on a field in the form and select Properties from the shortcut menu.


At a Glance: Overflow Properties (HotDocs Options)

After opening [image] HotDocs Options from the toolbar (or Tools menu) in your HotDocs Library you can choose from a list of option pages in the left hand pane A.

If you double click on Form Documents you will see a list open below containing a file for setting the options for the Properties for New Fields and the Properties for New Forms. Double click on Properties for New Fields to see Overflow Properties appear in a list item below. Click on Overflow Properties to bring up the Overflow Properties Options dialog box.

The top set of options B allow you to decide what will happen when a field overflows. You can choose to have HotDocs shrink the answer to the font size of your choosing (you can change this by entering a number into the points field), send the answer to an addendum sheet, and/or spilt multi-line answers between the form field and the addendum.

The next set of check boxes C allows you to choose what HotDocs will do when sending answers from a table to the addendum. If the table overflows, you can choose to send the entire table to the addendum, send complete overflow rows to the addendum, or send individual overflow cells to the addendum.

The last set of options on this dialog D allows you to set options for the Addendum entries. In the first text field you can enter the text you would like HotDocs to place on the form as a cross reference to overflow answers in the addendum. In the second text field you can enter the label you would like to appear in the addendum before an entry and in the number field below you can choose how much space you would like between the label and the entry.

To find out more about setting options for Overflow Properties follow the links below:

  • Set Rules for Handling Answer Overflow
  • Specify Addendum References and Labels for Answer Overflow


Set Rules for Handling Answer Overflow

An answer overflows when it takes more space than is available in the answer field of a form document. This often requires that some or all of the answer be sent to the addendum. You can set rules that automatically control what happens when answers overflow.

To control what happens when answers overflow

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Double-click the Form Documents folder. The folder expands to show several subfolders.
  3. Open the Properties for New Fields folder, then select the Overflow Properties subfolder. The window changes to show options that control answer overflow.
  4. Make selections for handling edit field overflow, based on the following options:
    • Select Shrink answer as needed to and then enter the point size in the points field. HotDocs will attempt to reduce the answer to this font size before warning of overflow.
    • Select Send answer to addendum to have HotDocs automatically resolve all overflow by sending answers to the addendum.
    • Select Split multi-line answer between form field and addendum to have HotDocs send only the part of the answer that overflows in a multi-line field to the addendum.
  5. Make selections for handling table overflow, based on the following options:
    • Select Send entire table to send all answers in the table to the addendum.
    • Select Send complete rows to send answers from each row that contains a cell which overflows to the addendum.
    • Select Send individual cells to send answers from individual cells that overflow to the addendum.

The changes you make are not applied to existing fields. The changes won't take effect until you create a new field.

You can customize the reference that appears in the overflowed answer field. This can help you determine where the answer is located in the addendum. (See Specify Addendum References and Labels for Answer Overflow.)

You can remove the rules that automatically handle answer overflow by clearing these options. This will require you to manually resolve each instance of answer overflow.


Specify Addendum References and Labels for Answer Overflow

In a form document, when an answer overflows its answer field, the entire answer can be sent to an addendum. When this happens, HotDocs inserts text into the answer field, cross referencing you to the addendum for the full answer. You can specify what text is used in creating the cross reference as well as specify the text that identifies the answer once it has been sent to the addendum.

To control what information appears in overflow references and in the addendum

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Double-click the Form Documents folder. The folder expands to show several subfolders.
  3. Open the Properties for New Fields folder, then select the Overflow Properties subfolder. The window changes to show options that control answer overflow.
  4. In the Cross-reference text field, enter the cross-reference text you want to merge in the field if the answer overflows. (See Use Answer Overflow and Addendum Text Codes.)
  5. In the Addendum label text field, enter the text you want to appear as the label for the entry in the addendum.
  6. At the Table answer column indent field, enter a number (or click the up or down arrows to select a number) to control the distance between the label for that specific entry in the list of answers and the actual answer.

The changes you make are not applied to existing fields. The changes won't take effect until you create a new field.

If you leave the Cross-reference text field empty, HotDocs uses a default reference, See # in Addendum.


At a Glance: Properties for New Forms (HotDocs Options)

After opening [image] HotDocs Options from the toolbar (or Tools menu) in your HotDocs Library you can choose from a list of option pages in the left hand pane A.

If you double click on Form Documents you will see a list open below containing a file for setting the options for the Properties for New Fields and the Properties for New Forms. Click on Properties for New Forms to bring up the Properties for New Forms dialog box.

At the top of this dialog is a check box B that allows you to choose if you would like HotDocs to generate a default interview from form fields.

Below that are three drop-down menus C that allow you to set the printing options for new forms. Using the first drop-down list you can choose to print Single-sided, Double-sided, side to side or Double-sided, top to bottom. In the middle drop-down list you can select a default paper size from a long list of options and in the last drop-down list you can choose a default paper source from a list of options.

To find out more about setting options for New Forms follow the links below:

  • Automatically Generate Default Interviews for Form Templates
  • Set Paper Size and Paper Source Defaults for Printing Forms


Automatically Generate Default Interviews for Form Templates

By default, when you create a new form template, the only option for assembling it is by entering your answers directly in the fields on the form. You can, however, specify an option that causes HotDocs to generate a default interview for the template, based on variables used in the template. If variables are grouped in custom dialogs, HotDocs will display the dialog instead. (This is how interviews are created for text templates.)

To have HotDocs always create default interviews for all new form templates

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Double-click the Form Documents folder. The folder expands to show several subfolders.
  3. Click the Properties for New Forms folder.
  4. Select Generate default interview from form fields.

The changes you make are not applied to existing templates. The changes won't take effect until you create a new template.

You can generate default interviews on a template-by-template basis (see Have HotDocs Generate a Default Interview), or even create custom interviews for your form templates (see Define a Custom Interview).

You can prevent users from using the interview outline by clearing this option. This will force users to directly fill the document at the Form Document tab.


Set Paper Size and Paper Source Defaults for Printing Forms

You can specify the paper size and paper source to be used when forms are printed.

To set paper size and paper source properties for a form

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Double-click the Form Documents folder. The folder expands to show several subfolders.
  3. Click the Properties for New Forms folder. The window changes to show options that control the properties of newly created forms.
  4. At the Sides drop-down list, select one of the available options:
    • Choose Single-sided to print the form on one side of the paper.
    • Choose Double-sided, side-to-side to print the form on both sides of the paper, so consecutive pages read like a book.
    • Choose Double-sided, top-to-bottom to print the form on both sides of the paper, so consecutive pages read like a flip-chart.
  5. At the Paper Size drop-down list, select one of the available options.
  6. At the Paper Source drop-down list, select one of the available options.

Paper size and source settings are recommendations that will be passed on to the printer if possible. If printing via acrobat then paper size, paper source and duplex options will revert to your defaults.

The changes you make are not applied to existing templates. The changes won't take effect until you create a new template.

You can use command-line options to specify these printing properties. See the Paper Tray and Paper Size command-line options.


At a Glance: Addendum Properties (HotDocs Options)

After opening [image] HotDocs Options from the toolbar (or Tools menu) in your HotDocs Library you can choose from a list of option pages in the left hand pane A.

If you double click on Form Documents you will see a list open below containing a file for setting the options for the Properties for New Fields and the Properties for New Forms. Double click on Properties for New Forms to see Addendum Properties appear in a list item below. Click on Addendum Properties to bring up the Addendum Properties Options dialog box.

There are four sections of options you can set here to change how the generated addendum appears. At the top of the dialog B you can set the width of the page margins in the four number fields; Left, Right, Top and Bottom.

The next set of options C control how the addendum header will appear. In the large text field you can enter the text you would like to appear as the addendum header. Leave the field blank if you do not want a header. Below that there are three more options for the addendum header. You can select the font you would like the header to use by clicking the Font... button, you can select the height of the header by entering a number in the Height field and you can choose the alignment of the text from the Alignment drop-down list. You can choose from Left, Center, Right or Justified.

Below the header options are a set of options that control the appearance of the addendum footer D. These are identical to the options for the addendum header but they control the text at the bottom of every page of the addendum. If you do not want a footer you can leave the text field blank.

The last set of options E on this dialog control the look of the addendum entries. You can choose the font you would like to use by clicking the Font... button, you can choose how much of an indent you would like between the label and the entry by entering a measurement in the central number field, and you can choose how much space you would like between sets of entries by entering a measurement in the right hand number field. Below these options there is a check box so you can decide if you would like to number the lines of entries to format the addendum as pleading paper.

To find out more about setting options for Addendum Properties follow the link below:

  • Customize the Appearance of Addenda


Customize the Appearance of Addenda

You can format the form addendum to fit your project requirements.

To change the addendum's appearance

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Double-click the Form Documents folder. The folder expands to show several subfolders.
  3. Double-click the Properties for New Forms folder, then select the Addendum Properties subfolder. The window changes to show options that control the format of the addendum.
  4. In the Page Margins group, enter margin widths (or click the up or down arrows to select a number). These numbers control the spacing between the answer text and the edges of the field.
  5. In the Header Properties and Footer Properties groups, specify the header or footer text you want to appear in the addendum:
    • At the Header text or Footer text field, type the text you want displayed in the addendum header or footer. (See Use Answer Overflow and Addendum Text Codes.)
    • At the Height field, type a number (or click the up or down arrows to select a number). This number controls the vertical height of the header section.
    • Click Font to display the Font dialog box, where you can change font properties of the header text.
    • At the Alignment drop-down list, select one of the available options: Left, Center, Right, or Justified.
  6. In the Addendum Entries group, make the following changes:
    • To change the font properties of the addendum entries, click Font to display the Font dialog box.
    • To control the distance between the label and the actual answer, enter a number (or click the up or down arrows to select a number) in the Indent field.
    • To control the distance between answer tables in the addendum, enter a number (or click the up or down arrows to select a number) in the Spacing field.
  7. Select Number lines to format as pleading paper to place lines on the right and left side of the addendum, with numbers along the entire left edge.

The changes you make are not applied to existing forms. The changes won't take effect until you create a new template.


At a Glance: Question and Answer Summaries (HotDocs Options)

After opening [image] HotDocs Options from the toolbar (or Tools menu) in your HotDocs Library you can choose from a list of option pages in the left hand pane A.

If you click on Question and Answer Summaries you will see the Question and Answer Summaries Options dialog box, from here you can set options to decide how question and answer summaries are asked and displayed.

In the first section of options B you can choose the format for Question and Answer Summaries in a drop-down list. If you select One Column Format then the next section of options C becomes available and the third section D is grayed out. If you select Two Column Format the second section C will be grayed out and the third section D will become available. The other option in the first section B allows you to decide the maximum number of multiple choice options that will be displayed.

If you have chosen One Column Format in the first section B of the options then the four check boxes C allow you to further customize the look of the summaries. Here you can choose to indent the prompts displayed under dialog titles, precede the prompts with a bullet point, indent answers under prompts and precede answers with a bullet point.

If you have chosen Two Column Format in the first section B of the options then the drop-down list and number field D allow you set more options for your summaries. In the drop-down list you can choose how you would like the column borders to look. The choices are None, Plain or Sculptured. In the number field you can set the percentage of column width you would like taken up by the prompt.

The last option on the dialog E is a check box that allows you to decide whether you would like HotDocs to honor IF instructions in question summaries when they're answered.

To find out more about setting options for Question and Answer Summaries follow the links below:

  • Change the Way Question and Answer Summaries Appear
  • Control Which Variables are Asked in a Question Summary


Change the Way Question and Answer Summaries Appear

In question and answer summaries, you can specify a one-column or a two-column format:

  • The one-column format displays a simple list of variable prompts and answers (if you're generating an answer summary) or empty answer fields (if you're generating a question summary). Prompts and answers are grouped by dialogs. To make these summaries easier to read, you can indent these lists or use bullets.
  • The two-column format displays a list of variable prompts in one column and their associated answers (if you're generating an answer summary) or empty answer fields (if you're generating a question summary) in a second column. Prompts and answers are grouped by dialogs. You can control the appearance of these columns by specifying borders and choosing the width of the column that contains the prompt.

To format question or answer summaries

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Question and Answer Summaries folder. The right pane changes to show the summary options.
  3. If you want the summary to appear in one-column format, click the Format drop-down button, choose One-Column, and select from the following options:
    • Select Indent prompts under dialog titles to include a tab between the column's margin and the prompt. Selecting this option makes the dialog titles and variable prompts appear hierarchical.
    • Select Precede prompts with bullet to insert a bullet character next to each prompt.
    • Select Indent answers under prompts to include a tab between the column's margin and the answer. Selecting this option makes the prompts and the answers appear hierarchical.
    • Select Precede answers with bullet to insert a bullet character next to each answer.
  4. If you want the summary to appear in two-column format, click the Format drop-down button, choose Two-Column, and select from the following options:
    • Select a border style from the Borders drop-down list. Your options include None, Plain, and Sculptured.
    • Specify a percentage in the Percent of width taken by prompt field. This percentage determines how much of the viewable window is used to display the prompt. You can change this number by clicking the up or down arrows, or by typing a number directly in the field.
  5. Optionally, change the number in the Maximum multiple-choice options to display field to control the number of multiple-choice options that appear in a question or answer summary.


Control Which Variables are Asked in a Question Summary

Typically question summaries include all questions in a template. However, some questions may not be asked unless certain conditions are met or certain answers are entered. These kinds of questions are called conditional variables. You can limit question summaries so they show only the questions that are applicable, based on certain answers you provide.

An example of a conditional variable might be the section of an employee agreement template that deals with employee benefits. Questions relating to employee benefits are asked only if the employee qualifies for benefits. If you assemble a question summary for an employee who does not meet the conditions, the benefits questions should not appear in the summary.

To control conditional variables in a question summary

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Question and Answer Summaries folder. The window changes to show several summary options.
  3. In the Question Summaries group, select Honor IF instructions when answered.

This setting will take effect when you assemble a document, answer the conditional variables, and then view the question summary.

To once again generate a question summary that shows all the document questions, clear Honor IF instructions when answered.


At a Glance: Personal Information (HotDocs Options)

After opening [image] HotDocs Options from the toolbar (or Tools menu) in your HotDocs Library you can choose from a list of option pages in the left hand pane A.

If you click on Personal Information you will see the Personal Information Options dialog box, from here you can enter details that HotDocs will save as personal information that can be used in the script editor and in templates as Personal Information Variables.

The large field B on this dialog contains a list of Personal Information variables and their answers. Using the buttons below C you can Edit existing Personal Information variables, Add new ones and Delete Personal Information variables that are no longer useful.

To find out more about setting options for Personal Information follow the links below:

  • Create Personal Information Variables
  • At a Glance: The Add/Edit Personal Information Dialog Box
  • Edit Answers for Built-In Personal Information Variables


At a Glance: The Add/Edit Personal Information Dialog Box

After opening [image] HotDocs Options from the toolbar (or Tools menu) in your HotDocs Library you can choose from a list of option pages. If you click on Personal Information you will see the Personal Information Options dialog box, from here you can see the details that HotDocs has saved as personal information that can be used in the script editor and in templates as Personal Information Variables. Click the Add button, or click on any one of these items and then click the Edit button, to display the Add/Edit Personal Information Dialog Box.

In the first field A you can enter the name of the Personal Information variable you are creating or editing and in the second field B you can enter the answer you want assigned to the Personal Information variable. This answer is stored in the system registry. Once given, you will not be prompted to enter it again.

To find out more about editing Personal Information follow the links below:

  • Edit Answers for Built-In Personal Information Variables


Create Personal Information Variables

Personal Information variables gather basic information, such as your name, company, and phone number. This information is stored in the Current User section of the system registry so it can be used in assembled documents without you having to re-enter it.

You can create your own Personal Information variables for use in templates you automate. (See Insert a Personal Information Variable for details on how to do this.) You can also remove any custom Personal Information variables you create.

To create a new Personal Information variable

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Personal Information folder. The right pane changes to show several Personal Information variables.
  3. With the contents of the Personal Information folder displayed, click Add. The Add Personal Information dialog box appears.
  4. Type the name of the variable in the Variable field.
  5. If you know the value you want assigned to the variable, type it in the Answer field and click OK.

To remove custom Personal Information variable you have created, select the variable and click Delete. Click Yes to confirm the deletion.


Edit Answers for Built-In Personal Information Variables

Personal Information variables gather basic information, such as your name, company, and phone number. This information is stored in the Current User section of the system registry so it can be used in assembled documents without you having to re-enter it.

When you assemble a document using a template that has Personal Information variables, HotDocs asks for any personal information required by the template that you haven’t already entered. If you want to specify this information before document assembly, however, or if you want to change existing answers, you can do this at the HotDocs Options dialog box.

Because built-in variables are shared between all users of your workstation, you cannot delete the variable. You can, however, remove any personal information that has been entered for it.

To edit answers for Personal Information variables

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Personal Information folder. The right pane changes to show several Personal Information variables.
  3. Select the variable you want to modify and click Edit. The Edit Personal Information dialog box appears.
  4. Enter an answer in the Answer field and click OK. The value is now listed in the Answer column.

To remove an answer for a Personal Information variable, select the variable that contains the answer and click Delete. Click Yes to confirm the deletion.


At a Glance: Spell Checking (HotDocs Options)

After opening [image] HotDocs Options from the toolbar (or Tools menu) in your HotDocs Library you can choose from a list of option pages in the left hand pane A.

If you click on Spell Checking you will see the Spell Checking Options dialog box, from here you can set the options for spell checking in HotDocs and specify your user dictionary.

There are 12 check boxes B on this dialog to set the spell checking options in HotDocs. You can choose to check or uncheck any of the following:

  • Spell check will ignore capitalized words
  • Spell check will ignore words in all capitals
  • Spell check will ignore words with mixed upper and lower case letters
  • Spell check will ignore words with digits
  • Spell check will match the case of the unrecognized word when comparing
  • Spell check will match the case of the unrecognized word when replacing
  • Spell check will always suggest replacement words
  • Spell check will make phonetic suggestions for unrecognized words
  • Spell check will make typographical suggestions for unrecognized words
  • Spell check will make split word suggestions for unrecognized words
  • Spell check will only check multiple-line text
  • Spell check will use the UK spelling dictionary

Below the check box options you can choose to change your default User Dictionary C. Using the [image] Browse button to the right of the field you can navigate to a different dictionary file on your computer.

To find out more about setting options for Spell checking follow the link below:

  • Change Your Spell Checking Options


Change Your Spell Checking Options

HotDocs can spell check text used in component files as well as answers entered during an interview.

As HotDocs spell checks, it looks at the spell checking settings stored in the HotDocs section of the system registry to determine what words the spell checker looks at and how it decides on words to suggest as possible alternatives to words not in the dictionary. You can change these settings.

To change your spell checking options

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Spell Checking folder. The contents of the window change to show your spell checking options.
  3. Select appropriate options, as described in the following table:
To | Do This
Cause HotDocs to ignore capitalized words, such as names, cities, titles, and so on | Select Ignore capitalized words (e.g. Canada).
Cause HotDocs to ignore words that contain all capital letters, such as acronyms or abbreviations | Select Ignore words in all capitals (e.g. ASAP).
Cause HotDocs to ignore words that contain both uppercase and lowercase letters | Select Ignore words with mixed case (e.g. InLine).
Cause HotDocs to ignore words that also contain digits | Select Ignore words with digits (e.g. Win95).
Cause the replacement words HotDocs suggests to match the case of the misspelled word | Select Match case when comparing.
Cause HotDocs to match the case of misspelled words when replacing them | Select Match case when replacing.
Cause HotDocs to provide a list of possible replacements for misspelled words | Select Always suggest replacements.
Cause HotDocs to provide a list of possible replacements based on words that sound like the misspelled word | Select Make phonetic suggestions.
Cause HotDocs to provide a list of possible replacements based on words that are typographically similar | Select Make typographical suggestions.
Cause HotDocs to provide a list of possible replacements that are made up of more than one word | Select Make split word suggestions.
Cause HotDocs to check the spelling only if the text is more than 1 line | Select Check multiple-line text only.
Cause HotDocs to use the British spelling dictionary rather than the English dictionary | Select Use UK spelling dictionary.

When a word is not in the spelling checker’s dictionary, HotDocs checks for it in your personal dictionary, Personal Dictionary.TLX. If it is not found there, you can add it by clicking Add at the Check Spelling dialog box.

You can change these settings whenever you are spell checking. To do this, click Options at the Check Spelling dialog box.


At a Glance: Template Development (HotDocs Options)

After opening [image] HotDocs Options from the toolbar (or Tools menu) in your HotDocs Library you can choose from a list of option pages in the left hand pane A.

If you click on Template Development you will see the Template Development Options dialog box, from here you can set the default options for new templates and decide which warning messages you would like displayed.

The first set of options B focus on settings used while developing a template. From here you can choose to have HotDocs auto complete component names while typing and to always automatically generate the name when a dialog element is created. There are two drop-down lists where you can choose what style of component icons you would like displayed in the component lists and whether HotDocs should insert returns after instructions in text template.

The second set of options C focus on settings for component file properties for new templates. Using the three check boxes you can choose whether HotDocs marks answers in assembled documents, allows you to edit answers at the document preview tab and whether the component file will be automatically enabled for use with HotDocs Server.

The third set of options D allows you to choose which warning messages HotDocs will display. You can choose to have HotDocs warn before automatically converting a template, when you are editing a pointed component file, when variables are automatically removed from dialogs and when the component editor is closed via the title bar.

To find out more about setting options for Template Development follow the links below:

  • Have HotDocs Automatically Complete Component Names
  • Have HotDocs Automatically Generate Dialog Element Component Names
  • Choose Icon Style for Component Lists
  • Control When Returns Are Inserted After Instructions in Text Templates
  • Enable Document Editing Options for All New Templates
  • Enable All New Templates for Use with HotDocs Server
  • Display HotDocs Warning Messages


Have HotDocs Automatically Complete Component Names

You can have HotDocs suggest existing component names as you type. HotDocs can also suggest example formats and text patterns.

To turn on Auto Complete in Component Editors

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Template Development folder. The window changes to show several different template development options.
  3. Select Auto complete while typing component names.


Have HotDocs Automatically Generate Dialog Element Component Names

When creating dialog elements, you can have HotDocs automatically name the component for you, based on information about the type of element you are creating. Specifically, HotDocs includes in the name the type of element you are creating, followed by any additional information you enter about the element, such as the display text or caption. For example, if you are creating a Script Link element that links to a Computation variable named Tax Calculator, HotDocs will name the component Script Link Tax Calculator.

When you select this option, the Generate name automatically property will be set at the Dialog Element Editor for each new dialog element you create.

To auto-generate dialog element component names

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Template Development folder. The window changes to show several different template development options.
  3. Select Always generate name automatically when dialog element created.


Choose Icon Style for Component Lists

When HotDocs displays lists of components, it uses an icon, followed by the name of the component. You can change the icon to show either a symbol of the component, or an abbreviation for the type of component it is. For example:

Displays all components with a short text abbreviation representing the component type. For example, this icon represents a Text variable.
Displays all components with a graphic image representing the component type. For example, this icon represents a Text variable.

To change the component icon style

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Template Development folder. The window changes to show several different template development options.
  3. At the Component type icons in component lists drop-down list, select either Graphic or Text.


Control When Returns Are Inserted After Instructions in Text Templates

By default, when inserting instructions in a template, HotDocs inserts a return after the instruction. Then, as the instruction is processed and removed from the assembled document during assembly, HotDocs removes the return it inserted as well.

One reason why HotDocs includes these returns after instructions is to make it easier to view template text in relation to the instructions, particularly when the instruction controls the appearance of an entire paragraph of text.

In this example, returns are inserted after the instruction. This keeps instructions on their own lines and makes it easier to view how the instructions relate to the text.

SHIPPED TO

«IF Different Shipping Address»

«Shipping Name»

«Shipping Street»

«Shipping City», «Shipping State» «Shipping ZIP»

«ELSE»

«Billing Name»

«Billing Street»

«Billing City», «Billing State» «Billing ZIP»

«END IF»

In this example, returns are not included after each instruction. This makes it more difficult to see the conditions in relation to the text.

SHIPPED TO

«IF Different Shipping Address»«Shipping Name»

«Shipping Street»

«Shipping City», «Shipping State» «Shipping ZIP»

«ELSE»«Billing Name»

«Billing Street»

«Billing City», «Billing State» «Billing ZIP»«END IF»

In some situations, however, having this return in the template text may actually make the text more difficult to read, for instance, because the instructions control the appearance of text within a paragraph and not the paragraph as a whole.

In this example, the returns after the instructions force text within a paragraph to a new line. This may be confusing to understand.

Health insurance is provided as one of the benefits of your employment with Hobble Creek Publishing. The insurance policy is through TLC Insurance and will cover you, your spouse, and any minor children. Your insurance coverage will begin «IF DAY OF( Hire Date ) = 1»

«Hire Date»«ELSE»

«Coverage Start Date»«END IF»

.

In this example, the returns after the instructions are omitted, allowing all of the text to remain in the same paragraph.

Health insurance is provided as one of the benefits of your employment with Hobble Creek Publishing. The insurance policy is through TLC Insurance and will cover you, your spouse, and any minor children. Your insurance coverage will begin «IF DAY OF( Hire Date ) = 1»«Hire Date»«ELSE»«Coverage Start Date»«END IF».

In most cases, you most likely want returns inserted when merging an entire paragraph, and you want returns omitted when inserting just short blocks of inline text. Whatever your preference, you can choose an option that best suits your needs.

To determine whether (and when) HotDocs inserts returns after instructions

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Template Development folder. The window changes to show several template development options.
  3. Click the Insert returns after instructions in text templates drop-down button and choose an option, based on the following information:
    • Choose Always to have HotDocs always insert a return character after an instruction. (Remember, HotDocs will remove the return during assembly.)
    • Choose Smart to have HotDocs determine whether it should insert a return character or not. It determines how to insert these returns based on surrounding characters (such as paragraph breaks) in the text. (See Understand How Smart Returns are Inserted After Instructions for a complete description.)
    • Choose Never to have HotDocs never insert a return character after an instruction.

WordPerfect 8 and WordPerfect 9 users: Because of some problems with underlying text selection when inserting instructions in a template, you should set Insert returns after instructions in text templates to Always. Selecting Smart or Never will cause errors during assembly.


Enable Document Editing Options for All New Templates

Document editing options are currently available for Microsoft Word users only.

Often, as users are reviewing their assembled documents, they may need to see exactly where their answers have been merged. Sometimes they may need to edit or change those answers as well. To allow this functionality for your users, you must specify the component file property for each of the templates in your set. Rather than set it in each template individually, you can specify an option that will set this property in each new template you create.

Specifically, these options allow the user to highlight where answers in the document have been merged, and edit the answer while at the Document Preview tab.

For more information on working with the assembled document, see Edit Answers at the Document Preview Tab.

To set the component file properties for editing text documents

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Template Development folder. The window changes to show several different template development options.
  3. In the Component File Properties for New Templates group, select Mark answers in assembled documents.
  4. Optionally, select Enable Edit Answer at Document Preview tab.

Now, in each new template you create, these component file properties will be set.

To set the properties for existing templates, change them at the Component File Properties dialog box (see Change Component File Properties) or change the properties in multiple templates at once using Template Manager (see Modify Component File Properties Across Multiple Files).


Enable All New Templates for Use with HotDocs Server

When creating templates for use with HotDocs Server, some features (such as clause libraries and database components) are not allowed. You can have HotDocs warn you of this when you are creating templates and you attempt to use such a feature.

Additionally, when templates are enabled for HotDocs Server, you can test assemble the template in a Web browser as well as publish the files required for the template to reside on the server.

To allow all new templates you create to be used with HotDocs Server

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Template Development folder. The window changes to show several different template development options.
  3. In the Component File Properties for New Templates group, select Enable for use with HotDocs Server.

Now, in each new template you create, this component file property will be set. To set the properties for existing templates, change them at the Component File Properties dialog box (see Change Component File Properties). Or change the properties in multiple templates at once using Template Manager (see Modify Component File Properties Across Multiple Files).

If you don't want every template you create to be enabled for server-based assembly, you can set this option on a per-template basis by changing the specific template's component file properties. (See Change Component File Properties.)


Display HotDocs Warning Messages

Sometimes HotDocs warns you when it is about to perform an operation that could impact the work you are doing. When HotDocs displays these warnings, it gives you the option of suppressing the warnings the next time you perform a similar operation. You can have HotDocs re-display these warnings after you have suppressed them.

To cause HotDocs to display warnings

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Template Development folder. The window changes to show several different template development options.
  3. In the Warning Messages group, make your selection, based on the following information:
    • To have HotDocs warn you when it is about to convert a template to the current version of HotDocs, select Warn before automatically converting templates. (See Compatibility of HotDocs 11 Files with Earlier Versions of HotDocs and Convert a Single Template to a New File Format.)
    • To have HotDocs warn you when you edit a template that is using a shared component file, select Warn when editing pointed component files.
    • To have HotDocs warn you when you are moving a variable from one dialog to another, select Warn when variables automatically removed from dialogs. (See Use the Same Variable or Clause in Two or More Dialogs.)
    • To have HotDocs remind you that changes are saved when you close a Component Editor using buttons in the title bar, select Warn when component editors closed via title bar.

Now, when HotDocs performs related actions, it will display the associated warning.


At a Glance: Script Editor (HotDocs Options)

After opening [image] HotDocs Options from the toolbar (or Tools menu) in your HotDocs Library you can choose from a list of option pages in the left hand pane A.

If you double click on Template Development you will see a list open below containing a file for setting the options for the Script Editor and the Template Manager. Click on Script Editor to bring up the Script Editor Options dialog box.

The first section of options B contains four settings for the script editor. The three check boxes allow you to choose if HotDocs will automatically indent script, include less common keywords in the auto-complete list and allow the tab key to insert a tab in scripts. In the field below this you can enter a number for how many characters wide tab will be when used in the script editor (it must be between 1 and 15).

In the second section C you can decide whether or not you want syntax coloring in the script editor by checking or unchecking the box. You can then use the list below to set colors and styles for each type.

In the third section D you can select a font and font size for the text in the script editor.

As the text in the script editor will only be seen by the template developer the choices of font and colors are available to help make the editor easier to use rather than for any aesthetic qualities on the final template.

To find out more about setting options for Script Editor follow the link below:

  • Change Script Editing Options


Change Script Editing Options

You can control the formatting HotDocs uses when you write scripts. For example, you can designate the font size of the text used in the script editor, as well as associate colors with certain types of script keywords, placeholders, components, or operators.

To change the options available for writing scripts

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Double-click the Template Development folder. The folder expands to show a subfolder named Script Editor.
  3. Click the Script Editor folder. The window changes to show several options for customizing HotDocs scripts.
  4. Perform any of the following tasks:
To | Do This
Have HotDocs start the next line of a script (after you enter a return) at the same level of indentation | Select Automatic indentation.
Include keywords for months, language codes, and so forth in the auto-complete list | Select Include seldom-used keywords in auto-complete list. (If you'd rather exclude these keywords from the list, clear this option.)
Allow the Tab key to insert a tab in a script, rather than move you to the next field in the component editor | Select Tab key inserts a tab in scripts. Now, whenever you press Tab or Shift+Tab, HotDocs will insert a tab in the script. This number must be between 1 and 15. If you select this option, you can no longer use keyboard commands to move from the Script field to another field in the component editor. You must use your mouse to click out of the Script field.
Specify the number of characters HotDocs should use when you insert a tab in the script | Enter a number in the Tab width field.
Have HotDocs use colors to differentiate between instruction and expression keywords, operators, and component names | Select Syntax coloring. (You can then either accept the default colors HotDocs assigns to these, or you can designate your own colors at the Colors and Attributes list.)
Assign colors and other formatting attributes to the various parts of a script These "parts" include instruction keywords, expression keywords, components (such as variables and dialogs), text values (literal text strings), other values (such as literal number and date values and language codes), placeholders, operators, commented scripts, and any syntax HotDocs doesn't recognize. | Select the item, click the Color drop-down button, and choose a color. You can also select Bold to make the item bolded, and you can select Italic to italicize the item. To restore the HotDocs defaults, select the script element, click the Color drop-down button, and choose Default from the top of the Palette tab.
Specify the font used for the script | Click Select Font and make your selection. You can also specify the size of the script text.


At a Glance: Template Manager (HotDocs Options)

After opening [image] HotDocs Options from the toolbar (or Tools menu) in your HotDocs Library you can choose from a list of option pages in the left hand pane A.

If you double click on Template Development you will see a list open below containing a file for setting the options for the Script Editor and the Template Manager. Click on Template Manager to bring up the Template Manager Options dialog box.

There are 4 check boxes at the top of the dialog B. By checking these you can have HotDocs include supplemental components in the components list, show the component type column in template manager, show the component status column in template manager and overlay a status hint on component icons.

To find out more about setting options for Template Manager follow the link below:

  • Set Template Manager Options


Set Template Manager Options

You can change the way Template Manager displays the information it generates about components it is showing.

To change the way Template Manager displays component information

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Double-click on the Template Development folder to expand it. The window changes to show several template development options.
  3. Click the Template Manager folder. The window shows Template Manager options.
  4. Complete any of the tasks listed in the following table:
To | Do This
Expand the list of components to include example formats, patterns, and so forth. | Select Include supplemental components in component list.
Include a column in the component list that shows component types | Select Show component type column.
Include a column in the component list that shows the status of the components | Select Show component status column. The status tells you whether the component is OK (used in both the template and component file), unused (the component is not referenced in any templates), or missing (the component is referenced in a template, but not found in the component file).
Have Template Manager overlay a graphic reminder of what the component's status is on the component's icon | Select Overlay status hint on component icons.

You can also access these options by clicking the Options button in the Template Manager toolbar.


At a Glance: Word Processors (HotDocs Options)

After opening [image] HotDocs Options from the toolbar (or Tools menu) in your HotDocs Library you can choose from a list of option pages in the left hand pane A.

If you select Word Processors you will see the Word Processors Options dialog box. From here you can change what word processors HotDocs supports and choose your default word processor.

The two lists of word processors at the top of the form B display all the word processors that HotDocs can support. HotDocs identifies which word processors you have installed on your computer and ungrays those word processors only. Any word processors already displaying a check are already supported. If you check an empty box next to any of the ungrayed options then these are supported once you close the Options dialog box.

The drop-down arrow C below these lists enables you to select a default word processor from your supported word processors.

While you can choose any version of WordPerfect as the default version HotDocs uses to create a new WordPerfect template, for Word, you are limited to selecting the latest version of Word installed on your machine as the default version HotDocs uses to create new Word templates.

Using the check box options below the drop-down, you can choose to Send assembled documents to the word processor that matches their template type (useful if you have both Microsoft Word and WordPerfect installed) and choose to Launch word before sending a document to the word processor (to allow Word Macros to run).

To find out more about setting options for Word Processors follow the links below:

  • Install Support for New Word Processors
  • Change Your Default Word Processor


Install Support for New Word Processors

Before installing support for a new word processor, make sure you run the newly installed word processor program at least once. This creates entries for the new word processor in the Windows System Registry that HotDocs needs to properly integrate with the word processor.

When you install a new word processor and you want to use it with HotDocs, you can install support for it through HotDocs Options. If multiple users use the workstation, support for the word processor will be installed for them as well.

To install new word processor support

  1. Install the new word processor and run it at least once.
  2. Start HotDocs. (See Start HotDocs.)
  3. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  4. Click the Word Processors folder. The right pane changes to show a list of word processors which HotDocs supports. (Word processors for which you have already installed support are selected, while word processors that are not installed are disabled.)
  5. Select the word processor for which you want to install support.
  6. Click OK. The HotDocs Options dialog box closes.

Once you close the HotDocs Options dialog box, HotDocs runs the Current User Setup, which copies the required files to the correct program folders. (See Understand HotDocs Installation.)

To make the newly installed word processor the default word processor, you must manually select it after you install support for it. See Change Your Default Word Processor for details.

You may need to restart the word processor to add the correct HotDocs buttons and toolbars to it.


Change Your Default Word Processor

If you have both Microsoft Word and WordPerfect installed for HotDocs, you must choose which word processor HotDocs should use as the default. The default word processor controls which word processor file type will be suggested when you create a new template. It also determines which word processor will be opened when you finish the interview and send the assembled document to it.

To specify a default word processor

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Word Processors folder. The right pane changes to show supported word processors.
  3. Click the Default word processor drop-down button and select a word processor.
  4. Optionally, to send assembled documents to the word processor that matches the template file type, select Send assembled documents to word processor based on template type.
  5. Optionally, to start Word before you send the assembled document to it, select Launch Word before sending to word processor (allows auto macros to run). (This is useful if the underlying template uses AutoExec or AutoOpen macros, since HotDocs explicitly disables the execution of Auto macros in Word before it sends a document to Word after assembly.)


At a Glance: Word Processor File Locations (HotDocs Options)

After opening [image] HotDocs Options from the toolbar (or Tools menu) in your HotDocs Library you can choose from a list of option pages in the left hand pane A.

If you double click on Word Processors you will see a list open below containing a file for each of your supported word processors. Click on one to bring up the Word Processor File Locations dialog box for that particular word processor, from here you can change the default file locations for that word processor.

From here you can edit three file locations for the selected word processor. In the first field B you can change the default documents folder by clicking on the [image] Browse button next to it and navigating to the folder you need. In the second field C you can change the default folder that HotDocs stores and looks for templates. In the third field D you can change the startup folder for the chosen word processor.

To find out more about setting options for Word Processors File Locations follow the link below:

  • Change Word Processor File Locations


Change Word Processor File Locations

By default, HotDocs uses certain folders that were specified during installation to store text templates and assembled text document files that are used with HotDocs. These folder names and file paths become the default location HotDocs looks when no specific path is assigned at the file's properties.

At the library, you can check whether a full path is given by selecting the template and clicking the [image] Properties button. If a full path is given, HotDocs uses that information when accessing the file. Otherwise, HotDocs uses the default file location specified here.

You can change the locations HotDocs looks for these files.

To change the location of word processor files

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Double-click the Word Processors folder so that it expands to show subfolders for each word processor that is installed.
  3. Click the word processor folder for which you want to make changes. The right pane changes to show the different file locations of the document, template, and startup files (or macro files for WordPerfect users).
  4. For each file location you want to change, click the [image] Browse button next to the file location path and navigate to the new location.

If templates in your library use the default file path for its templates, you must move your templates to this new location or HotDocs will not be able to find them. See Move Items to New Locations on Disk.


At a Glance: File Locations (HotDocs Options)

After opening [image] HotDocs Options from the toolbar (or Tools menu) in your HotDocs Library you can choose from a list of option pages in the left hand pane A.

If you select File Locations you will see the File Locations Options dialog box. From here you can change where HotDocs stores saved files and you can edit the assigned reference paths of HotDocs Libraries.

From this folder, you can change the locations of the following file types: ANX, CMP, HDI, HDL, HDP, HFD, HFT, HPD, HPT, PDF, TTX. You change text file locations from the Word Processors folder just above the File Locations folder.

In the first list B you can see the locations of all the HotDocs folders. By selecting a folder from this list and clicking the Edit button below the list you can change where HotDocs will automatically save those files.

In the second list C you can see the file paths of your HotDocs libraries. By selecting a library from this list and clicking the Edit button below the list you can change where HotDocs will automatically save those files. You can also click Add to add a new library file path to the list.

To find out more about setting options for file locations follow the links below:

  • Change HotDocs Program File Locations
  • Assign Reference Paths to HotDocs Files
  • At a Glance: Word Processors (HotDocs Options)


Change HotDocs Program File Locations

When you install and use HotDocs, the program makes several entries in the System Registry that indicate to HotDocs where to look for files, as well as where to suggest you save files. (See Understand HotDocs Installation.) In most situations, HotDocs uses this information each time you perform a task in HotDocs. For example, each time you create a new template, HotDocs suggests a default location for the new template, based on the information it finds in the System Registry. If you ever need to change these default locations, you can do so at HotDocs Options.

If a full path is specified for the file you are attempting to access, that file path will be used, rather than the default file path. (To check whether a full path is given, select the item and click the [image] Properties button.)

You can change the default location HotDocs looks for the following files:

  • Library files (HDL files).
  • Template files (HFT, HPT, and CMP files). (To change the default location for text templates, see Change Word Processor File Locations.)
  • Template Sets (installed HDI files).
  • Catalog Files (files used to keep published template sets up to date).
  • Answer files (ANX files).
  • Form document files (HFD, HPD, and PDF files).
  • Publish Settings files (HDP files).

To change the default location of HotDocs files

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the File Locations folder. The window changes to show a listing of the different HotDocs file paths.
  3. In the HotDocs Folders group, select a file type and click Edit. The Browse for Folder dialog box appears
  4. Browse to the new location and click OK. HotDocs will use this location as the new default.

You must restart HotDocs for these changes to take effect.


Assign Reference Paths to HotDocs Files

A HotDocs library will work only if each template listed in the library is located in the exact path specified in the Item Properties dialog box for that template. This makes it difficult to create a library that will work for multiple users who will not store the templates in the same locations. A reference path lets you create a library that will work, regardless of where users store their templates.

A reference path is a folder path for a template in which the drive letter and some or all of the folder names have been replaced with a caret (^) and a keyword. The keyword is associated with an actual folder path in the user's HotDocs settings. When HotDocs needs to open a template, it replaces the caret and keyword in the folder path for the template with the folder path that is associated with the keyword in the user's HotDocs Options.

Some common uses of reference paths are:

  • With distributed template sets which allow users to choose where they install the templates (even if they can only choose the drive to which the templates are installed).
  • With templates located on a network drive that is mapped to a different letter for some of the users.

In order for your library to work for users regardless of where they store the templates, you need to enter a reference path for all templates and clause libraries in the library. You should use the same keyword for all the items in the library.

If you know the library items won't all be stored in the same subfolders, use the keyword only in place of the part of the path that is identical for all items. For example, if some of the templates will be stored in a General subfolder and others will be stored in a Family Law subfolder, you would use the reference path ^keyword\General\template.ext for those templates in the General subfolder and ^keyword\Family Law\template.ext for those templates in the Family Law subfolder (where keyword is a placeholder for the keyword you use and template.ext is a placeholder for the file name and extension of the template).

To associate a keyword with a path and assign the reference path

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the File Locations folder. The window changes to show a listing of the different HotDocs file paths.
  3. In the Reference Paths section, click Add. The Add/Edit Reference Path dialog box appears.
  4. Type a keyword for the reference path in the Keyword field.
  5. Click the [image] Browse button next to the Path field, and specify the path to the subfolder you want to use.
  6. Click OK.

Once you have designated the keywords and paths that HotDocs needs to know about your files, you can assign reference paths to the templates. (These templates must be saved to the subfolder you specified in Step 5, above.)

  7. At the HotDocs library window, select the template for which you want to specify a reference path and click the [image] Properties button. The Item Properties dialog box appears.
  8. If the File name field contains a folder path as well as a file name, delete the part of the path that is the same for all items in the library.
  9. Place your cursor before the first letter in the File name field and type caret (^), the keyword, and a backslash (\).
  10. Click OK.

When publishing your template set as an auto-install (.HDI) file, HotDocs automatically creates the reference paths and enters the correct information in the user's HotDocs settings during installation.

For instructions on assigning reference paths to multiple library items, see Change the Properties for Multiple Items in a Library.


At a Glance: File Management (HotDocs Options)

After opening [image] HotDocs Options from the toolbar (or Tools menu) in your HotDocs Library you can choose from a list of option pages in the left hand pane A.

If you select File Management you will see the File Management Options dialog box. From here you can change how HotDocs manages answer files and assembled documents.

The first option B allows you to choose how you would like to manage your answer files. You can choose from:

  • HotDocs Answer File Manager
  • Windows Explorer

To find out more about setting options for file management follow the links below:

  • Manage Answer Files
  • Manage Assembled Document Files


Manage Answer Files

To work with answer files, you can either use Answer File Manager, or you can use Windows Explorer. (See Introduction: Use Answer Management.) Answer File Manager uses an answer library (.HAL) file to create, store, and select answer files. Windows Explorer allows you to work with answer files using the common File > Open or File > Save dialog boxes.

Which option you choose depends on your preference. For example, Answer File Manager works well if you are the only user and you like the functionality available with a library. However, Windows Explorer makes more sense for managing answer files in a multi-user setting. Windows Explorer also lets you see more clearly where the actual answer files are saved.

To change how HotDocs locates and manages answer files

  1. At the HotDocs library, click the [image] Options button.
  2. Click the File Management folder.
  3. Click the Manage answer files using drop-down button and select an option:
    • HotDocs Answer File Manager uses an answer library to create, store, and select answer files.

The first user to open an answer library is the only one who has write access to it. That means only one person can modify items in the library at any given time. If multiple users must access the answer files, use Windows Explorer to manage the files.

    • Windows Explorer uses Windows Explorer to create, save, and select answer files.


At a Glance: Template Set Updates (HotDocs Options)

After opening [image] HotDocs Options from the toolbar (or Tools menu) in your HotDocs Library you can choose from a list of option pages in the left hand pane A.

If you select Template Set Updates you will see the Template Set Updates Options dialog box. From here you can change how HotDocs updates your template sets.

There are 3 check boxes at the top of the page B, these control when HotDocs updates the template sets and how the update progress will be displayed:

  • Check the first box if you would like HotDocs to check for updates every time the library is opened.
  • Check the second box if you would like HotDocs to show a progress window while it is checking for updates.
  • Check the third box if you would like HotDocs to alert you when there is an update icon displayed on the status bar.

Underneath these options will be a list C of all the template sets you can keep updated.

Follow the link below to find out more about setting options for template set updates:

  • Determine How Frequently HotDocs Checks for Template Set Updates


Determine How Frequently HotDocs Checks for Template Set Updates

If you are using a published template set and the template publisher provides automatic updates, you can have HotDocs check for these updates each time you start HotDocs. (Please check with your template set publisher to determine if your template set includes automatic updates.)

To check for template set updates

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Template Set Updates folder. The window changes to show update options.
  3. Complete any of the following optional steps:
To | Do This
Always check for updates when you start HotDocs | Select Perform scheduled checks for updates when HotDocs is started. (If HotDocs detects an update, it displays a warning icon in the status bar of the HotDocs window.)
Display a window that shows the progress HotDocs makes in installing the updates | Select Show progress window when checking for updates.
Choose the template sets for which you want to check for updates | Select the set in the Select the template sets you want to keep up-to-date list.


At a Glance: Plugins (HotDocs Options)

After opening [image] HotDocs Options from the toolbar (or Tools menu) in your HotDocs Library you can choose from a list of option pages in the left hand pane A.

If you select Plugins you will see the Plugins Options dialog box. From here you can enable or disable HotDocs Plugins.

In the Plugin List B you can see all the HotDocs plugins currently installed and you can click on an item in this list to highlight it.

With any item highlighted you can click the buttons C to Enable the plugin, Disable the plugin, or set your Preferences.

Follow the link below to find out more about setting options for plugins:

  • Set Options for HotDocs Plugins


Set Options for HotDocs Plugins

If you are using HotDocs Plugins, you may need to enable or disable one or more at some point. You may also find it useful to set your preferences for each plugin. You can do all of this from the HotDocs Options dialog box.

To Enable/Disable a Plugin

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Plugins folder. The window changes to show plugin options.
  3. Select any of the currently installed plugins from the Plugin List.
  4. Click either the Enable or Disable button.

To Set Plugin Preferences

  1. At the HotDocs library, click the [image] Options button. The HotDocs Options dialog box appears.
  2. Click the Plugins folder. The window changes to show plugin options.
  3. Select any of the currently installed plugins from the Plugin List.
  4. Click the Preferences button. This opens the Plugin Preferences dialog box.


Introduction: Template and Component Files

The Template File

The first step in automating a new HotDocs template is to create a template file. You can create three types of template files: text templates, form templates, and interview templates.

  • You create a text template in Microsoft Word or WordPerfect. You can modify the underlying text of a text template both as you automate the template and as you view the assembled document in the word processor.

    HotDocs assembles all Word templates using a DOCX-based assembly process. This means that if your template is in DOT or RTF format, HotDocs must assemble it and then convert it back into Word's native format. By developing the templates in DOCX, you can reduce the number of steps in this process, thus decreasing the amount of time it takes to assemble a document. In larger, more complex templates, this difference in speed will be quite noticeable.

  • You create a form template using a Windows program (such as a draw program) to create a static form, or one in which the user will not be able to change or modify the underlying text. Once designed, you then use HotDocs to create a PDF version of the form. Finally, you use HotDocs Automator to place fill-in fields on the form where users' answers will be inserted.

  • You create an interview template to gather common information (such as court, attorney, or client information) and save the answers for use in assembling other documents. Unlike text and form templates, users cannot generate documents from an assembled interview template—they can only generate an answer file. (The interview template is really a component file that contains ASK instructions. See Create an Interview Template.)

It is recommended that template names are kept to less than 52 characters and don't use non-ASCII characters. This will reduce the possibility of the template name causing errors if it is enabled for use with HotDocs Server.

The Component File

When you create a new template file, HotDocs automatically creates a companion file called the component file. The component file contains information about variables and other components used in the template. Both the template file and the component file are necessary for a template to work. Whenever you copy a HotDocs template—for example, to share a template with another user—you must be sure to copy both the template file and the component file.

HotDocs gives the component file the same name as the template file, except that the file name extension for the component file is .CMP. For example, if the template file name is Insure.rtf (for a Word template), the component file name will be Insure.cmp.

The following image shows a fully automated text template with its component file superimposed and overlapping the template:

The component file works automatically in the background—as you create various components in the template, they are automatically stored in the component file. Normally each template uses its own component file, but you can make two or more templates share one component file.

You work with components in the component file using Component Manager. For example, you can copy variables or other components from one component file to another, create variables, and drag variables from Component Manager directly into the template. You can also edit, print, search, and spell check components within your component file. Finally, if you need to edit components in several component files at once, you can use Template Manager.

HotDocs does not support templates with embedded mail merge data. You need to remove this data before assembling the template.


HotDocs Editing and Navigation Toolbar Buttons

Since HotDocs works inside your word processor, you use word processor commands for many basic tasks, such as typing text in the template, assigning font attributes and page formatting, and printing. Tasks that are specific to HotDocs are performed by using the HotDocs buttons. To access these buttons in Word 2007 and later, click the HotDocs tab on the Word ribbon. Using the drop-down menu below the [image] HotDocs button on the tool bar you can access more options.

HotDocs Tab

Button Name | Description
HotDocs | Either starts HotDocs and opens the HotDocs library window, or brings it to the front if it is already open. (This button is always in the word processor toolbar, regardless of whether HotDocs is running.)
Save Template and Component File | Saves the template and component file you are currently editing.
Save and Close Template | Saves and closes the template and component file you are currently editing.
Test Assemble | Test assembles the document or a selected portion of the document.
Variable Field | Opens the Variable Field dialog box where you can select the type of variable field you want to create and insert. If the cursor is in a variable reference, HotDocs opens the Variable Field dialog box with that information already appearing.
IF Field | Opens the IF Field dialog box where you can create a true/false test for conditional text. If you need a more complex test, click IF Expression at the IF Field dialog box.
REPEAT Field | Opens the REPEAT Field dialog box where you can specify a dialog to gather information for a list. At this dialog box, you can also specify a sort order, filter, and format for merging the list of answers into the document. You can also REPEAT a database component.
INSERT Field | Opens the INSERT Field dialog box where you can choose to insert a clause, clause library, or template. You can also convert a selected section of template text into an inserted template or clause component.
ASK Field | Opens the ASK Field dialog box where you can create and insert an ASK instruction in the template. An ASK instruction causes either a dialog or a database to be asked at a specific place in the template.
Other Fields | Opens the Other Field dialog box where you can choose to insert an ASSEMBLE, PLAY, LANGUAGE, DEBUG, or SPAN field. The options will change depending which of these four options you select. Clicking on the drop-down menu button next to the Other Fields button will display a list of options. Clicking on the drop-down menu you can select Other Field, or from a list of Dot Codes. See the table below for more information on Dot Codes.
Edit Component | Opens the Component Editor where you can modify the properties of an existing component. (If your cursor is outside a component field, HotDocs will allow you to create a new component. However, if you create a new component, it will only be saved to the component file—it will not be inserted into the template.)
Component Manager | Opens the Component Manager window where you can create, edit, delete, rename, and copy components.
Create Markup | Opens a Markup document in a new window. This document can then be saved and distributed to non-HotDocs users who needs access to the template. You will notice the HotDocs tab has changed to show the HotDocs Markup Tools only.
Clause Library | Opens a clause library where you can create new clauses or add existing clauses.
HotDocs Help | Displays the HotDocs Help viewer, which contains information on automating templates and assembling documents.
Apply Colors | Assigns custom colors to the different field types in the template. This can help you more quickly identify sections or parts of your template as you are automating. (You can choose the colors at HotDocs Options.)
Label Fields | Opens the Label Fields dialog box where you can choose to label matching IF and END IF instructions, REPEAT and END REPEAT instructions, and SPAN and END SPAN instructions. Additionally, where you've nested these instructions, you can identify the level of nesting. Finally, you can assign the word processor's hidden text property to these comments and labels so that you can show and hide them during automation.
Match Fields | Moves your cursor between opening IF, REPEAT, and SPAN instructions and closing END IF, END REPEAT, and END SPAN instructions. This can help you troubleshoot problems where one of the instructions is accidentally moved or deleted.
Go to Field | Moves you cursor to a specific variable or instruction field in the template. This can be useful when you receive errors and need to quickly locate the field in the template containing the error.
Previous Field / Next Field / | Allows you to navigate through the template, field by field. This may be useful if you have several pages in a template without any variable fields—navigating by fields allows you to skip these pages, rather than scrolling through them until you find the next field.

HotDocs buttons not on the Word Ribbon

HotDocs buttons not available on the Word Ribbon can be accessed from the drop-down menu below the [image] HotDocs button. They are:

Button Name | Description
Dot Codes | Under the Dot Codes heading, you can select from four sections: Character Format, Character Insertion, Sentence Punctuation, and List Punctuation. Clicking on any of the options within those sections will insert the corresponding dot code into the template.
Markup View / Developer View / | Switches the look of the template between Markup View and Developer View. Markup View provides a simpler view of the template (which can then be saved and shared with a non-HotDocs user who needs to review the content of the template, for example). Developer View is the mode in which you automate the template. Switching between Markup and Developer Views is only supported for RTF templates.
HotDocs Outliner | Opens the HotDocs Outliner so you can review an outline of scripting (and variables) used in the template.

You should always use the HotDocs [image] Save and [image] Save and Close buttons to save and close a template rather than the word processor's buttons. The HotDocs buttons ensure the template and component files are properly saved and closed.

If Word opens to the default HOME tab, click on the HotDocs tab to start using HotDocs commands.


At a Glance: The New Template Dialog Box

To automate document generation using HotDocs, you first need to create a template, the base file from which HotDocs generates all future documents.

You can create a new template by clicking the [image] New Template button on the HotDocs Library toolbar. This opens the New Template window.

Using the Type drop-down list A you can select the type of template you want to create, including text templates, form templates, interview templates, and clause libraries. When you select one of these options, HotDocs attaches the correct file extension to the file name.

In the File name text field B you can type a file name for the new template, if you decide to store the template somewhere other than the default template folder (as seen in the Target folder field), you can also type the full path for the new destination. Alternatively you can use the [image] Browse button to select a file name and destination for your new template. When you do this, the Target folder C shows the full path for the new template location.

The first time you type a file name for the template, when you click into the Title text field D, HotDocs copies the file name as the template title; however, you can edit the title if you want. After, the title appears in the HotDocs library.

In the Description field E, you can enter an optional description of the template. Descriptions appear when you select the library item and view its properties.

When using several related templates that share multiple components, it is best practice to share component files to save time. Sharing component files minimizes the chance of user error when editing multiple templates. You can add an existing component file to the new template by selecting one from the Shared component file drop-down list F. The component file you choose gets shared between the new template and any other templates you previously shared it with.

Using the Initial contents option buttons G you can choose the initial contents of the new template:

  • Empty: Creates a new, empty template. Once HotDocs has created the template, you can add text, variables, and other template components.
  • Current open file: Copies the current, open word processor file into the new template. You must have a word processor file open before you select this option.
  • Other file: Creates a new template based on the contents of an existing template or document. The text field shows the folder path and file name of the file whose contents you want to copy into the new template. Either type in the full path or click the [image] Browse button to locate and select the template or document whose contents provide the basis of the template you are creating. Selecting an existing template here disables the Shared Component file option as the new template shares the same component file as the source template.

To learn more about creating new templates follow the links below:

  • Creating a New Text Template File
  • Creating a Text Template Based on an Existing Template
  • Converting a Single Template to a New File Format
  • Using One Component File for Multiple Templates


Creating a New Text Template File

A text template A template that is created and automated in Microsoft Word or WordPerfect. It is distinguished from a form template by the fact that the underlying text of the template can be modified. (See also text document.) is a word processor file that contains text as well as HotDocs component A template resource file that displays or stores information about the user input/answers to merge in the final document. Examples of components include variables, dialogs, dialog elements, merge text groups, and formats.s, such as variable A component that is used to represent changeable text (such as names, dates, numbers, etc.) in the template. Types of variables include Text, Date, Number, True/False, Multiple Choice, Computation, and Personal Information.s, dialog In template development, represents the component in which the developer groups variables and other components. In document assembly, represents the group of questions in the Interview tab of the assembly window where users enter their answers.s, instruction A command in a script or template that performs a special task, such as inserting a template or asking a dialog at a specific place in the interview.s, script One or more instructions and/or expressions that generate a value or execute some kind of procedure.s, and formats. The first step in automating a HotDocs text template is to create a new template file that contains your document text.

Do not create your templates in the tutorial library that installs with HotDocs. If you ever reinstall HotDocs, the library will be overwritten and you will have to add your templates to the library again. Instead, create a new library for your templates.

To create a new text template

  1. At the HotDocs template library, click the folder in which you want the template.
  2. Click [image] New Template.
  3. Select the type of text template you want to create from the Type drop-down list. Depending on which word processors are installed on your computer, your options include Word DOCX Template (.docx), Word RTF Template (.rtf), Word Document Template (.dot), and WordPerfect Template (.wpt).
  4. In the File name field type a file name for the new template. If you decide to store the template somewhere other than the default template folder (as seen in the Target folder field), you can also [image] Browse to the new destination. HotDocs adds the correct extension to the file name based on the type of text template you selected. HotDocs displays the full path of the currently selected template location in the Target folder field.

Do not type a template name that includes a pound sign (#). This can cause errors when uploading.

You can check the default Templates location at the HotDocs Options window.

  5. Type a title for the template in the Title field (or accept the suggestion HotDocs makes). The title is what identifies the file in the library.
  6. Optionally, enter a description in the Description field. Descriptions appear in the Properties tab of the library when the user selects the template.
  7. To add an existing component file to the new template, you can select a component from the Shared component file drop-down list. If you do so, the component file you choose is now shared between the new template and any other templates using that component file.
  8. Select the contents for the new template by choosing from the following options:
    • Empty: HotDocs creates a new, empty template. Once HotDocs creates the template, you can add text, variables, and other template components.
    • Current open file: HotDocs copies the current, open word processor file into the new template. You must have a word processor file open before you select this option.
    • Other file: HotDocs creates a new template based on the contents of an existing template or document. The text field shows the folder path and file name of the file whose contents you want to copy into the new template. Either type in the full path or click the [image] Browse button to locate and select the template or document whose contents provides the basis of the template you are creating. If you select an existing template here, HotDocs disables the Shared Component file option as the new template shares the same component file as the source template.
  9. Click OK at the New Template window. HotDocs opens your selected word processor and displays the template. You can use the HotDocs editing toolbar to begin automating the template.

If you are using Microsoft Word to develop your templates, we recommend that you create DOCX templates. HotDocs doesn't have to convert DOCX templates so they assemble much faster than RTF templates and are less likely to encounter errors.

When you create a new, empty Word template, HotDocs applies whatever styles are in HotDocs.dot to the new template. When you create a new template based on another template or document, HotDocs applies the styles used in that template or document to the new template.

You can include command-line options (in the File name field) that allow you to specialize the assembly process for a given template.

If you have multiple word processors installed, you can have HotDocs always suggest a specific template type when you create a new template.

If you need to use your template with earlier versions of HotDocs, you must specify which version at Component File Properties.

HotDocs does not support templates with embedded mail merge data. You need to remove this data before assembling the template.


Creating a Text Template Based on an Existing Template

You can create a new text template based on the contents of a text template already in the library. When you create a new template based on another template or document, HotDocs copies the text of the existing template (including components) into the new template (and component) file and then applies the styles in that the existing template to the text of the new template.

Do not create your templates in the tutorial library that installs with HotDocs. If you ever reinstall HotDocs, the library will be overwritten and you will have to add your templates to the library again. Instead, create a new library for your templates.

To create a new template based on an existing one

  1. At the HotDocs library, select the existing template you want to use from the template list.
  2. Click [image] New Template.
  3. In the File name field type a file name for the new template. If you decide to store the template somewhere other than the default template folder (as seen in the Target folder field), you can also [image] Browse to the new destination. HotDocs adds the correct extension to the file name based on the type of text template you selected. HotDocs displays the full path of the currently selected template location in the Target folder field.
  4. Click in the Title field and either accept the suggested title or replace it with your own. You can also add an optional template Description.

Do not change the existing template’s file path and name in the Other file field.

  5. Click OK. HotDocs opens a new template file and copies the text and variables from the Other file into it. It also creates a new component file and copies the existing components into it.

You can also create a new template and copy that template to a new location by using the Copy Templates command. Once you have copied the template and component file, rename the files using Template Manager.

HotDocs does not support templates with embedded mail merge data. You need to remove this data before assembling the template.


Converting a Single Template to a New File Format

To convert multiple files at once or to convert all templates to .DOCX, use Template Manager. (See Convert Multiple Templates to Work with HotDocs 11 and Convert Templates and Clauses to Microsoft DOCX.)

HotDocs 11 uses a file format for component files that is different from earlier versions of HotDocs. To take full advantage of the features available in this latest version of HotDocs, you must convert your component file to the current format. However, if users of your templates are still using previous versions of HotDocs, you can keep the files in their existing formats.

Additionally, perhaps you've changed word processors and need to convert all your templates from one file type to another.

It is a good idea to back up templates, component files, or other HotDocs files before making major changes to them.

To convert an older HotDocs template to the latest version of HotDocs

  1. At the template library, select the template you want to convert and click [image] Edit Template. HotDocs displays a message box asking how you would like to convert the template.
  2. Make your choice, based on the following options:
    • Click Convert to Current Format to convert the template to HotDocs 11 format. If you select this option, the format shown at Component File Properties will continue to be set to Current.
    • Click Keep Existing Format to leave the component file in the format it is already in. If you select this option, HotDocs will set that specific format for the component file at Component File Properties.

If you select Keep Existing Format, HotDocs will stop Template Manager from converting this template's component file to another format. If you want to convert it later you will need to use the option in Component File Properties.

    • Click Cancel to close the message box and cancel the conversion process.

If you need to keep several templates in their existing pre-2009 format and you don't want to be prompted to make this selection on a template-by-template basis, you can use Template Manager to change the component file format for several files at once. See Modify Component File Properties Across Multiple Files for details.

If you are converting a HotDocs 5 template, you should verify the template works correctly in HotDocs. For details about this, see Verify HotDocs 5 Templates for Use with HotDocs 11.

After selecting Keep existing format, when prompted by the Component Manager, HotDocs will then only allow format changes to be made at the Component manager and will not enact changes made to the component file in Template Manager.

To convert a template to a new word processor format

  1. Select the template at the HotDocs library and click [image] New Template. The New Template dialog box appears.
  2. Click the Type drop-down button and select the new word processor. The file name extension in the File name field is changed to the new word processor format.
  3. Optionally, change the Title and Description of the template.
  4. Do not change the information in the Other file field.
  5. Click OK. HotDocs converts the template to the new format and displays it in the appropriate word processor. The quality of the template conversion depends on your word processor’s conversion capabilities. Complex text formatting, unusual fonts, and so forth, may not be converted correctly. You should check new versions of templates for conversion errors.

Once you have updated your template, the old template may still be listed in the library. This happens when old and new versions of the template have different file name extensions. Delete the old version from the library. (See Remove Items from a Library.)

Since the release of HotDocs 11.1, HotDocs no longer supports converting component files to pre-2009/10 formats.


Edit a Template

Once you have automated a text or form template, you may need to make changes to your work. You can edit variables, dialogs, instructions, and other features.

To edit a template

  1. At the HotDocs library, select the template and click [image] Edit. The template opens and the HotDocs Edit toolbar appears.
  2. Once the template is open, you can edit variables, custom dialogs, REPEAT instructions , INSERT instructions, and IF instructions.
  3. When you finish, click the [image] Close Template button to save your work and close the template.

If Word opens to the default HOME tab ribbon, click on the HotDocs tab to start using HotDocs commands.

HotDocs does not support templates with embedded mail merge data. You need to remove this data before assembling the template.


Add HotDocs Toolbar to WordPerfect Templates

Sometimes you may need to manually add the HotDocs navigation toolbar to WordPerfect.

To add the toolbar

  1. Select the template in the library and click the [image] New Template button. The New Template dialog box appears.
  2. Don't make any changes to any of the template's properties and click OK.
  3. Click Yes when asked to convert the file.


At a Glance: The Apply Colors dialog box

After opening a template to edit, you can open the Apply Colors dialog box by clicking on the [image] Apply Colors button on the HotDocs Ribbon.

Using the multiple choice list, you can choose the color scheme HotDocs will use for variables and Instructions. You can choose from None, Regular, Nested, and Sequential. You can set the colors HotDocs uses in each color scheme in the HotDocs Options window see Define Field Colors)

To learn more about assigning colors to fields follow the links below:

  • Assign Colors to Fields and Instructions in Templates
  • Define Field Colors


Assign Colors to Fields and Instructions in Templates

Click here if you are using WordPerfect and the HotDocs Navigation toolbar doesn't appear in your template.

You can assign custom colors to the different types of fields in a template. This can help you more quickly identify sections or parts of your template as you are automating. Additionally, you can assign colors to IF, REPEAT, and SPAN instructions in your templates. Assigning different combinations of these colors can help you differentiate levels of nesting as well as help you better view individual pairs of instructions.

By default, HotDocs assigns its own colors; however, you can customize the colors at the HotDocs Options dialog box. (See Define Field Colors.)

To apply custom colors to template fields and instructions

  1. Open the template for editing. (See Edit a Template.)
  2. Click the [image] Apply Colors button. The Apply Colors dialog box appears.
  3. Select one of the following options:
    • Choose None to make all variable and instruction fields black.
    • Choose Regular to mark all variable and instruction fields using a custom color specific to that field type. For example, all variables will be marked with one color, all IF instructions will be marked with a different color, all REPEAT instructions will use a different color, and so forth.
    • Choose Nested to mark each level of IF and REPEAT instructions using a custom color. (For example, all first-level IF instructions will use a specific color, while all second-level instructions will use a different color, and so on.)
    • Choose Sequential to mark each IF and REPEAT instruction field using a custom color. (For example, the first instruction in a template will be marked using one color, while the next instruction will be marked using a different color, and so on.)

If you change your default colors, or if you receive templates from other developers whose colors are different from yours, you can click the [image] Apply Colors button to update existing templates with your custom colors.

If you're using Microsoft Word, you can also apply colors by clicking on the HotDocs drop-down menu in the HotDocs toolbar and choosing Apply Colors. (To access this menu button in Word, click the [image] HotDocs drop-down button.)


Move Between Fields in a Template

Click here if you are using WordPerfect and the HotDocs Navigation toolbar doesn't appear in your template.

You can navigate through the template, field by field, using the [image] Next Field and [image] Previous Field buttons in the HotDocs Navigation toolbar. This may be useful if you have several pages in a template without any variable fields—navigating by fields allows you to skip these pages, rather than scrolling through them until you find the next field.

To move between fields in the template

  1. Open the template for editing. (See Edit a Template.)
  2. Place your cursor somewhere in the template and click either the [image] Next Field or [image] Previous Field button. HotDocs moves your cursor to the next or previous field in the template and highlights it. (If you're using Word 2000 or later, you can quickly edit the variable field by double-clicking in the field.)

If you're using Microsoft Word, you can also move between fields by clicking on the HotDocs drop-down menu in the HotDocs toolbar and choosing Next Field or Previous Field.


At a Glance: The Label Fields dialog box

After opening a template to edit, you can open the Label Fields dialog box by clicking on the [image] Label Fields button on the HotDocs Ribbon.

There are three check boxes in this dialog that you can select to set field labelling options:

  • Label IF, REPEAT, and SPAN instructions: Causes HotDocs to label IF, REPEAT, and SPAN fields. A label can help you identify matching instructions within a series of instructions. The label that is assigned is a number. For example, HotDocs labels the first REPEAT instruction in the template with the number 1, the next REPEAT instruction with a number 2, and so forth.
  • Identify level of nested IF, REPEAT, and SPAN instructions: Causes HotDocs to insert the level of the IF, REPEAT, or SPAN instruction in the field's label. If the field is nested, the level number is incremented. Levels are identified by the letter L. For example, if labeling the third level of a REPEAT instruction, the text L3 is merged in the label.
  • Place comments (including field labels) in hidden text: Causes HotDocs to apply the word processor's hidden text property to field comments and labels. When you click OK, everything in the comment field is hidden. To view the comments again, you can either clear this option, or you can use the word processor's command for showing/hiding hidden text.

You can remove any of these options by deselecting the check boxes.

To learn more about labelling fields follow the link below:

  • Use Labels to Identify Instructions


Use Labels to Identify Instructions

Click here if you are using WordPerfect and the HotDocs Navigation toolbar doesn't appear in your template.

You can assign labels to IF, REPEAT, and SPAN instructions to help you identify pairs or groups of instructions in a text template. When you label fields, you can choose to merge just a numeric name in a field or you can choose to merge a name as well as the level of nesting. This can help you match opening instructions with closing, as well as help you determine the level of nesting within an instruction.

Field labels are merged as comments in the field.

The following example shows a series of nested REPEAT instructions that have been labeled. The first instruction, REPEAT Editor Information, is labeled with the number 1, since it's the first REPEAT in the template. This same instruction is also assigned the level number of L1, since it's the first level of the REPEAT instruction. The END REPEAT is likewise labeled so that you can easily match them when examining the contents of the template.

For each subsequent instruction, HotDocs increments the field number. Additionally, if the next REPEAT instruction is nested (which, in this example, it is), HotDocs increments the nesting level number. Each END REPEAT instruction is likewise labeled.

«REPEAT Editor Information // [1:L1]»

Editor: «Editor First Name» «Editor Last Name»

«REPEAT Author Information // [2:L2]»

Author: «Author First Name» «Author Last Name»

«REPEAT Book Information // [3:L3]»

Title Edited / Date Completed: «Book Title» / «Date Completed:03 JUN 90»

«END REPEAT // [3:L3]»

«END REPEAT // [2:L2]»

«END REPEAT // [1:L1]»

When assigning labels to fields, you can choose whether to include both the field number and the nesting level. You can also choose to merge just one or the other.

Finally, you can have HotDocs assign the hidden text property to these labels (as well as any other comments you've assigned to fields in the template.) When this property is assigned, comments and labels will be hidden and shown, depending on whether you are viewing hidden text in the template. (For information on viewing hidden text, see your word processor's documentation.)

Repeats can not be nested more than four levels deep.

To label instructions

  1. At the text template, click the [image] Label Fields button. The Label Fields dialog box appears.
  2. Select an option, based on the following information:
    • To assign a numeric name to each instruction, select Label IF, REPEAT, and SPAN instructions.
    • To have HotDocs identify the level of nesting for each instruction, select Identify level of nested IF, REPEAT, and SPAN instructions.
    • To apply the hidden text property to comments and labels, select Place comments (including field labels) in hidden text. Once applied, you can quickly show and hide your comments and labels by choosing the appropriate command at the word processor.
  3. Click OK. HotDocs applies the labels you have selected to any instructions in the template.

SPAN fields are supported in Microsoft Word only.

To clear labels from fields or show comments once again, click the [image] Label Fields button, clear all of the options, and click OK.

If you're using Microsoft Word, you can also label fields by clicking on the HotDocs drop-down menu in the HotDocs toolbar and choosing Label Fields.


At a Glance: The Go To Field dialog box

After opening a template to edit, you can open the Go To Field dialog box by clicking on the [image] Go To Field button on the HotDocs tab.

You can enter a number in the Field number field, click the OK button, and HotDocs will move the curser to the corresponding variable field on the template. For example, if you typed in the number 3 and clicked the OK button then HotDocs would place your curser within the third variable field from the top of the template.

To learn more about the Go To Fields button follow the link below:

  • Go to a Specific Field in the Template


Go to a Specific Field in the Template

As you test assemble your templates, you may occasionally receive HotDocs error messages that instruct you to correct a problem in a specific field in the template. If you know the field number, you can have HotDocs move your cursor to the specific field in question.

To move your cursor to a specific variable field

  1. At the template, click the [image] Go to Field button. The Go To Field dialog box appears.
  2. Enter a number in the Field number field.
  3. Click OK. Your cursor is taken to that field.


View the Template in Markup View

Moving between Markup View and Developer View is supported in Microsoft Word RTF templates only. In Microsoft Word DOCX templates you can click the [image] Create Markup button to open a Markup document in a new Word window.

As you automate a Microsoft Word RTF template and create within it variable and instruction fields, the template can be complicated to read and understand, especially to someone unfamiliar with automation. At times, however, you may need for a subject matter expert to review the text of the template for accuracy or to make changes or edits. To make the template easier for a non-HotDocs user to review, you can change the formatting of the template to Markup View and then provide the reviewer a copy of it.

When displaying markup, HotDocs replaces variables and instructions in the template with markup fields, which include markers (such as brackets) and a name. How the resulting markup field looks depends on the type of field it is:

  • Variables: By default, variables are marked using brackets. If a comment is assigned to a variable, it will be used as the field name. If no comment is assigned, HotDocs will use either the variable's title or name.
  • IF, REPEAT and SPAN instruction blocks: By default, IF, REPEAT, and SPAN instruction blocks are marked using brackets. If a comment is assigned to these text blocks, the comment can be merged in the field label. If no comment is assigned, HotDocs will simply merge the field markers around the text block. The instruction text can appear as an annotated footnote or endnote (depending on your preferences). (By default, SPAN instructions are not included in the Markup View. You can select an option to display them, however.)
  • INSERT instructions: HotDocs will merge the file name of the template you are inserting.

All other instructions (such as ASK, LANGUAGE, etc.) will be hidden when the template is changed to Markup View.

Once you finish automating a template and switch to Markup View, you can save the template as a document file and provide a copy of it to the reviewer. Please note, however, that when you (or the reviewer) are viewing a marked up template (in HotDocs), you cannot edit existing variable fields or instructions—you must switch back to Developer View to edit those fields.

To view a template in Markup View

  1. Define the Markup View options you want to use in the template. (See Specify How Documents Should Be Marked Up.)
  2. Edit the template you want to mark up. (See Edit a Template.)
  3. Click the drop-down menu below the [image] HotDocs button.
  4. Select the [image] Markup View option in the drop-down menu. The template changes to show the marked up template.

To view a developer version of the template again, click the [image] Developer View option.

You can also view a marked up version of your assembled document. See View an Assembled Document in Markup View for details.

Sometimes as you automate a template, you create Computation variables that perform some function, rather than merge values. To keep these types of Computation variables from appearing in a marked up document, enter NONE as the variable's title.


At a Glance: The HotDocs Outliner dialog box

In Word 2003 the HotDocs Outliner dialog box will appear as a separate window to Word but can be viewed side by side with the Word window by clicking the [image] Arrange button.

After opening a template to edit, you can open the HotDocs Outliner dialog box by clicking on the [image] HotDocs Outliner button on the from the drop-down list below the [image] HotDocs button on the HotDocs tab of the Word ribbon. The Outliner opens within the Word window and this will display all HotDocs instructions in an outline form, without the main text or formatting of the document.

At the top of this dialog is the Outliner toolbar A where you can access the following options:

  • Expand All: Expands the list of items in the HotDocs Outliner to show all levels of instructions and variables.
  • Collapse All: Collapses the list of items in the HotDocs Outliner to show only first-level instructions and variables.
  • Refresh Outline: Updates the HotDocs Outliner with any changes you've made to text in the template.
  • Synch Template: Lets you view the template's cursor location in the outline. For example, when Synch Template is on, you can click in the template and have HotDocs show you where in the outline your cursor is positioned.
  • Show Variables: Includes variables in the list of instructions. Viewing variables in the context of their instructions can help you better understand scripting in the template.
  • Apply Colors: Displays the Apply Colors dialog box, where you can choose which coloring scheme should be used to identify variables and instructions in the outline.
  • Help: Opens the relevant page of the HotDocs Help File.

Underneath the tool bar is a check box and drop down list B where you can choose to limit the outline shown in the instruction list C by selecting to view single variables. This lets you view a specific variable to see which instructions or conditions are associated with that specific variable. If you select <cursor position> from this list, you can click in a field in the template and view the same information. This helps you view scripting on a variable by variable basis. If you don't tick the check box then the instruction list will show an outline of all the scripting and variables used in the template.

To learn more about the HotDocs Outliner follow the link below:

  • View an Outline of Scripting in the Template


View an Outline of Scripting in the Template

The HotDocs Outliner is supported in Microsoft Word only.

Using the HotDocs Outliner, you can generate an outline of scripting in the template. This outline can include just a list of instructions used in the template, or it can include variables as well. Items in the outline appear in the same order as they are used in the template. Viewing this outline may help you better understand the logic used in the template.

You can expand the outline to view all nested instructions in the template. You can also click on entries in the outline and view where that particular variable or instruction is merged in the template (and vice-versa). You can also view a single variable or instruction and see just the conditions or instructions surrounding that particular instance.

To view a scripting outline

  1. Edit a Word text template. (See Edit a Template.)
  2. In the HotDocs Edit toolbar, click the drop-down menu below the [image] HotDocs button, then select the [image] HotDocs Outliner button. The HotDocs Outliner window appears.
  3. Perform any tasks, as described in the following table:
To | Do This
View all instructions in the template—including all nested instructions Click the [image] Expand All button. The outline expands to show all levels of instructions.

To collapse the interview outline, click the [image] Collapse All button.
Update the Outliner after making changes in the template | Click the [image] Refresh Outline button. The outline updates and displays any changes you've made to the template text.
View the template's cursor location in the outline | Click the [image] Synch Template button. Now, when you click in the template, entries in the outline are highlighted to show where in the outline your cursor position is
View variables used in the template Click the [image] Show Variables button. The outline expands to include all variables merged in the template.

Viewing variables allows you to see relationships between variables and any surrounding instructions.
Apply color coding to instructions in the outline Click the [image] Apply Colors button. The Apply Colors dialog box appears, where you can choose the color scheme you want to use in the outline:
  • Choose None to make all variable and instruction entries black.
  • Choose Regular to mark all variable and instruction entries using a custom color specific to that field type. For example, all variables will be marked with one color, all IF instructions will be marked with a different color, all REPEAT instructions will use a different color, and so forth.
  • Choose Nested to mark all instructions using a custom color. Where pairs of REPEAT, IF, or SPAN instructions are nested, each level of nesting will be marked with its own color.
  • Choose Sequential to mark all instructions using a custom color. Each pair of REPEAT, IF, and SPAN instructions in the template will be marked by a different color.
Copy the contents of the script outline to the Windows Clipboard so you can paste it into another application | Click the [image] Copy to Clipboard button. The entire outline is copied. Open another application and then paste the script using that application's Paste command.
View all conditions or other instructions surrounding the inclusion of a specific variable in the outline | Select Limit to and then click the drop-down button to select the variable you want to view. The outline changes to show any REPEAT or IF instructions that affect that particular variable.
View the conditions or other instructions surrounding the cursor position in the template | Select Limit to and then choose <cursor position> from the drop-down list. Click in the template where you want to view these instructions or conditions.
Edit or test an instruction or variable in the outline | Right-click on the instruction or variable in the outline and choose Edit or Test.
Have HotDocs show you where in the template a REPEAT, IF, or SPAN instruction's END instruction is inserted | Right-click on the instruction in the outline and choose Find Matching END. In the template, the instruction is highlighted.

If you wish to use the HotDocs Outliner in Word 2007 it is recommended that you install SP3 or higher.


Create a Foreign Language Template

You can automate templates in languages other than English. There are requirements for doing so, however. Specifically, you must create a LANGUAGE instruction in the template that, in turn, calls a special runtime DLL that lets you format dates and numbers in the template so they appear correctly in the assembled document.

When formatting date and number variables in your template, you must manually enter example formats in the language you have chosen for your template. If you attempt to use English-language formats, your date and number variables will not be processed correctly.

HotDocs supports formatting dates and numbers only in the languages listed below. If you are automating templates in a languages other than these and need specially formatted dates or numbers, you must use Text variables to represent these variables.

To create a template using a foreign language instruction

  1. Create your template, using document text in the language you have chosen.
  2. Create variables and dialogs, using variable names and prompts in the language you have chosen.
  3. When inserting Date and Number variables, type the example format—in the foreign language—in the Format field. For example, if you have a French Date variable, you would type 3 Juin 2000. (Where you assign this format—either at the Date Variable Editor or at the Variable Field dialog box—depends on your project. See Format the Variable for ideas.)
  4. Position the cursor in the template where you want the LANGUAGE instruction to take effect.
  5. If you are using Microsoft Word, click the HotDocs drop-down menu in the HotDocs toolbar and choose Other Field from the list of options. The Other Field dialog box appears. (WordPerfect users, see step 10.)
  6. Click the Field type drop-down button and choose LANGUAGE.
  7. Click the Language drop-down button and choose the language you are using for the template. Your options include:
Language | Code
English | ENG
German | DEU
Swiss German | DES
Austrian German | DEA
French | FRA
Dutch | NLD
Spanish | ESN
Italian | ITA
Brazilian Portuguese | PTB
  8. Optionally, enter the punctuation character you want to use for the Thousands separator and the Decimal separator in the appropriate fields.
  9. Click OK. The instruction is merged in the template.
  10. If you are using WordPerfect, copy and paste an existing variable and then replace the text between the chevrons (« ») with the language instruction. For example: «LANGUAGE FRA».

If you want to include a chevron in a HotDocs text template either as a part of your document text or a literal text string, you need to double the opening chevron (but not the closing chevron), so that HotDocs does not interpret the chevrons (and any text between them) as a field. The output is a single chevron, as follows: input: ««some text», output: «some text».

Once the instruction is in the template and the document is assembled, all Date and Number variables after the LANGUAGE instruction are processed in that specific language.

Only the Spanish language DLL recognizes the gender-specific use of the word one. Options for that language include uno, una, and un.

The LANGUAGE instruction only affects date and number formats. You can use the default formats for the other types of variables or create your own. For example, if you want to use a Spanish True/False variable format, type Sí/No in the Format field.


Automating Plain Text Templates

You create or edit Plain Text Templates using your systems default text editor (the program which opens for .txt files). You can change what program you use by changing the file association for .ttx files in the Control Panel.

Because you can use any number of text editing programs to automate a Plain Text Template HotDocs does not integrate closely with your text editor in the same way it does for word processor templates. Instead HotDocs allows you to bring up the Component Manager for a Plain Text Template's component file and use this to create and edit components the same way you would with word processor templates.

Some text editors will allow you to drag and drop components directly from the Component Manager into the template. For other text editors, and for other types of fields (such as IF, INSERT, REPEAT etc) you must edit directly in the text editor.

When creating a Plain Text Template from an exiting RTF or DOCX template it is important to check all components have been transferred properly. Check all END instructions have been correctly placed in the new template before assembling.


Tips on Using Graphics in Word Templates

When automating templates, you often need to include graphics in the template. These graphics can represent company logos, illustrations, signatures, and so forth.

As you work with these files in the template, you may notice that their inclusion adversely affects template size and performance. A template without any graphics can easily jump in size from, say, 100K to 4 MB when you add a graphic file. This may happen because the size of the original graphic file is large even before you insert it, or it may happen because Word is copying the graphic and inserting it again as a metafile object. Additionally, sometimes graphics you insert in a header/footer may inadvertently be left in the header/footer, even if you think you have removed them.

Word stores any graphics in a .DOCX file in a compressed format that is close to the size of the original imported image. The RTF format, however, is a character-based document format, so graphic images must be converted to character strings. When images are large, have high resolution, or are of certain difficult-to-represent formats (particularly bitmaps), they become very large in RTF files.

Proper use of graphics in templates can minimize and even eliminate many of these problems. The following sections describe some steps you can take to improve your experience.

Minimize the File Size of the Graphic Outside of Word

When adding graphics to your template, you should do all you can to minimize the size of the file before you insert it into the document. The following tips should help:

  • Save the file in one of the following compressed formats: JPG, PNG, or GIF. Which format you choose depends on the type of graphic you are inserting. For example, if you are inserting a picture, you should use JPG. For simpler images, like illustrations or icons, you can use GIF. Do not insert uncompressed files such as Bitmaps (.BMP) in the template.
  • Save graphic files in the lowest acceptable resolution. Resolution for an image printed on a laser printer should display well at 120 dpi (or dots per inch), but some may wish to go as high as 150 dpi.
  • Crop and/or resize the file using a graphics-editing application. Even though Word includes tools for cropping or resizing the graphic directly in the document, these tools do not reduce the actual size of the file that is embedded in the template.

Keep Word from Storing Metafile Versions of Your Graphics in RTF

According to a Microsoft Knowledge Base article, "if an EMF, a PNG, a GIF, or a JPEG graphic is inserted into a Word document, when the document is saved, two copies of the graphic are saved in the document. Graphics are saved in the applicable EMF, PNG, GIF, or JPEG format and are also converted to WMF (Windows Metafile) format." Graphics stored in an RTF file in Windows Metafile format can be extremely large.

To resolve the problem, you can specify a Windows registry setting that keeps Word from saving two copies of the image.

You must be extremely careful when working in the Windows registry. Failure to follow the instructions below exactly could result in your making changes that negatively affect all of the programs on your computer. You may want to ask your system administrator for help if you are unsure of what you are doing.

To keep Word from saving two copies of graphics in your RTF templates

  1. Close Word (if it's running.)
  2. Click Start > Run. The Run dialog box appears.
  3. In the Open field, type regedit and click OK. The Registry Editor opens.
  4. Navigate to HKEY_CURRENT_USER > Software > Microsoft > Office > Version > Word > Options. (Replace Version with the version of Word you are using.)
  5. In the right pane of the window, right-click and choose New > String Value from the shortcut menu. A new string is created called New Value #1.
  6. Rename the value to ExportPictureWithMetafile. (To do this, you can choose Rename from the shortcut menu.)
  7. Once the name is changed, right-click on the string and choose Modify. The Edit String dialog box appears.
  8. In the Value data field, enter 0.
  9. Click OK.

If templates already contain these extra metafile images, you can remove them using the Hidden Data Remover tool in HotDocs. See the HotDocs Help for more information on using this tool.

Use Graphics in Headers and Footers Correctly

Often, you design your templates using company letterhead. Frequently this letterhead includes a company logo or icon, which you choose to include on the first page of the document only. In this situation, you would typically select the Different First Page option, and then remove the graphic from any subsequent pages in the document. Problems come if you later decide you don’t want a different first page header and you then clear the Different First Page option without first removing the graphic from the first page header. What happens is, Word assigns the headers from page 2+ to the first page so you can no longer see the graphic, but the graphic is still there. If you do not want graphics in your headers or footers, you must manually delete them before changing your header/footer options.

This same behavior can also happen when selecting the Different Odd & Even Pages option

Conclusion

In short, make sure you adhere to the following rules:

  1. Use DOCX templates where possible or use an image file format that works well in RTF files. Generally this is JPG, although some types of images (e.g. line drawings) may be smaller in another format.
  2. Size and crop images as required in the template before inserting them. Don’t use Word’s sizing/cropping or other picture manipulation features.
  3. Use the lowest acceptable resolution for images (in order to decrease file size).
  4. Insert images only where needed; avoid putting images in first page or odd/even headers that aren’t used in the template.
  5. Implement the registry setting that keeps Word from creating Windows Metafile Format copies of images in documents.


How Does HotDocs Assemble DOCX Templates?

In the simplest case, when assembling a DOCX file, HotDocs begins processing HotDocs fields at the top of the document and continues to the end in sequential order. However, deviations from this sequence may occur when HotDocs encounters certain items; such as file insertions, headers and footers, footnotes and endnotes, and comments.

Like any other field in a HotDocs template, HotDocs processes INSERT fields in the order encountered. This is also true if an INSERT field inserts a template, however HotDocs processes the inserted template before it is inserted, and before processing the rest of the fields in the receiving document. When the assembled sub-document is inserted at the point of the INSERT field, the headers and footers of its first and last sections are kept or discarded according to the KEEP instructions in the INSERT field.

The main body of a document is a series of one or more sections, and as expected, HotDocs processes the fields in each section in order. However, a section may include headers or footers. When HotDocs begins processing a section, if the section includes headers or footers, HotDocs processes the headers or footers before the remainder of the section. If a section includes multiple headers or footers (e.g. a different first page header), HotDocs processes the headers and footers in the order they are found. Since the author has no control over the order of the headers and footers in a DOCX file, the author should treat the order of one section’s headers and footers as undefined.

Text in the document may contain references to comments, footnotes, and endnotes. When such a reference is found, HotDocs processes the content of the referenced item before continuing to process the rest of the document.


Introduction: Create and Customize Variables

Once your document text is in a template file, you must replace variable text (text that changes each time you assemble a document) with HotDocs variables. Examples of variable text include names, dates, pronouns, numbers, and calculations. A variable is what prompts HotDocs to ask for that information when the template is used to assemble a document.

You can create seven types of variables: Text, Date, Number, True/False, Multiple Choice, Computation, and Personal Information. The variable type determines what information users can enter when they complete an interview. For example, if you create a Date variable, users must enter a valid date—they cannot enter text, such as a name, for an answer.

The following graphic shows a paragraph that contains two items that change depending

on the user—the name (Aaron Jameson) and the date (12th day of October, 2002):

You replace both of these items with variables:

There are two parts to creating variables—creating the variable component, and creating the variable field:

  • Variable Component: The variable component is the core part of a HotDocs variable. It contains all the information about a variable and how it should be processed, including the component name and prompt, any resource information, and any special patterns or other options that help control how the variable appears during the interview and how it will be processed when the final document is assembled. A variable component also creates an association between the components and the answers the user enters, so that the answer can be saved in an answer file. (Answer files can be reused when assembling other documents.)
  • Variable Field: When you insert a variable into a HotDocs template, HotDocs creates a field where the user's answer is merged into the assembled document. In a text template, the field is denoted by HotDocs chevrons (« »), while in a form template, the field is denoted by a colored box that is overlaid on the form's static text. There are certain properties that are assigned to a variable's field that affect the way the variable is merged into the document—specifically, formats and merge text for Multiple Choice variables. You can also include fill characters that force the answer to be a certain number of characters, regardless of how long the answer is.

If you want to include a chevron in a HotDocs text template either as a part of your document text or a literal text string, you need to double the opening chevron (but not the closing chevron), so that HotDocs does not interpret the chevrons (and any text between them) as a field. The output is a single chevron, as follows: input: ««some text», output: «some text».

When you insert a variable into the template, you automatically create a merge field for the variable. However, when you create a variable using Component Manager, there is not a merge field associated with the variable until the variable is inserted into the template.


At a Glance: The Variable Field dialog box

After opening a template to edit, you can open the Variable Field dialog box by clicking on the [image] Variable button on the HotDocs ribbon. You can also open this dialog box by double-clicking on an existing variable field to edit it.

From the multiple choice list A at the top of this dialog you can select the type of variable you would like to create:

  • Text: Allows you to create a Text variable.
  • Number: Allows you to create a Number variable.
  • Date: Allows you to create a Date variable.
  • True/False: Allows you to create a True/False variable.
  • Multiple Choice: Allows you to create a Multiple Choice variable.
  • Computation: Allows you to create a Computation variable. Click the Edit Component button to specify a computation script.
  • Personal Information: Allows you to use or create a new Personal Information variable. Personal Information variables ask information about the user. HotDocs then stores the user's answer in the system registry so that information can be used in other documents. Once a question has been asked, it is not asked again.

In the text field B you can enter a name for a new component. This name can have up to 50 alphanumeric characters, but must begin with a letter character. You can type a new name, or select an existing variable from the drop-down list. Click the [image] Edit button C to display the Variable Editor where you can customize the variable, including assigning prompts, resources, and variable-specific properties.

The section below the text field can change depending on the type of variable that was selected from the multiple choice list A. If a Text, Number, Date, True/False, or Personal Information variable has been selected you will see the Merge field properties as above. If you de-select the Use Default check box you can change the format of this specific use of the variable.

If a Multiple Choice variable has been selected then as well as the usual Merge field properties you will see a list of the Options, Prompts and Merge Text in this variable. If you de-select the Use Default check box here you will also be able to change the Merge Text used for this specific use of the variable.

Finally if a Computation variable has been selected then above the Merge field properties you will see the options for any Parameters associated with this variable and can edit them for use in this instance of the variable.

To learn more about inserting variables and variable fields follow the links below:

  • Introduction: Create and Customize Variables
  • Insert a Variable Field in a Text Template
  • Create and Insert a Variable Using Component Manager
  • Parameters


Insert a Variable Field in a Text Template

To insert a variable in your template text, you have two options: you can select a portion of the text that will change (such as a name, date, number, and so forth) and replace it with a variable field, or you can insert a variable field without selecting any text at all. If you select text, once HotDocs replaces the text with a HotDocs variable, it searches for other instances of the text and gives you the chance to replace those instances with the same variable. If you choose to simply insert a variable in the template without replacing template text, HotDocs inserts the variable only once.

To replace template text with a variable

  1. Select the text you want to replace and click the [image] Variable Field button. The Variable Field dialog box appears.
  2. Select the type of variable you want to insert. Your options include Text, Date, Number, True/False, Multiple Choice, Computation, and Personal Information.
  3. Type a variable name in the Variable field. (If the variable already exists, select it from the drop-down list.) (See Tips on Naming Your Variables.)
  4. Optionally, clear Use defaults and select an example format from the Format drop-down list. This format will determine how the answer appears in the assembled document. It is applied to this instance of the variable only. (See Format the Variable.)
  5. Click the [image] Edit Component button to modify the variable's component properties. (Click any of the following links for information on customizing a specific variable type: Text, Date, Number, True/False, Multiple Choice, and Computation.) When finished making changes, click OK. The Variable Field dialog box appears again.
  6. Click either Replace Once (replaces this instance of the variable only), or Replace Multiple (displays the Find and Replace dialog box where you can choose which instances you want to replace).
  7. If you selected Replace Multiple, the Find and Replace dialog box appears.
  8. Click the appropriate replacement option: Replace, Replace All, or Find Next. HotDocs replaces the text. (See Replace Other Instances of Selected Text with a Variable.)

WordPerfect users: When replacing multiple instances of text in a template, HotDocs will not replace those instances found in headers, footers, footnotes, and text boxes. You must manually replace those.

To insert a variable without replacing any text

  1. At the HotDocs template, insert the cursor where you want the variable to be.
  2. Click the [image] Variable Field button. The Variable Field dialog box appears.
  3. Select the type of variable you want to insert. Your options include Text, Date, Number, True/False, Multiple Choice, Computation, and Personal Information.
  4. Type a name in the Variable field. (If the variable already exists, select it from the drop-down list.) (See Tips on Naming Your Variables.)
  5. Optionally, clear Use default and select an example format from the Format drop-down list. This format will determine how the answer appears in the assembled document. It is applied to this instance of the variable only. (See Format the Variable.)
  6. Click the [image] Edit Component button to modify the variable's component properties. (Click any of the following links for information on customizing a specific variable type: Text, Date, Number, True/False, Multiple Choice, and Computation..)
  7. When finished making changes, click OK at both the Variable Editor and Variable Field dialog boxes. HotDocs inserts the variable.

You can assign text formatting—such as font, style, and size—to a specific occurrence of a variable. To do this, select the variable reference (including the chevrons) and use your word processor commands to assign the format. When the document is assembled, the text will be formatted the way you specify. If you must use a symbolic font, assign the font properties at the Variable Field dialog box. See Control How Answers Appear in the Assembled Document.

In Microsoft Word, you can also insert variables either by clicking on the HotDocs drop-down menu in the HotDocs toolbar and choosing Variable Field, or by right-clicking in the template and choosing Variable Field from the shortcut menu.

Be sure to use the relevant HotDocs field dialog (Variable Field, IF Field, etc.) when creating or editing fields in word processor templates. Editing field contents directly in Word must be done with care, since features like AutoFormat can substitute characters without your knowledge- for example replacing straight quotes with curly quotes, or hyphens with en-dashes. While HotDocs tolerates some of these AutoFormat substitutions in RFT templates, it does not in DOCX templates. If you must edit the content of a HotDocs field directly, you should either turn off Word's AutoFormat feature or undo (using Ctrl+Z) the unwanted character substitutions it makes.


At a Glance: The Find and Replace dialog box

After opening a template to edit, you can open the Find and Replace dialog box by clicking on the Replace Multiple button after creating a variable from template text.

In the top text field A you should see any text that was selected when you created your variable, but you can type in the word you would like HotDocs to find in the template if you need to change it. The name of the variable you have just created should appear in the second text field B. To edit the variable before replacing click the Modify button C.

Below the text fields are two check box options D. Tick the first one to have HotDocs make the search case sensitive and the tick the second field to have HotDocs only look for whole words only and ignore partial matches.

At the bottom of the dialog is a row of buttons E where you can choose to Replace the current word and move on to the next match, Replace All matches without looking at each one, Find Next match without replacing or Close the dialog without replacing.

To learn more about using replacing variables follow the links below:

  • Replace Other Instances of Selected Text with a Variable


Replace Other Instances of Selected Text with a Variable

When you replace text with a variable, HotDocs allows you to search forward through the template and replace other instances of the text with the variable. You can control this process.

To replace selected text with the variable

  1. Select the template text and create the variable. (See Insert a Variable Field in a Text Template.) When finished, click either Replace Once (replaces this instance of the text only), or Replace Multiple (displays the Find and Replace dialog box where you can control the replacement process).
  2. If you clicked Replace Multiple, the Find and Replace dialog box appears. The Find what field shows what text HotDocs is searching for. The Replace with field shows the name of the variable HotDocs is inserting.
  3. Make a selection, based on the following information:
To | Do This
Replace this instance of text and move to the next instance | Click Replace.
Have HotDocs replace all instances of text from the selected instance to the end of the template (without confirmation) | Click Replace All.
Have HotDocs skip this instance and search for the next | Click Find Next.
Replace only those instances of text that are complete words (for example, prevent HotDocs from replacing the his in this with a variable for a pronoun) | Select Find whole words only.
Replace only those instances of text that have the same capitalization as the selected instance | Select Match case.
Change the properties of the variable | Click Modify and make the changes.


Create and Insert a Variable Using Component Manager

At times you might want to create a variable that might not appear in the template at all (such as a temporary variable that helps process a computation.) Or, perhaps you want to create several variables consecutively but you might not be sure where to use them in the template. You can use Component Manager to do this.

To create a variable using Component Manager

  1. Open Component Manager. (See Open and Close Component Manager.) The Component Manager window appears.
  2. Select a variable type by clicking the Components drop-down button.
  3. Click the [image] New Component button. The Variable Editor appears to gather information about the new variable.
  4. Assign a name and any other properties to the variable and click OK.

If you use Component Manager to create variables, you can likewise use Component Manager to insert the variables directly in the template.

To insert a variable into the template using Component Manager

  1. Open Component Manager. (See Open and Close Component Manager.) The Component Manager window appears.
  2. Select the variable you want to insert from the component list. (To show only that certain type of variable in the list, click the Components drop-down button and select the variable type.)
  3. Either place your cursor in the template where you want the variable and click the [image] Insert Variable button (in Component Manager), or drag the variable from the Components list into the template.


Introduction: Types of Insert Instructions

Using Insert instructions in your templates enables you control a wider range of features and automate much more complex documents.

There are four main types of instructions you can have in a HotDocs template.

IF Instructions: Makes part of a template conditional.

REPEAT Instructions: Creates lists within the document.

INSERT Instructions: Inserts one template into another.

SPAN Instructions: Allows the user to edit document text during the interview.


Understand How Smart Returns are Inserted After Instructions

By default, each time you insert any instruction (IF/END IF, REPEAT/END REPEAT, SPAN/END SPAN, INSERT, or ASK) in a template, HotDocs adds a return following the instruction. Then, when HotDocs assembles the template and processes the instruction, it removes the return it inserted. To some, this insertion of returns creates problems or confusion in automating the template because it sometimes makes the template text difficult to read and understand, especially when instructions (and their subsequent returns) within a paragraph sometimes break the paragraph into separate lines of text.

To accommodate this, HotDocs allows you to choose whether to insert returns following these instructions. (See Control When Returns Are Inserted After Instructions in Text Templates.). Specifically, you can:

  • Always insert a return after an instruction.
  • Never insert a return after an instruction.
  • Use "smart" return insertion.

The first two options behave exactly as expected—HotDocs will either always insert a return (and remove it during assembly) or never insert a return, depending on which of the two options you choose.

The behavior of third option, using smart returns, depends on how and where you're inserting the instruction.

If text you select represents a complete paragraph (meaning there's a paragraph mark at the end of the selected text), HotDocs will insert a return character after the instruction. In the following example, brackets ([ ]) indicate where text selection begins and ends. Note that the closing bracket ends on the line after the paragraph mark (¶):

Here is a paragraph.

[Here is another paragraph.¶

] Here is a third paragraph.

Would produce a section of conditional text that looks like this:

Here is a paragraph.

«IF Instruction»

Here is another paragraph.

«END IF»

Here is a third paragraph.

However, if the text you select is within a paragraph, HotDocs will not insert a return character. So, in the following example, when you insert the REPEAT instruction, HotDocs does not insert a return because the insertion is happening in the middle of a paragraph. There is no paragraph break at the end of the insertion:

The client, «Client Name», has the following children: «REPEAT Children:a, b, and c»«Child Name»«END REPEAT». These children live with the client and are covered under the provision.¶

At times, you may simply insert an instruction without first selecting text, or perhaps you may select some text but not include the paragraph mark in the selection. If HotDocs detects an existing paragraph break immediately after the instruction, it includes a Keep Return code (or vertical bar (|) ) at the end of the instruction. The code tells HotDocs to not delete the return when it assembles the document. So, the following example, where brackets indicate text selection:

Here is a paragraph.

[Here is another paragraph.] ¶

Here is a third paragraph.

would produce the following automation:

Here is a paragraph.

«IF Instruction»Here is another paragraph.«END IF|»

Here is a third paragraph.

Note that the Keep Return code (|) in the END IF instruction indicates to HotDocs to keep the return character when it assembles the document.

HotDocs' capacity to delete both an IF instruction and the return that follows it is very important in some situations. If an optional paragraph includes numbering, it is difficult to condition out the entire paragraph and its numbering without putting the IF on a separate line before the paragraph. It can be done, but the template looks odd, since the IF is inside the numbering of the paragraph.


Match Opening Instructions with Closing Instructions

Click here if you are using WordPerfect and the HotDocs Navigation toolbar doesn't appear in your template.

Every IF, REPEAT, and SPAN instruction inserted in a template must include an END IF, END REPEAT, or END SPAN instruction. Without both of these instructions, you will receive an error when you attempt to assemble a document. (The one exception is a repeated row in a table. See Use a Word Processor Table to Display a List.) However, sometimes during the course of editing a template, you may inadvertently delete or move part of the instruction. Doing so will cause errors when you attempt to assemble the document. To troubleshoot errors like this, you can have HotDocs match the different parts of the instruction. Likewise, if you have an intricate section of nested instructions, you can pair these different parts of the instruction.

To match opening instructions with their closing instructions

  1. Open the template for editing. (See Edit a Template.)
  2. Place the cursor inside either the opening instruction or the closing instruction. For example, if you're trying to find the opening instruction of a REPEAT, place your cursor in the END REPEAT instruction.
  3. Click the [image] Match Fields button. HotDocs moves your cursor to the corresponding instruction.

When editing instructions in a computation script, you can place your cursor in either the opening or closing instruction and press Ctrl+M. This will move your cursor to the corresponding instruction.

If you're using Microsoft Word, you can also match fields by clicking on the HotDocs drop-down menu in the HotDocs toolbar and choosing Match Fields.


Introduction: Make Parts of Templates Conditional

Sometimes your templates contain optional text, or text that should be included only when certain conditions are met. To include or exclude text based on these conditions, either you create an IF instruction, which is based on a True/False variable, or you create an IF expression, which is based on other conditional tests. In either situation, the IF instruction or expression must result in a true/false (or yes/no) result.

For example, in an estate planning document, there may be a paragraph that lists children who stand to inherit part of the client's estate. However, if the client doesn't have children, this paragraph should not be included. To keep it from being merged in cases where it's not relevant to the client, you can condition the paragraph on a True/False variable that determines whether the client has children. If a simple True/False variable doesn't accomplish what you need, you can create a more complicated expression. Types of expressions include testing against which option of a Multiple Choice variable was selected, whether the value of an answer is equal to (or greater than or less than) another value, and so forth.

In this example, the sentence that begins "Premium rate adjustments due to change..." will be merged into the document only if the true/false variable Step Rate Tables is TRUE.

Also, the sentence beginning "Rates will be guaranteed..." and containing the computation variable Rate Guarantee Calculation will be merged into the document only when the answer to the variable Rate Guarantee is either 2 years or 3 years. If this condition is not met, Rate Guarantee Calculation will not be run.

In addition to using a single instruction or expression to merge or remove a single block of text, there may be times when you have multiple versions of a paragraph or other text, only one version of which should be merged into the assembled document. To accomplish this, you can use a series of ELSE IF instructions or expressions. If you have a paragraph that should be merged when no conditions are met, you can use an ELSE instruction.

In past versions of HotDocs, using END by itself instead of the complete END IF instruction was sufficient. Beginning with 11.1, HotDocs no longer processes the shortened version, and now requires the complete instruction.


At a Glance: The IF Field dialog box (IF True/False Variable)

After opening a template to edit, you can open the IF Field dialog box by clicking on the [image] IF Field button on the HotDocs ribbon. If you select IF True/False Variable from the multiple choice A options at the top of the dialog box then you will be presented with the following options below:

In the first text field B you can enter a name to create a new true/false variable and click the [image] Edit button C to set the option, or you can select an existing true/false variable from the drop-down menu. In the second text field D (visible if you click the Show Advanced button) you can enter a comment about the IF Field.

To learn more about using IF fields follow the links below:

  • Introduction: Make Parts of Templates Conditional
  • Include or Exclude a Single Version of Text Using a Simple IF Instruction or Expression
  • Include or Exclude Multiple Versions of Text Using IF and ELSE IF Instructions or Expressions
  • Edit an IF Instruction or Expression
  • Nest IF Instructions
  • Use Conditional Instructions in a Computation Script
  • Tips on Using IF Instructions


At a Glance: The IF Field dialog box (IF Expression)

After opening a template to edit, you can open the IF Field dialog box by clicking on the [image] IF Field button on the HotDocs ribbon. If you select IF Expression from the multiple choice options A at the top of the dialog box then you will be presented with the following options below:

Below the multiple choice options A is the Script Toolbar where you can choose from the following buttons to search and edit the Script field B:

  • Auto Format: Indents matching pairs of IF and REPEAT instructions, based on the level of their insertion.
  • Undo: Removes any changes you have made to the script.
  • Redo: Reapplies any changes you have made to the script.
  • Cut: Removes the selected text and copies it to the Clipboard.
  • Copy: Copies the selected text to the Clipboard.
  • Paste: Pastes the selected text on the Clipboard at the cursor position in the script.
  • Find: Displays the Find dialog box where you can specify the word or text string for which you are searching.
  • Find Next: Finds the next instance of the word or text string for which you are searching.
  • Find and Replace: Searches for a specific word or text string and replaces it with word or text string you specify.
  • Go To: Displays the Go To dialog box where you can specify the location in the script to which you want to move your cursor. You can go to either a specific line or character in the script.
  • Indent Block: Indents the selected text.
  • Outdent Block: Realigns the indented text with the left margin of the scripting box. (If the text has been indented more than once, realigns the text with the previous tab stop.)
  • Comment Block: Causes the selected text to become inactive, meaning HotDocs won't process it when it processes the computation. Often, template developers "comment out" scripting if they need to close the scripting dialog box but HotDocs won't let them because the script is invalid. Additionally, developers often add personal explanations to the scripts they are writing, and commenting them out keeps the computation operational.
  • Uncomment Block: Removes any commenting that has been applied to the selected script. Once the script is uncommented, HotDocs will attempt to process it.
  • Options: Displays the HotDocs Options dialog box where you can customize the way script editing features work.
  • Help: Opens the relevant page of the HotDocs Help File.

Below this is the Script field in which you can type in the expression. You can also use your mouse to drag variables, operators, and models from the lists below to this box, or press Ctrl+Space to have HotDocs display these lists directly in the script so you can use the keyboard to choose the syntax item you need.

On the left is the Component list C showing a list of all the components in this template. You can search it using the find field at the bottom, filter it by selecting a component type from the drop-down list at the top or create a new component by clicking on the [image] New Component button. In the center D is a list of useful scripting operators you can drag into the Expression box. Operators help you compare relationships between items in your script. They also allow you to perform mathematical calculations on items in your script. At the right is a list of Expression models E you can use to create a custom expression. Expressions must result in a true/false value.

For further information on how to use the operators, see Use Operators when Scripting, and for further information what the expression models do, see Full List of Expression Models.

If you click the Show Advanced button F you will see a text field at the bottom on the dialog where you can enter a comment about the IF Field.

To learn more about using IF fields follow the links below:

  • Introduction: Make Parts of Templates Conditional
  • Include or Exclude a Single Version of Text Using a Simple IF Instruction or Expression
  • Include or Exclude Multiple Versions of Text Using IF and ELSE IF Instructions or Expressions
  • Edit an IF Instruction or Expression
  • Nest IF Instructions
  • Use Conditional Instructions in a Computation Script
  • Tips on Using IF Instructions


Include or Exclude a Single Version of Text Using a Simple IF Instruction or Expression

Often you have text in your template that you want to include or exclude based either on users' answers or on other conditions being met during the interview. For example, perhaps you need to include a client's shipping address. You can use a True/False variable to determine whether the shipping address is different from the billing address. If so, the Shipping variables will be asked and their answers will be merged into the assembled document. If not, only the Billing variables will be asked and merged.

Sometimes the situation in which you want to merge the text requires a little more information. In this case, you can use a True/False expression to condition the text. For example, perhaps you need to include a list of minor children in the document; however, you only want this list to appear if the client is married and if the children are under the age of 18. To accomplish this, you can create a True/False expression. Like a True/False variable, an expression must result in either true or false for the text to be merged or excluded correctly. Expressions are often used when a simple True/False variable doesn't convey the condition you need.

In some templates, you may have multiple versions of text, only one of which you want to include in the document. You can condition each section using a series of ELSE IF and ELSE expressions. The process of creating these expressions is similar to creating them for True/False variables. To understand how to do this, see Include or Exclude Multiple Versions of Text Using IF and ELSE IF Instructions or Expressions.

A true expression produces a true/false value. For example, the expression YEARS FROM( Child’s Birth Date, TODAY ) produces a number (the age of a person), not a true or false value—it is not a True/False expression. But the expression YEARS FROM( Child’s Birth Date, TODAY ) <= 17 can only result in true or false. It is a True/False expression.

By default, when HotDocs inserts an IF expression in the template, it includes a return character after the instruction. During assembly, as the instruction is processed and removed from the assembled document, this return character is likewise removed. If you would prefer to keep this character from being merged entirely, or if you want to merge a return character only when working with complete paragraphs of text, you can specify an option that controls this. See Control When Returns Are Inserted After Instructions in Text Templates and Understand How Smart Returns are Inserted After Instructions.

To condition text using a True/False variable

  1. Highlight the template text you want to make conditional—a word, a sentence, a paragraph, an instruction, and so forth.
  2. Click the [image] IF Field button. The IF Field dialog box appears.
  3. Select IF True/False Variable.
  4. Type a name in the True/False variable field, or select an existing variable from the drop-down list.
  5. Optionally, click the [image] Edit Component button to make changes to the variable's component properties. (See Customize a True/False Variable.)
  6. Click OK. HotDocs inserts an IF instruction around the text you selected.

To add or exclude text based on a True/False expression

  1. Select the text in the template you want to make conditional—a word, a sentence, a paragraph, an instruction, and so forth.
  2. Click the [image] IF Field button. The IF Field dialog box appears.
  3. Select IF Expression. The window changes to let you create a script for the expression. (See Understand the HotDocs Scripting Language.)
  4. Enter the script, using models from the Expression models list. (For example, the following is an expression that tests three different conditions: 1) the client must be married, 2) the client must be over age 25, and 3) the client must live in Pennsylvania: Client is Married AND AGE( Client Birth Date ) > 25 AND Client State= "Pennsylvania".)
  5. Click OK. HotDocs inserts the expression around the part of the template you selected.

True/false expressions can contain only 512 characters. If longer, you must use a Computation variable.

When the True/False variable appears during the interview, the variable name is used as the prompt. You can enter a Prompt at the True/False Variable Editor to make it more specific. (See Tips on Naming Your Variables and Create a Prompt for a Variable.) Additionally, you can include a resource (see Add Resource Information to a Variable or Dialog.)

To help you create the expression, you can use predefined expression models from a list of models. Two expression models you will use frequently are MULT_CHOICE = TEXT and MULT_CHOICE != TEXT—both of which test what the answer is for a Multiple Choice variable.

You cannot use an IF instruction to condition a table that appears within another table. For example, if you have a table which contains another table within one of its cells, you cannot use a condition to remove the embedded table during assembly. (If you do, HotDocs only removes the text from the table and leaves the empty table in the assembled document.)


Include or Exclude Multiple Versions of Text Using IF and ELSE IF Instructions or Expressions

Often you have a simple paragraph (or other section) of text in your template that you want to include or exclude based either on users' answers or on other conditions being met during the interview. (See Include or Exclude a Single Version of Text Using a Simple IF Instruction or Expression.)

In other cases, however, you may have multiple versions of text, only one version of which you want to include in the document. You can condition each section using a series of ELSE IF and ELSE instructions. For example, if you have different versions of a paragraph you use for different field offices, you can use the ELSE IF and ELSE expressions to insert the correct paragraph, based on a user's answers. You can use both ELSE IF and ELSE in the same IF instruction, but ELSE must always be the last item in the instruction.

In the following example, the first part of the condition tests whether the client lives in the state of Idaho. If so, the paragraph for Idaho sales tax is merged. If the client doesn't live in Idaho but does live in Utah, the paragraph about Utah sales tax is merged. Finally, if the client lives in a state other than Idaho or Utah, the paragraph keeping them from paying sales tax is merged.

«IF Client Lives in Idaho»

Sales tax for the State of Idaho is «Sales Tax Amount»% and must be paid at the time of purchase.

«ELSE IF Client Lives in Utah» Sales tax for the State of Utah is «Sales Tax Amount»% and must be paid at the time of purchase.

«ELSE» No sales tax must be paid.

«END IF»

To create these ELSE IF sections, you can use either True/False variables or you can use expressions.

HotDocs processes IF instructions by starting at the top of the IF instruction and looking for the first condition that is true. Once it finds a true condition, it inserts the correct text and continues processing any additional instructions. But if all the conditions are false, HotDocs doesn’t insert anything at all (unless there is an ELSE instruction.) When the True/False variable that controls the IF instruction is not answered, none of the instructions are processed and no text is merged in the document.

To add or exclude multiple versions of text using two or more True/False variables or expressions

  1. Highlight the first conditional part of the template and create an IF instruction. (See Include or Exclude a Single Version of Text Using a Simple IF Instruction or Expression.)
  2. Select the IF instruction’s END IF keywords together with the next section of conditional text and click the [image] IF Field button. The ELSE Field dialog box appears.
  3. Select ELSE IF True/False Variable or ELSE IF Expression. The dialog box changes to show the options for defining the condition.
  4. Enter a name in the True/False variable field, or enter an expression in the Expression field.
  5. Click OK to complete the instruction.
  6. Repeat this procedure for each section of conditional text, making sure you select the preceding section’s END IF instruction, along with the new section of text.

Optionally, if you have a paragraph or block of text you want to include if all other conditions are false, you can use an ELSE instruction.

  7. Highlight the last END IF instruction together with the part of the template you want to be used if none of the preceding conditions in the instruction are true.
  8. Click the [image] IF Field button. The ELSE Field dialog box opens.
  9. Select ELSE and click OK. The selected section of the text is added to the IF instruction. (You don't have to specify a condition for this section—it will simply be used whenever all the earlier conditions are false.)

True/false expressions can contain only 512 characters. If longer, you must use a Computation variable.

When the conditions in an ELSE IF instruction are all True/False variables, you can put them together in a single-selection group in a dialog. (See Change a Dialog's Options.)

You cannot use an IF instruction to condition a table that appears within another table. For example, if you have a table which contains another table within one of its cells, you cannot use a condition to remove the embedded table during assembly. (If you do, HotDocs only removes the text from the table and leaves the empty table in the assembled document.)


Edit an IF Instruction or Expression

You can edit an IF instruction or expression.

To change the condition for an IF instruction or expression

  1. At the template, place the cursor in the IF instruction or expression.
  2. Click the [image] IF Field button. The IF Field dialog box appears.
  3. Edit the condition as necessary. Optionally, you can:
    • Create or select a different True/False variable or create a true/false expression. (See Include or Exclude a Single Version of Text Using a Simple IF Instruction or Expression or Include or Exclude Multiple Versions of Text Using IF and ELSE IF Instructions or Expressions.)
    • Click the [image] Edit Component button and type a prompt in the Prompt field to help the user make a selection. (See Create a Prompt for a Variable.)
    • Click the [image] Edit Component button and then click the Resource tab to add a resource to the instruction or expression. (See Add Resource Information to a Variable or Dialog.)
    • Click the [image] Edit Component button and then click the Advanced tab to specify several advanced options that control how the variable used in the instruction is processed. (See Control How HotDocs Processes a Variable, Control How Answers Appear in the Assembled Document, and Specify the Width of Answer Fields in the Interview.)

In past versions of HotDocs, using END by itself instead of the complete END IF instruction was sufficient. Beginning with 11.1, HotDocs no longer processes the shortened version, and now requires the complete instruction.


Nest IF Instructions

You can nest an IF instruction inside another IF instruction. HotDocs won’t process the nested instruction unless the first (or top) level of the instruction is true.

In this example, if HotDocs finds that Client’s Marital Status was answered Married, HotDocs inserts the text with the spouse’s name and then checks to see if Client Has Children by This Marriage was answered true. If it is, HotDocs inserts the names of the children.

This ruling affects the client, «Full Name of Client»«IF Client's Marital Status = "Married"»; and spouse, «Full Name of Spouse»«IF Client Has Children by This Marriage»; and the following children: «REPEAT Children:a, b, and c»«Full Name of Child»«END REPEAT»«END IF»«END IF».

But if HotDocs finds that Client’s Marital Status was not answered Married, HotDocs skips the rest of the instruction, including the question about children in the marriage.

If you ask variables later in the template based on a nested IF instruction being true, you must make sure you use the full conditional reference before asking the variable. See Tips on Using IF Instructions.

You can have HotDocs identify the level of nesting in your IF instructions using both labels and field coloring. See Use Labels to Identify Instructions and Assign Colors to Fields and Instructions in Templates.


Use Conditional Instructions in a Computation Script

Just as you can insert IF instructions and expressions directly in a template, you can use a Computation variable to control conditional text. The computation can be as complicated as it needs to be, as long as it follows the same logic applied when you insert an instruction directly in the template. (See Include or Exclude a Single Version of Text Using a Simple IF Instruction or Expression and Include or Exclude Multiple Versions of Text Using IF and ELSE IF Instructions or Expressions for a reminder.)

The IF instruction keywords (IF EXPRESSION, ELSE IF EXPRESSION, and so forth) are all available at the Instruction models list in the Computation Editor. You can either type the instructions directly in the Script field, or you can drag the models to the Script field and replace the EXPRESSION placeholders with either True/False variables or true/false expressions. (See Use the Script Editor.)

The following is an example of a script that uses conditional logic:

IF State = "Idaho"

Total Price + (Total Price * 0.05) + Shipping

ELSE IF State = "Utah"

Total Price + (Total Price * 0.0625) + Shipping

ELSE

Total Price + Shipping

END IF

In past versions of HotDocs, using END by itself instead of the complete END IF instruction was sufficient. Beginning with 11.1, HotDocs no longer processes the shortened version, and now requires the complete instruction.


Tips on Using IF Instructions

How HotDocs Processes IF Instructions and Expressions

HotDocs processes IF instructions by starting at the top of the IF instruction and looking for the first condition that is true. Once it finds a true condition, it inserts the correct text and continues processing any additional instructions. But if all the conditions are false, HotDocs doesn’t insert anything at all (unless there is an ELSE instruction). When the True/False variable or expression that controls the IF instruction is not answered or satisfied, none of the instructions are processed and no text is merged in the document.

In past versions of HotDocs, using END by itself instead of the complete END IF instruction was sufficient. Beginning with 11.1, HotDocs no longer processes the shortened version, and now requires the complete instruction.

Line Spacing

The key to correct line spacing between paragraphs when one or more paragraphs is conditional is understanding the process by which HotDocs inserts returns. By default, HotDocs inserts a return after each IF instruction. Then, during assembly, it removes any returns it has inserted.

You can select an option that inserts returns after every instruction, an option that inserts returns only if a complete paragraph is selected, or an option that doesn't insert any returns at all. (See Control When Returns Are Inserted After Instructions in Text Templates.) If you opt to include returns after complete paragraphs, if there are blank lines between paragraphs, be sure to consistently include either the preceding or following blank line.

Qualifying Instructions

When automating a template, you can cause certain things to happen in your interview based on answers a user gives. You accomplish this by using IF instructions. When using IF instructions, however, you should never reference a conditional variable outside the context of its full condition.

For example, the following script only asks Text Variable B if True/False Variable A has been answered true. Then, later in the template, another dialog is asked based on whether Text Variable B has been answered.

«IF True/False Variable A»

«Text Variable B»

«END IF»

…

«IF ANSWERED( Text Variable B)»

«ASK Dialog 1»

«END IF»

However, this script is incorrect since a user can reassemble the document (using the same answer file) and change the answer for True/False Variable A. This would keep Text Variable B from being asked again. However, a value still exists for Text Variable B in the answer file, so when HotDocs reaches the IF expression later in the template, Dialog 1 is asked.

To fully qualify this condition, create an IF expression that tests both True/False Variable A and Text Variable B before asking Dialog 1. For example:

«IF True/False Variable A AND ANSWERED (Text Variable B)»

«ASK Dialog 1»

«END IF»


Repeats and Lists Overview

This document covers the following topics:

Repeats and Lists Defined

Create and edit a REPEAT instruction

Repeats in a Table

Repeats with Computation Variables

Repeat Return Options

Edit Repeats

Punctuate, Sort and Filter Your Lists

Choose a Presentation Style

Customize REPEAT Titles

Additional Options

Repeats and Lists Defined

You can include lists of answers in your documents by repeating variable A component that is used to represent changeable text (such as names, dates, numbers, etc.) in the template. Types of variables include Text, Date, Number, True/False, Multiple Choice, Computation, and Personal Information.s and enabling your end-users to supply as many answers as necessary. You repeat variables by surrounding the variables with a REPEAT instruction An instruction that repeatedly asks the same variable(s) so that users can provide two or more answers for a given question. REPEAT instructions are used to create lists of answers in the document.. Instead of collecting and merging a single answer, as variables normally do, the repeated variable can merge When HotDocs pulls an answer from the answer file into the document during assembly. an entire list Two or more answers to one question merged in the document. of answers into the assemble See document assembly.d document.

For example, the following shows a REPEAT instruction inserted into a template:

This shows the list of answers the REPEAT instruction merged into the template:

Create and edit a REPEAT instruction

You can create a list of repeated answers by inserting a REPEAT instruction around one or more variables. For example, perhaps you want to insert a list of personal property items with their associated values. You can create a variable for each of the two data types (items and values), and then repeat them.

When you create the REPEAT instruction, you are asked to create or select a custom dialog to control the instruction. During the interview, the user can answer the dialog over and over again, until they have listed all their pertinent property items.

You also have the option to limit the number of answers a user can supply for a repeated variable. HotDocs merges these answers into the finished document.

Additionally, you can use the REPEAT instruction to repeat any text, instructions, or other parts of a template. Everything inside a REPEAT instruction becomes repeatable together with the variables.

Repeats in a Table

Often, you may need to repeat information within a word processor table. This is best done by repeating a single cell or an entire row.

Repeats with Computation Variables

Instead of inserting a REPEAT instruction directly in a template to generate a list of answers, you can also use a REPEAT instruction in a Computation variable to create your list of answers. Using a computation enables you to quickly insert a list in more than one location in the template.

Repeat Return Options

By default, when HotDocs inserts a REPEAT instruction in the template, it includes a return character (similar to a paragraph mark in a word processor) after the instruction. During assembly, as the instruction is processed and removed from the assembled document, this return character is likewise removed. Depending on several factors, you may prefer to keep HotDocs from adding this character, or you may want to add a return character only under certain situations. You can specify an option that controls this. See also, Understand How Smart Returns are Inserted After Instructions.

Edit Repeats

You can make changes to REPEAT instructions after they have been created, including editing the repeated dialog's contents, adding a filter, choosing an answer-sorting order, and adding punctuation to the list of answers.

Punctuate, Sort and Filter Your Lists

If you’re inserting a list in sentence style, you must choose the punctuation you want for the list. If you don’t choose a punctuation style, the list runs together without any punctuation or spaces—for example, DanielNathanEmilyKate. Once you select a punctuation style, HotDocs punctuates the list automatically—for example, Daniel, Nathan, Emily, and Kate.

When assigning a format, note that formats with all capital letters only capitalize the conjunction in the sentence, for example, the word AND. Individual answers in the list are either merge When HotDocs pulls an answer from the answer file into the document during assembly.d as the user types them or merged as you have formatted them using a variable-level example format.

You can also have HotDocs alphabetize your list automatically, in either ascending or descending alphanumeric order (for example, A to Z and 1 to 9). You can also sort based on any repeated variable. If there’s more than one repeated variable in the REPEAT instruction, you can sort on two levels—for example, first on State, then on City (or cities within the state).

You can also create a computation script that filters a list so only the entries that meet some condition are merged into the assembled document. For example, you could create a list of all the children in a family and then limit the list to include only those who are under the age of 18.

Choose a Presentation Style

You can choose how a repeated dialog appears during an interview, either by presenting the list as a series of dialogs, or as a single spreadsheet with multiple entry points.

Your options include:

  • Repeated Series—causes a regular dialog to appear with an answer field for each variable. When the user answers the questions in the dialog, they can either click the [image] Add Another button to add another repetition to the dialog, or they can click [image] Next to move to the next dialog in the interview.
  • Spreadsheet—causes a single dialog to appear with a column for each variable and an unlimited number of rows. The user fills in as many rows as they need. (The spreadsheet format lets the user see all the answers at one time and makes it easier to change answers. However, a dialog with several variables can make a spreadsheet too large to view easily.)

Customize REPEAT Titles

You can customize the titles used for each repetition in a repeated series of dialogs. For example, perhaps you need to ask the user for a list of beneficiaries. By default, HotDocs displays this list in the interview outline using an incremented number, followed by the dialog title:

This approach may work in some situations, but in others, it may be better to customize the title for each repetition so the user knows what's in that particular dialog. For example, maybe you want the topmost icon in the list to use a generic title (like List of Beneficiaries), but you want the name of the beneficiary to appear for each individual repetition in the interview. This way, the user can easily review what's in each dialog, like this:

To accomplish this, you must do the following:

  • Assign a generic label (such as List of Beneficiaries) to the repeated series.
  • Create a computation script that merges the user's answer to Beneficiary Name in the title. If you don't give an answer, the script merges other text that shows the user that the dialog is unanswered. Otherwise, HotDocs merges an unanswered variable placeholder in the title.

Additional Options

You can further customise REPEAT instructions in the following ways:

  • Control How Many Rows are Visible in a Spreadsheet Dialog—By default, when displaying a spreadsheet dialog, HotDocs always shows 10 rows of the spreadsheet. If you need to show more or less than this number of rows, you can enter a specific number at the Dialog Editor. (This option doesn't limit the number of answers a user can give—it only controls the number of answers that can be viewed at any given time.)

  • Limit the Number of Answers Allowed for a Repeated Dialog—At times, you may want the user to enter only a specific number of answers in a list. You can use the LIMIT instruction to limit the number of times a dialog repeats. Once the user reaches the limit, they can not enter anymore answers.

  • Get the Sum Totals for Repeated Number Variables—You can use a Computation variable to find the sum total of a repeated Number or Computation variable. For example, you may need to find the grand total of a series of dollar amounts.
  • Make a List Appear as one or More Columns—Sometimes it makes more sense to have your list of answers appear in columns, rather than in a punctuated sentence. If you want to make the list appear in a column, include a hard return after the text in the REPEAT instruction.
  • Count the Number of Entries in a List—You can use a computation script to determine how many times a user answers a repeated dialog. You can also use a built-in Number variable that numbers a list of answers automatically.
  • Retrieve a Specific Answer from a List—At times, you may need to retrieve a specific answer from a list of answers. For example, maybe you have created a list of employees, but later in the document you need to merge the name of just the second employee in the list. You can do this by using explicit indexing. To do this, you type the index number of the answer you need between brackets, just after the variable name.
  • Retrieve Information Other Than Answers from a REPEAT Instruction—You can use a Computation variable to retrieve information (other than a list of answers) from a REPEAT instruction.


At a Glance: The REPEAT Field dialog box

After opening a template to edit, you can open the REPEAT Field dialog box by clicking [image] REPEAT Field on the HotDocs ribbon.

To choose the type of REPEAT field, you can choose either REPEAT Dialog or a REPEAT Database by selecting the pertinent option A.

In the Dialog field B you can type a name for the Dialog or Database, or select from a list of existing components using the drop-down list. You can edit your component using the [image] Edit button C.

You can also select the format, allowing you to punctuate a list of answers in sentence-style D. For example, your list could appear as A, B, and C—with the comma preceding the final item in the list. Click the drop-down button to see a list of formats or type your own format in the text box.

To learn more about using REPEAT fields follow the links below:

  • Introduction: Include Lists in Your Documents
  • Creating a REPEAT Instruction to Gather a List of Answers
  • Editing a REPEAT Instruction
  • Choosing a Presentation Style for the Repeated Dialog
  • Customizing REPEAT Titles
  • Punctuating a Sentence-Style List
  • Sorting a List of Answers
  • Filtering a List of Answers
  • Controlling How Many Rows are Visible in a Spreadsheet Dialog
  • Limiting the Number of Answers Allowed for a Repeated Dialog
  • Getting Sum Totals for Repeated Number Variables
  • Using a Word Processor Table to Display a List
  • Making a List Appear as one or More Columns
  • Counting the Number of Entries in a List
  • Retrieving a Specific Answer from a List


Creating a REPEAT Instruction to Gather a List of Answers

Sometimes you may need to collect and merge a list of answers (instead of just a single answer) into a document. You can create such a list by inserting a REPEAT instruction around one or more variables.

Often, you must repeat information within a word processor table This is best done by repeating a single cell or an entire row.

To create a REPEAT instruction to gather a list of answers:

  1. Select the template text (including any pertinent variables) you want to repeat, and click [image] REPEAT Field.
  2. Either select an existing dialog from the Dialog drop-down list, or type the name of a new dialog in the box.
  3. Click the [image] Edit Component button.
  4. Click the Style drop-down button and select the format for the repeated dialog.
  5. Optionally, in the Add button text box, type the custom label text you want to use on the [image] Add Another button. (This button appears on a repeated series dialog. Users click it to add a new repetition to the series of answers.)
  6. If you are creating a new dialog, add to the dialog the variables you want repeated.
  7. Click OK at the Dialog Editor.
  8. In the REPEAT Field dialog box, complete either of the following optional tasks:
    • Click the Format drop-down button to choose a punctuation style for a sentence-style list (for example, A, B, and C.)
    • Click Show Advanced to select sorting and filtering options for the repeated dialog.
  9. Click OK. HotDocs inserts the REPEAT instruction in the template.

You can always change punctuation, sorting, or other options by editing the instruction or the contents of the repeated dialog

You can use repeats to find the total sum of a series of repeated Number variables, such as a list of dollar amounts.

In Microsoft Word, you can also insert a REPEAT instruction either by clicking the HotDocs drop-down list in the HotDocs toolbar and choosing REPEAT Field, or by right-clicking in the template and choosing REPEAT Field from the shortcut menu.

If you are using both DOCX and RTF template you need to be aware that the format of repeated paragraphs may appear differently in RTF documents than in DOCX documents. When converting RTF templates to DOCX, you should inspect paragraph formatting of repeated paragraphs in assembled documents to ensure that they appear as you intend.


Editing a REPEAT Instruction

You can make changes to REPEAT instructions, including editing the repeated dialog's contents, adding punctuation to the list of answers, choosing an answer-sorting order, and adding a filter.

To edit a REPEAT instruction

  1. Position the cursor in the opening REPEAT instruction.
  2. Click the [image] REPEAT Field button. The REPEAT Field dialog box appears with the repeated dialog already selected.
  3. Make any of the following optional changes:
    • Click the [image] Edit Component button to edit the dialog (including adding or removing variables from the dialog and selecting presentation options for the dialog.)
    • Click the Format drop-down button and select a punctuation format.
    • Click Show Advanced to specify a sorting order and add a filter.

If you're using a complicated series of REPEAT instructions, you can match REPEAT instructions with END REPEAT instructions. You can also assign color coding to REPEAT instructions to help you view relationships between the REPEATS and other instructions in the template.


Choosing a Presentation Style for the Repeated Dialog

You can choose how a repeated dialog appears during the interview, either as a series of dialogs or as a single spreadsheet with multiple entry points.

To make a repeated dialog appear as a series

  1. Edit the REPEAT instruction.
  2. Click [image] Edit Component to open the Dialog Editor.
  3. Click the Style drop-down button and choose Repeated Series.
  4. (Optional) Assign a custom title to each repetition in the dialog.
  5. (Optional) Enter your custom label text for the [image] Add Another button in the Add button text field. (This button appears on a repeated series dialog. Users click it to add a new repetition to the series of answers.)

To make a repeated dialog appear as a spreadsheet table

  1. Edit the REPEAT instruction.
  2. Click [image] Edit Component to open the Dialog Editor.
  3. Click the Style drop-down button and choose Spreadsheet.
  4. (Optional) Limit the number of visible rows in the spreadsheet by entering a number in the Rows to display field.
  5. (Optional) Select Hide buttons to keep the Edit Row, Insert Row, and Delete Row buttons from appearing just below the spreadsheet. Users can still access these commands either by right-clicking the spreadsheet row, or by choosing the commands from the Edit menu.

If the repeated dialog contains a multiple-selection Multiple Choice variable, you must use the Repeated Series style—you cannot use the Spreadsheet style.

If you use the Spreadsheet style for a repeated dialog containing a True/False variable, the unanswered variable defaults to false.

HotDocs takes the format for repeated paragraphs in DOCX templates from the first paragraph. This may appear different to previous RTF template formatting.

You can use the Spreadsheet on Parent option from the Style menu to display a child dialog directly on the parent dialog.

You can control the width of the columns in a spreadsheet the same way you can control the width of answer fields in the interview.


Customizing REPEAT Titles

You can customize the dialog titles used for each repetition in a repeated series of dialogs.

To customize the title of the repeated dialog

  1. Edit the repeated dialog.
  2. At the Style drop-down list , select Repeated Series.
  3. Type a generic title in the Series Label text box.
  4. Right-click the Title text box and choose Variable Field.
  5. Choose Computation as the Variable type and type a name in the Name field.
  6. Click [image] Edit Component.
  7. In the Script field, enter the script that tests whether the user has answered the variable you want to use in the title. The script should also merge the text you want HotDocs to use in the title. An example script would be:

VALUE(Beneficiary Name, "Next Beneficiary")

  7. Click OK at both the Computation Editor and at the Variable Field dialog box. HotDocs merges the variable in the title field.
  8. Click OK to close the Dialog Editor


Punctuating a Sentence-Style List

If you want to insert a list in sentence style, you must choose the punctuation you want to use. If you don’t choose a punctuation style, the list runs together without any punctuation or spaces—for example, DanielNathanEmilyKate. Once you select a punctuation style, HotDocs inserts that style of punctuation in the list—for example, Daniel, Nathan, Emily, and Kate.

To punctuate a list

  1. At the template, edit the REPEAT instruction you want to punctuate.
  2. Click the Format drop-down button.
  3. Select a punctuation style, as explained in the following table:
To | Do This
Insert a comma even when there are only two items | Choose a, and b.
Punctuate a list, but keep and from being used | Choose a, b.
Keep the last comma before and from being inserted | Choose a, b and c.
Use or instead of and | Choose a, b, or c.
Use semicolons instead of commas between list items | Choose a; b; and c.
Enter your own punctuation style | Type your style in the Format field. Base it on the other formats in the list. For example, you could use or or some other text instead of and, or you could use a semicolon instead of a comma.

You can also create a list in one or more columns.

You can punctuate the same list differently at another place in the document. Choose a punctuation style separately at each REPEAT instruction field.


Sorting a List of Answers

You can have HotDocs alphabetize your list in either ascending or descending alphanumeric order (for example, A to Z and 1 to 9). You can sort based on any repeated variable. If there’s more than one repeated variable in the REPEAT instruction, you can sort on two levels—for example, first on State, then on City (or cities within the state).

To sort a repeated list of answers

  1. At the template, edit the REPEAT instruction you want to sort.
  2. Click Show Advanced. The dialog box changes to show sorting and filtering options.
  3. Click the Sort by drop-down button and choose the variable on which you want to sort.
  4. Select Ascending or Descending.
  5. Optionally, to sort on a second level, select a variable at the Then By field and choose either Ascending or Descending

When you close the REPEAT Field dialog box, you can see the names of the variables on which you are sorting added to the REPEAT instruction.

You can sort the same list differently at another place in the document. Edit that specific REPEAT instruction and specify the sort order you want, following the instructions given above.


Filtering a List of Answers

You can create a computation script that filters a list so HotDocs merges into the assembled document only those entries that meet a particular condition. For example, you can create a list of all the children in a family and then limit the list to include only those who are under the age of 18.

To filter a list

  1. At the template, edit the REPEAT instruction.
  2. Click Show Advanced. The dialog box changes to show sorting and filtering options.
  3. Click the [image] Edit Component button next to the Filter by drop-down list. The Computation Editor appears.
  4. Type a name for the filter in the Variable name field.
  5. In the Script field, type the condition that has to be true for an entry to be included in the list. (The variable in the condition must also be in the repeated dialog.) For example:

Dependent Age <= 17

  6. Click OK to return to the REPEAT Field dialog box.
  7. Optionally, if you've assigned a sorting option and you want the sorting to happen before the filter is applied, select Sort first.
  8. Click OK again to return to the template.

You can make a filter as complicated as you need it to be, but it must result in either true or false. For example, the expression YEARS FROM( Child's Birth Date, TODAY ) produces a number (the age of a person), not a true or false value—it is not a filter. But the expression YEARS FROM( Child's Birth Date, TODAY ) <= 17 can only result in true or false. It can correctly filter all children under the age of 18 from a list.


Controlling How Many Rows are Visible in a Spreadsheet Dialog

By default, for a spreadsheet dialog, HotDocs displays 10 rows of the spreadsheet. If you need to display more or less than this number of rows, you can enter a specific number at the Dialog Editor. (This option doesn't limit the number of answers a user can enter—it only controls the number of answers that a user can view at any given time.)

To change the number of viewable rows in a spreadsheet

  1. Edit the REPEAT instruction.
  2. To open the Dialog Editor, click the [image] Edit Component button.
  3. Click the Style drop-down button; then choose Spreadsheet.
  4. In the Rows to display field, either type a number, or click the up or down arrows to select a number.

This feature only alters the amount of spreadsheet rows displayed in the interview and will not stop the user from entering information in further rows. The user can view the additional rows by using the scroll bar on the spreadsheet. To limit the amount of rows that the user can create see LIMIT NUM.

The Rows to display feature is not compatible with templates published for HotDocs Server. You can not see the effect of any alteration you make to this field in the Server interview.


Limiting the Number of Answers Allowed for a Repeated Dialog

At times, you may want users to enter only a specific number of answers in a list. You can use the LIMIT instruction to limit the number of times HotDocs repeats a dialog.

To limit the number of answers that a user can enter

  1. Open the repeated dialog for editing.
  2. Click the Script tab. The window changes to show scripting options.
  3. Drag LIMIT NUM from the Instruction models list into the Script field.
  4. Replace the NUM placeholder with the maximum number of answers you want the user to enter.

You can let the user change the limit each time HotDocs assembles the document. To do this, replace NUM with a Number variable. Make sure the user answers the Number variable before HotDocs processes the REPEAT instruction.

To control the number of viewable rows in a spreadsheet (but still allow users to enter as many answers as they need), enter the number in the Rows to display field. (Make sure you select Spreadsheet as the Style.)


Getting Sum Totals for Repeated Number Variables

You can use a computation variable A type of component that performs calculations or executes other instructions within the template. Computation variable scripts are created using the HotDocs scripting language. to find the sum total of a repeated number or computation variable. For example, you may need to find the grand total of a series of dollar amounts.

To total a column of number variables

  1. If the repeated variable you are totaling is a list of Number variables, create a computation that contains the expression SUM( NUM_VAR ), or if you are totaling a list of Computation variables, create a computation that contains the expression SUM( COMPUTATION VAR ).
  2. Replace the NUM_VAR or COMPUTATION_VAR placeholder with the name of the repeated Number or Computation variable, respectively.
  3. Insert the computation variable containing the SUM instruction where you want the total to appear—for example, at the bottom of a column of numbers.


Repeats in a Word Processor Table Overview

You can insert a list of answers Data users enter during an interview. Answers are usually merged into the document, but sometimes they are used to calculate other answers that are used in the document. See also answer file. into a word processor table using a REPEAT instruction An instruction that repeatedly asks the same variable(s) so that users can provide two or more answers for a given question. REPEAT instructions are used to create lists of answers in the document.. Then, as the user provides answers during the interview A series of dialogs, each containing one or more questions which HotDocs generates from the variables you add to your template. The template's user must answer the questions in the interview before HotDocs can assemble a custom document. You can view the interview by clicking the Interview tab of the assembly window. The left pane of the assembly window displays an outline of the interview. As the user answers questions, the outline tracks the user's progress through the interview., HotDocs adds that information to the table.

There are two main approaches to inserting a REPEAT instruction into a table:

  • Regular REPEAT—If you want to repeat the contents of a single cell in a table you select only the text within that cell, taking care to not select the cell itself. This causes the repeat to function as a regular REPEAT instruction does when not in a table.

  • Row REPEAT—If you want to repeat an entire row of a table, you need to select an entire cell or the entire row of the table. When you insert a row REPEAT instruction in a table, HotDocs does not include an END REPEAT instruction—the end of the row signifies the end of the repeat.

When you place row REPEAT instructions in a table you should be aware that:

    • Each row in the table must have the same number of columns

    • The REPEAT instruction must be the first HotDocs field in the table row; no other HotDocs field can precede the REPEAT

    • You can repeat only a single row of the table; if you use a row REPEAT field in a table it cannot be followed by another row REPEAT field in the same table

It is possible to use multiple REPEAT instructions of both types within a single table. To do so, ensure that the REPEAT instructions are correctly nested in dialogs, and that you place any regular REPEAT instructions completely within a single cell.

HotDocs supports the following different combinations of REPEAT instructions in a table cell:

  • A regular REPEAT completely contained within a single table cell. In the case of nested regular REPEAT instructions, you must place the outermost regular REPEAT completely within a single table cell.
  • A row REPEAT that is the first field in the table row.
  • A row REPEAT that is the first field in a table row followed by any number of Regular REPEAT instructions, either in the same cell (after the single Row REPEAT) or in other cells of the same row. You must place each Regular REPEAT (and any Regular REPEATS nested inside them) completely within the table cell in which they appear. Additionally, you must make each outermost regular REPEAT a child dialog A dialog that is inserted within another dialog. When it's inserted, it becomes linked to that dialog—users can't answer questions in it without first viewing the parent dialog. Usually the two dialogs are related in content or purpose. of the row REPEAT field at the beginning of the row. Equally you must make nested regular REPEAT instructions child dialogs of their respective containing REPEAT instructions.

Repeats can not be nested more than four levels deep.

In addition to the two main methods for inserting a REPEAT instruction in a table covered above, you can also create REPEAT instructions using a computation variable A type of component that performs calculations or executes other instructions within the template. Computation variable scripts are created using the HotDocs scripting language..

Using REPEAT instructions in a Table in Different Template Types

When you are using REPEAT instructions within word processor tables, it is important that you are aware of the differences which you can expect when using different types of HotDocs templates.

REPEAT instructions in DOCX templates

When you put a repeat in a table, and the interviewee does not provide any answers for the repeated element, the default behavior in RTF or WPT templates is for the assembled document to display the empty row. This differs from a DOCX template, which doesn't display the empty row (if the empty row was the only row in the table, HotDocs removes the entire table from the assembled DOCX document).
If you want to use the same template across multiple formats, and you want the template to behave in a consistent, predictable way regardless of the format, you can surround the entire table in an IF block (this is easiest if you select around the table before you click IF Field) in the following format:
IF COUNT(RptDlg)>0/END
This makes the table conditional in the RTF and WPT formats in the same way that the DOCX table already is on its own. The image below is of an actual RTF template using this format to hide the row in the assembled document.

Due to the differences in how HotDocs assembles a DOCX template or an RTF template, there are often some differences in table formats. For example, if you choose to enclose the whole table in a repeat instruction rather than using REPEATs within the table, HotDocs does not recommend having any text on the same line as the REPEAT instruction preceding a table. In an RTF template HotDocs merges this text into the first cell of the table after assembly. In a DOCX template that text remains visible above the table; however, the table itself has a gap between each row. These issues can be avoided by placing the REPEAT instruction on a line by itself.

REPEAT instructions in WordPerfect templates

The option for inserting a regular REPEAT in a table cell when editing a WordPerfect template is not currently available from the REPEAT field dialog. You must type the code into the template manually.

REPEAT instructions in form templates

HotDocs supports a regular REPEAT within a table cell in text templates (RTF, DOCX, and WPT) only. There is no support for a regular REPEAT in a table cell of a graphical form. Using the REPEAT instruction in a form template only produces row REPEAT instructions. regardless of where you place the REPEAT within the cell.


Using a Word Processor Table to Display a List

You can insert a list of answers into a word processor table. As the user provides answers during the interview, HotDocs adds information to the table.

To insert a regular REPEAT into a word processor table

  1. Open HotDocs; then create a new text template.
  2. Create a table in your word processor. (See your word processor's documentation for information on creating tables.)
  3. Insert the variable you want to repeat in a cell within the table.
  4. Once you have created your variable, position the cursor before the first variable and select only the text within the cell, not the cell itself. You can tell when you have selected just the text within the cell when the grey highlight looks like the left-hand image below:

  4. Click the [image] REPEAT Field button.
  5. Then click the Dialog drop-down button and select the dialog you want to repeat. (To create a new dialog, click the [image] Edit Component button.)
  6. Select a repeat style for the dialog.
  7. When you have finished, click OK at the REPEAT Field dialog box. HotDocs inserts the REPEAT instruction in the table, like this:

To insert a row REPEAT into a word processor table

  1. Open HotDocs; then create a new text template.
  2. Create a table in your word processor with a single row and a column for each repeating variable. (If you want to use a row for column headings, create a two-row table and put the headings in the first row. See your word processor's documentation for information on creating tables.)
  3. Insert the variables in the table, with one variable per column.
  4. Once you have created your variables, position the cursor in the first table cell—before the first variable, and select the entire row.
  5. Click the [image] REPEAT Field button. The REPEAT Field dialog box appears.
  6. Click the Dialog drop-down button and select the dialog you want to repeat. (To create a new dialog, click the [image] Edit Component button.)
  7. Select a repeat style for the dialog.
  8. When you have finished, click OK at the REPEAT Field dialog box. HotDocs inserts the REPEAT instruction in the table, like this:

Due to the differences in how HotDocs assembles a DOCX template or an RTF template, there are often some differences in table formats. For example, if you choose to enclose the whole table in a repeat instruction rather than using REPEATs within the table, HotDocs does not recommend having any text on the same line as the REPEAT instruction preceding a table. In an RTF template HotDocs merges this text into the first cell of the table after assembly. In a DOCX template that text remains visible above the table; however, the table itself has a gap between each row. These issues can be avoided by placing the REPEAT instruction on a line by itself.


Making a List Appear as one or More Columns

Sometimes it makes more sense to have your list of answers appear in columns, rather than in a punctuated sentence. If you want to make the list appear in a column, include a hard return after the text in the REPEAT instruction.

For example, the following script, inserted directly in the template:

«REPEAT Children’s Names»

«Name of Child»

«END REPEAT»

would result in a list like this:

Sarah

Jackson

Madi

Adam

If there are two or more variables in the REPEAT instruction, you can separate them with tabs so they appear in multiple columns. The following script:

«REPEAT Children’s Information»

«Name of Child» «Age of Child»

«END REPEAT»

would create a list like this:

Sarah 14

Jackson 11

Madi 7

Adam 2

By default, when HotDocs inserts a REPEAT instruction in the template, it includes a return character (similar to a paragraph mark in a word processor) after the instruction. During assembly, as the instruction is processed and removed from the assembled document, this return character is likewise removed. Depending on several factors, you may prefer to keep HotDocs from adding this character, or you may want to add a return character only under certain situations. You can specify an option that controls this. See also, Understand How Smart Returns are Inserted After Instructions.


Counting the Number of Entries in a List

You can use a computation script to determine how many times a user answers a repeated dialog. You can also use a built-in Number variable A type of component that merges a numeric value in the document. that numbers a list of answers automatically.

To determine the number of entries in a list

  1. Create a Computation variable containing the expression COUNT( DIALOG ).
  2. Replace the DIALOG placeholder with the name of the repeated dialog.
  3. Optionally, insert this Computation variable wherever you want the number of entries to appear.

You don't have to insert the Computation variable in the template. Often, template developers use the COUNT( DIALOG ) expression as a way to keep track of the number of answers, without ever inserting the actual number in the template, by referencing it in other computation variables.

To number a list automatically

  1. At the template, position your cursor before the variable in the list you want to number.
  2. Insert a Number variable. Instead of typing a variable name, however, click the Variable drop-down button and select COUNTER.
  3. Click OK.
  4. Add any punctuation or spaces you want to go with the number. For example:

The children are listed, as follows:

«REPEAT Children’s Names»

«COUNTER». «Name of Child», «Age of Child»

«END REPEAT»


Retrieving a Specific Answer from a List

At times, you may need to retrieve a specific answer from a list of answers. For example, maybe you have created a list of employees, but later in the document you need to merge When HotDocs pulls an answer from the answer file into the document during assembly. the name of just the second employee in the list. You can do this by using explicit indexing. Type the index number of the answer you need between brackets, just after the variable name, to merge only that list item.

To use explicit indexing

  1. Insert the variable whose value you want to retrieve into the template text. (Make sure you have repeated the variable someplace earlier in the template.)
  2. Once you have inserted the variable, place your cursor immediately after the variable name and type—between brackets—the index number of the repetition you want to retrieve. Make sure this index is before any additional field formatting notations, for example:

The second alternate will be «Alternate Board Member[2]:LIKE THIS».

To set an explicit index for a variable in a form field, first create the variable. Then select the field and open the Field Properties dialog box. Enter the explicit index in the Variable field, immediately after the variable name (like in the example above).

Normally, you must position a repeated variable inside a REPEAT instruction, but when you a specify a particular list entry this way, the REPEAT instruction should not be included.

The Maximum WHILE iterations limit controls the maximum-allowed explicit index. (You set this value at the Component File Properties dialog box.)


Retrieving Information Other Than Answers from a REPEAT Instruction

Retrieving Information Other Than Answers from a REPEAT Instruction

You can also use a Computation variable to retrieve other information than a list of answers from a REPEAT instruction An instruction that repeatedly asks the same variable(s) so that users can provide two or more answers for a given question. REPEAT instructions are used to create lists of answers in the document..

For example, perhaps you want to gather a list of children, and then find and return the number of children who are minors. You can use the REPEAT instruction in a computation to get the result you want. The following computation script shows an example of how to do this:

0

REPEAT Child Information

IF AGE( Birthdate ) < 18

RESULT + 1

END IF

END REPEAT


Overview: Insert Templates into Templates

Home > Automating Text Templates > Using INSERT Instructions > Overview: Insert Templates into Templates

Overview: Insert the Contents of One Template into Another's Assembly Process

You can use the INSERT instruction An instruction that inserts one template into another. For example, if boilerplate text needs to be used in multiple documents, a template An instruction that inserts the contents of one template into another. For example, if you have boilerplate text you need to use in multiple documents, you can create a template that contains that text and use the Insert intruction in each template that requires the boilerplate text to insert that content. This way, if you need to make a change to the text, you only need to update one template. to tell HotDocs to insert an existing template's contents into the document assembly The process HotDocs goes through as it processes scripts in the template and merges answers into the document produced from the template. At the end of the assembly process, the user has a document tailored to his or her needs. process of another template (the "parent" template where you add the INSERT instruction).

When (during the parent template's document assembly process), HotDocs encounters the INSERT instruction, HotDocs interrupts the parent assembly to assemble a document from the "child" template. When HotDocs finishes assembling the child document, HotDocs inserts the text of the child document at the location of the INSERT instruction, and then finishes assembling the parent document so that the final output is one seamless document.

This is different from how HotDocs handles the ASSEMBLE instruction.

The INSERT instruction can be particularly useful for inserting content you use over and over again—such as signature blocks, legal headers, and other boilerplate language.

Reasons for inserting contents from one or more templates into another template's document assembly process vary with your needs. For instance, you might want to:

  • Reuse your firm's boilerplate language in multiple documents
  • Reference a set of related documents in one main template and enable user The customer, client, or person who assembles documents from templates. (See also template developer.)s to choose the document The file that is created after a template has been assembled. that is pertinent to them

You cannot place INSERT instructions in a table.

Converting a Part of an Existing Template into a Second "Inserted" Template

In addition to using existing templates, you can select text in your current template and convert that text into a new template. At the same time, you use the INSERT instruction to add that content back into the parent template's document assembly process. You can also use the INSERT instruction to add that content into other templates document processes, as needed. For example, perhaps you realize that a section of your template could be reused in other templates. You can select this section of text, create an template from it, and then reference your new template in other related templates, using the INSERT instruction.

When you create templates by selecting existing template text, the new inserted (child) template uses the same component file as the parent template, as long as you save the child template to the same folder as the parent template.

If you save the child template to a different folder, a new, empty component file is created for the child template. If the child template uses variables from the parent template, you need to copy those variables into the new component file.

INSERT instructions inside a SPAN field will only work if the parent template and the inserted template use the same shared component file.

Use Insert to Select from Multiple Templates

You can let your users decide which child templates they want to reference if you surround your INSERT instruction with IF instructions. (See Include or Exclude a Single Version of Text Using a Simple IF Instruction or Expression and Include or Exclude Multiple Versions of Text Using IF and ELSE IF Instructions or Expressions.) If you have multiple instructions, you can place the True/False variables in a custom dialog and specify whether the dialog should use a multiple-select or single-select grouping.

If you want to enable your users to select several documents for assembly at the same time, be sure there’s a section break or page break at the bottom of each template so each assembled document starts on a new page.

Before working with section breaks in templates, you should become very familiar with the HotDocs Header and Footer Override Scenarios.

Specify File Names For Insertion During Assembly

When inserting template contents (likewise, when inserting images) in another template, you may not always know, during template development, which files you need to reference with an INSERT instruction. When this situation arises, you can instead use a variable A component that is used to represent changeable text (such as names, dates, numbers, etc.) in the template. Types of variables include Text, Date, Number, True/False, Multiple Choice, Computation, and Personal Information. INSERT in the template. A variable INSERT instruction enables you to specify the template’s file name during document assembly, rather than during template development. The type of variable you insert must accept text as an answer, which means you must use a Text variable A type of component that merges text in the document., a Multiple Choice variable A type of component that merges a predefined answer in the document., or a Computation variable A type of component that performs calculations or executes other instructions within the template. Computation variable scripts are created using the HotDocs scripting language. that produces a text result.

For example, say there are hundreds of sub-templates to choose from. It wouldn’t make sense to try to automate the template to account for each of these sub-templates—especially when template developers are creating new sub-templates on a regular basis. Using a variable INSERT instruction, however, you can script One or more instructions and/or expressions that generate a value or execute some kind of procedure. your template to specify the name of the inserted file at document assembly.

If you reference any specific templates in a variable INSERT instruction, make sure you include the template in the library A window used to display and organize templates. The library does not store the actual files—instead, it contains shortcuts (or links) to the files, which are stored on disk. In addition to the template library, HotDocs also uses an answer library, which is more commonly known as Answer File Manager. when you run Template Manager. If you do not, Template Manager may not accurately report component usage information.

When publishing templates, you must manually add any files you reference in variable INSERT instructions to the published file by clicking the Additional Templates button on the Component File Properties General tab.


At a Glance: The INSERT Field dialog box

After opening a template A word processor or form document that has been converted to HotDocs format so that it can be automated. When in template format, changeable text in the template can be replaced with variables. Other instructions can be added as well, such as instructions that create lists, condition text, and insert other templates. to edit, you can open the INSERT Field A place in the template that denotes where users' answers should be merged, or where a specific instruction should be executed. In a text template, a field is denoted by chevrons. In a form template, a field is denoted by a colored box that is overlaid on the form's static text. dialog box by clicking on the [image] INSERT Field button on the HotDocs ribbon.

At the top of the dialog box, you can select what you would like to insert into the template from a multiple choice list. The available options change depending on what you select; below is an image of each possibility with a short description of the option:

INSERT Template

In the text field you can type the file path to the template you want to insert, or you can click the [image] Open button and navigate to the template.

INSERT Image

In the text field you can type the file path to the image file you wish to insert or you can click the [image] Open button and navigate to the template.

INSERT Clause

If you have a portion of the template text selected when you click INSERT Clause Predefined sections of text that can be selected and added to an assembled document. Usually clauses are grouped together in a clause library so users can choose which ones they want to insert, although some clauses are merged in the document automatically., you can type a name for a new clause in the text field and click the OK button to open the Edit Clause dialog box. If you want to insert the clause as part of an IF statement, then select INSERT clause only IF selected before clicking the OK button.

INSERT Clause Library

In the text field you can type the file path to the clause library A file that contains a listing of available clauses. Users can select the clauses they want to use from the library, designate the order they should be merged in the document, and then answer any questions contained in the clauses. The clauses are then merged in the document. you want to insert or you can click the [image] Open button and navigate to the template.

To learn more about using INSERT fields follow the links below:

  • Introduction: Insert Templates into Templates
  • Making Part of a Template into an Inserted Template
  • Inserting an Existing Template
  • Editing an INSERT Template Instruction
  • Inserted Templates and Shared Component Files
  • Overriding Headers and Footers in Inserted Word Templates
  • Inserting Image Files into a Template
  • Specifying File Names for Inserting Files During Assembly
  • Inserted Template File Locations
  • Differences Between ASSEMBLE and INSERT Instructions


Inserting an Existing Template's Contents into Another Template's Document Assembly Proces

Home > Automating Text Templates > Using INSERT Instructions > Inserting an Existing Template

Inserting an Existing Template's Contents into Another Template's Document Assembly Process

You can use the INSERT instruction to insert the assembled contents of another template into the document assembly The process HotDocs goes through as it processes scripts in the template and merges answers into the document produced from the template. At the end of the assembly process, the user has a document tailored to his or her needs. process of the template containing the INSERT instruction.

Although you can insert templates or graphics from any location, file names for inserted templates or graphics should be unique if you plan to publish templates for use on HotDocs Server or Cloud Services See HotDocs Cloud Services..

To insert an existing template

  1. At the template, position the cursor where you want to insert the section of text.
  2. Click the [image] INSERT Field button. The INSERT Field dialog box appears.
  3. Select INSERT Template.
  4. Click the [image] Open button and select the template.
  5. Click OK. The new INSERT instruction is added to the template.

Once you have created an INSERT instruction, you can edit it by placing your cursor in the instruction and clicking the [image] INSERT Field button again. (See Edit an INSERT Template Instruction.)

In Microsoft Word, you can also add INSERT instructions either by clicking on the HotDocs drop-down menu in the HotDocs toolbar and choosing INSERT Field A place in the template that denotes where users' answers should be merged, or where a specific instruction should be executed. In a text template, a field is denoted by chevrons. In a form template, a field is denoted by a colored box that is overlaid on the form's static text., or by right-clicking in the template and choosing INSERT Field from the shortcut menu.


Making Part of a Template into an Inserted Template

You can select some of the content of an existing template and create a separate, inserted template A template whose contents you insert into another template's document assembly process using an INSERT instruction. from that content; once you do this, you can insert that templates content into other template's document assembly The process HotDocs goes through as it processes scripts in the template and merges answers into the document produced from the template. At the end of the assembly process, the user has a document tailored to his or her needs.process as well.

Although you can insert templates or graphics from any location, file names for inserted templates or graphics should be unique if you plan to publish templates for use on HotDocs Server or Cloud Services See HotDocs Cloud Services..

To make part of a template into a separate, inserted template

  1. At the template, select (highlight) the text you want to include in the inserted template and click the [image] INSERT Field button. The INSERT Field dialog box appears.
  2. Select INSERT Template.
  3. Type a name for the new template in the Template to create field.
  4. Click OK. HotDocs removes the selected text from the main template, creates the inserted template, and then replaces the original text with the INSERT Template instruction A command in a script or template that performs a special task, such as inserting a template or asking a dialog at a specific place in the interview..


Inserted Templates and Shared Component Files

When you insert one template's contents into another template's document assembly The process HotDocs goes through as it processes scripts in the template and merges answers into the document produced from the template. At the end of the assembly process, the user has a document tailored to his or her needs. process, you may or may not want both templates to share component files.

INSERT instructions inside a SPAN field A place in the template that denotes where users' answers should be merged, or where a specific instruction should be executed. In a text template, a field is denoted by chevrons. In a form template, a field is denoted by a colored box that is overlaid on the form's static text. will only work if the parent template and the inserted template use the same shared component file.

Manual Sharing of Component Files

When you insert an existing templates contents, HotDocs does not automatically apply the component file of the main (parent) template to the inserted (child) template. By default, when HotDocs processes the INSERT instruction An instruction that inserts one template into another. For example, if boilerplate text needs to be used in multiple documents, a template An instruction that inserts the contents of one template into another. For example, if you have boilerplate text you need to use in multiple documents, you can create a template that contains that text and use the Insert intruction in each template that requires the boilerplate text to insert that content. This way, if you need to make a change to the text, you only need to update one template. during assembly, it uses the inserted template’s own component file. It is often the case that the child template contains variables and other components not found in the component file of the main template, and the reverse is also often true.

On the other hand, related templates often share many of the same variables. If you want an existing child template to use the same component file, you must manually make the child template share the parent template’s component file. In addition, if the inserted template already contains variables, dialogs, and so forth, you must copy those existing components into the shared component file.

Automated Sharing of Component Files

When you select text within a template and make that text into a new template, as long as you save the new template in the same folder as the parent template, HotDocs automatically points the child template to the parent template's component file. This ensures the parent template and the inserted child template continue to share a common set of variables and other components.

However, if you save the inserted child template to a different folder than the parent template's, HotDocs creates a new, empty component file. If the text you used to create the new template contains variable A component that is used to represent changeable text (such as names, dates, numbers, etc.) in the template. Types of variables include Text, Date, Number, True/False, Multiple Choice, Computation, and Personal Information.s, you must copy the pertinent components from the parent template into the new component file.

If you later realize the two templates should stop sharing component files, you can point the two templates to separate component files.


Editing an INSERT Template Instruction

Once you create an INSERT instruction An instruction that inserts one template into another. For example, if boilerplate text needs to be used in multiple documents, a template An instruction that inserts the contents of one template into another. For example, if you have boilerplate text you need to use in multiple documents, you can create a template that contains that text and use the Insert intruction in each template that requires the boilerplate text to insert that content. This way, if you need to make a change to the text, you only need to update one template. in your template, you can edit the instruction at any time, including making changes to the text of the inserted template A template whose contents you insert into another template's document assembly process using an INSERT instruction..

Although you can insert templates or graphics from any location, file names for inserted templates or graphics should be unique if you plan to publish templates for use on HotDocs Server or Cloud Services See HotDocs Cloud Services..

To edit an INSERT Template instruction

  1. At the template, place the cursor in the INSERT field A place in the template that denotes where users' answers should be merged, or where a specific instruction should be executed. In a text template, a field is denoted by chevrons. In a form template, a field is denoted by a colored box that is overlaid on the form's static text. and click the INSERT Field button. The [image] Insert FIELD dialog box appears.
  2. Perform either of the following tasks:
    • Click the [image] Open button to select a new template to insert.
    • Click Edit Template and make any changes necessary.
  3. Click [image] Save and Close.


Header and Footer Override Scenarios

In Microsoft Word, by default, every document has at least one header, even if you do not make the header visible by adding text or images in the header. You should make yourself thoroughly familiar with how headers work in Word before attempting to use visible headers and footers in inserted templates. Throughout this document, what is true of headers is equally true of footers.

Content Merging Basics

Factors Affecting Which Headers HotDocs Overrides

Number of Sections and Section Breaks in the Child Template

Single Section Child (No Section Break in Template)

Multiple Section Child (At Least One Section Break in Template)

Your INSERT Options

Insertion Scenarios

Default Insert with a Single Section Parent and Single Section Child

KEEP HEADER Insert with a Single Section Parent and Single Section Child

Default Insert with a Multiple Section Parent and a Single Section Child

KEEP HEADER Insert with a Multiple Section Parent and Single Section Child

Default Insert with a Single Section Parent and Multiple Section Child

KEEP HEADER Insert with a Single Section Parent and Multiple Section Child

Default Insert with a Multiple Section Parent and a Multiple Section Child

KEEP HEADER Insert with a Multiple Section Parent and Multiple Section Child

Final Considerations

Different First Page and Other Section Properties

Content Merging Basics

Every Microsoft Word document has at least one section. When you use the INSERT instruction An instruction that inserts one template into another. For example, if boilerplate text needs to be used in multiple documents, a template An instruction that inserts the contents of one template into another. For example, if you have boilerplate text you need to use in multiple documents, you can create a template that contains that text and use the Insert intruction in each template that requires the boilerplate text to insert that content. This way, if you need to make a change to the text, you only need to update one template. to merge one document's contents into another's contents, at document assembly The process HotDocs goes through as it processes scripts in the template and merges answers into the document produced from the template. At the end of the assembly process, the user has a document tailored to his or her needs., HotDocs seamlessly merges the contents of the inserted "child" document into the section of the "parent" document where you use the INSERT instruction:

The only parent section contents involved in the merger of the two documents is the parent section where you place the INSERT instruction.

  • If you have a single section in a child document, then HotDocs merges the contents of the single child section between the contents of the parent section before and after the INSERT instruction
  • If you have a child document with multiple sections, HotDocs merges the content of the first child section with the content of the parent section prior to the INSERT instruction, and also merges the content of the last child section with the content of the same parent section at the point just following the INSERT instruction

In either case, HotDocs assembles the parent document until it encounters the INSERT instruction. The INSERT instruction tells HotDocs to pause assembly of the parent document while it assembles the child document and then inserts the child document’s contents into the parent document before finishing assembling the part of the parent document that follows the insert instruction.

Because HotDocs merges the contents of the child document into a single section of the parent document, the merging of these two documents is not merely additive in the sense of adding the number of child sections to the number of parent sections in the final document. Rather, the number of sections in the assembled document equals the number of parent sections plus the merger of the number of child sections into the parent section where you placed the INSERT instruction. In other words, if you have a parent document with X number of sections, and a child document with Y number of sections, this merge behavior can be restated with the following formula: X + Y-1, because the first and last sections of the child document merge with the parent section hosting the INSERT instruction.

When you use the INSERT instruction, HotDocs always follows the content merging rules outlined above. The only aspect of the INSERT at issue is which headers HotDocs applies to the sections of merged contents, and which headers HotDocs overrides.

Factors Affecting Which Headers HotDocs Overrides

Every section of a Word document has a header, visible or not. When you use the INSERT instruction in a parent template, a conflict develops as to which header should apply to the section of the assembled document where the merger of the two documents occurs—the parent template's section header, or that of the inserted child template.

When you use the INSERT instruction, there are two primary factors that affect how HotDocs processes the instruction:

  • The number of sections (or section breaks) in the child template
  • Which INSERT options you use

Number of Sections and Section Breaks in the Child Template

Every Word document has at least a single section. A single section has no section break. The number of sections (one, or more than one section) and section breaks (none, or at least one section break) in a child template determines whether the parent section where you place the INSERT instruction:

  • Remains a single section
  • Becomes two or more sections

Single Section Child (No Section Break in Template)

When you insert a child template that has no section break into a parent template, the parent template section where you place the INSERT instruction remains a single section; therefore, HotDocs only needs to resolve the conflict between the single header of the parent section and the single header of the child template. How HotDocs resolves the conflict depends on the INSERT instruction options you use (see below).

Multiple Section Child (At Least One Section Break in Template)

Where the child template has at least one section break (hence at least two sections), HotDocs effectively divides the parent template section (let’s call it section A) at the point of the INSERT instruction. Because of this division, HotDocs must separately handle the conflict between the header defined in the parent section and the headers defined (respectively) in the first section and the last section of the child document.

HotDocs merges the assembled child template's sections between the two parts of the parent section as follows:

Parent section A (before INSERT)+ First Child section
<Child section break>
Additional Child sections
<Last Child section break>
Last Child section + Parent section A (after INSERT)

HotDocs resolves any conflict with the parent section's header and the header of the first child section separately from any conflict with the parent section's header and the header of the last child header. These conflict resolutions depend on two factors:

  • The document type of the templates involved—DOCX or RTF
  • Whether you use the default INSERT instruction, or whether you use the KEEP HEADER option

Your INSERT Options

You have two basic choices when using the INSERT instruction:

  • Use the default INSERT instruction—«INSERT "childname.docx"»
  • Use the INSERT instruction with the keep child header option—«INSERT "childname.docx" KEEP HEADER»

    You cannot use the KEEP HEADER, KEEP FOOTER, or KEEP HEADER FOOTER options with the ASSEMBLE instruction.

Inserting a child document into a parent never affects the headers of the parent sections prior to the Parent section containing the INSERT instruction; in most cases, the same is true of parent sections following the INSERT instruction. See Final Considerations below for exceptions.

HotDocs uses a set of rules to decide which of the conflicting headers to override:

  • When you use the INSERT instruction alone, HotDocs keeps the parent document’s header and overrides the inserted child header

While this is the standard rule, HotDocs’ insert assembly behavior diverges from the standard where the child template has multiple sections. It is in these cases that the assembly behavior also depends on the document type (DOCX or RTF) of the templates involved. For more information, see Insertion Scenarios below.

  • When you add the KEEP HEADER option after the INSERT instruction for a child template with a single section (no section breaks), HotDocs applies the header of the child template to the section of the parent containing the INSERT instruction
  • When you add the KEEP HEADER option after the INSERT instruction for a child template with multiple sections (one or more section breaks), HotDocs applies the first header of the child template to the section of the parent containing the INSERT instruction

Because HotDocs merges the child document’s contents into the parent document before finishing assembling the part of the parent document that follows the insert instruction, the last child header applies to the part of the parent section following the INSERT instruction

Insertion Scenarios

The graphics in the following sections provide visual metaphors for HotDocs assembly behavior for inserted templates, starting with the very simple and moving to more complex cases. In the following graphics, black rectangles represent sections in a template or document; different colored rectangles are used to represent headers that are defined in a particular section of a template or document.

  1. Default Insert with a Single Section Parent and Single Section Child

The simplest insert case is when you use the default INSERT instruction to insert a child with a single section into a parent with a single section. The default INSERT means that HotDocs discards the child document's header and applies the parent header to the child header. Overriding the child header does not affect the contents of the child section.

Figure 1 Default insert, Single Section Parent, Single Section Child

This scenario means you should ensure that the parent header aptly describes the child contents as well as the contents of the parent section. Naturally, you should also ensure that the child contents merge seamlessly with the contents of the parent section.

  2. KEEP HEADER Insert with a Single Section Parent and Single Section Child

Using the KEEP HEADER insert option means that the child header overrides (replaces) the parent header in the finished document. The changes to the parent header do not affect the contents of the parent section; HotDocs merely inserts the child template's contents into the midst of the parent section’s contents.

Figure 2 KEEP HEADER insert, Single Section Parent, Single Section Child

This scenario means you should ensure that the child header aptly describes the contents of the parent section as well as those of the child. You should also ensure that the child contents merge seamlessly with the contents of the parent section into which you insert them.

  3. Default Insert with a Multiple Section Parent and a Single Section Child

When you use the default INSERT instruction to insert a child template with a single section into a parent with multiple sections, HotDocs discards the child document's header and simply inserts the child's contents into the parent section where the insert occurs.

Figure 3 Default insert, Multiple Section Parent, Single Section Child

Just as in scenario 1 above, you should ensure that the header for the parent section aptly describes the contents of the entire child as well as the parent section. You should also ensure that the child contents merge seamlessly with any contents of the parent section where you insert them.

  4. KEEP HEADER Insert with a Multiple Section Parent and Single Section Child

Using the KEEP HEADER insert option means that the child header overrides the header of the parent section into which you insert the child document. In the scenario below, the content of the parent’s section 2 sandwiches the inserted content from the child template, but the child's header replaces that of the parent section in the finished document.

Figure 4 KEEP HEADER insert, Multiple Section Parent, Single Section Child

This scenario means you should ensure that the child header aptly describes the contents of Parent section 2, as well as those of the child document. You should also ensure that the child contents merge seamlessly with any contents in the parent section where you insert them.

  5. Default Insert with a Single Section Parent and Multiple Section Child

When you use the default INSERT instruction to insert a child template with multiple sections into a parent template with a single section, the parent section's header overrides the headers of both the first and last child section of the child document. Child headers other than the first and last remain unchanged.

When dealing with multi-section RTF templates, the header of the last section in the child document overrides the parent header for the parent content that follows the INSERT instruction.

Figure 5 Default insert, Single Section Parent, Multiple Section Child

This scenario means that for DOCX templates, you should ensure that the parent header aptly describes the contents of the first and last child sections, as well as those of the parent section. You should also ensure that the contents of the first child section merge seamlessly with the contents of the parent section before the INSERT instruction, and that the contents of the last child section merge seamlessly with any contents in the parent section after the INSERT instruction.

For RTF templates, this scenario means:

  • You should ensure that the parent header aptly describes the contents of the first child section, as well as the parent section before the INSERT instruction
  • You should ensure that the last child header aptly describes any contents in the parent section after the INSERT instruction
  • You should also ensure that the contents of the first child section merge seamlessly with any parent section contents before the INSERT instruction and that the contents of the third child section merge seamlessly with any parent section contents after the INSERT instruction

  6. KEEP HEADER Insert with a Single Section Parent and Multiple Section Child

When you use the KEEP HEADER insert instruction to insert a child template with multiple sections into a parent with a single section:

  • The first child header overrides the header of the parent section and applies to that portion of the parent section that comestiem team dark ages prior to the INSERT instruction
  • The last child header applies to the contents of the parent section after the INSERT instruction
  • Child headers other than the first and last remain unchanged

Figure 6 KEEP HEADER insert, Single Section Parent, Multiple Section Child

This scenario means you should ensure that the Child Header 1 aptly describes any contents of the parent section before the INSERT instruction, and that Child Header 3 does the same for any contents in the parent section after the INSERT instruction. You should also ensure that the contents of the first child section merge seamlessly with the contents of the parent section before the INSERT instruction, and that the contents of the last child section merge seamlessly with any contents in the parent section after the INSERT instruction.

  7. Default Insert with a Multiple Section Parent and a Multiple Section Child

The fact that the parent document contains multiple sections does not change the HotDocs conflict resolution for resolving a default insert where a child has multiple sections. The behavior is the same whether the parent has one or many sections.

When you use the default insert instruction to insert a child with multiple sections into a parent with multiple sections the parent section's header overrides the headers of both the first and last child section of the child document.

When dealing with multi-section RTF templates, the header of the last section in the child document overrides the parent header for the parent content that follows the INSERT instruction.

Child headers other than the first and last remain unchanged.

Figure 7 Default insert, Multiple Section Parent, Multiple Section Child

This scenario means that for DOCX templates, you should ensure that the parent header where you put the INSERT instruction aptly describes the contents of the first and last child sections, as well as those of the parent section. You should also ensure that the contents of the first child section merge seamlessly with the contents of the parent section before the INSERT instruction, and that the contents of the last child section merge seamlessly with any contents in the parent section after the INSERT instruction.

For RTF templates, this scenario means:

  • You should ensure that the section 2 parent header aptly describes the contents of the first child section, as well as the parent section before the INSERT instruction
  • You should ensure that the last child header aptly describes any contents in the parent section after the INSERT instruction
  • You should also ensure that the contents of the first child section merge seamlessly with any parent section contents before the INSERT instruction and that the contents of the third child section merge seamlessly with any parent section contents after the INSERT instruction

  8. KEEP HEADER Insert with a Multiple Section Parent and Multiple Section Child

The fact that the parent document contains multiple sections does not change the HotDocs conflict resolution for resolving a KEEP HEADER insert where a child has multiple sections. The behavior is the same whether the parent has one or many sections:

  • The first child header overrides the header of the parent section where the INSERT instruction occurs and applies to portion of that section prior to the INSERT instruction
  • The last child header applies to the contents of the parent section after the INSERT instruction
  • Child headers other than the first and last remain unchanged

Figure 8 KEEP HEADER insert, Multiple Section Parent, Multiple Section Child

This scenario means you should ensure that the Child Header 1 aptly describes any contents of the parent section where the INSERT instruction occurs before the INSERT instruction, and that Child Header 3 does the same for any contents in that section after the INSERT instruction. You should also ensure that the contents of the first child section merge seamlessly with the contents of the parent section before the INSERT instruction, and that the contents of the last child section merge seamlessly with any contents in the parent section after the INSERT instruction.

Final Considerations

While the foregoing information contains nearly all you need to understand to properly insert one template's contents into another's document assembly process (provided you have a good grasp of how headers work in Word), you should understand that setting parent sections to inherit a preceding section’s headers can complicate the interactions outlined above. Specifically, suppose you use Word to set the parent sections following Parent section A to inherit headers from section A (before inserting the child template's contents). If you then use the KEEP HEADER option when you insert the child template's contents, parent sections following Parent section A can inherit the child headers. You should, therefore, be judicious in the use of these inheritance features in your parent template.

Different First Page and Other Section Properties

Independent of each section's Header and Footer properties (which affect the content of the headers and footers) and the override scenarios discussed above, there are other section properties that determine which headers and footers appear (as well as the other page layout features of the section):

  • Different first page

  • Different odd and even

  • Columns

  • Margins

  • Section break type

  • Page border

HotDocs handles conflicts between these section property settings in the parent template and the corresponding property settings in the inserted child template in a very specific way:

  • HotDocs copies these section properties from the parent section where you place the INSERT instruction and overwrites the corresponding properties in the first section of the child template

  • If there is more than one child section, HotDocs copies the section properties listed above from the last section of the child and overwrites these properties in the part of the parent section following the INSERT instruction


Overriding Headers and Footers in Inserted Word Templates

In Microsoft Word, by default, every document has at least one header, even if you do not make the header visible by adding text or images in the header. You should make yourself thoroughly familiar with how headers work in Word before attempting to use visible headers and footers in inserted templates. Throughout this document, what is true of headers is equally true of footers.

When using headers in your inserted templates, you must first determine whether you want the header of the parent section to override the header of the inserted child, or whether you want the child header to override the parent template’s header.

Before inserting one template within another, you should become very familiar with the HotDocs Header and Footer Override Scenarios.

Overriding the Header of the Inserted “Child” Template

When you use the default INSERT instruction to insert a child template's contents into a parent's contents, the header of the parent section overrides the header of the inserted child document The file that is created after a template has been assembled.. This is useful if you have an optional paragraph or clause Predefined sections of text that can be selected and added to an assembled document. Usually clauses are grouped together in a clause library so users can choose which ones they want to insert, although some clauses are merged in the document automatically. that must be inserted at a specific place within the parent document.

When dealing with multi-section RTF templates, the header of the last section in the child document overrides the parent header for the parent content that follows the INSERT instruction.

To insert an existing template

  1. At the template, position the cursor where you want to insert the section of text.
  2. Click the [image] INSERT Field button. The INSERT Field dialog box appears.
  3. Select INSERT Template.
  4. Click the [image] Open button and select the template.
  5. Click OK. The new INSERT instruction is added to the template.

Once you have created an INSERT instruction, you can edit it by placing your cursor in the instruction and clicking the [image] INSERT Field button again. (See Edit an INSERT Template Instruction.)

In Microsoft Word, you can also add INSERT instructions either by clicking on the HotDocs drop-down menu in the HotDocs toolbar and choosing INSERT Field A place in the template that denotes where users' answers should be merged, or where a specific instruction should be executed. In a text template, a field is denoted by chevrons. In a form template, a field is denoted by a colored box that is overlaid on the form's static text., or by right-clicking in the template and choosing INSERT Field from the shortcut menu.

Overriding the Header of the Parent Template

Using the KEEP HEADER option, you can cause an inserted child document to retain its headers. This can be useful if you want to assemble two separate documents as one while maintaining their separate identifies.

You cannot use the KEEP HEADER, KEEP FOOTER, or KEEP HEADER FOOTER options with the ASSEMBLE instruction.

To use different headers or footers in your inserted templates

  1. In the parent template, use the Microsoft Word functionality to add visible headers for all the parent template sections.
  2. Do the same for all sections in your child template.
  3. Place your cursor at the place in the parent template where you want to insert the child template's content and use Word functionality to add a Next Page section break.
  4. On the HotDocs tab, click [image] INSERT Field A place in the template that denotes where users' answers should be merged, or where a specific instruction should be executed. In a text template, a field is denoted by chevrons. In a form template, a field is denoted by a colored box that is overlaid on the form's static text..
  5. Next to the Template to insert field, click [image] Open, and then browse to and select the template you want to insert; then click OK.
  6. Click Show Advanced, and then select Keep header of inserted template; then click OK.
  7. If inserting multiple templates, repeat this process for each inserted template.

Trouble-shooting

If the results you experience differ from what you expect, review both Microsoft’s materials on how headers work in Word and the materials on Header and Footer Override Scenarios, giving special attention to Final Considerations.


Insert Image Files into a Template

HotDocs supports referencing graphics with an INSERT instruction in a text template A word processor or form document that has been converted to HotDocs format so that it can be automated. When in template format, changeable text in the template can be replaced with variables. Other instructions can be added as well, such as instructions that create lists, condition text, and insert other templates. in Microsoft Word only. If you reference a graphic in a WordPerfect template, HotDocs ignores the INSERT instruction.

Using a HotDocs INSERT instruction An instruction that inserts one template into another. For example, if boilerplate text needs to be used in multiple documents, a template An instruction that inserts the contents of one template into another. For example, if you have boilerplate text you need to use in multiple documents, you can create a template that contains that text and use the Insert intruction in each template that requires the boilerplate text to insert that content. This way, if you need to make a change to the text, you only need to update one template., you can insert image files into a template. HotDocs supports inserting the following image file formats:

  • JPG
  • PNG
  • GIF

Just as with text files, the insert instruction acts as a pointer or reference to the image files. HotDocs does not insert the actual image until it assembles the document. This feature can be very useful if, when you design the template, it is not possible to determine which particular diagrams, photos, or other graphics files the user needs to specify at document assembly The process HotDocs goes through as it processes scripts in the template and merges answers into the document produced from the template. At the end of the assembly process, the user has a document tailored to his or her needs..

For example, say you are a legal secretary drafting a letter to be sent to a client, and any one of several attorneys can sign the letter. Rather than use Word to add or remove signatures once you assemble the document, you can instead include a series of INSERT IMAGE instructions that define the conditions for which signature gets inserted, as in the following:

«IF Attorney Name = "Cathy Bailey"»

«INSERT "cbailey sig.png" IMAGE»

«ELSE IF Attorney Name = "Jim Johnson"»

«INSERT "jjohnson sig.png" IMAGE»

«END IF»

At document assembly, HotDocs inserts the correct signature based on how you answer the Attorney Name question.

When you insert a graphic into a template, following the INSERT instruction and the name of the file, you need to type the IMAGE keyword. This keyword instructs HotDocs that the file that should be inserted is a graphic.

Although you can insert templates or graphics from any location, file names for inserted templates or graphics should be unique if you plan to publish templates for use on HotDocs Server or Cloud Services See HotDocs Cloud Services..

Insert an Image File Located in the Same Template

If you want to insert a graphic already in use in the template, you can do so. HotDocs removes the image from the template, copies it to a DOCX document, and inserts the INSERT Image instruction. An advantage to doing this (rather than inserting the graphic directly) is that you can format the graphic properties within that DOCX template, and have those settings apply to the graphic at the point of insertion. For example, if you want to specify placement, text wrapping, borders, and other effects, you can assign them in the DOCX document, then, when you insert the image, those properties apply at the parent template. If you need to reuse the graphic in other templates, or in other places in the same template, setting these properties on the image in it's DOCX container can save you a lot time.


Inserting Image Files into a Template

Using the INSERT instruction An instruction that inserts one template into another. For example, if boilerplate text needs to be used in multiple documents, a template An instruction that inserts the contents of one template into another. For example, if you have boilerplate text you need to use in multiple documents, you can create a template that contains that text and use the Insert intruction in each template that requires the boilerplate text to insert that content. This way, if you need to make a change to the text, you only need to update one template., you can insert JPG, PNG, and GIF image files to a template's document assembly The process HotDocs goes through as it processes scripts in the template and merges answers into the document produced from the template. At the end of the assembly process, the user has a document tailored to his or her needs. process. You can do this in two ways:

  • Specifying an image external to the current template
  • Specifying an image located in the same template

If during template development, you do not know which graphic you should insert, you can use a variable A component that is used to represent changeable text (such as names, dates, numbers, etc.) in the template. Types of variables include Text, Date, Number, True/False, Multiple Choice, Computation, and Personal Information. INSERT instruction so that the file path and name can be inserted during document assembly. For details, see Specify File Names for Inserting Files During Assembly.

Inserting a Graphic File External to the Current Template

Although you can insert templates or graphics from any location, file names for inserted templates or graphics should be unique if you plan to publish templates for use on HotDocs Server or Cloud Services See HotDocs Cloud Services..

To insert a graphic file external to the current template

  1. In the template, position the cursor where you want to insert the image file.
  2. Click the [image] INSERT Field button. The INSERT Field dialog box appears.
  3. Select INSERT Image.
  4. Next to the Image file to insert field, click the [image] Open button; then browse to and select the graphic file you want to insert.
  5. Click OK. HotDocs inserts the graphic at document assembly.

Inserting a Graphic File Stored in the Same Template

You can insert a graphic file that is located in the same template.

To create an INSERT instruction using an existing image in the template

  1. In the template, click the image you want to include in a DOCX document. Field borders appear around the graphic.
  2. Click the [image] INSERT Field button. The INSERT Field dialog box appears.
  3. Select INSERT image.
  4. Enter a name for the DOCX document in the Image file to create field. (To specify a folder location different from the template, click the [image] Open button and browse to the folder.)
  5. Click OK. HotDocs removes the image from the template, copies it to an DOCX document, and inserts the INSERT Image instruction.


Specifying File Names for Inserting Files During Assembly

Home > Automating Text Templates > Using INSERT Instructions > Specifying File Names for Inserting Files During Assembly

Specify File Names for Inserting Files During Assembly

If you do not know, which files your template's users need to insert during that template's document assembly The process HotDocs goes through as it processes scripts in the template and merges answers into the document produced from the template. At the end of the assembly process, the user has a document tailored to his or her needs. process, you can use a variable A component that is used to represent changeable text (such as names, dates, numbers, etc.) in the template. Types of variables include Text, Date, Number, True/False, Multiple Choice, Computation, and Personal Information. INSERT to enable users to specify the template’s file name at that time.

To specify a file for insertion during assembly

  1. At the template, position the cursor where you want to insert the template or graphic.
  2. Click the [image] INSERT Field button. The INSERT Field dialog box appears.
  3. Select INSERT Template or INSERT image, depending on which type of file you want to include in the assembled document.
  4. Click Show Advanced. The dialog expands to show advanced options.
  5. Select Variable INSERT.
  6. Click the Type drop-down button and choose which type of variable you want to use in the INSERT instruction:
    • Computation Variable allows you to use a computation script to specify the file path and name of the template that will be inserted. (Make sure the script produces a text result.)
    • Multiple Choice Variable allows you to specify the file path and name of the template that will be inserted in the Option column. (If you want to provide a reader-friendly name for the template, enter the name in the Prompt Text that can be assigned to a variable to help the user better understand how to answer the question. column.)
    • Text Variable allows you to specify the file path and name of the template using a simple text answer field.
  7. Click the Variable drop-down button and choose the variable you want to use. (To create a new variable or edit the existing variable, click the [image] Edit Component A template resource file that displays or stores information about the user input/answers to merge in the final document. Examples of components include variables, dialogs, dialog elements, merge text groups, and formats. button.)
  8. Click OK. The new INSERT instruction is added to the template.

If you reference any specific templates in a variable INSERT instruction, make sure you include the template in the library A window used to display and organize templates. The library does not store the actual files—instead, it contains shortcuts (or links) to the files, which are stored on disk. In addition to the template library, HotDocs also uses an answer library, which is more commonly known as Answer File Manager. when you run Template Manager. If you do not, Template Manager may not accurately report component usage information.

When publishing templates, you must manually add any files you reference in variable INSERT instructions to the published file at the Additional Files page of the Publishing Wizard The tool used to publish template files for others. The Publishing Wizard steps through the publishing process and allows different properties to be set, depending on the type of file(s) that are being published..


Inserted Template File Locations

You can point to any template or graphic you want to INSERT or ASSEMBLE at any location, as long as you specify the correct folder path information. For example, you can insert templates using the following folder structure:

Location of Template | Example
Same folder as parent template | «INSERT "Template.docx"» «ASSEMBLE "Template.docx"»
Subfolder of parent template | «INSERT "Subfolder\Template.docx"» «ASSEMBLE "Subfolder\Template.docx"»
Full file path | «INSERT "C:\My Documents\Template.docx"» «ASSEMBLE "C:\My Documents\Template.docx"»
Reference path | «INSERT "^referencePath\Template.docx"» «ASSEMBLE "^referencePath\Template.docx"»
Default Templates folder | «INSERT "\Template.docx"» «ASSEMBLE "\Template.docx"»

When publishing templates for HotDocs Server The web-based version of HotDocs. Interviews generated by HotDocs Server are presented in a user's web browser. Answers are then sent back to HotDocs Server so final documents can be assembled by merging the interview answers with the non-changing template text. HotDocs Server enables users to create documents and answer files without requiring them to install HotDocs on their desktop. or Cloud Services See HotDocs Cloud Services., it is important that you give all inserted templates unique file names because all of published templates end up in the same file folder.

HotDocs does not alter the file path of an inserted template; therefore absolute paths are not recommended. Reference paths allow for redirection, which provides more flexibility.


Starting a New Assembly From a Template

You can use the ASSEMBLE instruction to add templates to the Assembly Queue A dialog box that shows a list of assemblies—pending, current, and completed. Users can open the Assembly Queue by clicking Assembly Queue in the assembly window toolbar. It is most useful when users have selected multiple templates for assembly.. You can use the ASSEMBLE instruction in the following template types:

  • Word templates
  • WordPerfect templates
  • Form templates

Using the ASSEMBLE instruction in a Word template

You can use the ASSEMBLE instruction in a Word template to add another template to the assembly queue.

To insert an ASSEMBLE instruction to a Word template

  1. At the template, position the cursor in the template where you want the ASSEMBLE instruction.
  2. In the HotDocs toolbar, click the HotDocs drop-down menu; then from the list Two or more answers to one question merged in the document. of options, choose Other Field.
  3. In the Other Field dialog box, click the Field type drop-down list; then choose ASSEMBLE.
  4. Next to the Template to assemble field, click the [image] Browse button, locate the template you want to assemble, then click OK. HotDocs inserts the ASSEMBLE instruction for that specific template.

Using the ASSEMBLE instruction in a WordPerfect template

You can use the ASSEMBLE instruction in a WordPerfect template to add another template to the assembly queue.

To insert an ASSEMBLE instruction in a WordPerfect template

  1. Position the cursor in the template where you want the ASSEMBLE instruction.
  2. Click the [image] INSERT Field button. The INSERT Field dialog box appears.
  3. Select INSERT Template.
  4. Click the [image] Open button to select the template file you want to have assembled.
  5. Click OK. HotDocs inserts the instruction for that specific template. For example: «INSERT "subpoena.wpd File name extension that designates that the file is a WordPerfect document. (See text document.)"».
  6. Delete the text INSERT from the instruction and type the keyword ASSEMBLE. For example: «ASSEMBLE "subpoena.wpd"».

If the template you are adding to the assembly queue is a form template, HotDocs will not let you browse for the file from the INSERT Field dialog box. Instead, at the template, you must manually enter the file path and the name of the form template file.

Using the ASSEMBLE instruction in a form template

You can use the ASSEMBLE instruction in a form template to add another template to the assembly queue.

To insert an ASSEMBLE instruction in a form template

  1. At the template, create a field and attach a Computation variable to it.
  2. At the Computation Editor, type the ASSEMBLE instruction, including the path and file name (if necessary) of the template you want to assemble. For example: ASSEMBLE "subpoena.hft".

You can add command-line option An instruction used to control the operation of HotDocs. These instructions, or commands, are added to any command line that causes HotDocs to run. They can alter the operation of specific templates, or they can affect the overall operation of HotDocs.s to an ASSEMBLE instruction (for example, ASSEMBLE "subpoena.docx /pr"). If the command-line option includes a file path and name, enclose the path and name in double quotation marks (for example, ASSEMBLE "subpoena.docx /sa /af=""L Chang"""). (Four command-line options were designed specifically for use with ASSEMBLE instructions. They are: Suggest Save, Suggest Save New, Save Answers, and Save Answers Prompt. They control the saving of answers after each ASSEMBLE instruction is processed.)

If your template uses a custom interview you must place ASSEMBLE instructions in both the body of the template and in the interview A series of dialogs, each containing one or more questions which HotDocs generates from the variables you add to your template. The template's user must answer the questions in the interview before HotDocs can assemble a custom document. You can view the interview by clicking the Interview tab of the assembly window. The left pane of the assembly window displays an outline of the interview. As the user answers questions, the outline tracks the user's progress through the interview. script One or more instructions and/or expressions that generate a value or execute some kind of procedure.. For more information, see ASSEMBLE "FILENAME".


At a Glance: The Other Field Dialog Box

After opening a template for editing, you can open the Other Field dialog box by clicking on the [image] Other Field button on the HotDocs tab.

From the Field type drop-down list A you can select a field from the following list:

  • ASSEMBLE—enables you to type the name of, or navigate to, the Template to assemble in the text field labeled B
  • PLAY—enables you to type the name of the macro you want to play
  • LANGUAGE—enables you to select the language of for this section of the template and type the terms you want to use for the thousands separator and the decimal separator
  • DEBUG An instruction developers can insert in a template or script that lets them troubleshoot problems they are experiencing with their automation. While testing the script or template in debugging mode, HotDocs walks the developer through it, step by step, so he or she can see exactly how the script or template is producing the unexpected result.—causes no more options to appear
  • SPAN

To learn more about the features available through the Other field dialog box follow the links below:

  • Starting a New Assembly From a Template
  • Insert a PLAY Instruction in a Template
  • Create a Foreign Language Template
  • Insert Debugging Instructions in Templates and Scripts

  • Allow Users to Edit the Text of an Assembled Document


Differences Between INSERT and ASSEMBLE Instructions

The way HotDocs processes an INSERT instruction is different from the way HotDocs processes an ASSEMBLE instruction:

How HotDocs Processes an INSERT Instruction

The INSERT instruction An instruction that inserts one template into another. For example, if boilerplate text needs to be used in multiple documents, a template An instruction that inserts the contents of one template into another. For example, if you have boilerplate text you need to use in multiple documents, you can create a template that contains that text and use the Insert intruction in each template that requires the boilerplate text to insert that content. This way, if you need to make a change to the text, you only need to update one template. interrupts assembly of the parent template's document (if you place the instruction before the end of the template) to assemble the inserted template A template whose contents you insert into another template's document assembly process using an INSERT instruction.. HotDocs inserts the assembled text at the location of the INSERT instruction, and then finishes assembling the parent template's document so that the final output is one seamless document.

How HotDocs Processes an ASSEMBLE Instruction

Unlike the INSERT instruction, when you start a new assembly using the ASSEMBLE instruction, HotDocs adds the template A word processor or form document that has been converted to HotDocs format so that it can be automated. When in template format, changeable text in the template can be replaced with variables. Other instructions can be added as well, such as instructions that create lists, condition text, and insert other templates. to the Assembly Queue and then waits until the main document The file that is created after a template has been assembled. finishes assembling before assembling the template the ASSEMBLE instruction references. Each time you send the assembled document to the word processor or to HotDocs Filler See HotDocs Filler., HotDocs creates a separate file, instead of appending assembled documents to the end of the previous document. ASSEMBLE instructions can be used in both text and form templates, and they can add both text and form templates to the assembly queue, regardless of the type of template where the instruction is used.

You can also use an ASSEMBLE instruction to assemble multiple documents from within one template. For example, say providing a particular while assembling a document means the user must then assemble another document. Rather than make the user assemble the second document manually, you can have HotDocs assemble the second document automatically. You do this by using an ASSEMBLE instruction in the template. Once the first assembly finishes, HotDocs starts the second assembly.

To test The process of testing a variable or other component to make sure it looks right and works correctly. an ASSEMBLE instruction, you must exit the template completely and test it from the library A window used to display and organize templates. The library does not store the actual files—instead, it contains shortcuts (or links) to the files, which are stored on disk. In addition to the template library, HotDocs also uses an answer library, which is more commonly known as Answer File Manager..


Introduction: Use SPAN Instructions

SPAN fields are supported in Microsoft Word only.

Frequently, users need to edit document text once a document has been assembled. To allow this, you must mark sections of template text using SPAN fields. Inserting SPAN fields in a template allows users to edit the text of the assembled document while viewing the Document Preview tab of the assembly window. Changes made to the text can be saved in an answer file, which allows users to later reassemble the document and still have access to the changes they made.

SPAN instructions are inserted using Span components. Also, like IF and REPEAT instructions, SPAN instructions must include an END instruction.

Insert instructions should not be used inside SPAN fields.


At a Glance: The Edit SPAN Field dialog box

After opening a template to edit, you can open the Edit SPAN Field dialog box by clicking on the [image] Other Fields button and selecting SPAN from the drop-down menu, then clicking the [image] Edit button.

In the first text field A you can edit the component name or your SPAN Field and in the second text field B you can enter an optional title for the field.

In the Notes tab you can make development notes about this Span component. See At a Glance: The Notes tab (Component/Dialog Editor) for more information)

To learn more about the SPAN field follow the links below:

  • Introduction: Use SPAN Instructions
  • Allow Users to Edit the Text of an Assembled Document
  • Allow Users to Enter New Text in the Assembled Document


Allow Users to Edit the Text of an Assembled Document

SPAN fields are supported in Microsoft Word only.

Sometimes users need to edit the text of a document while viewing the Document Preview tab of the assembly window. To allow this, you can mark sections of the template using a SPAN instruction. Text between the beginning and end instruction can be highlighted and then selected and edited by the user. Any changes a user makes to the text can be saved to an answer file so that if the user ever reassembles the document, he or she can reuse the answer file and have the changes reapplied to the document.

Like IF and REPEAT instructions, SPAN instructions include an opening instruction («SPAN») and a closing instruction («END SPAN»).

To allow users to edit document text and save it in the answer file

  1. At the template, select the text you want the user to be able to edit.

When selecting template text, do not include IF instructions or REPEAT instructions between the SPAN instructions, as these instructions will no longer be processed correctly once the user edits the document text.

  2. Click the [image] SPAN Field button on the drop-down menu below the [image] HotDocs button. The SPAN Field dialog box appears.
  3. Enter a component name in the Span field.
  4. Optionally, click the Notes tab to enter notes about the span component, such as an explanation about why the span field was created or how it should function in the interview. (See Add Notes to Components for details.)
  5. Optionally, click the [image] Edit Component button and enter a title in the Title field. The title will be used to identify the editable text in the Document Text Editor.

When naming SPAN components, use unique component names. If two different (but related) templates use the same SPAN component name, when users edit the document text in the first document, save the answer file, and then use that answer file to assemble the second document, those changes from the first document may overwrite text in the second.

To let users enter a new paragraph of text in the document, see Allow Users to Enter New Text in the Assembled Document.

INSERT instructions inside a SPAN field will only work if the parent template and the inserted template use the same shared component file.

You cannot insert SPAN instructions in template headers and footers.

When working with SPAN instructions, you can use buttons on the HotDocs Navigation toolbar to label instructions and match starting and ending instructions. (See Use Labels to Identify Instructions and Match Opening Instructions with Closing Instructions.) You can also assign color to SPAN instructions. (See Assign Colors to Fields and Instructions in Templates.)

You can also insert SPAN instructions either by clicking on the HotDocs drop-down menu in the HotDocs toolbar and choosing SPAN Field, or by right-clicking in the template and choosing SPAN Field from the shortcut menu.


Allow Users to Enter New Text in the Assembled Document

SPAN fields are supported in Microsoft Word only.

Sometimes you may want to allow users to enter new text in an assembled document, rather than just modify existing document text. For example, perhaps users need to insert a new paragraph, based on answers they entered during the interview. You can insert a SPAN field in the template that allows users to do this.

When users view the assembled document, they can position their cursor either at the beginning of a paragraph or between paragraphs and click the Edit Document Text button. HotDocs will then display a list of editable paragraphs (if any) near the cursor position. If the cursor is in a paragraph and there are no additional Span fields near the cursor position, HotDocs will simply display the Document Text Editor where users can enter their text. To help users better identify which section of text they want to edit, you should enter a descriptive title for the Span component.

To insert an empty SPAN field in a template

  1. At the template, place your cursor where you want the user to enter text.
  2. Click the [image] SPAN Field button on the drop-down menu below the [image] HotDocs button. The SPAN Field dialog box appears.
  3. Enter a component name in the Span field.
  4. Click the [image] Edit Component button and enter a title in the Title field. The title will be used to identify the editable text in the Document Text Editor.
  5. Optionally, click the Notes tab to enter notes about the span component, such as an explanation about why the span field was created or how it should function in the interview. (See Add Notes to Components for details.)

When naming SPAN components, use unique component names. If two different (but related) templates use the same SPAN component name, when users edit the document text in the first document, save the answer file, and then use that answer file to assemble the second document, those changes from the first document may overwrite text in the second.

To allow users to edit existing paragraph text, see Allow Users to Edit the Text of an Assembled Document.

INSERT instructions inside a SPAN field will only work if the parent template and the inserted template use the same shared component file.

You cannot insert SPAN instructions in template headers and footers.

When working with SPAN instructions, you can use buttons on the HotDocs Navigation toolbar to label instructions and match starting and ending instructions. (See Use Labels to Identify Instructions and Match Opening Instructions with Closing Instructions.) You can also assign color for SPAN instructions. (See Assign Colors to Fields and Instructions in Templates.)

You can also insert SPAN instructions either by clicking on the HotDocs drop-down menu in the HotDocs toolbar and choosing SPAN Field, or by right-clicking in the template and choosing SPAN Field from the shortcut menu.


Introduction: Use Clauses and Clause Libraries

A clause is a HotDocs component that contains text. When you create clauses, you are, in essence, creating smaller templates that can be added to one main document. Clauses can contain text as well as HotDocs components (such as variables, instructions, and so forth).

You can insert a clause component directly into a template using an INSERT or an INSERT IF instruction, or you can add clauses to a clause library so a user can select them for insertion into an assembled document.

Clauses

When you insert a clause into a template, you are actually working with three different parts of the clause—the clause field, the clause component, and the clause text:

  • Clause field: This is the merge field that inserts the clause text into the assembled document. You can control whether the clause is inserted automatically, or whether the clause is inserted based on certain conditions being met. When you create a clause at the clause library, there is no clause field associated with the clause.
  • Clause component: This is the clause itself. It includes component properties, such as a prompt and resource information.
  • Clause text: This is the text you want inserted into the assembled document. The clause text can also contain HotDocs components, such as variables, dialogs, and instructions, which are all be processed during assembly.

Clause Libraries

Like a template library, a clause library is a collection of clauses. Grouping clauses in a library allows users to select, organize, and insert any number of clauses into the document. HotDocs then proceeds to prompt users for any variables contained in the clauses.

You can create clauses and clause libraries at two places: a HotDocs library and a template. Each location causes the clause library to function a little differently:

  • A clause library assembled from a HotDocs library allows users to select clauses to insert into any text document. They can select the clause library first at the template library and assemble a document using clauses from it, or they can assemble a document and then add clauses from the library to the document after assembly.
  • A clause library assembled in a template allows users to select which clauses they want to insert at that specific point in the assembled document.

For additional information on the underlying functionality of clauses, see Understand How Clauses Work.


At a Glance: The Clause Library

You can open a clause library to edit from a HotDocs Library.

The main part of the clause library window is split into two parts. On the left side of the window is the Clause Library Contents Pane where you can see all the clauses in this library. You can search the library using the Find check box and field at the bottom of this pane. You can type the text directly in the box, or you can click the drop-down button and select text from a previous search. On the right side of the window you can use the Properties Tab to view clause properties or the Preview Tab to see a preview of clause itself.

At the top of the window is the Toolbar. From the Toolbar you can access the following buttons:

  • Arrange Windows: Arranges the clause library window with other open HotDocs windows so you can view the windows simultaneously. Adjust the clause library to the height you want before clicking the button.
  • New Clause: Allows you to create a new clause and add it to the clause library. You can copy existing document or template text into the clause, or you can type the clause text "as you go." If you copy existing template text, make sure you copy any variables used in the template into the clause library's component file.
  • Edit Clause: Displays the Clause Editor where you can edit the name, prompt, or text of the selected clause.
  • Cut a Clause: Removes the selected library item or items and saves those items to the Windows Clipboard. (If you select a folder, HotDocs will remove the folder with all of its contents.) You can then paste the items into another part of the current library or into a different library.
  • Copy a Clause: Copies the selected library item or items and saves them to the Windows Clipboard. (If you select a folder, HotDocs will copy the folder with all its contents.) You can then paste them into another part of the current library or into a different library.
  • Paste a Clause: Pastes any library items that have been saved to the Windows Clipboard into the current library. The item or items will be pasted below the currently selected item in the library.
  • Add Clause to Library: Adds an existing clause to the clause library. You can also use this button to add a folder to the clause library.
  • Remove Clause from Library: Removes the selected clause from the clause library.
  • Sort List: Displays a dialog box where you can sort the contents of the selected folder in ascending (A to Z) or descending (Z to A) order.
  • View Clause Properties: Displays the Item Properties dialog box where you can change the title and description of folders and clauses in the current clause library.
  • Print: Prints a list of clause titles, clause file names, and the clause library in which the clause is located.
  • Component Manager: Opens Component Manager so you can work with the clause components or other components (such as variables) used in the clauses.
  • Help: Opens the relevant page of the HotDocs Help File.

To learn more about using the clause library follow the links below:

  • Introduction: Use Clauses and Clause Libraries
  • Understand How Clauses Work
  • Open and Close a Clause Library
  • Create a Clause Library at the HotDocs Library
  • Add a Folder to a Clause Library
  • Create Clauses at the Clause Library
  • Add Existing Clauses to a Clause Library
  • Customize a Clause Library
  • Create Clauses at the Template and Add Them to the Library
  • Create and Insert Clauses Directly in Template
  • Insert a Clause Library into a Template
  • Edit an Existing Clause
  • Group Clause Components in One Custom Dialog


Understand How Clauses Work

When working with clauses and clause libraries, it is useful to understand the underlying functionality, including the files that control how clauses and clause libraries work.

When you create a clause library and add clauses to it, HotDocs creates and uses the following files:

  • Clause template file (.DOCX, .DOT, .RTF, .WPT): This file contains the text of the clause component. When you create a clause template file, HotDocs generates an eight-character file name based on the clause component name, then appends the appropriate file name extension, and, finally, adds the clause to an archive file (see below). If the clause name is less than eight characters, HotDocs adds underscores to make the template name the right length.
  • Clause component file (.CMP): When you create a clause, HotDocs creates a clause component, which is added to a component file. If you create a clause at a template, the clause component go in the template's component file. But if you create a clause at a clause library, HotDocs creates a new component file that is associated with the clause library and stores the clause component in it.

In addition to storing the clause components, the clause component file also stores other components used in the clause text, such as variables, dialogs, and scripts.

  • Clause library file (.HDL): This library file contains an organized set of shortcuts that correspond to a set of clauses stored in the HotDocs clause archive file (see below). The clause library file gets its name based on where it is created—either at the template or at a template library. For example, if you create a clause library while editing contract.rtf, the clause library file name becomes contract.hdl. However, when you create a clause library at a regular template library, you specify the file name.
  • Clause Archive file (.HCL): This file contains a set of related clauses in compressed, or zipped, format. When you edit or assemble a document using clauses, this file is unzipped and each clause template file is extracted as needed to a temporary folder. When the clauses and clause library are no longer in use, the clause template files are zipped and saved to the clause archive file, and all temporary files are deleted.

These files work simultaneously to organize and store clauses. The clause library file, the clause template file, and the clause component file are all located in the word processor's template folder, along with the other HotDocs templates.

If you are uncertain about a clause's shortened name or file format, you can view the name in the Clause identifier field at the Clause Editor.


Open and Close a Clause Library

You can open and close a clause library either at the template library or at the template.

To open a clause library from the template library

  • At the HotDocs library, select the clause library and click [image] Edit. The Clause Library window appears.

To open a clause library from the template

  • At the text template, click the [image] Clause Library button. The Clause Library window appears.

To close a clause library

  • Click the X in the upper-right corner of the clause library window.

To access the clause library toolbar using the keyboard, press F10.

Word users can also open a clause library by clicking on the HotDocs drop-down menu in the HotDocs toolbar and choosing Clause Library.


Creating a Clause Library at the HotDocs Library

At a template library, you can create a clause library that contains any number of clauses. You can assemble these clauses and add them to any word processor document. For example, users can select a clause library at the template library, provide any required information, and then either send the assembled clauses to a new document or paste the assembled document into an open document (perhaps another related document you have just finished assembling).

Storing sections of template text in clauses and then adding those clauses to a clause library makes it easy for the user to choose which text they will use in assembling a document. A clause library also provides a way for users to organize their clauses and view the properties of each individual clause.

Users can also preview clause text from the Preview tab of the clause library.

To create a clause library at a HotDocs template library

  1. At the template library, select the folder in which you want the clause library to appear.
  2. Click [image] New Template.
  3. Click the Type drop-down button and select a clause library option for the word processor you are using. Your options include Word DOCX Clause Library,Word RTF Clause Library, Word DOT Clause Library, and WordPerfect Clause Library.
  4. In the File name field type a file name for the new template. If you decide to store the template somewhere other than the default template folder (as seen in the Target folder field), you can also [image] Browse to the new destination. HotDocs adds the correct extension to the file name based on the type of text template you selected. HotDocs displays the full path of the currently selected template location in the Target folder field.
  5. Type a title for the clause library in the Title field (or accept the suggestion HotDocs makes).
  6. Optionally, type a description in the Description field. The description appears when the user views the clause library's properties at the HotDocs template library.
  7. To add an existing component file to the new template, you can select a component from the Shared component file drop-down list. If you do so, the component file you choose is now shared between the new template and any other templates using that component file.
  8. Click OK. HotDocs creates and opens the clause library.

When the clause library opens, notice that it does not contain any clauses yet. You must create the clauses that appear in the clause list in the clause library.

When you create a clause library in a HotDocs template library, HotDocs doesn't create a template file. However, HotDocs creates a component file (using the same file name as the clause library) to store information for components used in the clause library.

You can use a clause library to assemble any number of documents and you can insert a clause library into any template if you want to associate the clauses with a specific document.


Add a Folder to a Clause Library

You can add folders to your clause library so you can organize your clauses into groups.

To add a folder to a clause library

  1. At the template, or at the template library, open the clause library for editing. (See Open and Close a Clause Library.)
  2. With the clause library displayed, select the folder in which you want to create a new folder.
  3. Click [image] Add. The Add Clause dialog box appears.
  4. Click the Type drop-down button and select Folder. The dialog box changes to show folder properties.
  5. Type a name for the folder in the Title field.
  6. Optionally, type a description for the folder in the Description field. The description appears in the Properties tab of the clause library window when the folder is selected.

Once you have created folders, you can arrange the folders (as well as the contents of the folders) by selecting the library item and dragging it to a new location in the list. You can also arrange the contents of each folder by clicking [image] Sort. (See Customize a Clause Library.)


At a Glance: The Edit Clause dialog box

After opening a clause library, you can open the Edit Clause dialog box by selecting the clause you clicking the [image] Edit button or clicking on the [image] New button on the Toolbar.

In the first text field A you can enter a name for the clause. In the second text field B you can enter an optional title for the clause and in the third text field C you can enter an optional prompt to accompany the clause selection in the interview.

Below these text fields there is a check box D on the left where you can choose to have the yes and no options appear on the same line in the interview.

If you are using a RTF template then you will see a drop down list at the bottom right where you can choose the type of clause you wish to create. You can select either a MS Word RTF clause or an MS Word DOT clause. Clauses created for a DOCX template will automatically be created as DOCX clauses.

DOCX clauses must be used in DOCX templates and RTF or DOT clauses must be used in RFT templates.

To view more options for setting up this new clause you can go to the Resource, Used In and Notes tabs.

To learn more about editing clauses follow the links below:

  • Create Clauses at the Clause Library
  • Edit an Existing Clause


Create Clauses at the Clause Library

Once you've created a clause library at a template library (see Create a Clause Library at the HotDocs Library), you can add clause text from any word processor document to it. To do this, either copy text from an existing word processor document or template and paste it into the clause component, or write the clause text as you go.

To create a clause at the clause library

  1. Open for editing the clause library which will contain your clause components. (See Open and Close a Clause Library.)
  2. Click [image] New Clause. The Clause Editor appears.
  3. Type a name for the clause in the Clause name field. (50-character limit.)
  4. Optionally, enter a title for the clause in the Title field. The title will be used as the default title for the item once it is added to the clause library.
  5. Optionally, click the Resource tab to provide users with helpful information that can assist them in providing the correct answer. (See Add Resource Information to a Variable or Dialog.)
  6. Optionally, click the Notes tab to enter notes about the clause, such as an explanation about why the clause was created or how it should function in the interview. (See Add Notes to Components for details.)
  7. Click OK. HotDocs opens a new, empty text template.
  8. Either copy sections of existing template text and paste it into the template (make sure you copy any existing components into the associated component file), or type the text directly in the template. You can automate the clause text by adding variables, instructions, and any other HotDocs functionality.
  9. When you are finished, click the [image] Save and Close Template button at the HotDocs toolbar. The clause is added to the clause library.
  10. Repeat this process for all the clauses you need to create.

In Word, the word processor may insert an extra hard return at the end of a new clause. To fix this, select the clause at the clause library and click [image] Edit. The Clause Editor appears, where you can click Edit Clause Text. When your text appears, delete the extra hard return. (Click the Show / Hide ¶ button in the Word toolbar to view paragraph marks.)

As you create clauses, if you paste template text that already contains variables or other HotDocs components, you must copy those components into the clause library's component file in order for the clauses to assemble correctly. The easiest way to do this is to click the [image] Component Manager button in the clause library toolbar and copy those components in. (See Copy Components From One File to Another.)


At a Glance: The Add Clause dialog box

After opening a clause library, you can open the Add Clause dialog box by clicking the [image] Add button on the Toolbar.

In the drop-down list A at the top of the dialog you can choose whether you would like to add an existing Clause or create a Folder. If you chose to add a Clause then you can select the clause, from the current clause library, you would like to add from the next drop-down list B, but if you selected Folder then this list B will disappear and you can go straight onto enter the details in the text fields below.

In the first text field C you can enter a title for your clause or folder and in the second text field D you can add an optional description that appears at the Properties tab of the clause library window when the item is selected.

To learn more about adding clauses to a clause library follow the link below:

  • Add Existing Clauses to a Clause Library


Add Existing Clauses to a Clause Library

When you create clauses at the template, you can either specify the clause text and have HotDocs immediately add the clause to the clause library (see Create Clauses at the Template and Add Them to the Library), or you can manually add the clauses at a later time.

If you are adding clauses to a library that resides in a template library, you can only add clauses that have already been created for that specific clause library. (For example, maybe you have deleted a clause from the library list and you want to re-add it.)

To add an existing clause to the clause library

  1. Open the clause library for editing. (See Open and Close a Clause Library.) The Clause Library dialog box appears.
  2. Click [image] Add. The Add Clause dialog box appears.
  3. Click the Select clause drop-down button and select the clause you want to add.
  4. Enter a new title for the clause in the Title field, or accept the suggestion HotDocs makes. (If you entered one, HotDocs uses the title you suggested when you created the clause component. If you later decide you want to change the title, select the clause in the clause library and click [image] Properties. Make your change at the Item Properties dialog box.)
  5. Optionally, enter a description in the Description field. The description, along with the title, appears in the Properties pane of the clause library window.
  6. Click OK. The clause is added to the clause list in the library.


Customize a Clause Library

It is often helpful to organize your clauses using a clause library. At the clause library, you can create, add, and delete clauses from a clause library, as well as sort clauses in alphanumeric order. You can also create additional folders in the library to group the clauses, and change the titles and descriptions of clauses and folders. Finally, you can view either the properties of a specific clause, or you can view the text of the clause itself.

To customize a clause library

  1. Open a clause library for editing. (See Open and Close a Clause Library.)
  2. Perform any of the following tasks:
To | Do This
Move clauses within the clause library | Select a clause and drag it to a different position. As you are dragging, HotDocs displays a horizontal bar, indicating where the clause will be placed when you release the mouse button.
Arrange the clause library with other open windows | Resize the clause library window to the desired height and click the [image] Arrange button. The clause library window appears below the window from which it was opened—either the word processor or the template library.
Create a new clause component | Click [image] New. HotDocs opens the Clause Editor where you can assign properties to a clause component. Once you assign a name and click OK, a text template opens where you can enter your clause text. (See Create Clauses at the Clause Library.)
Add an existing clause to the clause library | Click [image] Add. HotDocs opens the Add Clause dialog box where you can select an existing clause and add it. (See Add Existing Clauses to a Clause Library.)
Add a folder to the clause library | Click [image] Add. When the Add Clause dialog box appears, select Folder from the Type drop-down list. (See Add a Folder to a Clause Library.)
Remove a clause or a folder from the clause library | Select the clause or folder you want to remove and click [image] Remove Item.
Make changes to a clause in the clause list | Select the clause and click [image] Edit. HotDocs opens the Clause Editor where you can change the clause component properties. (To edit the text of the clause, click Edit Clause Text at this dialog box.) (See Edit an Existing Clause.) Changing the name of a clause in the [image] Edit Clause dialog will not change the name of the clause in the library. To do this you must also change the name in [image] Properties.
Rearrange clauses in the clause list in alphabetical order | Select the folder whose contents you want to arrange and click the [image] Sort button. HotDocs displays the Folder Sort Options dialog box where you can choose either Ascending or Descending order.
Change the clause or folder title, or add a description | Select a clause or folder and click [image] Properties. The Item Properties dialog box appears where you can type a new title in the Title field, or type a description in the Description field. Both the title and the description appear in the clause library's Properties tab.
Print a list of the clauses | Click the [image] Print button. HotDocs prints a list of all the clauses with their associated clause identifiers.
Open the component file for the clause library | Click the [image] Component Manager button. (See Use Component Manager to Work with Components.)
View the properties of the clause or preview the clause text | Click the Properties tab or the Preview tab, respectively.
Search the list of clause names and clause descriptions for a specific string of text | Select Find and then type the text for which you are searching. HotDocs searches the clause names as well as clause descriptions. When it finds the text string, it lists only those clauses in the clause list until you clear Find.

Any time you make changes at the clause library file, those changes are automatically saved.

To access the clause library toolbar using the keyboard, press F10.


Create Clauses at the Template and Add Them to the Library

When the text for the clauses you want to create already exists in a single template, you can create individual clauses right in the template. Once you've defined the clause text, you can add the clause to the clause library.

To create the clause and add it to the clause library

  1. At the template containing your clause text, select the text you want to make into a clause and click the [image] Clause Library button. The Clause Editor appears, as well as the Clause Library.
  2. Type a name for the clause in the Clause name field.
  3. Enter a title for the clause in the Title field. The title will be used as the default title for the item once it is added to the clause library.
  4. Optionally, click the Resource tab to provide users with information that can assist them in providing the correct answer. (See Add Resource Information to a Variable or Dialog.)
  5. Optionally, click the Notes tab to enter notes about the clause, such as an explanation about why the clause was created or how it should function in the interview. (See Add Notes to Components for details.)
  6. Click OK. The clause is added to the clause list in the library.

In Word, the word processor may insert an extra hard return at the end of a new clause. To fix this, select the clause at the clause library and click [image] Edit. The Clause Editor appears, where you can click Edit Clause Text. When your text appears, delete the extra hard return. (Click the Show / Hide ¶ button in the Word toolbar to view paragraph marks.)


Create and Insert Clauses Directly in Template

When the text for the clauses you want to create already exists in a single template, you can create individual clauses right in the template instead of at the clause library.

To create a clause and insert it into the template

  1. Edit the template that contains the text you want to convert to clauses. (See Edit a Template.)
  2. At the template, select the text for the first clause and click the [image] INSERT Field button. The INSERT Field dialog box appears.
  3. Select INSERT Clause.
  4. Type a name for the clause component in the Clause to create field. (50-character limit.)
  5. Optionally, select INSERT clause only IF selected if you want the user to control whether the clause is inserted.
  6. Click OK. The Clause Editor appears.
  7. Perform any of the following optional tasks:
    • Enter a title for the clause in the Title field. The title will be used as the default title for the item once it is added to the clause library.
    • Type the information about the clause you want the user to see in the Prompt field. (See Create a Prompt for a Variable.)
    • If you selected INSERT clause only IF selected at the INSERT Field field, select Yes/No on same line to have Yes/No options appear on the same line in the interview.
    • Click the Resource tab to provide users with information that can assist them in providing the correct answer. (See Add Resource Information to a Variable or Dialog.)
  8. Click OK when you are finished. The instruction is inserted into the template.

In Word, the word processor may insert an extra hard return at the end of a new clause. To fix this, select the clause at the clause library and click [image] Edit. The Clause Editor appears, where you can click Edit Clause Text. When your text appears, delete the extra hard return. (Click the Show / Hide ¶ button in the Word toolbar to view paragraph marks.)

To insert an existing clause in the template, position your cursor where you want the clause inserted and click the [image] INSERT Field button. Then select the clause by clicking the Clause to insert drop-down button. (The drop-down button is not available if you have selected text.)

You can add the clauses you have created to a clause library, which can be used to assemble any other document. See Add Existing Clauses to a Clause Library for details.

Clauses not only have a text value, but they have a true/false value as well. That means if you insert a clause in a template by using an INSERT IF instruction, the clause will automatically appear to the user as a yes/no question during assembly. If the user answers Yes, the clause will be included in the document; if the user answers No, the clause will not be included. You can also group clauses in a single selection or multiple selection group. See Group Clause Components in One Custom Dialog for details.


Insert a Clause Library into a Template

Once you add clauses to a clause library (see Add Existing Clauses to a Clause Library), you can insert the library into the template so it will appear during the interview. When the library appears, users can select and order the clauses they want to appear in the document. You can insert any clause library into the template, as long as the library, its clauses (stored in the clause archive (.HCL) file), the template, and the component file are all stored in a folder HotDocs can find.

To insert a clause library into the template

  1. At the template, place the cursor where you want the library to be inserted. (If you've divided the whole document into clauses in the library, the template may show no text at all.)
  2. Click the [image] INSERT Field button. The INSERT Field dialog box appears.
  3. Select INSERT Clause Library.
  4. Click the [image] Open button next to the Clause library to insert field to browse for and select the file. Click OK when you are finished.

To insert a clause library that is located in a folder separate from its host template, you must include the folder path, or at least some portion of it. For example, a clause library can be inserted from a subfolder of the host template («INSERT "Subfolder\ClauseLib.hdl"»); or it can be inserted using a full file path («INSERT "C:\My Documents\ClauseLib.hdl"»); or it can be inserted using a reference path («INSERT "^referencePath\ClauseLib.hdl"»).


Edit an Existing Clause

Once you have created a clause component, you can edit it at any time. Clause components can be edited from the template where the INSERT Clause instruction is, from the clause library that contains the clause, and from Component Manager. Likewise, when you edit a clause, you can edit both the properties of the clause component (for example, the prompt, the resource, and so forth) and the clause text itself.

To edit a clause

  1. Open the Clause Editor using any of the following methods:
    • Select the clause at the clause library and click [image] Edit.
    • In Component Manager, select the clause in the Components list and click [image] Edit Component.
    • In the template, place your cursor in the INSERT Clause instruction and click the [image] Insert Field button.
  2. Make any changes to the clause component by editing the Properties or the Resources.
  3. Optionally, to edit the clause text, click Edit Clause Text at the Clause Editor. (Click [image] Save and Close Template on the HotDocs toolbar to save your changes to the text.)

In Word, the word processor may insert an extra hard return at the end of a new clause. To fix this, select the clause at the clause library and click [image] Edit. The Clause Editor appears, where you can click Edit Clause Text. When your text appears, delete the extra hard return. (Click the Show / Hide ¶ button in the Word toolbar to view paragraph marks.)

Changing the name of a clause in the [image] Edit Clause dialog will not change the name of the clause in the library. To do this you must also change the name in [image] Properties.


Group Clause Components in One Custom Dialog

If your template contains several clauses from which the user must choose (meaning the clauses are inserted using INSERT IF instructions), you can group the clauses in one dialog instead of displaying each clause option in its own dialog. You can allow the user to select either one clause or multiple clauses.

To group clauses in a dialog

  1. At the template, create the clauses you want the user to choose from, making sure you select INSERT clause only IF selected at each clause's INSERT Field dialog box. (See Create and Insert Clauses Directly in Template.)
  2. Create a dialog for the clauses. (See Gather Questions into a Custom Dialog.)
  3. Once you have added the clauses to the Contents field at the Dialog Editor, click the Options tab. The window changes to show several custom options.
  4. Click the Selection grouping drop-down button and select either Select One or Select All That Apply, depending on how many clauses you want your users to select.

Be careful not to create a custom dialog that contains variables from two or more different clauses. If the user selects one clause and not the other, HotDocs might present a dialog that asks for unnecessary information. If you’re going to create custom dialogs, limit each dialog to include only those variables used in a single clause.


HotDocs Automator: Overview

Home > Automating Form Templates > Creating and Working with Forms > HotDocs Automator: Overview

HotDocs Automator Overview

HotDocs Automator helps you create templates based on graphical forms—or forms that contain static text and graphics that cannot be changed or modified by users. These kinds of forms include loan applications, tax forms, or pre-printed court forms.

To create a PDF template, you first start with a PDF document1 . Some agencies or organizations with which you work may provide you with these PDF documents, or you can create your own using PDF-creation software, such as Adobe Acrobat Professional. You then use HotDocs to convert that file to HotDocs form template format.

When automating form templates, many tasks are identical to automating text templates—you must 1) identify each place on the form template where changeable information must be entered, 2) create fields, and then 3) attach variables to these fields. (See Introduction: Create and Customize Variables.)

You can create different types of fields, depending on what type of answer the field requires. For example, edit fields can be used to merge Text, Date, and Number answers, while check box fields can be used to merge True/False and Multiple Choice answers. In contrast, control fields control the flow of information but are hidden from end users. Resource fields, the final field type, allow you to create a resource for the entire form, which appears as a hyperlink on the form.

Edit and check box fields, with variables attached, allow users to provide information to complete the form. Sometimes a user’s answer is longer than the space available. By designating overflow options, you can manage the problem of limited space on your form templates. When an answer overflows a field, HotDocs provides several ways to adjust the field or the answer. One solution is to create an addendum after the last page of the document and save the answers there.

Users assemble form document files from the form templates you develop. They can print blank versions of the forms, or provide answers for the questions and produce a finished document. After a form document is saved, users can edit answers in it by using HotDocs Filler. However, once the document is saved and then viewed in Filler, much of the template functionality is lost. For example, the form fields no longer process computations; they simply act as placeholders for the user’s information.

Finally, you can test assemble your form templates to see how they will appear to users. (See Test Assemble a Document.)

1 HotDocs supports the creation of templates using fillable PDFs. For details, see Introduction: Use Fillable PDFs as Form Templates.


At a Glance: The Automator Window

You can open the HotDocs Automator directly from the your start menu or by opening a form template to edit from a HotDocs Library.

The main part of the Automator window is the Template Workspace where you can use the options on the Toolbar to edit the form template.

At the top of the window is the Menu bar and Toolbar. From the Toolbar you can access the following buttons:

  • HotDocs Library: Opens the HotDocs library (if it's not already open) and brings it to the front.
  • New Template: Creates a new form template file. (The new file won't contain any static text.)
  • Open Form: Opens a form template file for editing, or opens a saved form document for printing or editing.
  • Save Form: Saves the current form. If the form has never been saved, HotDocs will ask for the path and file name to use.
  • Print Form: Prints a copy of the form.
  • Field Properties: Changes the properties for the selected field or fields.
  • Answer Font: Changes the font for the selected field or fields.
  • Detect Field: Detects the borders of the field that contains the cursor and creates the field if it doesn't already exist. If a field is selected, its borders are redetected.
  • Align Fields: Displays the Align dialog box where you can align the selected field or fields.
  • Undo: Undoes the last change you made to fields in the form. (You cannot undo changes made to HotDocs components (variables, dialogs, and so forth) or to answers in an assembled form document.)
  • Redo: Reapplies any changes you have made to the template.
  • Variable Field: Creates a new variable and attaches it to the selected field.
  • Edit Component: Opens the Component Editor for the field that is currently selected.
  • Component Manager: Displays Component Manager, which you use to work with variables, dialogs, clauses, and other HotDocs components.
  • Test Assemble: Test assembles a form document from the template.
  • Fill Tool: Allows you to enter information in the field, such as an answer.
  • Select Tool: Activates the Select Tool. This button allows you to select an existing field so that you can move it, resize it, or edit its properties (including the variable properties).
  • Select Text and Fields Tool: In a HotDocs form template, activates the Select Text and Fields Tool, which allows you to either select a field or select static text in the form. You can select text, copy it, and then paste the text wherever you need it -- for example, in a variable's Prompt or Variable name box.
  • Scroll Tool: Makes the Scroll Tool the current cursor. Use the cursor to grab the current form page and drag it around the window.
  • Zoom Tool: Activates the Zoom Tool, allowing you to increase or decrease magnification of the template.
  • Page Width: Displays the entire width of the current form page in the window.
  • Full Page: Displays the entire length of the current form page in the window.
  • Show Fields: Shows or hides the field backgrounds.
  • Show Variables: Shows or hides the variable names in the fields.
  • Show Thumbnails: Shows or hides a thumbnail view of each page in the form at the left of the window.
  • Previous Page: Moves to the page just before the current page in the form.
  • Next Page: Moves to the page just after the current page in the form.
  • HotDocs Options: Opens the HotDocs Options dialog box where you can specify several preferences that control how HotDocs works.
  • Help: Opens the relevant page of the HotDocs Help File.

You can access further options not available on the Toolbar in the Menu Bar.

To learn more about using HotDocs Automator follow the links below:

  • Introduction: HotDocs Automator
  • HotDocs Automator Toolbar
  • Create a Form Template
  • Save Existing HFT Files as PDF-based Form Templates
  • Edit a Form Template
  • Globally Change Properties in a Template or Group of Templates
  • Save and Close a Form Template
  • Define the Interview for a Form Template


HotDocs Automator Toolbar

The following table gives a summary of the Automator toolbar buttons, many of which are also on the assembly window toolbar:

Button Name | What it Does
HotDocs Library | Opens the HotDocs template library. If the library is already open, it brings it to the front.
New Template | Creates a new, untitled form template.
Open Form | Opens an existing form template.
Save Form | Saves any changes you've made to the current form template and component file.
Print Form | Prints the template currently displayed.
Field Properties | Displays the Field Properties dialog box, where you can change how the answer the user enters is merged in the assembled document.
Answer Font | Displays the Font dialog box, where you can change the font face, size, or style for the answer.
Detect Field | Scans the static content around the selected area for lines and text, and then moves the selected field into position. If no field is selected, creates a new field.
Align Fields | Displays the Align dialog box, where you can arrange the size and layout of multiple fields.
Undo | Removes the most recent changes you've made to the template.
Redo | Reapplies any changes you may have undone.
Variable Field | Displays the Variable Field dialog box, where you can attach a new variable to a field, or edit the merge field properties of an existing variable.
Edit Component | Displays the Variable Editor, where you can edit the component properties of the selected variable.
Component Manager | Opens Component Manager, where you can work with the components used in the template.
Test Assemble | Starts a test assembly, showing how the current template will appear to users during assembly.
Fill Tool | Allows you to click on a field and enter a test answer.
Select Tool | Creates new fields (on double-click); also selects and moves existing fields.
Select Text and Fields Tool | (HotDocs form templates (.HFT) only) Creates new fields (on double-click); also allows you to select underlying template text.
Scroll Tool | Scrolls the template vertically and horizontally.
Zoom Tool | Changes the view, increasing or decreasing the magnification.
Page Width | Changes the view to fit the left and right edges of the template in the window.
Full Page | Changes the view to fit the top and bottom edges of the template in the window.
Show Fields | Shows and hides the colored HotDocs variable fields.
Show Variables | Shows and hides the names of variables attached to each field. (Hiding variable names lets you enter test answers in the fields so you can test the field properties you've assigned. See Preview the Formatting of Answers in a Form Field.)
Show Thumbnails | Shows and hides the Thumbnails pane. You can click on a thumbnail (a small image of each page in the template) to move through the template.
Previous Page | Changes the view to show the previous page.
Next Page | Changes the view to show the next page.
HotDocs Options | Opens the HotDocs Options dialog box where you can customize how HotDocs works.
Help | Opens the At a Glance: The Automator Window page of the Help file.

When you highlight a command on a menu or point to a toolbar button, a description of the command displays in the status bar at the bottom of the window.

You can hide the toolbar and the status bar by choosing Toolbar or Status Bar (View menu). To redisplay the toolbar or status bar, choose those commands again.


Create a Form Template

The HotDocs PDF Driver is no longer available as of version 11.2.10. You can use the Microsoft Print to PDF driver or equivalent to save a document instead.

Using HotDocs Automator, you can create templates based on electronic forms. (Forms are documents that contain underlying text and graphics that cannot be changed. Examples include loan applications, tax forms, and pre-printed court forms.) An electronic form can be created in virtually any Windows program from which you can print, such as a word processor, design, or form creation program.

Before you can automate a form template file, you must first convert an electronic form document into HotDocs template format. You do this by first printing the document to PDF format (for example, using the Microsoft Print to PDF driver). You then save the PDF as a form template. If the document you want to automate is already in PDF format, you can simply save the PDF as a HotDocs PDF template.

You can also use Adobe Acrobat to create PDF documents.

Once you have created a form template file, you can automate it using HotDocs Automator.

Creating a PDF template requires two parts:

  • Print the document as a PDF file.
  • Save the PDF file as PDF-based form template.

To create a PDF template

  1. If you already have a PDF document, skip to Step 11.
  2. Open the document in a Windows program with printing capability.
  3. Select the Print command for that program.
  4. At the printing dialog box, select HotDocs PDF Driver as the printer.
  5. Assign any properties you need to the PDF (such as security settings, watermarks, and so forth.)
  6. Click the Print or OK button. The Save As dialog box appears.
  7. If necessary, browse and select the location for the file.
  8. In the File name field, type a name for the new file.
  9. At the Save as type drop-down list, select PDF as the file type.
  10. Click the Save button. The PDF file is created and stored in the location you chose. (You can close the original document.)

You will now create a PDF template from the document you just saved.

  11. Start HotDocs. The template library appears. (See Start HotDocs.)
  12. Click on a folder in the file list and click the [image] New Template button. The New Template dialog box appears.
  13. Click the Type drop-down button and choose HotDocs PDF Template from the list.
  14. Enter a name for the file in the File name field and a title for the template in the Title field.

Do not type a template name that includes a pound sign (#). This can cause errors when uploading.

  15. In the Initial contents group, select Other file.
  16. Click the [image] Browse button and browse to (and open) the PDF you created in the first part of these steps.
  17. Click OK at the New Template Initial Contents field.
  18. Click OK at the New Template dialog box. The new template is opened in HotDocs Automator.

When you create a new form template, HotDocs automatically creates a companion file called the component file that stores information about components you use in the template, such as variables and dialogs. The component file works behind the scenes, but both files—the form template and the component file—are necessary for the template to work. (The component file works exactly the same for a form template as a text template. See Introduction: Template and Component Files.)

For information on converting existing form template (.HFT) files to PDF-based templates, see Save Existing HFT Files as PDF-based Form Templates.

If you are comfortable working directly with file name extensions, you can also use Windows Explorer to change the file name extension of a PDF file from .PDF to .HPT. Be aware, however, that when you do this (as opposed to the steps outlined above), no component file will be created until you open the template and add components to it (either by creating variable fields or by opening Component Manager and adding components that way.)


Save Existing HFT Files as PDF-based Form Templates

Saving existing .HFT files as PDF-based Form templates is not supported in HotDocs Developer since version 11.2.10. If you need to convert .HFT files it is recommended to install an earlier version of HotDocs Developer to do the conversion.

With HotDocs, you can convert existing Envoy-based form template (.HFT) files into PDF-based form template (.HPT) files. The advantage of PDF-based form templates comes to end-users who want to use the templates to create PDF documents.

If you want to convert an existing .HFT file to a PDF-based template file, first check to see if you have the original source file (for example, the original Omniform file) and use that file instead to generate the PDF-based template. This will maintain the quality of the template.

To convert an HFT file into an HPT file

  1. At the HotDocs library window, select the form template you want to convert, and click Edit. HotDocs Automator appears, showing the selected form template. (If the form template isn't included in the library currently showing, open the necessary library. See Open a Library.)
  2. Select Save As (File menu). The Save As dialog box appears.

If you change the name of the new template, or change the folder in which the template is saved, you must also rename the .CMP file and move it to the new folder.

  3. At the Save as type drop-down list, select HotDocs PDF Template (*.hpt).
  4. Click Save. The Convert to PDF dialog box appears.
  5. Optionally, provide information for the Title, Subject, Author, and Keywords fields.
  6. Click OK. The PDF-based form template is created.
  7. You can now open the new template in HotDocs Automator to review and work with the template. (See Edit a Form Template.)


At a Glance: The Find Dialog Box

After opening HotDocs Automator, directly from the your start menu or by opening a form template to edit from a HotDocs Library, you can open the Find Text dialog box by clicking Find in the Edit menu.

In the text field A at the top of the dialog you can specify the text for which to search. You can also check the box B below to limit the search to exact matches of the text.

To learn more about navigating a form template follow the link below:

  • Move Around in a Form

The Find command works only in form template (.HFT) file


Move Around in a Form

When working with a form, there are several ways to move around within the form, including changing the magnification of the form, scrolling the form vertically and horizontally, and moving between pages in the form.

To move around in a form

  1. Edit a form template. (See Edit a Form Template.)
  2. Complete any of the following steps:
To | Do This
Scroll the form horizontally and vertically | Click the Scroll Tool Scroll Tool button and drag the mouse the direction you want to view. The form is scrolled in that direction.
Zoom in on a particular section of the form | Click the Zoom Tool Zoom Tool button and then click on the form. The magnification on the form changes. (To zoom out, press the Ctrl or Shift key while clicking with the Zoom Tool Zoom Tool button.)
View the next or previous page in the form | Click the Next Page Next Page button or the Previous Page Previous Page button.
Go to any page in the form | Choose Go To (Edit menu). The Go To Page dialog box appears, where you can enter the number of the page you want to view. (You can also click a thumbnail image to move to any page in the form.)
Find static text on the form The Find command works only in form template (.HFT) file | Choose Find (Edit menu). The Find dialog box appears, where you can enter the text for which you are searching on the form. (To perform a case-sensitive search, select Match case.) To find the next instance of text, choose Find Next (Edit menu).


Edit a Form Template

You can open existing form templates in three different ways:

To edit a template from the HotDocs library window

  1. At the HotDocs library window, select the form template.
  2. Click [image] Edit. The HotDocs Automator window appears, showing the form template.

To edit a template from the HotDocs Automator window

  1. At the HotDocs Automator window, click the [image] Open Form button. The Open dialog box appears.
  2. Locate and select the form template you want and click Open. The Automator window appears again, showing the form template.

To edit a template from Windows Explorer

  1. Using Windows Explorer, locate the form template you want.
  2. Double-click the icon for that form template. The Automator window appears, showing the form template.

You can also drag a template icon from Windows Explorer and drop it into the HotDocs Automator window. The form will then open for you to edit.


At a Glance: The Insert Pages dialog box

After opening HotDocs Automator, directly from the your start menu or by opening a form template to edit from a HotDocs Library, you can open the Insert Pages dialog box by clicking Insert Pages... in the Edit menu.

In the first text field A you can enter the file path for the form you wish to take the pages from, or you can use the [image] Open button to the right to navigate to the form you need.

Below this is a series of options B you can set to select which pages of the new form you need to insert and where in the current form you wish to put them. In the first number field type the page number of the first page you wish to insert, in the second field type the page number of the last page you wish to insert, from the third field you can choose to insert the pages above or below a specified page, and in the forth field you can specify that page in the current form.

To learn more about adding pages to a form template follow the link below:

  • Add Pages to a Form Template


Add Pages to a Form Template

You can add pages to a form template. For example, say you need to add a page from one form template to the template you are currently automating. When you insert a page, Automator copies the static content and fields, and then pastes that information into the form template you're editing. The new page becomes part of the first template.

To insert pages from another template

  1. Edit a form template. (See Edit a Form Template.)
  2. Click [image] Insert Pages (Edit menu). The Insert Pages dialog box appears.
  3. Click the Form containing pages to insert drop-down field and select the file from which you want to copy the pages. You can also click the [image] Open button to locate another file and add it to the list.

When inserting, file types must match, meaning you cannot insert pages from a PDF template into a HotDocs form template.

  4. In the Insert pages group, specify the pages you want to insert and where they should be inserted in the current form.
  5. Click OK. The template appears again, with the pages inserted.

If the pages you inserted contain variable fields, copy the components from the inserted template's component file into the current file. (See Use Component Manager to Work with Components.)

To add pages to a form document during assembly, see Attach an INSERT Instruction to a Field.

To quickly navigate through inserted pages, click Thumbnails.


At a Glance: The Delete Pages Dialog Box

After opening HotDocs Automator, directly from the your start menu or by opening a form template to edit from a HotDocs Library, you can open the Delete Pages dialog box by clicking Delete Pages... in the Edit menu.

In the first number field A enter the first page in the range of pages you want to delete and in the second number field B enter the last page in the range of pages you want to delete. To delete a single page, set this number to match the number in the first field A.

To learn more about deleting pages to a form template follow the link below:

  • Remove Pages from a Form Template


Remove Pages from a Form Template

At times you may want to delete a page from a form template.

To remove a page from a form

  1. Edit the form template. (See Edit a Form Template.)
  2. Choose Delete Pages (Edit menu). The Delete Pages dialog box appears.
  3. Enter the range of page numbers you want to remove in the Delete and through fields.
  4. Click OK. The page(s) you specified are deleted.


At a Glance: The Replace Static Content dialog box

After opening HotDocs Automator, directly from the your start menu or by opening a form template to edit from a HotDocs Library, you can open the Replace Static Content dialog box by clicking Replace Static Content in the Edit menu.

In this text field you can choose the form you wish to use to replace the underlying text of the current form. You can type in the file path, select the file from the drop-down list of recently opened items or navigate to the form using the [image] Open button to the right.

To learn more about changing the text on a form template follow the link below:

  • Update the Underlying Text in a Form Template


Update the Underlying Text in a Form Template

Frequently, the courts or other agencies to whom you submit your form documents update the content of their forms, which, in turn requires you to update the templates you are using. Rather than creating new templates and re-automating them each time this happens, you can simply replace the text of the automated form with the updated content of the new form. HotDocs Automator provides you the tools for doing this.

To replace the static content of a form template

  1. Edit the form template. (See Edit a Form Template.)
  2. Choose Replace Static Content (Edit menu). The Replace Static Content dialog box opens.
  3. Either select the form with the correct static content from the Replace the static content... drop-down list, or click the [image] Open button and locate the file you want.
  4. Click OK at the Replace Static Content dialog box. You are returned to the template.
  5. Reposition any fields, based on the updated static content. If the update significantly changed the form, check to make sure the text still corresponds to the fields and variables. If any new questions are asked on the form, create new fields and variables for them. (See Create a Form Field and Attach a Variable to a Field.)

If you are replacing static content in a fillable PDF template, it is recommended you check the fillable fields for placement and formatting after replacing the content. See Check Fillable Fields in a PDF Template for details.


View the Form in More than One Window

When you need to copy and paste fields, viewing the current form in multiple windows within Automator can be helpful. Also, when you have several forms open at once, you can view all open windows simultaneously.

To display the form in more than one window

  1. Edit a form template. (See Edit a Form Template.)
  2. Click the Window menu and make a selection, based on information in the following table:
To | Do This
Open an additional copy of the current form | Choose New Window.
Display all open forms arranged from left to right | Choose Tile Vertical.
Display all open forms arranged from top to bottom | Choose Tile Horizontal.
Display all open forms so they overlap from top-left to bottom-right | Choose Cascade.


Globally Change Properties in a Template or Group of Templates

Before making large-scale changes to templates or component files, you should back up these files. Additionally, if you plan to use old versions of the templates, make copies before you use the Property Replicator feature. Unless you have recovery options specified at the HotDocs Options dialog box (see Protect Forms By Backing Them Up), you won't be able to retrieve the old copy. Another option is to have the template open when you apply a global change to it; then you can save the new file, then click Undo (Edit menu) to restore the original version.

In major projects, you may want to quickly change the properties in several templates. Using the Property Replicator, you can change the properties of regular fields, check box fields, forms, or addenda properties—or all four—for the templates you select. The changes will affect all the regular fields and check box fields in all the selected templates.

There are two parts to making changes in multiple templates:

  • Create a source template that has the properties you want to apply to the other templates.
  • Apply the global changes using the Property Replicator feature.

To change properties in a set of templates

  1. At the Automator window, click the [image] New Template button. A new, blank form template appears. Create two fields and arrange them in this order:
    • A first field slightly larger than a regular edit field. (You also can copy a regular field and paste it into the new template.)
    • A second field slightly larger than a check box field. (You also can copy a check box field and paste it into the new template.)
  2. Apply any changes to these fields that you want to be made globally. (You may want to make a note of exactly which properties you changed. You will be asked in Step 9 to select these properties.)
  3. Specify any template or addendum properties, again making note of any changes you make.
  4. Click the [image] Save button, and name the source template.

Make sure the check box field you create is larger than the check boxes in the templates you’re changing. HotDocs applies check box changes to only those fields that are equal in size to or smaller than the check box you create. If the check boxes in the templates are larger than the one you create, HotDocs treats them as regular fields.

  6. In the source template, click Property Replicator (Tools menu). The Property Replicator dialog box appears.
  7. In the Source template field, click the [image] Browse button to browse and select the source template. This file contains the formatting you want to apply globally.
  8. In the Destination templates field, click the [image] Browse button to browse and select the files.

You can also use wild cards to add templates. If you are changing all the files in a folder, you can use an asterisk (*) when you type the file paths in the Files to change field. The asterisk replaces the individual file names, and will add all files in a folder at once. For example, C:\Documents and Settings\UserName\My Documents\HotDocs\Templates*.HFT would add all the form templates in the template folder, and C:\Documents and Settings\UserName\My Documents\HotDocs\Templates*.* would add all the files in the template folder. To replace only a single character in a file path, you can use a question mark (?). For example, C:\Documents and Settings\UserName\My Documents\HotDocs\Templates*.HF? would add all the form templates and form documents.

  9. Select the properties to be changed:
    • In the Regular fields list, select the properties of the edit field in the source template that you want to apply globally to all fields in the destination templates.
    • In the Check boxes list, select the properties of the check box field in the source template that you want to apply globally to all fields in the destination templates.
    • In the Form list, select the properties of the form or addendum in the source template that you want to apply globally to all destination templates.
  10. After specifying the properties to be changed, click Replicate. The Replicate Properties dialog box appears, showing which template files have been modified.
  11. Click OK. The Property Replicator dialog box appears again. It notes the files that were processed and reports how many files were changed.
  12. Click Close.

You can use the Property Replicator to change the properties of linked fields in a fillable PDF template. Be aware, however, that if you save the document assembled from this template as a fillable PDF, it will use the field properties defined in the original fillable PDF. See Check Fillable Fields in a PDF Template for details.


Save and Close a Form Template

As you automate a form template, you should periodically save your template. This protects your work from unexpected program or system errors. Additionally, when you finish automating a template, you should save the template to disk and close it.

To save and close a form template

  • Complete any of the steps in the following table:
To | Do This
Save changes to the currently open template and component file | Click the [image] Save button.
Close the currently open template | Click Close (File menu).
Close all open templates | Click Close All (File menu).

You can have HotDocs automatically save back-up copies of form templates you are automating. See Protect Forms By Backing Them Up for details.


Define the Interview for a Form Template

When users assemble form documents, they can provide the information in one of two ways: answering questions in an interview or typing answers directly on the document (which is called direct-fill assembly).

All forms, when first automated, are set to allow only direct-fill assembly. However, you can allow interview-based assembly by specifying an interview. The interview can be a default interview (one in which HotDocs determines the order dialogs are asked in the template) or it can be a custom interview (one in which you specify the order dialogs and variables are asked).

To allow only direct-fill assembly of a form

  1. Edit the form template. (See Edit a Form Template.)
  2. Open Component Manager for the template. Component Manager appears. (See Open and Close Component Manager.)
  3. Click the [image] Component File Properties button. The Component File Properties dialog box appears.
  4. Click the Interview tab. The view changes to show interview options.
  5. Clear both the Generate default interview and the Use custom interview options.

To define an interview for the form

  • See Define a Custom Interview or Have HotDocs Generate a Default Interview, depending on your preferences.

To make form templates created with HotDocs 2005 functional with HotDocs 11, you need to move the generate default interview properties from the template into the component file. To do this, open the form template in Automator; then click File > Template Properties > Interview.. > Move to Component File.


Create a Form Field

These instructions can also be used to create a form field at both the Form Document tab of the assembly window and in HotDocs Filler.

The first step in automating a form template is creating HotDocs fields at each place on the form where a user's information must be merged.

When you create a field, HotDocs determines the type of field you are creating based on the size of the field—if a field is smaller than a certain dimension, HotDocs creates a check box field. If a field is larger, then it creates an edit field. (You can define these dimensions at HotDocs Options. See Set Properties for New Edit Fields.) Additionally, once you create the field, you can make it a Resource hyperlink or a Control field.

Sometimes when you create a field, HotDocs can detect the borders of the underlying form and adjust its size to fit within those borders. This helps ensure the field fits best in the space allotted. See Detect Borders to Create or Resize a Field.

Once a field is created, you can attach a variable to it.

Please see Check Fillable Fields in a PDF Template for information on working with fields in a template created from a fillable PDF.

To create a form field

  1. Edit a form template. (See Edit a Form Template.)
  2. Click the [image] Select Tool button.
  3. Position the mouse pointer at one end of the intended field.
  4. Press and hold down the left mouse button, then drag the pointer to the opposite corner of the field.
  5. Release the mouse pointer. The field is created.
  6. Optionally, click Detect to have HotDocs adjust the size of the field to more closely match the underlying static line or lines.
  7. Optionally, you can customize the appearance of your fields in the following ways:
    • Attach a variable to the field. (See Attach a Variable to a Field.)
    • Change the field type. (See Change the Field Type.)
    • Adjust the size. (See Resize Form Fields.)
    • Change the field's position on the form. (See Move a Field on a Form.)
    • Make a field conditional so the variable is asked only if a condition is true. (See Make a Field Conditional.)

To move multiple fields once they have been created, select the fields and press the arrow key that indicates which direction you want to move them. To move fields more quickly, press the Shift key while pressing the arrow keys.

You can also create a standard-size field by double-clicking on the form. Or, you can click to set the field cross-hair and press F8.


Select a Field

These instructions can also be used to create a form field at both the Form Document tab of the assembly window and in HotDocs Filler.

In order to work with a field, you must first select it. When you select a field, handles appear on the field borders showing that you can edit the borders or other properties. You can select a single field to work with, or you can select multiple fields to group them or to make the same change to all of the fields.

To select fields

  1. Edit a form template. (See Edit a Form Template.)
  2. Click the [image] Select Tool button
  3. Click on the field you want to work with.
  4. Optionally, to select multiple fields, either press the Ctrl key while clicking each field, or press the Shift key, then press the mouse button and drag the mouse pointer to create a bounding frame. All fields included in or touched by this frame will be selected.
  5. Use any of the following additional methods for selecting fields or canceling the selection, as described in the following table:
To | Do This
Select all the fields on the current page | Click Select All (Edit menu). (You can also press Ctrl+A.)
Cancel the selection of all selected fields | Click outside the fields, or press the Esc key.
Cancel the selection of only one of a group of selected fields | Hold down the Ctrl key and click that field.
Add fields to your group of selected fields without canceling the selection of those already selected | Hold down the Ctrl key and click the new fields.

If you have trouble selecting the field you want, the field may be in a group. If this is the case, you must first ungroup the fields by clicking Ungroup (Field menu). (See Ungroup Form Fields.)

Click the [image] Show Fields button to show and hide field colors.


Create a check box Field

These instructions can also be used to create a form field at both the Form Document tab of the assembly window and in HotDocs Filler.

Some forms include check boxes for users to mark. check boxes can represent either true/false (or yes/no) options, but they can also represent several predefined options for users. By default, HotDocs merges an X in a check box to indicate that it has been selected, but you can define a different check box character.

Please see Check Fillable Fields in a PDF Template for information on working with fields in a template created from a fillable PDF.

To create a check box field

  1. Edit a form template. (See Edit a Form Template.)
  2. Where the check box appears on the form, double-click within the field borders, or click the [image] Detect Field button. A check box field is created.
  3. Attach a variable to the field. Your options include True/False and Multiple Choice.

When assigning a True/False variable, if you want to merge a character other than an X, indicate the character by specifying it as a variable format. See Customize a True/False Variable for details. To change the font for the field, see Set Properties for New check box Fields. When assigning a Multiple Choice variable, you should group the fields before attaching the variable. See Group Form Fields So Answers Can Flow From One Field to Another for details.

  4. Optionally, specify a condition to make the field dependant on other answers in the form. (See Make a Field Conditional.)

You can change the default measurements used to identify new fields as check boxes. You can also specify a default character other than X to be used when selecting check box fields. (See Set Properties for New check box Fields.)

If HotDocs creates an Edit field, rather than a check box field, select the field, click the [image] Field Properties button, and choose Check box as the Field type.


Attach a Variable to a Field

Once you create fields on the form template, you can assign variables to them. Variables help control the type of answer the user enters. For example, a Text variable lets the user enter text, while a Date variable requires the user to enter a valid date.

To attach variables to fields

  1. Edit a form template.
  2. Create the field to which you want to attach the variable.
  3. Select the field and click the [image] Variable Field button in the Automator toolbar. The Variable Field dialog box appears.
  4. Create a new variable or select an existing variable. Your options of variable types include Text, Date, Number, True/False, Multiple Choice, and Computation.

To attach variables to fields using a wizard-like approach, choose Create Variables from the Tools menu. HotDocs scans through the template, looking for fields that do not yet have an assigned variable. One field at a time, HotDocs then displays the Variable Field dialog box for you to create variables for each field. You can also use this tool for linked fields in a fillable PDF template.

Other methods for attaching variables to fields include double-clicking on the field to display the Variable Field dialog box, dragging variables from Component Manager to the template fields, and viewing the Field Properties dialog box for the field and assigning the variable there.

To attach a single variable to multiple fields, for example, to create a run-on group, select and group all the fields before you click the [image] Variable Field button.


Attach an ASK Instruction to a Field

When HotDocs asks the questions in a form template interview, it asks the variables (in their associated dialogs) in the order it encounters the variable fields on the form—starting from the top-left section of the template and processing to bottom-right. At times, you may find that you want greater control over the order these dialogs are asked. To control this order, you can insert an ASK field in the template. For example, if you want to gather attorney information first in the interview, but the variables that ask the questions are located at the end of the template, you can insert an ASK instruction for the Attorney Information near the beginning of the template.

To cause a dialog to be asked a certain place in the form interview

  1. Edit a form template. (See Edit a Form Template.)
  2. At the place in the form where you want the dialog to be asked, create a field. (See Create a Form Field.)
  3. With the field selected, choose ASK (Field menu). The ASK Field dialog box appears.
  4. Enter the name of the dialog you want to be asked in the Dialog box and click OK. (See Gather Questions into a Custom Dialog.)
  5. Optionally, change the field type to Control to keep users from typing in the field during direct-fill assembly. (See Change the Field Type.)

To attach more than one ASK instruction to a field, group the ASK instructions in a Computation variable script, and then attach the variable to the field. (See Put ASK Instructions in a Computation Variable.)


Make a Field Conditional

Some fields on a form should be answered only under certain conditions. For example, say you have a series of options (designated by check box fields). Each check box field is followed by an edit field where users can enter explanations for their selection. To keep users from entering an explanation without first selecting the corresponding option, you can attach a condition (or IF instruction or expression) to the explanation field that disables it until the user first selects the check box.

For more information on using IF instructions and expressions, please see Include or Exclude a Single Version of Text Using a Simple IF Instruction or Expression and Include or Exclude Multiple Versions of Text Using IF and ELSE IF Instructions or Expressions.

To make a field conditional upon other answers

  1. Edit a form template. (See Edit a Form Template.)
  2. Select the field you want to make conditional. (See Select a Field.)
  3. Click the [image] Field Properties button. The Field Properties dialog box appears.
  4. At the Type tab, click [image] IF Field button. The IF Field dialog box appears.
  5. Select IF True/False Variable or IF Expression depending on how complex the condition needs to be. The dialog box changes to show the necessary options.
    • For a simple IF instruction, type a name for a new True/False variable, or select an existing one.
    • For expressions, drag expressions and variables into the Expression field.

When a user assembles a document using this template, the fields you are conditioning will be asked only if the True/False variable or expression is true.


Attach an INSERT Instruction to a Field

When assembling form documents, you may need to attach another form to the current one. You can do this by using an INSERT instruction.

When an INSERT instruction is used in a form template, the questions from the inserted template are asked in the same interview as the parent template, but HotDocs appends the inserted document to the end of the parent document. (This is different from text templates where an INSERT instruction merges the text of an inserted document at the point of insertion in the parent document.) When inserting templates, file types must match—for example, you cannot insert a PDF template in a HotDocs form template, nor can you insert text templates in form templates.

To insert one form template into another

  1. Edit a form template. (See Edit a Form Template.)
  2. Create a new field. (See Create a Form Field.)
  3. With the new field still selected, choose INSERT (Field menu). The INSERT Field dialog box appears.
  4. Click the [image] Open button and select the form template file to insert.
  5. Click OK. The INSERT Field dialog box appears again, showing the name of the inserted template in the Template to insert field.
  6. Click OK. The INSERT instruction is attached to the field.
  7. Optionally, make the field a control field so the user won't see it during direct-fill assembly. (See Change the Field Type.)
  8. Optionally, make the field conditioned on other answers in the interview. (See Make a Field Conditional.)

If you need to add content from one template to another, use the Insert Pages command. See Add Pages to a Form Template.


Detect Borders to Create or Resize a Field

These instructions can also be used to create a form field at both the Form Document tab of the assembly window and in HotDocs Filler.

When you create fields on a form, you often use the underlying static text as a guide as to where the field should be placed. Often, you want the borders of the fields to match the borders of the static text. To help you align these borders, you can use the [image] Detect feature. This feature is useful both when you create a new field and when you need to resize a field to fit within its allotted space.

If HotDocs is unable to automatically create or resize a field to the size and position you want, you must create the field manually. Several factors may contribute to these difficulties:

  • Insufficient surrounding features: To detect a field, HotDocs searches for surrounding features, such as lines, text, or graphics. If there are insufficient surrounding features, HotDocs may have difficulty detecting a field. In such cases, HotDocs creates a field of the default size.
  • Label text: When label text is inside the field area and there is enough space between the text and the bottom of the field area, the [image] Detect command will extend the field up to the bottom of the label text. If you want the field to occupy the area to the left or right of the label, or if you want to include the label inside the field, you must create the field manually.
  • Field not completely visible: If part of the intended field is not visible (for example, it's scrolled out of the window), HotDocs attempts to scroll to detect the field. It is recommended that you use a zoom level such as [image] Fit Page to Width so HotDocs can find the entire field on the screen.

To detect the borders of the underlying static text

  1. Edit a form template. (See Edit a Form Template.)
  2. On the form, complete one of the following steps:
    • If the field is already created, select the field and click the [image] Detect button.
    • If you are creating a new field, place your cursor where the new field should be created and click the [image] Detect button.

If you are working with linked fields in a fillable PDF template and you plan to save the document assembled from the template as a fillable PDF, any changes you make to the linked field will not be honored in the saved fillable PDF. See Check Fillable Fields in a PDF Template for details.


Move a Field on a Form

These instructions can also be used to create a form field at both the Form Document tab of the assembly window and in HotDocs Filler.

As you create fields on a form, you will frequently need to move the fields. You can do this using the mouse or keyboard. You can also specify a precise location using the Field Properties dialog box.

To move a field using the mouse

  1. Edit a form template. (See Edit a Form Template.)
  2. Position the mouse pointer over the selected field. The cursor changes.
  3. Hold down the mouse button and drag the field to the new position.

To move a field using the keyboard

  1. Edit a form template. (See Edit a Form Template.)
  2. Select a field. (See Select a Field.)
  3. Press the arrow keys to move the field one unit of measurement in that direction. (To move the field more quickly, hold down the Shift key as you press the arrow keys.)

To move a field using the Position/Size dialog box

  1. Edit a form template. (See Edit a Form Template.) Edit a form document. (See Edit a Saved Form Document.)
  2. Select a field. (See Select a Field.)
  3. Click the [image] Field Properties button. The Field Properties dialog box appears.
  4. Click the Additional tab. The view changes to show the positioning options.
  5. In the Position group, enter the desired distance from the left and top margins of the page in the Left and Top fields. (You can also click the up or down arrows for each field to change the distance.)

If you are working with linked fields in a fillable PDF template and you plan to save the document assembled from the template as a fillable PDF, any changes you make to the linked field will not be honored in the saved fillable PDF. See Check Fillable Fields in a PDF Template for details.

If a field you want to move is part of a group, you must first ungroup the fields. (See Ungroup Form Fields.)

The Field Properties dialog box includes the First, Previous, Next, and Last buttons to move you between fields. When you have multiple fields selected, these buttons are not available.


At a Glance: The Align Fields dialog box

After opening HotDocs Automator, directly from the your start menu or by opening a form template to edit from a HotDocs Library, you can open the Align Fields dialog box by clicking the [image] Align Fields button..

There are four ways in which you can align fields: Horizontal A, Vertical B, Width C, and Height D. For each of these there are a variety of options and you can see an example of what the option will do in the Example field E to the right of the dialog.

To learn more about aligning fields on a form template follow the link below:

  • Align Two or More Fields


Align Two or More Fields

When creating fields on a form template, you frequently need to align fields, either vertically or horizontally. Other times, you may need to adjust the height or width of a group of fields so they match each other. Aligning fields can give forms a more professional appearance, as well as minimize problems the user may experience when tabbing between fields during direct-fill assembly.

To align fields in relation to each other

  1. Edit a form template. (See Edit a Form Template.)
  2. Select the fields you want to align. (See Select a Field.)
  3. Click the [image] Align button. The Align Fields dialog box appears. (You can also right-click and choose Align from the shortcut menu.)
  4. Select an option in the Horizontal alignment group to align the fields horizontally, or the Vertical alignment group to align the fields vertically. The Example field previews the selected alignment option.
  5. Click OK. The template appears again, and the selected fields are repositioned.

To size fields in relation to each other

  1. Edit a form template. (See Edit a Form Template.)
  2. Select the fields you want to size. (See Select a Field.)
  3. Click the [image] Align button. The Align Fields dialog box appears. (You can also right-click and choose Align from the shortcut menu.)
  4. Select the options you need from the Width group and/or the Height group. The Example field previews the selected resizing options.
  5. Click OK. The template appears again, and the selected fields are resized.

If you are working with linked fields in a fillable PDF template and you plan to save the document assembled from the template as a fillable PDF, any changes you make to the linked field will not be honored in the saved fillable PDF. See Check Fillable Fields in a PDF Template for details.


Change the Borders and Margins of a Field

These instructions can also be used to create a form field at both the Form Document tab of the assembly window and in HotDocs Filler.

You can change the borders and margins of a form template field. Borders control the thickness of the field box, and margins control the distance between the border of the field and the answer text.

To change field borders or margins

  1. Edit a form template. (See Edit a Form Template.)
  2. Select the field whose borders or margins you want to change.
  3. Click the [image] Field Properties button. The Field Properties dialog box appears.
  4. Click the Layout tab. The view changes to show layout options.
  5. In the Borders and Margins groupings, make your selections. (Remember, borders affect the thickness of field boxes, while margins affect the distance between the border of the field and the answer in the field.)

If you are working with linked fields in a fillable PDF template and you plan to save the document assembled from the template as a fillable PDF, any changes you make to the linked field will not be honored in the saved fillable PDF. See Check Fillable Fields in a PDF Template for details.


Copy One or More Form Fields

These instructions can also be used to create a form field at both the Form Document tab of the assembly window and in HotDocs Filler.

Frequently, you need to copy fields on a form. For example, say you need to create a group of fields that all have the same properties. Rather than creating each field individually and modifying its properties, you can create a single field, assign the properties, and then copy the field to create the others in the group.

When a field is copied to a new place in the same template, all the field’s properties (size, font, line formatting, fill order, etc.) are copied with it. Similarly, when variables, conditions, or REPEAT instructions are attached to fields, they are also attached to the copied fields. However, if you copy fields from one template to another, the variables, dialogs, and other components used in computations, conditions, or instructions are not copied to the new template’s component file. You must copy these items manually. (See Create and Edit Multiple Components Simultaneously or Use One Component File for Multiple Templates.)

When you copy fields to a new location, the cursor position tells HotDocs where to paste the copied fields. If you copy a single field, the lower-left corner of the field will be at the cursor position. Likewise, if you copy two or more fields at the same time, the lower-left corner of an invisible boundary box drawn around all of the copied fields will be at the cursor position. If there is no cursor, the field is pasted on top of the original.

You can copy fields on only one page at a time.

To copy and paste one or more fields

  1. Edit a form template. (See Edit a Form Template.) Edit a form document. (See Edit a Saved Form Document.)
  2. Select the field or fields you want to copy. (See Select a Field.)
  3. Choose Copy (Edit menu). The field is copied to the Windows Clipboard. (You can also select the field and press Ctrl+C, or you can right-click on the field and choose Copy from the shortcut menu.)
  4. Place the mouse cursor where you want the lower-left corner of the copied field to be, and then click the mouse to set the cross-hair.
  5. Choose Paste (Edit menu). The copied field is pasted at that location. (You can also press Ctrl+V, or you can right-click on the field and choose Paste from the shortcut menu.)

If you need to automate an updated version of the template, it may be easier to replace the static content, rather than copy all of the fields. (See Update the Underlying Text in a Form Template.)

You can also copy a field by holding down the Ctrl key while dragging the field to its new location.

If you are working in a fillable PDF template, remember that linked fields are associated with underlying fillable fields in the PDF. If you plan to save the assembled document as a fillable PDF, answers associated with linked fields will only be merged where there are fillable fields on the form. This means that you cannot copy a linked field to a new location on the form and expect the answer to appear there in the resulting fillable PDF. If you want to use the same variable somewhere else in the form, create a regular HotDocs field and assign it the same variable name as the fillable field. Note, however, that in the fillable PDF, the answer will appear static.


Resize Form Fields

These instructions can also be used to create a form field at both the Form Document tab of the assembly window and in HotDocs Filler.

You may need to adjust the size of a field to fit it into the available space on the form. You can change a field's size using the mouse, the keyboard, or the Position/Size tab of the Field Properties dialog box.

To resize a field using a mouse

  1. Edit a form template. (See Edit a Form Template.)
  2. Select the field. (See Select a Field.)
  3. Click a handle or field border. (When the mouse pointer is on a handle, the pointer changes to a double-arrow, indicating the directions the border can be moved.)
  4. Hold down the mouse button and drag the border to a new position.

To resize a field using the keyboard

  1. Edit a form template. (See Edit a Form Template.)
  2. Select the field. (See Select a Field.)
  3. Press the Page Up or Page Down keys to move the top border of the field up or down, and the End or Home keys to move the right border of the field right or left. (To resize the field more quickly, hold down the Shift key as you press the keys.)

To resize a field using the Field Properties dialog box

  1. Edit a form template. (See Edit a Form Template.)
  2. Select the field. (See Select a Field.)
  3. Click the [image] Field Properties button. The Field Properties dialog box appears.
  4. Click the Additional tab and, in the Size group, enter the desired distance from the left and top borders of the field in the Width or Height fields. (You can also click the up or down arrows for each field to change the size.) The field size is changed.

If you are working with linked fields in a fillable PDF template and you plan to save the document assembled from the template as a fillable PDF, any changes you make to the linked field will not be honored in the saved fillable PDF. See Check Fillable Fields in a PDF Template for details.


Change the Tab Order of Fields

These instructions can also be used to create a form field at both the Form Document tab of the assembly window and in HotDocs Filler.

When determining the order to ask questions in the interview, HotDocs begins with the top-left field of the form and processes all of the fields until it reaches the bottom-right field. This processing affects two things—the order questions are asked in the default interview and the order in which the user is able to tab through fields on the form.

Because of this default field ordering, sometimes you may find your dialogs being asked out of order. You may also find that the tab order during direct-fill assembly isn't working as you expect. Additionally, when automating a nontypical table, you may need to change the order in which fields are asked.

Once you specify a fill order for one field, you must specify the order for every field you want processed after that field. In effect, when you specify a fill order for just one field, you set that field to be answered last. This is because all the other fields are still set to Row 0, Column 0—they are lower than the Row 1 or Column 1 , so they will be filled first. Therefore, to change the order of the fields in the middle of the form, you must also change the order for every remaining field.

The following rules control field ordering:

  • Fill order is determined first by row, then by column.
  • All field values are initially set the same—Row 0, Column 0.
  • When fields have different row numbers, fields with lower row numbers are asked first, for example, Row 0, Column 0; Row 1, Column 0; etc.
  • When fields have the same row numbers, but different column numbers, fields with lower column numbers are asked first, for example, Row 1, Column 0; Row 1, Column 1; etc.
  • Fill order is treated separately for each page of the template—you cannot specify a fill order that runs from one page to another.

To change the tab order for fields

  1. Edit a form template. (See Edit a Form Template.)
  2. Select the field. (See Select a Field.)
  3. Click the [image] Field Properties button. The Field Properties dialog box appears.
  4. Click the Additional tab. The view changes to show ordering options.
  5. In the Row field, type the row number.
  6. If you need to specify the order for fields in the same row, type a number in the Column field.
  7. Optionally, at the Order dialog box, you can click the First, Previous, Next, or Last button to save the current field's settings and display the next field's order.

By selecting and ordering different groups of fields, you can use fill order to handle various situations. For example:

  • Remove all fill order settings: Select all fields and set the Row and Column numbers to 0.
  • Organize large sections of fields: Select the desired fields and specify the order.
  • Flow answers across fields contrary to the default order (top to bottom, left to right): Set the desired order, then group the fields. (See Group Form Fields So Answers Can Flow From One Field to Another.)
  • Fill table columns in an order different from the static text: Set the desired order, then group the fields as a table.

To control when a variable is asked without changing fill order, you can use ASK instructions. For example, if you simply want a particular field to be asked first even though it isn't the first field on the form, place an ASK instruction in the top left corner of the page. (See Attach an ASK Instruction to a Field.)


Group Form Fields So Answers Can Flow From One Field to Another

These instructions can also be used to create a form field at both the Form Document tab of the assembly window and in HotDocs Filler.

Sometimes an answer must begin in one field and continue in other fields. For example, you may have a Text variable whose answer must span two or more pre-printed lines. You can create edit fields for each line, and then group the fields so that answers flow from one field to another. Fields grouped this way are called run-on groups.

Once fields are grouped, HotDocs treats the group as a single field. This means that the Text variable and any conditions for the variable will be assigned to the grouping, not the individual fields in the group.

If you are automating a fillable PDF template and you plan to save the assembled document as a fillable PDF, you cannot group fillable fields since necessarily, each fillable field is linked to a separate “variable.” Answers—both in HotDocs and Adobe—must be entered on individual lines. This means that when you reach the end of one field, you must tab to the next field and continue typing your answer. (This inability to group fields is a limitation of Adobe. If you have access to the form, you may consider replacing individual fields in the group with a single, multi-line field. Text you enter may not match the lines perfectly, but you will not have to tab between fields to enter the answer.)

To flow an answer across multiple fields

  1. Edit a form template. (See Edit a Form Template.)
  2. Create all the text fields across which the answer should flow. (See Create a Form Field.)
  3. Select all the fields that will be used for the answer. (See Select a Field.)
  4. Click Group (Field menu). A bounding frame appears around the grouped fields. (You can also right-click and select Group from the shortcut menu.)
  5. Attach a variable to the grouped fields. (See Attach a Variable to a Field.)

When fields are grouped, you cannot change properties for individual fields. You must first ungroup the fields. (See Ungroup Form Fields.)

A form may require an answer to appear in a series of single-character fields or boxes (for example, a Social Security number). To place one character or digit in each field requires additional formatting. See Attach a Variable to Single-Character Boxes for details.

To group fields that appear on separate pages in the form, see Flow a Single Answer Across Two or More Pages in a Form.

By default, HotDocs asks questions in the interview by reading fields in the form from left to right, top to bottom. As it encounters a field, it asks the variable associated with it. If the variable is linked to a dialog, it asks the dialog instead. When directly filling the form, HotDocs tabs through the form fields using this same method. However, sometimes grouped run-on fields can create problems with the tab order. To ensure that text in a run-on group flows in the correct order, you may need to specify a fill order for fields in the group. (See Change the Tab Order of Fields.)


Attach a Variable to Single-Character Boxes

Sometimes an answer field is made up of several single-character boxes. Rather than create a single field that spans these boxes, you can create individual fields in each box. Then, once you group the fields, you can assign a variable to the grouped field and the answer the user enters will be split across the fields—one character in each box.

For example, perhaps you have a field on your form that requires the user to enter the digits in a U.S. Social Security number. If you just simply group the fields, HotDocs attempts to fit the entire answer in the first few boxes, like this:

When this happens, the answer will overflow and be sent to the addendum. However, if you group the fields and assign a maximum character number of one to the group, only one character will be merged in each box, like this:

To split an answer across multiple single-character boxes

  1. Edit a form template. (See Edit a Form Template.)
  2. Create and select the appropriate fields. (See Create a Form Field and Select a Field.)
  3. Choose Group (Field menu). A bounding box appears around the grouped fields. (See Group Form Fields So Answers Can Flow From One Field to Another.)
  4. Attach a variable to the group. (See Attach a Variable to a Field.)
  5. Select the grouped field and click the [image] Field Properties button. The Field Properties dialog box appears.
  6. Click the Layout tab. The view changes to show several alignment options.
  7. In the Line Format group, enter 1 in both the Maximum lines and the Max chars/line fields.

When a user answers the variable, each character of the answer will be merged in its own field.

Sometimes the preprinted boxes have space for only the variable characters, not for static characters (such as the hyphens in a Social Security number, or the slash marks in date formats like MM/DD/YYYY). However, these characters normally merge as part of the answer. This would make the answer too long, again causing it to overflow. In such situations, you must specify an example format that prevents the static characters from being merged. If the answer is for a Text variable, specify a pattern (see Use Pattern Codes to Create a Custom Pattern) and then use an example format that uses an X for every character you want and an underscore for every character you want suppressed (for example, XXX_XX_XXXX to remove hyphens from a Social Security number). For a Date variable, create a format that eliminates the characters you don't want (for example, 061390).


Attach a Multiple Choice Variable to a Group of check boxes

Frequently, a form template includes several options from which a user can choose. These options are usually represented by check boxes. In order to assign a Multiple Choice variable to these fields, you must first group the fields and then attach the Multiple Choice variable to the grouped field. Additionally, the fields in the group must match the order of the options in the variable. During the interview, when the user selects an option, the corresponding check box is selected.

If you are working with fields in a fillable PDF template, you can only group linked check box fields if each of the field's corresponding fillable field has the same name. To view a linked field's name, select the field and click the [image] Field Properties button, and then click the Additional tab. The Field name drop-down list shows the associated name.

To assign a Multiple Choice variable to check boxes

  1. Edit a form template. (See Edit a Form Template.)
  2. Create the check box fields. (See Create a check box Field.)
  3. Select the fields you want grouped. (See Select a Field.)
  4. Choose Group (Field menu). The fields are grouped (as indicated by a bounding outline).
  5. Double-click on the group. The Variable Field dialog box appears.
  6. Assign a Multiple Choice variable, making sure the options for the variable correspond with the fill order of the check boxes. (If you need to assign a tab order to the fields, see Change the Tab Order of Fields.)

Sometimes the wrong box gets checked in the assembled form. If this happens, make sure the options are listed in the Multiple Choice Variable Editor in the same order as the fields' tab order. By default, HotDocs fills fields from top-left to bottom-right. If you want the fields processed in a different order, you can ungroup them and change the field order.

The default fill character for check boxes is an X. To merge a different character, enter the character in the Merge Text column for each multiple-choice option.


Ungroup Form Fields

These instructions can also be used to create a form field at both the Form Document tab of the assembly window and in HotDocs Filler.

When fields are grouped, you cannot modify the individual fields. You must first ungroup the fields.

To ungroup the fields

  1. Edit a form template. (See Edit a Form Template.)
  2. Select one of the grouped fields. The whole group is selected. (See Select a Field.)
  3. Click Ungroup (Field menu). (You can also right-click on the field and choose Ungroup from the shortcut menu.)

Some properties that were assigned to the group, such as text, margin, and line format properties remain applied to the individual fields that made up the group. Other properties, such as a field order or a condition, are lost until you regroup the fields. Regrouping the fields restores the properties that were previously applied to the group.

Properties of a table, including the name of the repeated dialog, are attached to the first field in a table. Because of this, you should not delete the first field in the group before you regroup the fields. Also, do not close the form before you regroup the fields. If you do either of these things, these properties are lost.


At a Glance: The Answer Wizard Field dialog box

After opening HotDocs Automator, directly from the your start menu or by opening a form template to edit from a HotDocs Library, you can open the Answer Wizard Field dialog box by clicking the [image] Field Properties button and clicking the [image] Wizard button on the Type tab.

First you can decide what type of contents you need in the Answer Wizard Field. You can do this by selecting one of the options from the multiple choice list A at the top of the dialog:

Computation Variable: This option tells HotDocs to use a Computation variable. When the user clicks the wizard during assembly, HotDocs displays the variables and/or dialogs that are needed to provide the answer.

ASK Dialog: This option tells HotDocs to attach a dialog to a field in the interview. When the user clicks the wizard during assembly, the dialog you specify will be displayed.

ASK Database: This option tells HotDocs to attach a database component to a field in the interview. When the user clicks the wizard during assembly, the database component you specify will be displayed.

DEFAULT: This option tells HotDocs to ask the variables used to answer the question with default dialogs.

NONE: Clears any existing answer wizards that have been attached to the field. If you have multiple fields selected, this will clear all answer wizards.

In the text field B below you can enter a name for a new computation, database or dialog then click the [image] Edit Component button C. Alternatively you can choose an existing component from the drop-down list on the text field.

If you select a computation which includes parameters you will be able to see them in the table D below. To add a value or an expression to the parameter click the ... button E to open the script editor.

To learn more about creating an answer wizard field follow the link below:

  • Attach an Answer Wizard to a Field


Attach an Answer Wizard to a Field

When a user direct-fills a form document, he or she answers questions by clicking on the field and entering the answer in the field. Sometimes, however, the user may not be able to enter an answer in the field, either because the field requires other variables be answered to calculate its answer, or because it's conditioned on another field's answer in the document. To help users answer the questions necessary to fill in the field, you can assign an answer wizard to the field. An answer wizard attaches a button to the field that, when clicked, displays a pop-up interview asking the required questions.

For example, say you create a field that merges a user's age. To merge this answer, you attach a Computation variable that calculates the age based on the user's birth date and today's date. You can attach an answer wizard that asks the dialog that contains the birth date variable. Once the user answers the date, the answer is calculated and merged in the field.

Answer wizards are most often used with computation fields, conditional fields, or fields grouped as a table.

To create an answer wizard for a variable

  1. Edit a form template. (See Edit a Form Template.)
  2. Select the field to which you want to attach the answer wizard, then click the [image] Field Properties button. The Field Properties dialog box appears. (You can also right-click and select Field Properties from the shortcut menu.)
  3. At the Type tab, click the [image] Wizard button. The Answer Wizard Field dialog box appears.
  4. Select the answer wizard option you want to use:
    • Computation Variable: Select an existing Computation variable from the Computation drop-down list, or click the [image] Edit Component button to create a new one. During direct-fill assembly, when users click the [image] Answer Wizard button, the variables used in the Computation are displayed in the pop-up interview. (If the variables are linked to a dialog, the dialog appears in the pop-up interview.)
    • ASK Instruction: Select an existing dialog from the drop-down list, or click the [image] Edit Component button and create a new one. During direct-fill assembly, when users click the [image] Answer Wizard button, the specified dialog is displayed in the pop-up interview.
    • DEFAULT: When users click the [image] Answer Wizard button, any dialogs containing the required variables are asked.
    • NONE: Removes any answer wizards attached to the selected field (or group of fields).

You can also create a wizard for a table. A table wizard appears as a spreadsheet button ( [image]) instead of as an answer wizard button ( [image]), and clicking it will display the repeated dialog in a pop-up interview. To create a table wizard, select the table, click the [image] Field Properties button, and create the wizard. You can still create an answer wizard for a field in a table by specifying the answer wizard before you group the fields in the table.


At a Glance: The Field Properties dialog box

Home > Automating Form Templates > Changing Field Properties > At a Glance: The Field Properties Dialog Box (Type Tab)

At a Glance: The Field Properties dialog box (Type Tab)

After opening HotDocs Automator, directly from the your start menu or by opening a form template to edit from a HotDocs Library, you can open the Field Properties dialog box by clicking the [image] Field Properties button.

At the top of the Type tab there are two multiple choice lists you can use to set the field type. You can use the first one A to select the field type from Edit, Check box, Resource or Control. Edit fields can have answers entered directly during assembly, Check box fields allow the user to click to select one or more options in a list, Resource fields are uneditable during assembly and are used to give the user access to further information, and Control fields are non-printing fields that can be used to control the assembly of the form (See Create a Field for Behind-the-Scenes Tasks).

You can the use the second list B to set the display type for that field (these options change depending upon your choice in the Field type list A). If the Field type is Edit or Control the you will have the choice of Text, Image, Bar Code, Strike-through, or Circled. If you select Check Box you can choose from Character, Strike-through, or Circled. Finally, if you select Resource you can choose from Hyperlink, Image, or Bar Code. See below for explanations of each Display type option.

  • Text: Create a field that will display a text answer.
  • Image: The field will display an image; this image can be decided by a multiple choice question during assembly. See Insert a Graphic File in a Form.
  • Bar Code: HotDocs will display the answer in the form of a bar code, for more information on setting the bar code options see At a Glance: The Field Properties Dialog Box (Barcode Tab) and Convert Answers on the Form to Bar Code Format.
  • Strike-through: This field will allow the user to strike out the incorrect option from the underlying static text. See Cross Out Static Text on the Form.
  • Circled: This field will allow the user to circle the correct option from the underlying static text. See Circle Static Text on a Form.
  • Character: This allows you to use a character (like an X or a ü) to mark a check box. See Create a Check-Box Field.
  • Hyperlink: This type of field adds an uneditable hyperlink to the form, it can be used to direct users to further information they may need to correctly fill out the form. See Create a Resource Link on a Form.

Below the Field type list is the Font... button C, clicking this will open the Font dialog where you can choose the font type and size for this field. To the right of the Font button is a check box D that you can tick if you would like this to be a non-printing field.

Underneath these options is a series of four text fields where you can choose to add features to the field. Click the [image] Variable button E to create a variable for this field, the [image] IF Field button F to make the field conditional, and the [image] Answer Wizard button G to create an answer wizard for this field.

The fourth field H will be slightly different depending on which option you selected from the Display type list B, but it is always used to designate the sample you would like to use for testing the field. For example that could be a sample image or piece of text.

If you are viewing the field properties for a table the [image] Variable button will be replaced with the [image] Repeat button where you will be able to attach a Repeat Dialog or Repeat Database (see image above).

More field properties options are available in the other tabs: Layout, Overflow, and Additional.

To learn more about setting field properties follow the links below:

  • Preview the Formatting of Answers in a Form Field
  • Show and Hide Fields
  • Change the Field Type
  • Change the Font Used for a Field
  • Format Lines and Paragraphs of Text in a Form Field
  • Rotate Answers in a Field
  • Keep Contents of Form Fields from Printing
  • Create a Field for Behind-the-Scenes Tasks
  • Create a Resource Link on a Form
  • Cross Out Static Text on the Form
  • Circle Static Text on a Form
  • Insert a Graphic File in a Form
  • Convert Answers on the Form to Bar Code Format

  • Attach an Answer Wizard to a Field


At a Glance: The Field Properties dialog box (Layout Properties)

Home > Automating Form Templates > Changing Field Properties > At a Glance: The Field Properties Dialog Box (Layout Properties)

At a Glance: The Field Properties Dialog Box (Layout Tab)

After opening HotDocs Automator, directly from the your start menu or by opening a form template to edit from a HotDocs Library, you can view the Layout Properties by clicking the [image] Field Properties button and clicking the Layout tab.

The three sets of multiple choice options at the top of this dialog deal with the formatting of the text within the fields. From here you can set up A the Horizontal position of the text within the field, B the Vertical position of the text within the field, and C the angle of Rotation of the text in the field.

Below that there are two sets of number fields where you can set the space allotted to borders and margins. Using the first set D you can set the width of the borders for the field and using the second set E you can set the width of the margins between the text and the field borders.

At the bottom of the dialog you can set options for F Line Format. Using the number fields here you can set how much indent you wish to have on the first line, the amount of lines per inch in the field, the maximum number of lines in the field, and the maximum numbers of characters allowed per line.

You can change the units of measurements used by HotDocs Automator in the Form Documents section of HotDocs Options.

To learn more about the layout options for fields follow the links below:

  • Preview the Formatting of Answers in a Form Field
  • Format Lines and Paragraphs of Text in a Form Field
  • Rotate Answers in a Field


At a Glance: The Field Properties dialog box (Overflow Properties)

Home > Automating Form Templates > Changing Field Properties > At a Glance: The Field Properties Dialog Box (Overflow Tab)

At a Glance: The Field Properties dialog box (Overflow Tab)

After opening HotDocs Automator, directly from the your start menu or by opening a form template to edit from a HotDocs Library, you can view the Overflow Properties by clicking the [image] Field Properties button and clicking the Overflow tab.

Depending on whether the field is a regular field, run-on field or a table the Overflow tab can have different options. The dialog on the left has the overflow options for regular fields and the dialog on the right has the overflow options for tables.

In the Overflow tab for regular fields the first set of options A designates what HotDocs will do when an answer overflows. You can choose to shrink the answer and the lowest font size it should be shrunk to, send the whole answer to the addendum, or split the answer between the field and the addendum.

Below that are two text fields, in the first field B enter the text you want HotDocs to place in the answer field if the answer overflows and in the second field C enter the label text you would like to appear before the answer on the addendum. Underneath the second text field are two check boxes D where you can choose to have HotDocs begin this addendum entry on a new page and/or have the next addendum entry appear on a new page.

In the text field E below you can enter a name group name for your addendum entry and in the check box F below you can have HotDocs start a new addendum after this field.

The first option in the Overflow tab for tables is a check box G that you can tick to send overflowed answers to an addendum. Below that is a choice of three options H where, if the table overflows, you can choose if you would like HotDocs to send the entire table to the addendum, send complete rows to the addendum or send individual cells to the addendum.

Below that are the two text fields and check boxes exactly the same as for regular fields (B, C and D). Just below this is a number field K where you can enter the amount of centimeters you would like the addendum entry indented from the label.

The Overflow tab for a run-on field just has one change from the one for regular fields. You have the option to add an addendum entry indicator check box to the fields. (see below)

To learn more about setting options for addendum properties follow the links below:

  • Define Overflow Properties for a Regular Field
  • Define Overflow Properties for Run-on Fields
  • Define Overflow Properties for a Table
  • Split a Multi-Line Answer Between the Form and the Addendum
  • Create Independent Addendums for Forms


At a Glance: The Field Properties dialog box (Additional Properties)

Home > Automating Form Templates > Changing Field Properties > At a Glance: The Field Properties Dialog Box (Additional Properties)

At a Glance: The Field Properties Dialog Box (Additional Tab)

After opening HotDocs Automator, directly from the your start menu or by opening a form template to edit from a HotDocs Library, you can view the Additional Properties by clicking the [image] Field Properties button and clicking the Additional tab.

At the first set of number fields A you can set the Tab order for this field. This feature allows you to set up non-standard tables form unaligned fields.

Below that you can set the exact size of the field B using the two number fields to specify the width and height. The next set of number fields C allow you to specify the exact position of the field on the page. The first number field sets how far from the left side of the page the field will be and the second number field sets how far from the top of the page the field will be.

In the final text field D you can link this field to an Acrobat fillable field within the form by selecting the fillable field from then drop-down list or typing in the name.

You can change the units of measurements used by HotDocs Automator in the Form Documents section of HotDocs Options.

To learn more about the additional options for fields follow the link below:

  • Merge a List of Answers in a Nonstandard Table


At a Glance: The Field Properties Dialog Box (Barcode Tab)

Home > Automating Form Templates > Changing Field Properties > At a Glance: The Field Properties Dialog Box (Bar Code Tab)

At a Glance: The Field Properties dialog box (Bar Code Tab)

After opening HotDocs Automator, directly from the your start menu or by opening a form template to edit from a HotDocs Library, you can view the Bar Code Properties by clicking the [image] Field Properties button and selecting Bar Code from the display type list at the Type tab, then by clicking on the Bar Code tab.

On this tab there are 5 number fields where you can change the bar code setting. The first field A allows you to set the width of the narrowest bar in the bar code, in the second field B you can determine the range of angles the bar code can be scanned from, in the next two fields C and D set the amount of rows and columns that appear in the bar code,and in the last field E you can set how much room for error and bar code degradation you would like to leave.

In the drop-down list F below you can select the type of encoding you would like to use.

To learn more about the options for barcode fields follow the links below:

  • Convert Answers on the Form to Bar Code Format
  • Understand Bar Code Settings


Preview the Formatting of Answers in a Form Field

As you create fields in a form template, you frequently want to see how an answer will appear in a field. For example, say you create a multi-line field and you want to test whether a three-line address will fit. As you edit the field properties, you can enter a test answer and see how the answer fits in the underlying form field.

To test the assembly of the document—including how answers are merged in fields based on the underlying variables—click the [image] Test Assemble button.

To enter test answers in a field

  1. Edit a form template. (See Edit a Form Template.)
  2. Create a new field or select an existing field. (See Create a Form Field and Select a Field.)
  3. Click the [image] Show Variables button to hide variable names. (See Show and Hide Fields.)
  4. Click the [image] Field Properties button. The Field Properties dialog box appears.
  5. Change the different properties for the field at the Type tab as necessary.
  6. In the text field at bottom of the dialog, enter the text you want to view in the answer field, depending on the field type.
  7. Optionally, click the Layout tab of the Field Properties dialog box and make any changes to the field's alignment, borders, margins, and multi-line format.
  8. When you're finished entering the text, click outside of the text field. The field in the underlying form updates to show the text you entered.


Show and Hide Fields

As you are viewing a form, field variables and backgrounds are shown by default. You can hide variable names and field backgrounds, though, which may make it easier for you to scan through the form. When backgrounds are hidden, only the variable name or answer appears. When variables are hidden, only the test answer text appears (if any is assigned to the field).

To hide or show field backgrounds

  1. Edit a form template. (See Edit a Form Template.)
  2. Click the [image] Highlight Fields button.

To hide or show variable names

  1. Edit a form template. (See Edit a Form Template.)
  2. Click the [image] Show Variables button.

You can control whether field variables and field backgrounds are shown or hidden when you open form templates documents. See Control How Forms Appear When Opened for details.


Change the Field Type

These instructions can also be used to create a form field at both the Form Document tab of the assembly window and in HotDocs Filler.

When you first create a field, HotDocs creates it as either an edit or check box field, depending on the field’s height and width. check box fields are usually used to mark a yes/no response, while edit fields are used for questions that require text, date, or number answers. In addition, you can assign some fields as control fields, which means users can't access or edit the field during direct-fill assembly. You can also create resource fields, which can display helpful information about the form.

Once you choose a field type, you can determine the type of answer that is merged in the field. Your options include text, graphics, and bar codes. You can also use fields to cross out or circle static text on a document.

The following are the different types of fields you can create:

Type of Field | Default Color | Description
Edit | Yellow | Allows users to enter any type of answer, including text, dates, numbers, multiple choice options, or computed values. It is the most commonly used field type.
check box | Blue | Allows users to select from two or more options. Usually check box fields are associated with True/False variables or Multiple Choice variables. Answers in a check box field are usually indicated by an X or other character. (See Create a check box Field.)
Resource | Orange | Allows users to view helpful information about the form while directly filling the form. Resource fields appear as hyperlinks on the form. When users click the link, a pop-up window containing the useful information opens. (See Create a Resource Link on a Form.) Resource fields provide help for the form in general, instead of for a specific variable or dialog.
Control | Green | Allows you to complete "behind-the-scenes" tasks in the template, such as inserting templates or setting the values of variables. If the field contains answer or example text, it will be visible to users, but users won't be able to access the field.

If you are working with a fillable PDF template, linked fields appear using a light blue color. This distinguishes them from regular HotDocs fields. See Check Fillable Fields in a PDF Template.

To change the field type

  1. Edit a form template. (See Edit a Form Template.)
  2. Create a new field (See Create a Form Field) or select an existing field. (See Select a Field.)
  3. Click the [image] Field Properties button. The Field Properties dialog box appears.
  4. At the Type tab, make your selection, based on the information in the table above.

You can change the default colors used for form fields at the HotDocs Options dialog box. (See Change Colors in HotDocs Forms.)


Change the Font Used for a Field

These instructions can also be used to create a form field at both the Form Document tab of the assembly window and in HotDocs Filler.

You can choose the font that is used for answers on a form. When choosing the font, you can also indicate the style (for example, bold or italics), size, effects, and color that are used.

As is always the case when working with fonts, if the form requires a specific font be used, you must ensure the font is installed on all computers where the form will be viewed.

To change the font for a field or group of fields

  1. Edit a form template. (See Edit a Form Template.)
  2. Select the field or fields whose font you want to change.
  3. Click the [image] Field Properties button. The Field Properties dialog box appears.
  4. At the Type tab, click Font. The Font dialog box appears.
  5. Make your font selections.

You can specify default font properties for all new fields you create at HotDocs Options. See Set Properties for New Edit Fields for more details.

If you are working with linked fields in a fillable PDF template and you plan to save the document assembled from the template as a fillable PDF, any changes you make to the linked field will not be honored in the saved fillable PDF. See Check Fillable Fields in a PDF Template for details.


Format Lines and Paragraphs of Text in a Form Field

These instructions can also be used to create a form field at both the Form Document tab of the assembly window and in HotDocs Filler.

Sometimes you need to format the text within a multi-line text field. For example, perhaps you need to indent the first line of a paragraph, or maybe you need to adjust the number of lines that fit in an inch of vertical space. To do this, you can adjust the line format of a field.

To format lines and paragraphs

  1. Edit a form template. (See Edit a Form Template.)
  2. Create a multi-line field.
  3. Attach a multi-line Text variable to the field. (See Customize a Text Variable.)
  4. With the field selected, click the [image] Field Properties button. The Field Properties dialog box appears.
  5. Click the Layout tab. The view changes to show the different options for formatting the field.
  6. In the Line Format group, complete one of the following options:
To | Do This
Indent the first line of text in the paragraph | Enter how much space to include between the margin of the field and the first character of the answer in the First line indent field. (You can either type the number or click the up or down arrows.)
Force a certain number of lines to appear in an inch of space in the field | Enter the number of lines in the Lines per inch field.
Indicate how many lines can appear in the field | Enter the number of lines in the Maximum lines field. If the answer contains more lines than is specified, the field will overflow.
Indicate the maximum number of characters that can appear in a given line of text | Enter the number of characters in the Max chars/line field. When the number of characters exceeds this limit, text will wrap to the next line.

If you are working with linked fields in a fillable PDF template and you plan to save the document assembled from the template as a fillable PDF, any changes you make to the linked field will not be honored in the saved fillable PDF. See Check Fillable Fields in a PDF Template for details.


Rotate Answers in a Field

These instructions can also be used to create a form field at both the Form Document tab of the assembly window and in HotDocs Filler.

By default, answers in fields appear in horizontal rows and can be read from left to right. You can rotate text so answers will read from bottom to top, top to bottom, or upside-down from right to left.

To rotate text in a field

  1. Edit a form template. (See Edit a Form Template.)
  2. Select the fields you want to rotate. (See Select a Field.)
  3. Click the [image] Field Properties button. The Field Properties dialog box appears.
  4. Click the Layout tab. The view changes to show field layout properties.
  5. In the Rotation group, select a degree of rotation: 0º, 90º, 180º, or 270º, for example:

You can enter test text in the test answer field (of the Type tab) to preview the selected rotation. See Preview the Formatting of Answers in a Form Field.

When you change the rotation, HotDocs views the bottom of the letters as the bottom of the field. This means that aligning the text horizontally or vertically may have different effects.

If you are working with linked fields in a fillable PDF template and you plan to save the document assembled from the template as a fillable PDF, any changes you make to the linked field will not be honored in the saved fillable PDF. See Check Fillable Fields in a PDF Template for details.


Keep Contents of Form Fields from Printing

These instructions can also be used to create a form field at both the Form Document tab of the assembly window and in HotDocs Filler.

Sometimes you want field text to appear on the form during direct-fill assembly, but you don't want the text to appear when you print a copy of the form. For example, if you create a resource field, you may not want the resource field text to appear on the form when you print it. You can select an option that keeps this text from printing.

To designate that a field's contents shouldn't be printed

  1. Edit a form template. (See Edit a Form Template.)
  2. Create or select the field whose text you want to appear only on the form.
  3. Click the [image] Field Properties button. The Field Properties dialog box appears.
  4. At the Type tab, select Non-printing field.

If you are working with linked fields in a fillable PDF template and you plan to save the document assembled from the template as a fillable PDF, any changes you make to the linked field will not be honored in the saved fillable PDF. See Check Fillable Fields in a PDF Template for details.


Create a Field for Behind-the-Scenes Tasks

Frequently, as you automate a form template, you need to perform a task or display text in a field that isn't accessible to the user. You can do this by creating a control field.

For example, perhaps you want to automatically insert a form template (such as an attachment) if the user answers a question a specific way. To do this, you must create a field on the form and attach a conditioned INSERT instruction to the field. However, when you create the field, by default, the user can access the field by typing in it. To keep this from happening, you can create the field (and attach the instruction) and then make the field a control field. This disables the field for the user.

Additionally, perhaps you want to include text in a field but you don't want the user to access the text during direct-fill assembly. If you make such a field a control field, the text will be visible to users, but users won't be able to access it.

To make a field a control field

  1. Edit a form template. (See Edit a Form Template.)
  2. Create the field you want to use for behind the scenes tasks. (See Create a Form Field.)
  3. Assign whatever field properties, variables, or instructions you need to the field.
  4. Select the field and click the [image] Field Properties button. The Field Properties dialog box appears.
  5. At the Type tab, select Control in the Field type group.
  6. Optionally, you can resize the field so only the field borders are visible. (See Resize Form Fields.) This keeps any text in the field from appearing on the assembled document, which makes the field completely invisible.

If you are working with linked fields in a fillable PDF template, some fields are marked as read-only in the underlying PDF. These become control fields in the template. However, even if you change the field's type in HotDocs, it will remain a read-only field when you save the assembled document as a fillable PDF.


Create a Resource Link on a Form

When automating a template, you can assign resources to variables that help the user know how to answer a specific question in the interview. At times, however, you may want to include a resource for an entire form. To do this, you create a resource field. A resource field appears as a hyperlink on the form document. When clicked, the resource appears in a pop-up window. Resource fields appear during direct-fill assembly only.

To create a resource field, you must create a Text variable and assign as its resource the text you want users to view while directly filling the form document. You must then define the hyperlink text at the Field Properties dialog box.

To create a link field

  1. Edit a form template. (See Edit a Form Template.)
  2. Create a field, and attach a Text variable to the field. (See Create a Form Field and Attach a Variable to a Field.) (This Text variable will not be asked during the interview.)
  3. At the Variable Field dialog box, click the [image] Edit Component button. The Text Variable Editor appears.
  4. Click the Resource tab and enter your resource text. (See Add Resource Information to a Variable or Dialog)
  5. Click OK at the Text Variable Editor and the Variable Field dialog box. The Automator window appears again.
  6. With the field still selected, click the [image] Field Properties button. The Field Properties dialog box appears. (You can also right-click and choose Properties from the shortcut menu.)
  7. At the Type tab, select Resource from the Field type group.
  8. Choose one of the following options from the Display type group:
    • Hyperlink displays the resource as a link on which the user clicks. Enter the hyperlink text in the Hyperlink text field.
    • Image displays the resource as graphic file on which the user clicks. Enter the file name of the graphic in the Image file name field.
    • Bar code displays the resource in bar code format. Enter the text you want to encode in the Bar code text field.
  9. Select Non-printing field. (This keeps the hyperlink from printing on the document.)


Cross Out Static Text on the Form

These instructions can also be used to create a form field at both the Form Document tab of the assembly window and in HotDocs Filler.

Sometimes a form includes static text that must be crossed out, depending on answers the user enters during the interview. For example, say a form includes a list of medical conditions. Instructions on the form tell you to cross out any conditions that do not apply to you. You could manually cross out these conditions once you've printed the form; however, HotDocs allows you to create a strike-through field, which crosses out the text for you, depending on answers you enter during the interview.

A strike-through field, which is transparent, overlays the static text. You can choose the character that will be used to cross out the text.

To create a strike-through field in a form

  1. Edit a form template. (See Edit a Form Template.)
  2. Create a field that covers the static text on the form. (See Create a Form Field.)
  3. Click the [image] Field Properties button. The Field Properties dialog box appears. (You can also right-click and select Field Properties from the shortcut menu.)
  4. Click the Type tab.
  5. In the Field type group, select the type of field you want to associate with the strike-through field.
  6. In the Display type group, select Strike-through.
  7. In the Variable field, insert a True/False or Multiple Choice variable. This variable sets the conditions when static text should be crossed out. (See Attach a Variable to a Field.)
    • True/False variable: Select an example format that merges the strike-through character when the variable is true or false, as appropriate. (See Customize a True/False Variable.)
    • Multiple Choice variable: Type the strike-through character in the Merge Text field of the option that should cause the strike through, and type NONE in the other choices. (See Customize a Multiple Choice Variable.)

You can use the alignment controls on the Field Properties dialog box to position the strike-through text more accurately.

To change the font properties of the strike-through character, click the Font button at the Field Properties dialog box and make your changes there.


Circle Static Text on a Form

These instructions can also be used to create a form field at both the Form Document tab of the assembly window and in HotDocs Filler.

Sometimes instructions on a form ask users to circle a preprinted option. Rather than make users print the form and manually circle the option using a pen, you can create a form field that overlays a circle on the text. You can attach a variable to the field so that the user can select which option should be circled during the interview. Creating circle fields not only preserves the professional look of the form, but allows the answer associated with the selection to be saved in the answer file.

To create a field that circles text

  1. Edit a form template. (See Edit a Form Template.)
  2. Create a field that covers the static option on the form you want to select. (See Create a Form Field.)
  3. Click the [image] Field Properties button. The Field Properties dialog box appears. (You can also right-click and select Field Properties from the shortcut menu.)
  4. Click the Type tab.
  5. In the Field type group, select the type of field you want to associate with the circled field.
  6. In the Display type group, select Circled.
  7. Assign a True/False or Multiple Choice variable to the field. (See Customize a True/False Variable, Attach a Multiple Choice Variable to a Group of check boxes, and Customize a Multiple Choice Variable.)
  8. Optionally, to control the width of the circle's border, click the Layout tab and change the Line thickness in the Circle group.

To preview the circle (see Preview the Formatting of Answers in a Form Field), make sure you enter text in the Answer text field of the Type tab.


Insert a Graphic File in a Form

These instructions can also be used to create a form field at both the Form Document tab of the assembly window and in HotDocs Filler.

Sometimes you may need to include an image on your form, such as a signature or seal. You can create a field and assign as one of its properties a graphic file. Supported file formats include .JPG, .BMP, and .PNG. Image files should be saved to the same folder as the template.

You control the conditions under which the image appears on the form. For example, you can attach a Multiple Choice variable or a True/False variable that merges an image file depending on which option a user chooses. Additionally, you can make the field a control field so that users can't access the field directly.

To create a graphic field using a variable

  1. Edit a form template. (See Edit a Form Template.)
  2. Create a field (See Create a Form Field) and attach either a Multiple Choice or True/False variable to it. (See Customize a Multiple Choice Variable or Customize a True/False Variable.)
  3. If you're using a Multiple Choice variable, edit the variable and, in the Merge Text column, enter the file names of the graphics, depending on which options the user chooses.
  4. If you're using a True/False variable, edit the variable and, in the Format field, enter the file name of the graphic, either preceded or followed by a forward slash (to indicate yes/no status).
  5. Click OK at the variable editor and at the Variable Field dialog box.
  6. With the field still selected, click the [image] Field Properties button. The Field Properties dialog box appears.
  7. At the Type tab, select Image from the Display type group.
  8. Optionally, change the Field type to Control to restrict the user’s ability to modify the field. (Change the Field Type.)

To create a graphic field without using a variable

  1. Edit a form template. (See Edit a Form Template.)
  2. Create a field. (See Create a Form Field.)
  3. With the field still selected, click the [image] Field Properties button. The Field Properties dialog box appears.
  4. At the Type tab, select Image from the Display type group.
  5. Click the [image] Open button next to the Image file name field. The Open dialog box appears.
  6. Locate and select the desired graphic file and click Open. The path and file name appear in the field.
  7. Optionally, change the Field Type to Control to restrict the user’s ability to modify the field. (Change the Field Type.)
  8. Optionally, click the [image] Show Variables button in the Automator toolbar to view the image.

The image is visible at the Form Document tab.

If you are automating a fillable PDF template and you plan to save the assembled document as a fillable PDF, you cannot assign an image to a linked field. Instead, use a regular HotDocs field.


Convert Answers on the Form to Bar Code Format

These instructions can also be used to create a form field at both the Form Document tab of the assembly window and in HotDocs Filler.

You can create a two-dimensional bar code field that displays a single answer or group of answers. This may be useful if the organization to which you submit your documents requires certain data in the document be in bar code format. This allows the organization to scan the information and save it in some data retrieval system, such as a database.

For example, say you must submit a form to the court. When the court files the form, rather than manually entering case information (such as party names, case numbers, etc.), it can simply scan the bar code and have the information automatically entered in the system.

Typically, bar codes display data in a pattern of lines and formats, which should be readable by most hand-held laser scanners or charge-coupled device (CCD) scanners. The scanner should be able to read the size of the bars, which is 0.01 inch.

Use the following tips when working with bar codes:

  • The format HotDocs uses for bar codes is PDF417, or Portable Data File 417. It is one of several recognized 2-D bar code formats.
  • Bar codes in HotDocs can store about 1,500 characters, including numbers and other standard text symbols.
  • Printing a form that has a bar code requires a high-density printer, such as a laser printer.
  • Bar code fields can overflow, but all overflow properties assigned to the field are ignored. When too much text is entered for a bar code, no bar code appears. If you are having trouble getting the bar code to fit in the field, you can enlarge the field or reduce the field margins. (See Resize Form Fields or Change the Borders and Margins of a Field.)

There are two methods for creating a bar code:

  • Create a bar code using a variable: When the answers you want to convert to a bar code must be supplied by the user, you can create a variable, such as a Computation variable, which will then merge the answers in the field and convert them to bar code format.
  • Create a bar code using predefined text: If the bar code text is always the same, regardless of who is completing the document, you can enter that text at the Field Properties dialog box.

To create a bar code using a variable

  1. Edit a form template. (See Edit a Form Template.)
  2. Create a field and attach a variable to it, such as a Computation variable. (See Attach a Variable to a Field.)
  3. If using a Computation variable, create a script that will create a text string that includes all the answers you want encoded. Separate each answer by using a delimiter character, such as a tilde (~) or a vertical bar ( | ). (See Customize a Computation Variable and Introduction: Instruction and Expression Models.)

For example, Court Branch or District + "|" + Court Mailing Address + "|" + Court City + "|" + Court Zip Code.

  4. Click OK at both the variable editor and the Variable Field dialog box. The template appears again.
  5. With the field still selected, click the [image] Field Properties button. The Field Properties dialog box appears.
  6. At the Type tab, select Bar code as the Display type.
  7. Optionally, click the Bar Code tab and adjust any of the bar code settings. (See Understand Bar Code Settings.)

When the user assembles the document, the answer will be encoded as a two-dimensional bar code.

To create a bar code using predefined text

  1. Edit a form template. (See Edit a Form Template.)
  2. Create a field. (See Create a Form Field.)
  3. Click the [image] Field Properties button. The Field Properties dialog box appears.
  4. At the Type tab, select Bar code.
  5. Type the data you want encoded in the Bar code text field. As you type the text, HotDocs displays the bar code in the underlying form field. (You may need to click the [image] Show Variables button in the Automator toolbar to hide variable names.) (If you are entering a group of answers that must be interpreted by the bar code scanner as individual answers, you must separate each answer with some sort of delimiting character, such as a tilde (~) or vertical bar (|).)

For example, Superior Court of Ada County|12 N. Elm Street|Boise|99999.

If you are automating a fillable PDF template and you plan to save the assembled document as a fillable PDF, you cannot assign a bar code to a linked field. Instead, use a regular HotDocs field.

For information on changing the bar code specifications, see Understand Bar Code Settings.

To access the Field Properties dialog box, you can also right-click and select Field Properties from the shortcut menu.


Merge a List of Answers in a Standard Table

Sometimes you may need to merge a list of answers instead of a single answer in a form template. Often this list can appear in a predefined table in which users enter answers in rows sequenced from top to bottom and in columns sequenced from left to right.

You can also create what is called a nonstandard table, or one in which the rows are sequenced from left to right, instead of top to bottom. For details, see Merge a List of Answers in a Nonstandard Table.

When you create a standard table, you create and group fields in every cell, but you only attach variables to fields in the top row, like this:

To create a list

  1. Edit a form template. (See Edit a Form Template.)
  2. Create a field in each empty table cell that will contain an answer in the assembled form. (See Create a Form Field.)
  3. Attach variables to only the first row of fields—one variable for each column. (See Attach a Variable to a Field.)
  4. Select all of the fields in the table, then select Group as Table (Field menu). A bounding frame appears around the grouped fields. (You can also right-click and choose Group as Table from the shortcut menu.)
  5. With the grouped fields still selected, choose REPEAT (Field menu). The REPEAT Field dialog box appears. (You can also double-click the grouped fields.)
  6. Create a repeated dialog that contains the variables used in the table, or select an existing repeated dialog. (See Create a REPEAT Instruction to Gather a List of Answers.)

During assembly, if the user enters more answers than there are rows, those answers can be sent to the addendum, which you can customize.

You can filter answers merged into the table. (See Filter a List of Answers and Filter a List Using a Computation Variable.)

Information about the REPEAT instruction is associated with the field grouping. If you ungroup the table after you have inserted a REPEAT Instruction, remember to regroup the fields before you close the template. Otherwise, the information about the instruction is lost.

To create a list in a single variable field instead of a table, select the field and insert a Computation variable. In the computation, use a REPEAT instruction. (See Create a REPEAT Instruction Using a Computation Variable.)


Merge a List of Answers in a Nonstandard Table

Sometimes you may need to merge a list of answers instead of a single answer in a form template. Often this list can appear in a predefined table. Generally, these tables ask for information in a fairly standard order—in rows that read from left to right.

However, some lists require information that flows in different patterns, such as rows going from top to bottom. These kinds of tables are considered nonstandard. In nonstandard tables, you must specify a field order for every field in the table, then insert the variables in the fields you have assigned to Row 1. The following examples show types of nonstandard tables.

In this example, the rows are sequenced from left to right instead of top to bottom:

In this example, the table is divided into sections, but each section is actually a row in the table:

To put a list in a nonstandard table

  1. Edit a form template.
  2. Create a field in each empty table cell that will contain an answer in the assembled form.
  3. Select all of the fields for the first row (the first series of fields) in the table, then click the [image] Field Properties button. The [image] Field Properties dialog box appears. (You can also right-click and select Order from the shortcut menu.)
  4. Click the Additional tab, and in the Tab Order group, enter 1 in the Row field.
  5. Click OK.
  6. Select all of the fields for the next row in the table and set them to Row 2. Repeat this process for the remaining rows in the table, increasing the row number for each subsequent row.
  7. Select all the fields for the first column in the table and set them to Column 1. Repeat this process for the remaining columns in the table, increasing the column number for each subsequent column.
  8. Attach variables to the fields in Row 1.
  9. Select all of the fields in the table and select Group as Table from the Field menu. A bounding frame appears around the grouped fields. You can also right-click and select Group as Table from the shortcut menu.
  10. With the grouped fields still selected, choose REPEAT from the Field menu. The REPEAT Field dialog box appears. You can also double-click the grouped fields.
  11. Create a repeated dialog that contains the variables used in the table, or select an existing repeated dialog.


Flow a Single Answer Across Two or More Pages in a Form

These instructions can also be used to create a form field at both the Form Document tab of the assembly window and in HotDocs Filler.

At times, a single answer field will start at the bottom of one page and continue to the top of the next page. However, HotDocs will not allow you to create a single field that spans across both pages. You can, however, create two fields—one on each page—and then link them using the Group Fields command.

To group fields on separate pages

  1. Edit a form template. (See Edit a Form Template.)
  2. Create the first field in the series of spanned fields. (See Create a Form Field.)
  3. Assign a Text variable to the field. (See Customize a Text Variable.)
  4. Select the field and click the [image] Field Properties button. The Field Properties dialog box appears.
  5. Click the Overflow tab, and in the Group name field, enter a name. Usually, this is the name of the variable, but it can be any text as long as it is the same for each field in the group.
  6. On the following page(s), create the fields that will contain any overflow. Do not assign variables to these fields.
  7. Repeat the preceding steps for each field in the group, using the same group name as you assigned to the first field.

Now, answers that do not fit in the first field will overflow to the next field named in the group.

To span text across multiple fields on the same page, see Group Form Fields So Answers Can Flow From One Field to Another.


Define Overflow Properties for a Regular Field

These instructions can also be used to create a form field at both the Form Document tab of the assembly window and in HotDocs Filler.

When an answer is too large to fit in its field, HotDocs, by default, warns you and asks how to handle the overflow. You can customize the field overflow properties, controlling how HotDocs automatically handles answer overflows.

For example, you can have HotDocs automatically create an addendum, where each answer that overflows is sent. In the field that overflows, HotDocs can insert cross-reference text that points you to a specific item in the addendum. You can designate the text that is used both for the cross-reference and for the label in the addendum.

Another option is for you to have HotDocs automatically reduce the answer’s font size. You can set a minimum point size and control if the answer is automatically reduced to this size before displaying an overflow warning message. (Be careful reducing the font size since others may find the smaller size harder to read.) (See Change the Font Used for a Field.)

How you define overflow properties depends on the type of field you are creating. For example, in an addendum, grouped fields and tables are handled a little differently from regular fields. See Define Overflow Properties for Run-on Fields and Define Overflow Properties for a Table.

To set overflow properties for regular fields

  1. Edit a form template. (See Edit a Form Template.)
  2. Select the field whose overflow properties you want to define.
  3. Click the [image] Field Properties button and click the Overflow tab.
  4. Complete any of the following steps:
To | Do This
Automatically shrink an answer that overflows to a specific point size | Select Shrink answer as needed and enter a point size in the points field.
Automatically send an answer that overflows to the addendum | Select Send answer to addendum. (To send only part of a multi-line answer to the addendum, select Split answer. (See Split a Multi-Line Answer Between the Form and the Addendum.)
Define the text that appears in the answer field when an answer is sent to the addendum | Enter the text in the Cross-reference text field. (See here for a list of reference numbering codes you can use.)
Define the text that identifies the answer once it has been sent to the addendum | Enter the text in the Addendum label text field.
Make an answer the first item on its addendum page | Select Begin addendum entry on a new page.
Make an answer the last item on its addendum page | Select Begin new page following addendum entry.

Fillable PDFs do not support the creation of an addendum when a field overflows. This means that if a field in an assembled fillable PDF template overflows, the answer in the saved PDF document will simply appear cut off. Template users should always review and modify any answers that may potentially overflow before saving the assembled document as a fillable PDF.


Define Overflow Properties for Run-on Fields

When an answer is too large to fit in its field, HotDocs, by default, warns you and asks how to handle the overflow. You can customize the field overflow properties, controlling how HotDocs automatically handles answer overflows.

For example, you can have HotDocs automatically create an addendum, where each answer that overflows is sent. In the field that overflows, HotDocs can insert cross-reference text that points you to a specific item in the addendum. You can designate the text that is used both for the cross-reference and for the label in the addendum.

Another option is for you to have HotDocs automatically reduce the answer’s font size. You can set a minimum point size and control if the answer is automatically reduced to this size before displaying an overflow warning message. (In reducing the font size, be cautious, because others may find the smaller size harder to read.) (See Change the Font Used for a Field.)

How you define overflow properties depends on the type of field you are creating. Grouped fields and tables are handled a little differently from regular fields. Grouped fields are shown in the addendum as just one answer.

To set the properties for a run-on group

  1. Edit a form template. (See Edit a Form Template.)
  2. Select the run-on group whose overflow properties you want to define.
  3. Click the [image] Field Properties button and click the Overflow tab.
  4. Complete any of the following steps:
To | Do This
Automatically shrink an answer that overflows to a specific point size | Select Shrink answer as needed and enter a point size in the points field.
Automatically send an answer that overflows to the addendum | Select Send answer to addendum. To send only part of a multi-line answer to the addendum, select Split answer.
Use a check box in the grouped fields to indicate the answer overflows. Sometimes forms include a check box that indicates when an answer is continued elsewhere, such as in the addendum or in an attachment. Choosing one of these options selects that check box when the answer overflows. | Select either Indicator check box is first in field group or Indicator check box is last field in group, depending on where the check box that indicates overflow is positioned. Select No addendum entry indicator check box if there is no check box to indicate an answer has been sent to an attachment or addendum.
Define the text that appears in the answer field that an answer is sent to the addendum. If you want the indicator check box to be the only designation that a field overflows, enter NONE in this field. | Enter the text in the Cross-reference text field. (Click Use Answer Overflow and Addendum Text Codes for a list of reference numbering codes you can use.)
Define the text that identifies the answer once it has been sent to the addendum | Enter the text in the Addendum label text field.
Make an answer the first item on its addendum page | Select Begin addendum entry on a new page.
Make an answer the last item on its addendum page | Select Begin new page following addendum entry.

Fillable PDFs do not support the creation of an addendum when a field overflows. This means that if a field in an assembled fillable PDF template overflows, the answer in the saved PDF document will simply appear cut off. Template users should always review and modify any answers that may potentially overflow before saving the assembled document as a fillable PDF.


Define Overflow Properties for a Table

If the contents of a table overflow, by default the answers go to the addendum as one item, even if only one answer overflows its field. In the addendum, the table's answers are organized in an outline using lowercase letters to identify each column. Thus, the first row of answers appear in the addendum as a set marked "a, b, c". The second row of answers appear as a second set of "a, b, c", and so forth.

To define overflow properties for a table

  1. Edit a form template.
  2. Select the table whose overflow properties you want to define.
  3. Click the [image] Field Properties button and click the Overflow tab.
  4. Complete any of the following steps:
To | Do This
Automatically send an overflowing answer (including extra rows in the table) to the addendum | Select Send answers to addendum.
Define how much of the table is sent to the addendum when there is overflow In the When sending answers to addendum group, select one of the following options:
  • Select Send entire table to send the contents of the table to the addendum any time any answer in the table overflows. The overflow cross-reference text (for example, See 1 in Addendum) is merged in the top row of the table and no other rows contain any answers.
  • Select Send complete rows to send only rows that overflow to the addendum. For example, if an answer in a row overflows, the entire row goes to the addendum. The overflow cross-reference text (for example, See 1 in Addendum) is merged in the affected row only.
  • Select Send individual cells to send only the contents of a single overflowing field to the addendum. The overflow cross-reference text (for example, See 1 in Addendum) is merged in the affected cell only.
Define the text that appears in the answer field when an answer is sent to the addendum | Enter the text in the Cross-reference text field. (Click here for a list of reference numbering codes you can use.)
Define the text that identifies the answer once it has been sent to the addendum | Enter the text in the Addendum label text field.
Make an answer the first item on its addendum page | Select Begin addendum entry on a new page.
Make an answer the last item on its addendum page | Select Begin new page following addendum entry.
Indent the answer a specific amount of space | Enter a number in the Answer column indent field (or click the up and down arrows to select a number).

Fillable PDFs do not support the creation of an addendum when a field overflows. This means that if a field in an assembled fillable PDF template overflows, the answer in the saved PDF document will simply appear cut off. Template users should always review and modify any answers that may potentially overflow before saving the assembled document as a fillable PDF.


At a Glance: The Addendum Properties dialog box

After opening HotDocs Automator, directly from the your start menu or by opening a form template to edit from a HotDocs Library, you can open the Addendum Properties dialog box choosing Addendum from the Template Properties list in the File menu.

The first options you can set is the minimum distance for the Page margins A, you can set these by changing the values in the four number fields: Left, Right, Top, and Bottom. In the next section B you can set the options for the addendum header. In the text field you can enter the text and codes you would like to use, then using the options underneath you can choose the font you would like to use in the header, how tall the header should be, the text alignment and if you click the [image] Variable button you can create a variable to be included in the header. The third section C has exactly the same options but instead they control the addendum footer.

The fourth section D contains the options for Addendum entries. You can choose the font, amount of indentation between the label and the answer, and the amount of space between sets of answers.

At the bottom of the dialog is a check box E which gives you the option to add numbers to the lines to format the addendum as pleading paper.

To learn more about setting options for addendum properties follow the link below:

  • Customize the Look of the Addendum


Customize the Look of the Addendum

These instructions can also be used to create a form field at both the Form Document tab of the assembly window and in HotDocs Filler.

Sometimes when assembling a form document, an answer is too long for the form field. One way to resolve this overflow is to send the overflowing text to an addendum, which is a section of the form designed to display such answers. You can modify the appearance of the addendum—for example, you can choose what page margins to use, define what text appears in the headers and footers, and choose the font properties for the text that is used in the addendum. You can also define how pages are numbered in the addendum.

To change the addendum format

  1. Edit a form template. (See Edit a Form Template.)
  2. Click File > Template Properties > Addendum. The Addendum Properties dialog box appears.
  3. Complete any of the following steps:
To | Do This
Define how much white space there is between the addendum page edges and the text in the addendum | Enter the dimensions in the Page margins group.
Define the text that appears at the top of each addendum page | Enter the text in the Header text field. To learn how to merge page numbers in the header, see Use Answer Overflow and Addendum Text Codes.
Define the text that appears at the bottom of each addendum page | Enter the text in the Footer text field. To learn how to merge page numbers in the footer, see Use Answer Overflow and Addendum Text Codes.
Change the font properties (including font face, size, and style) of the header or footer text | In the respective Header properties and Footer properties groups, click the Font button and make the changes at the Font dialog box.
Define how much vertical space the header or footer text requires | In the respective Header properties and Footer properties groups, enter a number in the Height field.
Change the alignment of the header or footer text | In the respective Header properties and Footer properties groups, click the Alignment button and choose your alignment option.
Insert a variable in the header or footer text | In the respective Header properties and Footer properties groups, click the [image] Variable Field button. The Variable Field dialog box appears, where you can define the variable whose answer you want merged in the header or footer.
Define the font properties (including font face, size, and style) for answers that appear in the addendum | In the Addendum entries group, click the Font button and make your changes at the Font dialog box.
Define how much space there should be between the addendum label and the answer | In the Addendum entries group, enter a number in the Indentation field.
Define how much space there should be between each answer in the addendum | In the Addendum entries group, enter a number in the Space between field.
Make the addendum appear as a pleading paper | Select Number lines to format as pleading paper.

Once an answer has been sent to the addendum, you cannot edit the actual addendum—you must either modify your answers at the Form Document tab or Interview tab, or you must send the addendum to the word processor (choose File > Send Addendum To > Word Processor). You can also send the addendum to the Windows Clipboard (choose File > Send Addendum To > Clipboard) to paste it into a different program for editing.

Fillable PDFs do not support the creation of an addendum when a field overflows. This means that if a field in an assembled fillable PDF template overflows, the answer in the saved PDF document will simply appear cut off. Template users should always review and modify any answers that may potentially overflow before saving the assembled document as a fillable PDF.


Split a Multi-Line Answer Between the Form and the Addendum

When creating multi-line fields, you can select an overflow option that sends either all of the answer to the addendum, or only the part of the answer that doesn't fit in the field to the addendum.

If you allow the user to choose whether to split the answer between the form and the addendum, you can customize the reference and label text, based on their selection. For example, if the user chooses to send the entire answer to the addendum, you can specify See Addendum 1 as the cross-reference text. However, if the user chooses to send just part of the answer, you can specify Continued in Addendum 1 as the reference text.

To choose overflow options for a multi-line answer

  1. Create a multi-line field. (See Create a Form Field.)
  2. Select the field and click the [image] Field Properties button. The Field Properties dialog box appears.
  3. Click the Overflow tab. The view changes to show overflow options.
  4. Complete any of the following steps:
To | Do This
Always send the answer to the addendum without prompting the user | Select Send answer to addendum. To send just the part of the answer that doesn't fit in the field to the addendum, select Split answer.
Specify the text that will be merged in the field as well as the addendum if the user chooses just to send to addendum | Enter the text in the Cross-reference text and Addendum label text fields, respectively. To specify alternate text that will be merged in the field and addendum if the user chooses to split the answer between the form and the addendum, type a vertical bar (|) and then enter the alternate text after the bar. For example: Cross-reference text: See Addendum 1|Continued in Addendum 1 Addendum label text: Addendum 1|(con't) Addendum 1

Fillable PDFs do not support the creation of an addendum when a field overflows. This means that if a field in an assembled fillable PDF template overflows, the answer in the saved PDF document will simply appear cut off. Template users should always review and modify any answers that may potentially overflow before saving the assembled document as a fillable PDF.


Create Independent Addendums for Forms

These instructions can also be used to create a form field at both the Form Document tab of the assembly window and in HotDocs Filler.

Sometimes your form includes duplicate pages that must be given to or filed with a specific party. (For example, perhaps you have a form where one copy must be given to the client, and another copy must be filed in your office.) You can select an option that specifies that a new addendum page should begin following a specified field. This makes it possible to create multiple, independent addendums.

To create independent addendums

  1. Select the field(s) and click the [image] Field Properties button. The Field Properties dialog box appears.
  2. Click the Overflow tab. The view changes to show overflow options.
  3. Select Begin new addendum following this field.

Fillable PDFs do not support the creation of an addendum when a field overflows. This means that if a field in an assembled fillable PDF template overflows, the answer in the saved PDF document will simply appear cut off. Template users should always review and modify any answers that may potentially overflow before saving the assembled document as a fillable PDF.


Use Answer Overflow and Addendum Text Codes

These instructions can also be used to control numbering in overflow and addendum text both at the Form Document tab of the assembly window and in HotDocs Filler.

As you customize the appearance of an addendum, you can insert any combination of codes to merge page numbering into addendum headers and footers. Also, when defining overflow cross-references and labels, you can insert codes that number entries in the addendum, particularly answers in tables that overflow. Finally, in both cases, you can control the type of number that is used—Arabic, Roman, or alphabetic.

Addendum Header and Footer Page Numbering Codes

You can use the following codes to merge page numbers in addendum headers and footers. For example, the header text Financial Aid Application, page <PAGE> would insert at the top of each addendum page the form title followed by the number of the current page in the form (that is, Financial Aid Application, page 1). The footer text Page <PAGE> of <PAGES> would insert at the bottom of each addendum page the number of the current page followed by the total number of pages in the form (that is, Page 1 of 7).

Page Numbering Code | What It Inserts in Assembled Document
<PAGE> | Current page in the document
<PAGES> | Total number of pages in the document, including addendum pages
<DOCPAGES> | Total number of pages in the document, without including the addendum
<PAGEINFO> | Current page in the document / Total pages in the document
<ADMPAGE> | Current page in the addendum
<ADMPAGES> | Total number of pages in the addendum
<ADMPAGEINFO> | Current page in addendum / Total pages in addendum.

Addendum Label and Cross-Reference Text Numbering Codes

As you define how HotDocs should handle fields that overflow, you can use the following codes to merge reference numbers in cross-references and addendum labels. For example, in a table with two rows and two columns, the number codes <ROW>, <COLUMN> would insert 2, 1 for the answer in the first column of the second row. For that same cell of the table, <MEMBER> would insert 3, since the field is the third field in the table counting from the first cell of the table. And again for that answer <MEMBER:A> would insert C, the item number as an uppercase alphabetic character (1=A, 2=B, C=3, etc.).

Numbering Code | What It Inserts in Assembled Document
<REFNR> | Addendum item number
<VARNAME> | The name of the variable
<ROW> | Table row number (merged in addendum only)
<COLUMN> | Table column number (merged in addendum only)
<MEMBER> | Table cell sequence number (merged in addendum only)

Numbering Format Codes

To change the format of the number, between the page or referencing number code and the closing angle bracket (>), type a colon (:) immediately followed by one of the page format codes described in the following table. (A complete entry would look like this: <DOCPAGES:A>.)

Page Format Code | What Number is Merged
1 | Arabic numerals (default)
A | Uppercase letters
a | Lowercase letters
I | Uppercase Roman numerals
i | Lowercase Roman numerals


Introduction: Use Fillable PDFs as Form Templates

You can use fillable PDF documents as the basis for creating form templates. A fillable PDF is an interactive PDF document that allows users to enter answers on the form while viewing it in Adobe Acrobat or Reader. As you create the template, you will be prompted for instructions on how to use the fillable PDF. You can either create a fillable PDF template, or you can create a regular PDF-based form template.

Create a Fillable PDF Template

When you create a template from a fillable PDF, you can use the fillable fields from the Adobe document as a point of reference for automating the template. In fact, during template creation, HotDocs will automatically create fields where it detects fillable fields. These special fields are known as linked fields, since they link to and use the properties of the fillable fields.

Users can then assemble a fillable PDF template and save the completed document as a fillable PDF document. This allows them to edit answers directly in the PDF. Users can also save the assembled document as a regular (static) PDF or as a HotDocs PDF document.

When using fillable PDF templates, please note the following:

First, when saving the assembled document as a fillable PDF, if you changed any of the default field properties for the linked field, those properties will not be used in the saved document. Such properties include field position and size, font, and borders, just to name a few. Adhering to the default properties defined in the original PDF document ensures the saved document will meet any requirements specified by the agency that issued the form. Note, however, that if you save the assembled document as a regular PDF or HotDocs PDF Document, any custom properties you specified will be used for the fields instead.

Second, keeping fillable fields in the template makes it easier to match HotDocs fields to the original fillable fields, especially when you accidentally move, change, or delete a HotDocs field while editing the template. This precision may be important if you plan to submit the form to an agency that requires that answers be entered a very specific way, regardless of whether you save the document as a fillable PDF or otherwise.

Finally, when you create variables and attach them to linked fields in a PDF-based template, HotDocs may suggest some default properties for the variable, such as a name, format, pattern, and so forth. Where possible, you should accept these default properties. If you save the assembled document as a fillable PDF, Adobe Acrobat or Adobe Reader will try to format the answer coming from HotDocs so that it fits in the field as it is defined by Adobe Acrobat. If the answer contains text or uses properties that are different than what it expects, the field text may appear incorrectly. This is especially true with Number and Date formats.

Create a PDF Form Template

When creating a form template using a fillable PDF, you can choose not to keep fillable fields in the template. If you do, the template will be created as a regular, static PDF template, and users of the form will not be able to save it as a fillable PDF.

HotDocs supports only fillable PDFs (or Acrobat Forms or AcroForms) created with Acrobat Professional. It does not support any fillable PDF documents created or edited using Adobe LiveCycle Designer. (This includes XFA forms, XML Forms, or Designer Forms.) A small subset of XFA forms might still work, as long as there are no dynamic form features being used. Typically, if an AcroForm has been edited using LiveCycle Designer and only properties of fields have been changed, it is likely to still work in HotDocs.


Creating a Form Template Using a Fillable PDF

HotDocs supports only fillable PDFs (or Acrobat Forms or AcroForms) created with Acrobat Professional. It does not support any fillable PDF documents created or edited using Adobe LiveCycle Designer. This includes XFA forms, XML Forms, or Designer Forms. Please note that a small subset of XFA forms might still work, as long as you aren't using any dynamic form features. Typically, if you have edited an AcroForm using LiveCycle Designer and only changed properties of fields, it is likely to still work in HotDocs.

Some PDF documents you receive from various organizations contain fillable fields, which enable you to enter the data required by the document while you are viewing the PDF in Adobe Acrobat or Reader. You can create HotDocs form template A template that is created and automated in HotDocs Automator. It is distinguished from a text template by the fact that the underlying text cannot be modified because it is static. (See also form document.)s based on these fillable PDFs.

For example, say you download a fillable PDF from a court system. You can create a HotDocs PDF template using this fillable PDF as the basis for the template. When you do, you can choose to keep the fillable fields in the template, or you can choose to remove them from the template. If you choose to keep them, HotDocs creates special HotDocs fillable field In Adobe Acrobat or Reader, represents a dynamic field in which a user can enter data while viewing the document. Using HotDocs, users can create fillable PDF templates from these PDF documents that contain fillable fields.s (or linked field Represents a HotDocs field in a fillable PDF template that is associated with an Adobe fillable field. By creating this association between a HotDocs field and a fillable field, template developers can create HotDocs fields that precisely match fields in the underlying PDF. Users who assemble the document can then edit answers associated with linked/fillable fields in the saved PDF.s) that mirror exactly the underlying fields. This is useful if you need to file the resulting document with an agency that requires you to provide answers in very precise places on the form.

Keeping fillable fields in a form template also makes it easy to re-adjust fields back to their original position and format, especially if you accidentally move, change, or delete a linked field while editing the template.

If you choose to remove the fillable fields, HotDocs still creates form fields where the fillable fields were—however, they are no longer associated with the fillable fields. Additionally, users are not able to save the document as a fillable PDF, and the PDF will be static.

Once you create a template that contains fillable fields, you can attach variables to those fields. When you do, HotDocs attempts to use information from the original fillable PDF to suggest what type of variable to create. It also suggests other properties, such as variable names and answer formats.

Finally, when assembling a form document that contains fillable fields, you have three options for saving the document:

  • You can save the document as a regular HotDocs PDF document (.HPD) file. If you select this option, you can view the file and edit the answers in it using HotDocs Filler only.
  • You can save the document as a static Adobe PDF document. If you select this option, you can only view the document in Adobe Acrobat, Reader, or HotDocs Filler. You cannot edit the answers. HotDocs removes any fillable fields that were present in the template when you save the document.
  • You can save the document as a fillable PDF. If you select this option, you can edit the answers in the document in Adobe Acrobat or Reader.

To create a PDF template from a fillable PDF

  1. Start HotDocs.
  2. Click on a folder in the file list and click [image] New Template.
  3. Click the Type drop-down button and choose HotDocs PDF Template from the list.
  4. In the File name field type a file name for the new template. If you decide to store the template somewhere other than the default template folder (as seen in the Target folder field), you can also [image] Browse to the new destination. HotDocs adds the correct extension to the file name based on the type of text template you selected. HotDocs displays the full path of the currently selected template location in the Target folder field.
  5. Click in the Title field and either accept the suggested title or replace it with your own. You can also add an optional template Description.
  6. To add an existing component file to the new template, you can select a component from the Shared component file drop-down list. If you do so, the component file you choose is now shared between the new template and any other templates using that component file.
  7. In the Initial contents group, select Other file.
  8. Type in the full path of the fillable PDF document or click [image] Browse and browse to it.
  9. Click OK at the New Template Initial Contents field. A message box appears, asking if you want to leave fillable fields in the form.
  10. Decide, based on the following options:
    • Select Yes, leave fillable fields in the form if you want to use the fillable fields from the PDF as the basis for fields in the new template. This enables you to create HotDocs fields that match exactly those fields in the underlying PDF.
    • Select No, remove fillable fields from the form if you do not want the template to use the fillable fields from the source PDF document.
  11. If the fillable PDF document contains any annotations (such as notes, stamps, highlighting, etc.), a second message box appears, asking if you want to leave annotations in the form.
    • Select Yes, leave annotations in the form if you want the assembled Adobe document to show these annotations. Be aware, however, that annotations do not appear on the form in HotDocs Automator.
    • Select No, remove annotations from the form if you want to remove all annotations so they do not appear in the assembled PDF.

HotDocs creates the template and adds fields to it. If you selected to keep fillable fields in the template, HotDocs has linked these HotDocs fields to the fillable fields. Otherwise, HotDocs creates regular HotDocs fields.


At a Glance: The Check Fillable Fields dialog box

After opening HotDocs Automator, directly from the your start menu or by opening a form template to edit from a HotDocs Library, you can open the Check Fillable Fields dialog box choosing Check Fillable Fields from the Tools menu.

There are a range of properties you can choose to compare and they are split into four sections. The first section A is Position/Size where you have the option to compare the position and the size of the fillable fields versus the HotDocs check boxes. The second section B is Type and you can compare field type, font and non-printing. The third section C is Layout where you can compare; horizontal, vertical, rotations, borders, maximum lines and maximum characters per line. The last section D is Overflow and you can compare shrink answer and minimum font size.

At the bottom of the dialog there are two buttons E where you can choose to select all of the options or clear all of the options.

To learn more about fillable fields in PDF templates follow the links below:

  • Introduction: Use Fillable PDFs as Form Templates
  • Create a Form Template Using a Fillable PDF
  • Check Fillable Fields in a PDF Template
  • Attach Variables to Fillable Fields
  • Tips for Working with Fillable Fields


Check Fillable Fields in a PDF Template

When working with a fillable PDF, you can choose to create HotDocs fields that overlay and link to the PDF’s fillable fields. You can then attach variables to these linked fields and answers entered during the interview will be merged in the assembled document.

One benefit of using fillable fields as the basis for HotDocs fields is the fillable fields often include properties that indicate exactly where data must be entered in order for the completed PDF to be filed with a court or agency. For example, you may download a court form that requires answers to appear using a certain font and size, and the answer must be placed in an exact position in the field. When you save the assembled document as a fillable PDF, HotDocs honors the fillable field properties over any HotDocs-specific properties you may assign to fields. This ensures the completed PDF will meet the court's specifications.

Another benefit of using fillable fields is that saving an assembled document as a fillable PDF allows you to edit answers while viewing the document in Adobe Acrobat or Reader.

Finally, you can use fillable fields as a "blueprint" for where HotDocs fields should be placed in the template, especially if you delete or move fields, or if you accidentally edit field properties as you work in the template.

You can assign custom properties to fillable fields while editing the template in HotDocs Automator. However, these properties will only be honored if the assembled document is saved as a regular (or static) PDF or HotDocs PDF document (.HPD).

To help you make sure the linked fields match exactly the fillable fields, you can use the Check Fillable Fields tool, which scans through the template and, on a field-by-field basis, allows you to compare the properties of a HotDocs field to its corresponding fillable field. If there are discrepancies, you can adjust the HotDocs field to match the fillable field. Specific properties this tool examines include size, position, field type, font properties, and text alignment within the field, just to name a few.

If no HotDocs field is associated with a fillable field, HotDocs prompts you to create the HotDocs field and link it to the fillable field.

There are two ways you can tell whether a HotDocs field is linked to a fillable field. First, linked fields appear using a light blue color. Second, HotDocs displays the fillable field name at the Field Properties dialog box. (To view this name, click the Additional tab of the Field Properties dialog box. The Field name drop-down list in the Linked Acrobat fillable field group shows the name.)

You can view where the underlying PDF fillable fields are in the template by choosing Show Fillable Fields from the View menu.

To check fillable fields in the template

  1. Edit a form template that uses fillable fields. (See Edit a Form Template.)
  2. Choose Check Fillable Fields (Tools menu). The Check Fillable Fields Options dialog box appears.
  3. Select the field properties you want to compare between the HotDocs fields and the fillable fields. (For example, if you want to compare only the fonts assigned to the fields, select Font and clear all other options.)
  4. Click OK. If there are discrepancies between the HotDocs fields and the fillable fields, the Check Fillable Fields dialog box appears.

This dialog box shows a table that lists the differences between the two fields it is comparing. The Field Property column of the table shows the property name, while the HotDocs Field column shows the values currently assigned to the HotDocs field. The Fillable Field column shows the properties assigned to the fillable field.

  5. In the Change column, select which HotDocs properties you want to change so they match the fillable field.
  6. Proceed by choosing one of the following commands:
    • Click Change to change the selected properties for the current HotDocs field only. HotDocs makes the change and then displays the next field comparison.
    • Click Change All to change the selected properties for all HotDocs fields that have different properties from the fillable fields.
    • Click Ignore to ignore the suggested changes for the current field.
    • Click Ignore All to ignore all suggested changes for all HotDocs fields that have different properties from the fillable fields.

As you are checking fillable fields in a template, if a fillable field exists, but does not have a HotDocs field linked to it, HotDocs prompts you to create a linked field. To create the current field being suggested, click Yes. To create all fields that are missing, click Yes to All. To ignore the suggestion to create fields, click either No or No to All.

If you are showing fillable fields, you can double-click on a gray fillable field and HotDocs will create a linked field. (To view fillable fields, choose Show Fillable Fields (View menu).)


Attach Variables to Fillable Fields

With HotDocs, you can automate a fillable PDF document. As you attach variables to each linked field in the template, HotDocs attempts to use field names and other properties from the underlying PDF field to create the variable. This includes assigning any formats specified in Adobe to the HotDocs field. For example, if the Adobe document uses a field named Signature Date and this field is formatted to appear in the mm/dd/yyyy format, HotDocs can attach a Date variable with the same name to the linked field and assign as its format mm/dd/yyyy.

As you create these variable fields, you can accept the suggested Adobe defaults, or you can set your own field properties. For best results, accept the suggested field formats when possible. If you save the assembled document as a fillable PDF, Adobe Acrobat or Adobe Reader tries to format the answer to fit the field. If the answer has text or properties Adobe does not expect, the field text may appear incorrectly.

When attaching variables to linked fields in a fillable PDF template, be aware of the following rules:

  • To determine what type of variable to create, HotDocs looks at the different formats assigned to the underlying fillable field. If the field has no formats, HotDocs suggests a Text variable. If the field uses formats, HotDocs tries to match the assigned format to its equivalent in HotDocs. For example, if the Adobe field uses a Number format, HotDocs suggests Number as the variable type. If the Adobe field has a telephone number format assigned to it, HotDocs suggests a Text variable with a telephone number pattern.
  • HotDocs requires users to follow a set of rules for naming variables. If a name assigned to an Adobe field breaks a rule, HotDocs will change the name to a valid one.
  • If an Adobe field is required or has a default answer assigned to it, HotDocs notes this in the Notes tab of the Variable Editor. (When HotDocs adds a note to the tab, it marks the tab using an asterisk (*) character.)
  • If an Adobe field has a Tooltip, HotDocs uses the Tooltip text as a variable prompt.
  • Adobe supports time fields that include seconds. It also supports date fields that include hours and minutes. Since HotDocs does not work with either of these types of formats, HotDocs creates a Text variable for the field and includes a prompt to instruct the user on how to enter the answer.
  • Calculated fields in a PDF file use a JavaScript expression to compute the actual value. When this field is converted to a HotDocs field, HotDocs places a commented-out copy of the expression in the Script field of the Computation Editor. You can use this expression as a guide for writing a HotDocs script that calculates the same value.

To attach variables to fillable fields using a wizard

  1. Edit a form template that uses fillable fields.
  2. Choose one of the following tasks for attaching a variable to a field:
    • Choose Create Variables from the Tools menu. HotDocs opens the Variable Field dialog box for the first field in the template that does not have a variable attached to it.
    • Select a field and click the [image] Variable Field button. The Variable Field dialog box appears.
  3. Review the suggested variable type and name, and make any necessary changes.
  4. Click the [image] Edit Component button. The Variable Editor appears.
  5. Review the properties assigned to the variable, including its format, prompt, and any other patterns, limits, or other options.
  6. Optionally, if the Notes tab shows an asterisk (*) in its label, click it to view any additional fillable field requirements.
  7. Click OK to close the Variable Editor,
  8. Click OK to close the Variable Field dialog box. The variable is created and attached to the field, and HotDocs moves to the next empty field on the form.
  9. Repeat this process for each field in the template.

To skip a field and not create a variable for it, click the Skip button on the Variable Field dialog box.


Tips for Working with Fillable Fields

As you work with fillable PDFs, please note the following information:

Creating Fillable PDF Form Templates

HotDocs supports only fillable PDFs (or Acrobat Forms or AcroForms) created with Acrobat Professional. It does not support any fillable PDF documents created or edited using Adobe LiveCycle Designer. (This includes XFA forms, XML Forms, or Designer Forms.)

A small subset of XFA forms might still work, as long as there are no dynamic form features being used. Typically, if an AcroForm has been edited using LiveCycle Designer and only properties of fields have been changed, it is likely to still work in HotDocs.

Using Fonts

If you have Type 1 (PostScript) fonts installed on your computer, you should not assign those fonts to fields in PDF-based template files. If you assign a Type 1 font to a form field, the field will appear correctly on screen during assembly and when the form is saved as a fillable PDF. However, if you print the form or save it as a static PDF, HotDocs will automatically substitute a TrueType font, which will keep the text in the field from appearing as expected. For best results, use TrueType (.ttf) fonts (or OpenType (.otf) fonts containing TrueType outlines) with linked fields in a fillable PDF template.

Fillable PDF authors may embed fonts they use in the fillable PDF. However, when you create a template using a fillable PDF, HotDocs will not use the embedded font. Instead, it will check to see if the font is installed locally. If it is, HotDocs will use it. If the font is not installed on the system, HotDocs will attempt to map the font to something similar. Once you save the assembled document as a fillable PDF, however, the embedded font will once again be used.

Honoring Adobe Field Formats

When you create variables and attach them to linked fields in a PDF-based template, HotDocs may suggest some default properties for the variable, such as a format, pattern, and so forth. Where possible, you should accept these default properties. If you save the assembled document as a fillable PDF, Adobe Acrobat or Adobe Reader will try to format the answer coming from HotDocs so that it fits in the field as its defined by Adobe Acrobat. If the answer contains text or uses formats that are different than what it expects, the field text may appear incorrectly. This is especially true with Number and Date formats.

Grouping Fields

If you are automating a fillable PDF template and you plan to save the assembled document as a fillable PDF, you cannot group run-on fields since necessarily, each fillable field is linked to a separate “variable.” Answers—both in HotDocs and Adobe—must be entered on individual lines. This means that as you enter an answer in a field, when you reach the end of one field, you must tab to the next field and continue typing your answer.

This inability to group fields is a limitation of Adobe. If you have write-access to the form using Adobe Acrobat, you may consider replacing individual fields in the group with a single, multi-line field with a suitable font size. Text you enter may not match the lines perfectly, but you will not have to tab between fields to enter the answer.

Check Box Groups

Multiple check boxes or option buttons with the same field name in a PDF file are converted to a HotDocs check box group. HotDocs relies on the sort order of the member fields when answers from HotDocs are saved back to the PDF fields. This means that it is not a good idea to change the ordering of the member fields using row and column settings.

Additionally, in the fillable PDF, check boxes and option buttons should all have different Export values since HotDocs doesn't allow duplicate options in a Multiple Choice variable.

True/False Check Box Groups

If you need to group two check boxes that have different Acrobat field names there is a simple method:

  1. Select the check box for true and open the Field Properties dialog box.
  2. In the Variable text field enter the name of the True/False variable you are using and in the Check Box Character text field type X.
  3. Select the check box for false and open the Field Properties dialog box.
  4. In the Variable text field enter the name of the True/False variable you are using followed by /X then in the Check Box Character text field type X.
  5. While the variable attached the first check box will cause the X to appear in the box when answer is true, the /X after the variable name in the second box causes the X to appear when the answer is false.

For more information on working with check boxes see Create a check box Field and Attach a Multiple Choice Variable to a Group of check boxes.

Working with Rights-Enabled PDFs

When creating a fillable PDF document, form designers can enable usage rights within the document. These rights allow Adobe Reader users to save copies of the document with changes they have made to the document—including entering or changing answers they have entered in the fillable PDF. However, when you convert a rights-enabled fillable PDF to template format, the document is changed in such a way that usage rights are no longer in effect. This means that users will not be able to save changes they make when editing the assembled document in Adobe Reader.


At a Glance: The Text Variable Editor

You can open the Text Variable Editor by creating a new text variable or by editing an existing variable, either while editing a template or from the Component Manager.

In the first text field A you can enter a name for your variable. To the right of this is a drop-down list B where you can choose the default format from a list of choices or type your own. You also have the option to check a box so that spaces used in the variable's output text will be non-breaking, ensuring it won't be split over two lines of text.

Below this you can enter a variable title C and a prompt D that will both appear on the interview dialog next to the variable answer field.

You can set the field height in the interview by entering the amount of lines (up to twelve) in the number field E, and the maximum amount of characters by entering a number (up to 15,000) in the number field to the right (the default value - zero - is the same as the maximum of 15,000). To the right of the Maximum character setting is the Pattern field where you can enter your own text pattern or choose from the available patterns in the drop-down list. This option is only available when the field height is set to 1.

Below these options is a check box F that you can tick to have HotDocs insert a new paragraph mark every time the user clicks enter in this answer field in the interview. This option is only available when the field height greater than 1.

More dialog options are available in the other tabs: Advanced, Resource, Used In and Notes.

To learn more about editing text variables follow the links below:

  • Introduction: Create and Customize Variable
  • Customize a Text Variable

  • Tips on Naming Your Variables


Customize a Text Variable

Text variables are used to merge text, such as names or descriptions, into assembled documents. They also merge numbers that are never added, subtracted, and so on, such as telephone numbers, U.S. Social Security numbers, and times of day.

When you create a Text variable, you can add a title or prompt to help the user know what information is required. You can also decide how answers will be formatted when they are merged into the assembled document. Finally, you can add a resource or select advanced options that determine how the variable will be processed and merged into the document.

Once a variable is created, you can edit it at any time. See Edit a Variable.

To edit the properties of a Text variable

  1. Follow the instructions for inserting a variable, selecting Text as the variable type. (See Insert a Variable Field in a Text Template.)
  2. At the Variable Field dialog box, click the [image] Edit Component button. The Text Variable Editor appears.
  3. Make any changes, as described in the following table:
To | Do This
Specify a default format that will be applied to all instances of the variable (except when a field-specific format has been assigned) | Select a format from the Default format drop-down list. (See Format the Variable and How Example Formats are Interpreted.) Optionally, to keep the answer from breaking across lines in the document, select Non-breaking.
Specify an alternate name for the variable | Enter a title in the Title field. See Understand How Component Titles and Prompts are Used for a description of how and when variable titles are used.
Provide users with additional information about the variable | Enter a prompt in the Prompt field. This information replaces the Variable name and Variable title when the variable is presented during the interview. (See Create a Prompt for a Variable.)
Change the height of the answer field that appears in the interview, allowing it to show more than a single line | Either type the number of answer field lines (up to 12) in the Field height field, or click the up or down arrows to select a number. Changing the answer field height affects only how large the answer field appears in the interview—not how long the answer can be. To limit the answer length, enter a number in the Maximum characters field.
Control how an answer is merged in a Word document when the user presses Enter in a multi-line answer field. The type of answer required determines which break should be used. For example, if the user must enter separate paragraphs of text, HotDocs should merge a paragraph break. However, if the user must enter separate lines in a single paragraph (such as lines in an address), HotDocs should insert a line break. | Select Enter key in multi-line answers inserts new paragraph mark ( ¶ ). To control whether line or paragraph breaks are inserted in literal text strings used in computation scripts, see Use Line Breaks, Paragraph Ends, and Tabs in Computation Scripts.
Control the number of characters allowed in the answer | Either type a value in the Maximum characters field, or click the up or down arrows to select a value (up to 15,000 characters).
Control what type of information a user types and format it as they type | Select a pattern from the Pattern drop-down list. (HotDocs provides a telephone number pattern, time of day patterns, and a Social Security number pattern. You can also create your own. See Use Pattern Codes to Create a Custom Pattern.)
Control how the variable is processed during assembly, as well as how its answer appears in the interview and in the assembled document | Click the Advanced tab and select any of the options. (See Control How HotDocs Processes a Variable, Specify the Width of Answer Fields in the Interview, and Control How HotDocs Processes a Variable, respectively.)
Provide users with helpful information that can assist them in providing the correct answer | Click the Resource tab and provide a resource option. (See Add Resource Information to a Variable or Dialog.)
View a list of all components that refer to this variable | Click the Used In tab. (See View Relationship Between the Current Component and Other Components.)
Enter notes about the component, such as an explanation about why the component was created or how it should function in the interview | Click the Notes tab and enter your comments. (See Add Notes to Components for details.)
Save changes to the variable without closing the variable editor | Click Save.


At a Glance: The Number Variable Editor

You can open the Number Variable Editor by creating a new number variable or by editing an existing variable, either while editing a template or from the Component Manager.

In the first text field A you can enter a name for your variable. To the right of this is a drop-down list B where you can choose the default format from a list of choices or type your own. You also have the option to check a box so that spaces used in the variable's output text will be non-breaking, ensuring it won't be split over two lines of text.

Below this you can enter a variable title C and a prompt D that will both appear on the interview dialog next to the variable answer field.

Below the Prompt field are two number fields E where you can set a minimum and maximum amount for the answer given in the interview. If the user's answer is too large or too small they will see a warning message and have to enter another amount.

Under these fields is a number field F where you can set the amount of decimal places that will be shown in the dialog and in the assembled document. To the right of this is a drop-down list where you can choose to have a currency symbol appear automatically next to the answer field in the interview.

More dialog options are available in the other tabs: Advanced, Resource, Used In and Notes.

To learn more about editing number variables follow the links below:

  • Introduction: Create and Customize Variable
  • Customize a Number Variable

  • Tips on Naming Your Variables


Customize a Number Variable

You can merge numbers into your assembled document using Number variables. You can format numbers as currency, use decimals, and specify minimum and maximum values.

Typically you use a Number variable to represent text in your template that can be calculated—for example, dollar amounts or other sums. Even though Social Security numbers, telephone numbers, and times are numbers, you must use a Text variable with the appropriate pattern to merge one of these numbers into your document. (See Customize a Text Variable.)

When you create a Number variable, you can add a title or prompt to help the user know what information is required. You can also decide how answers will be formatted when they are merged into the assembled document. Finally, you can add a resource or select advanced options that determine how the variable will be processed and merged into the document.

Once a variable is created, you can edit it at any time. (See Edit a Variable.)

To edit the properties of a Number variable

  1. Follow the instructions for inserting a variable, selecting Number as the variable type. (See Insert a Variable Field in a Text Template.)
  2. At the Variable Field dialog box, click the [image] Edit Component button. The Number Variable Editor appears.
  3. Make any changes, as described in the following table:
To | Do This
Specify a default format that will be applied to all instances of the variable (except when a field-specific format has been assigned) | Select a format from the Default format drop-down list. (See Format the Variable and How Example Formats are Interpreted.) Optionally, to keep the answer from breaking across lines in the document, select Non-breaking.
Specify an alternate name for the variable | Enter a title in the Title field. See Understand How Component Titles and Prompts are Used for a description of how and when variable titles are used.
Provide users with additional information about the variable | Enter a prompt in the Prompt field. This information replaces the Variable name and Variable title when the variable is presented during the interview. (See Create a Prompt for a Variable.)
Force users to enter a number that falls within a certain numeric range | Type numbers in the Minimum and Maximum fields.
Specify a certain number of decimal places allowed in the users' answer | Either type a number (0-7) in the Decimal places field, or click the up or down arrows to select a number.
Make HotDocs show a currency symbol next to the answer field when it displays the variable in the interview | Select a symbol from the Currency drop-down list.
Control how the variable is processed during assembly, as well as how its answer appears in the interview and in the assembled document | Click the Advanced tab and select any of the options. (See Control How HotDocs Processes a Variable, Specify the Width of Answer Fields in the Interview, and Control How HotDocs Processes a Variable, respectively.)
Provide users with helpful information that can assist them in providing the correct answer | Click the Resource tab and provide a resource option. (See Add Resource Information to a Variable or Dialog.)
View a list of all components that refer to this variable | Click the Used In tab. (See View Relationship Between the Current Component and Other Components.)
Enter notes about the component, such as an explanation about why the component was created or how it should function in the interview | Click the Notes tab and enter your comments. (See Add Notes to Components for details.)
Save changes to the variable without closing the variable editor | Click Save.

If you are creating a list of answers, you can use a built-in Number variable called COUNTER to count the number of entries in a list. See Count the Number of Entries in a List.

You can automatically number paragraphs or other blocks of text. See Use Automatic Paragraph Numbering.


At a Glance: The Date Variable Editor

You can open the Date Variable Editor by creating a new date variable or by editing an existing variable, either while editing a template or from the Component Manager.

In the first text field A you can enter a name for your variable. To the right of this is a drop-down list B where you can choose the default format from a list of choices or type your own. You also have the option to check a box so that spaces used in the variable's output text will be non-breaking, ensuring it won't be split over two lines of text.

Below this you can enter a variable title C and a prompt D that will both appear on the interview dialog next to the variable answer field.

More dialog options are available in the other tabs: Advanced, Resource, Used In and Notes.

To learn more about editing date variables follow the links below:

  • Introduction: Create and Customize Variable
  • Customize a Date Variable

  • Tips on Naming Your Variables


Customize a Date Variable

You can create variables that merge dates into your assembled document. When you create a Date variable, you can add a title or prompt to help the user know what information is required. You can also decide how answers will be formatted when they are merged into the assembled document. Finally, you can add a resource or select advanced options that determine how the variable will be processed and merged into the document.

Once a variable is created, you can edit it at any time. See Edit a Variable.

To edit the properties of a Date variable

  1. Follow the instructions for inserting a variable, selecting Date as the variable type. (See Insert a Variable Field in a Text Template.)
  2. At the Variable Field dialog box, click the [image] Edit Component button to open the Date Variable Editor.
  3. Make any changes, as described in the following table:
To | Do This
Specify a default format that will be applied to all instances of the variable (except when a field-specific format has been assigned) | Select a format from the Default format drop-down list. (See Format the Variable and How Example Formats are Interpreted.) Optionally, to keep the answer from breaking across lines in the document, select Non-breaking.
Specify an alternate name for the variable | Enter a title in the Title field. See Understand How Component Titles and Prompts are Used for a description of how and when variable titles are used.
Provide users with additional information about the variable | Enter a prompt in the Prompt field. This information replaces the Variable name and Variable title when the variable is presented during the interview. (See Create a Prompt for a Variable.)
Control how the variable is processed during assembly, as well as how its answer appears in the interview and in the assembled document | Click the Advanced tab and select any of the options. (See Control How HotDocs Processes a Variable, and Specify the Width of Answer Fields in the Interview.)
Provide users with helpful information that can assist them in providing the correct answer | Click the Resource tab and provide a resource option. (See Add Resource Information to a Variable or Dialog.)
View a list of all components that refer to this variable | Click the Used In tab. (See View Relationship Between the Current Component and Other Components.)
Enter notes about the component, such as an explanation about why the component was created or how it should function in the interview | Click the Notes tab and enter your comments. (See Add Notes to Components for details.)
Save changes to the variable without closing the variable editor | Click Save.


At a Glance: The True/False Variable Editor

You can open the True/False Variable Editor by creating a new true/false variable or by editing an existing variable, either while editing a template or from the Component Manager.

In the first text field A you can enter a name for your variable. To the right of this is a drop-down list B where you can choose the default format from a list of choices or type your own. You also have the option to check a box so that spaces used in the variable's output text will be non-breaking, ensuring it won't be split over two lines of text.

Below this you can enter a variable title C and a prompt D that will both appear on the interview dialog next to the variable answer field.

Under the prompt field a check box E you can tick if you would like to display the Yes and No radio buttons on the same line instead of vertically aligned.

More dialog options are available in the other tabs: Advanced, Resource, Used In and Notes.

To learn more about editing true/false variables follow the links below:

  • Introduction: Create and Customize Variable
  • Customize a True/False Variable

  • Tips on Naming Your Variables


Customize a True/False Variable

Using a True/False variable, you can merge a word or phrase into an assembled document based on the user's answer to a yes/no question.

Likewise, if you are developing a form template using HotDocs Automator, you can use True/False variables to select and clear check boxes.

When you create a True/False variable, you can add a title or prompt to help the user know what information is required. You can also decide how answers will be formatted when they are merged into the assembled document. Finally, you can add a resource or select advanced options that determine how the variable will be processed and merged into the document.

Once a variable is created, you can edit it at any time. See Edit a Variable.

To edit the properties of a True/False variable

  1. Follow the instructions for inserting a variable, selecting True/False as the variable type. (See Insert a Variable Field in a Text Template.)
  2. At the Variable Field dialog box, click the [image] Edit Component button to open the True/False Variable Editor.
  3. Make any changes, as described in the following table:
To | Do This
Specify a default format that will be applied to all instances of the variable (except when a field-specific format has been assigned) Select a format from the Default format drop-down list.

You can customize this format by entering other true/false text to the left and right of the slash. If the user chooses yes, the text entered to the left of the slash merges. If the user chooses no, the text entered to the right of the slash merges. If you do not enter a format, either true or false is merged. (See Format the Variable.)

Optionally, to keep the answer from breaking across lines in the document, select Non-breaking.

The total number of characters you can use in a merge format is 1,000, but only the first 50 characters appear in the template.
Specify an alternate name for the variable Enter a title in the Title field.

See Understand How Component Titles and Prompts are Used for a description of how and when variable titles are used.
Provide users with additional information about the variable | Enter a prompt in the Prompt field. This information replaces the Variable name and Variable title when the variable is presented during the interview. (See Create a Prompt for a Variable.)
Have Yes and No appear on the same line in the interview | Select Yes/No on same line.
Control how the variable is processed during assembly, as well as how its answer appears in the interview and in the assembled document | Click the Advanced tab and select any of the options. (See Control How HotDocs Processes a Variable, and Specify the Width of Answer Fields in the Interview.)
Provide users with helpful information that can assist them in providing the correct answer | Click the Resource tab and provide a resource option. (See Add Resource Information to a Variable or Dialog.)
View a list of all components that refer to this variable | Click the Used In tab. (See View Relationship Between the Current Component and Other Components.)
Enter notes about the component, such as an explanation about why the component was created or how it should function in the interview | Click the Notes tab and enter your comments. (See Add Notes to Components for details.)
Save changes to the variable without closing the variable editor | Click Save.

If you have multiple True/False variables in a dialog, you can group them so that each variable is preceded with a check box or option button. This allows users to select either one option or multiple options from a list of possible answers. See Change a Dialog's Options.

You can use True/False variables to determine whether sections of text should be included in a document. See Include or Exclude a Single Version of Text Using a Simple IF Instruction or Expression.


At a Glance: The Multiple Choice Variable Editor

To open the Multiple Choice Variable Editor, create a new multiple choice variable or edit an existing variable, either while editing a template or from the Component Manager.

In the first text field A you can enter a name for your variable. To the right of this text field is a drop-down list B where you can choose the default format from a list of choices or type your own. You also have the option to check a box so that spaces used in the variable's output text will be non-breaking, ensuring it won't be split over two lines of text.

Below this you can enter a variable title C and a prompt D that both appear on the interview dialog next to the variable answer field.

Underneath these options is a table E where you can enter the options for the user to choose, prompt text for each option, and the default merge text for each option. The two buttons at the bottom of the table insert or delete rows.

Next there are two drop-down menus. The first menu F lets you choose if the user can select just one choice or select all that apply. You can also select the check box to the right to allow users to choose Other and enter their own option. The second menu G lets you choose the style of the multiple choice question in the interview:

  • Buttons
  • Button Grid
  • List
  • Drop-down List

More dialog options are available in the other tabs: Advanced, Resource, Used In and Notes.


Customize a Multiple Choice Variable

Multiple Choice variables let users select one or more answers from a list, and the selected option or its corresponding merge text is merged into the assembled document. Merge text can be specified either at a variable field or at the variable editor.

When you create a Multiple Choice variable, you can add a title or prompt to help the user know what information is required. You can also decide how answers are formatted when merged into the assembled document. Finally, you can add a resource or select advanced options that determine how the variable is processed and merged into the document.

Once a variable is created, you can edit it at any time.

To edit the properties of a Multiple Choice variable

  1. Insert a variable and select Multiple Choice as the variable type.
  2. At the Variable Field dialog box, click the [image] Edit Component button to open the Multiple Choice Variable Editor.
  3. In the Option column, enter at least two options for users to choose from. (Do not create an option with the exact text None of the Above or Other. Instead, select None of the Above or Other from the Select option.)
  4. Optionally, type a prompt for the option in the Prompt column. The prompt (instead of the corresponding Option text) appears for the options during the interview. (If you need more space for the prompt, click the Options tab and type the text there.)
  5. Optionally, type the text you want merged into the assembled document in the Default Merge Text column. (If you need more space for the merge text, click the Options tab and type the text there.)
  6. From the Select drop-down list, select either One Only or All That Apply.
  7. Depending on your selection in Step 6, select Other or None of the Above. (These options allow users to either type an answer not in the list or specify that the answer needed is not available in the list.)
  8. Choose a display style from the Style drop-down list. The available styles depend on the selection style.
  9. Make any of these changes:
To | Do This
Add longer prompts and merge text for each option, as well as suggest an answer for the user | Click the Options tab and make your changes.
Specify a default format that will be applied to all instances of the variable (except when a field-specific format has been assigned) | Select a format from the Default format drop-down list. Optionally, to keep the answer from breaking across lines in the document, select Non-breaking.
Specify an alternate name for the variable | Enter a title in the Title field.
Provide users with additional information about the variable | Enter a prompt in the Prompt field. This information replaces the Variable name and Variable title when the variable is presented during the interview.
Control how the variable is processed during assembly, as well as how its answer appears in the interview and in the assembled document | Click the Advanced tab and select any of the options. (See Control How HotDocs Processes a Variable, and Specify the Width of Answer Fields in the Interview.)
Provide users with helpful information that can assist them in providing the correct answer | Click the Resource tab and provide a resource option.
View a list of all components that refer to this variable | Click the Used In tab. (See View Relationship Between the Current Component and Other Components.)
Enter notes about the component, such as an explanation about why the component was created or how it should function in the interview | Click the Notes tab and enter your comments.
Save changes to the variable without closing the variable editor | Click Save.

You can control whether merge text is a default property of the variable component, or whether it's a field-specific property of a variable field.

Add and delete rows of options by clicking Insert or Delete.

You can use existing option or merge text lists when you create other Multiple Choice variables in the template. To do this, click the Option and Merge Text column headings and choose the group.

You can copy and paste options either to or from the Multiple Choice Variable Editor.

To SET two or more options for a Multiple Choice variable in a computation script, separate each option with a vertical bar (for example, SET MC Variable TO "Option1|Option2|Option3"). (The Multiple Choice variable must have the Select All That Apply property selected.)

Multiple Choice variables to insert gender references, such as pronouns, are common in templates. HotDocs automatically includes common pronoun sets in the Merge Text list. Click the Merge Text column heading and select an option.

You can customize Multiple Choice option prompts and merge text based on answers the user enters in the interview.


At a Glance: The Computation Editor

You can open the Computation Variable Editor by creating a new computation variable or by editing an existing variable, either while editing a template or from the Component Manager.

In the first text field A you can enter a name for your variable. To the right of this is a drop-down list B where you can choose the default format from a list of choices or type your own. You also have the option to check a box so that spaces used in the variable's output text will be non-breaking, ensuring it won't be split over two lines of text.

Below this is the Script Toolbar where you can choose from the following buttons to search and edit the Script field C:

  • Auto Format: Indents matching pairs of IF and REPEAT instructions, based on the level of their insertion.
  • Undo: Removes any changes you have made to the script.
  • Redo: Reapplies any changes you have made to the script.
  • Cut: Removes the selected text and copies it to the Clipboard.
  • Copy: Copies the selected text to the Clipboard.
  • Paste: Pastes the selected text on the Clipboard at the cursor position in the script.
  • Export Computation: Copies the entire computation variable to clipboard (See Import or Export Computation Variables for more details)
  • Find: Displays the Find dialog box where you can specify the word or text string for which you are searching.
  • Find Next: Finds the next instance of the word or text string for which you are searching.
  • Find and Replace: Searches for a specific word or text string and replaces it with word or text string you specify.
  • Go To: Displays the Go To dialog box where you can specify the location in the script to which you want to move your cursor. You can go to either a specific line or character in the script.
  • Indent Block: Indents the selected text.
  • Outdent Block: Realigns the indented text with the left margin of the scripting box. (If the text has been indented more than once, realigns the text with the previous tab stop.)
  • Comment Block: Causes the selected text to become inactive, meaning HotDocs won't process it when it processes the computation. Often, template developers "comment out" scripting if they need to close the scripting dialog box but HotDocs won't let them because the script is invalid. Additionally, developers often add personal explanations to the scripts they are writing, and commenting them out keeps the computation operational.
  • Uncomment Block: Removes any commenting that has been applied to the selected script. Once the script is uncommented, HotDocs will attempt to process it.
  • Options: Displays the HotDocs Options dialog box where you can customize the way script editing features work.
  • Help: Opens the relevant page of the HotDocs Help File.

You have the option of writing directly in the Script field, using your mouse to drag variables, operators, and models from the lists below to this box, or you can press Ctrl+Space to have HotDocs display these lists directly in the script so you can use the keyboard to choose the syntax item you need.

On the left is the Component list D showing a list of all the components in this template. You can search it using the find field at the bottom, filter it by selecting a component type from the drop-down list at the top or create a new component by clicking on the [image] New Component button. In the centre E is a list of useful scripting operators, at the top right is a list of Instruction models F, and at the bottom right is a list of Expression models G.

To access help for each instruction or expression, first select the model in one of the lists and then press Ctrl+F1.

For further information on how to use the operators, see Use Operators when Scripting, and for further information what the Instruction and expression models do, see Full List of Instruction Models and Full List of Expression Models.

More dialog options are available in the other tabs: Advanced, Resource, Used In and Notes.

To learn more about editing computation variables follow the links below:

  • Introduction: Create and Customize Variable
  • Customize a Computation Variable
  • Use the Script Editor
  • At a Glance: The Locals tab (Variable/Dialog Editor)
  • At a Glance: The Advanced tab (Variable Editor)
  • At a Glance: The Resource tab (Variable/Dialog Editor)
  • At a Glance: The Used In tab (Variable/Dialog Editor)
  • At a Glance: The Notes tab (Variable/Dialog Editor)

  • Tips on Naming Your Variables


Customize a Computation Variable

You can use a Computation variable to calculate number, date, true/false, and text values based on answers a user enters. The computed value can then be merged into the assembled document. Computation variables can also be used to group several instructions or expressions for insertion into a template, which results in quicker assembly.

Creating a computation requires you to write a script using the HotDocs scripting language. The actual process of writing a script depends on your skill level in using this language. If you're a beginner, you can drag scripting models into the Script field inside the script editor and allow HotDocs to guide you in filling in the required information. With experience, you can type the script directly in the field. Some developers may wish to create Local Variables and Parameters that are specific to the computation.

The title bar of the Computation Editor contains information that can help you evaluate the correctness of the script as you write it. When a script is invalid (meaning it does not adhere to the rules of the HotDocs scripting language), HotDocs includes the word [Invalid] in the title bar. Once a script is valid, HotDocs then notes what type of result the script produces (for example, [Text] or [Number]).

Once a variable is created, you can edit the variable at any time.

To edit the properties of a Computation variable

  1. Insert a variable, selecting Computation as the variable type.
  2. At the Variable Field dialog box, click the [image] Edit Component button to open the Computation Editor.
  3. In the Script field, enter a computation script.
  4. Make any changes, as described in the following table:
To | Do This
Indent matching pairs of IF and REPEAT instructions | Click the [image] Auto Format button. HotDocs indents the instructions based on the level of their insertion.
Specify a default format that will be applied to all instances of the variable (except when a field-specific format has been assigned) | Select a format from the Default format drop-down list. Optionally, to keep the answer from breaking across lines in the document, select Non-breaking.
Control how the variable is processed during assembly, as well as how its answer appears in the interview and in the assembled document | Click the Advanced tab and select any of the options. (See Control How HotDocs Processes a Variable, and Specify the Width of Answer Fields in the Interview.)
Add a title to the Computation variable | Click the Advanced tab and enter the title in the Title field.
Provide users with helpful information that can assist them in providing the correct answer | Click the Resource tab and provide a resource option.
View a list of all components that refer to this variable | Click the Used In tab.
Enter notes about the component, such as an explanation about why the component was created or how it should function in the interview | Click the Notes tab and enter your comments.
Save changes to the variable without closing the variable editor | Click Save.

You can create new variables directly at the Computation Editor. Make sure the Components list contains the type of variable you want to create, and then click the [image] New Component button. Similarly, you can edit an existing variable in the list by double-clicking it.

If you experience errors when writing a script, it may be because you are using the instruction and expression keywords incorrectly. If you aren't receiving errors, but the script produces results you don't expect, you can examine the script line by line to see where the logic is flawed.

HotDocs will not let you close the Computation Editor or save a script if the script is invalid. If you need to close or save, you must either comment out the script (by highlighting the script and clicking the [image] Comment Block button) or place a QUIT instruction at the beginning of the script (see QUIT).


Insert a Personal Information Variable

Personal Information variables store basic information about the user, such as a name, a company name, and a phone number in the Current User key of the Windows System Registry. Those answers can then be used in any document that uses the same Personal Information variables, regardless of which answer file is being used. HotDocs provides 12 Personal Information variables, but you can also create your own.

To insert a Personal Information variable

  1. At the template, place your cursor where you want the Personal Information variable and click the [image] Variable Field button. The Variable Field dialog box appears.
  2. Select Personal Information.
  3. Either type a name for a new Personal Information variable in the Variable field, or click the Variable drop-down button to select an existing Personal Information variable.
  4. Optionally, clear Use default and select an example format from the Format drop-down list. This format will be applied to this instance of the variable only. (See Format the Variable.)
  5. Optionally, click Show Advanced to assign options that control how that specific instance of the variable is merged into the assembled document. See Control How Answers Appear in the Assembled Document for information about each option.

When a Personal Information variable is inserted in the template, its name is preceded by the word MY. This notation distinguishes it from other variables in the template.

When users assemble documents that use Personal Information variables, HotDocs asks for the information and then stores it in the HotDocs section of the system registry. Once entered, the variable is never asked again; however, users can change their information at the HotDocs Options dialog box. See Edit Answers for Built-In Personal Information Variables.


Create a Date Variable that Inserts the Current Date

You can insert the current date in a template using the built-in variable, TODAY. The variable won’t be asked during the interview—instead TODAY automatically merges the current date, based on the Windows System Clock.

To insert the TODAY variable

  1. Follow the instructions for inserting a variable, selecting Date as the variable type. (See Insert a Variable Field in a Text Template.)
  2. At the Variable Field dialog box, click the Variable drop-down button and select TODAY.
  3. Optionally, clear Use default and select a format from the Format drop-down list. This format will be applied to this instance of the variable only. (See Format the Variable.)


Merge the Name of the Answer File in the Document

In some documents, you may need to include the name of the answer file that was used to assemble the document. You can insert an instruction that merges the path and file name of the answer file directly in the document. If the answer file is new and unsaved, the text, New Answer File, is merged into the assembled document.

To create an answer file variable

  1. Open a template for editing. (See Edit a Template.)
  2. Position the cursor in the template where you want to merge the name of the answer file.
  3. Click the Variable Field dialog box and choose Text as the Variable type.
  4. Click the Variable drop-down button and choose ANSWER FILE NAME.


Use Automatic Paragraph Numbering

You can create Number variables that supply automatic paragraph numbering to lists of answers in your HotDocs text template. This feature is not available in JavaScript or Silverlight Interviews.

HotDocs paragraph numbering values are merged into an assembled document as text, not codes. This means that if users add or delete a paragraph after the document has been assembled and sent to the word processor, the numbering will not adjust. To have automatic paragraph numbering that adjusts to changes made in the assembled document, use your word processor’s numbering codes.

To create automatic paragraph numbering

  1. Position your cursor at the place in the template where you want the paragraph numbering to take effect.
  2. Follow the instructions for inserting a variable, selecting Number as the variable type. (See Insert a Variable Field in a Text Template.)
  3. With the Variable Field dialog box displayed, type PN# in the Variable field. (Replace # with a number representing the paragraph level. Numbers 1–9 can be entered.)
  4. Optionally, clear Use default and select one of the following formats: 9.9, 9.9.a, abc, or IX. (If no example format is selected, the default—9—is used.)
  5. Insert this Number variable before every paragraph of that level.

You can use SET instructions to customize HotDocs paragraph numbering. For example, the computation script, SET PN1 TO 10, would automatically start the paragraph numbering at 10. Additionally, if you assign the abc example format to the PN1 variable, HotDocs will merge in the alphabetic character that corresponds with the number used in the SET instruction. For example, the computation script, SET PN1 TO 10, would start numbering the variable «PN1:ABC» with the letter J.


Edit a Variable

You can edit a variable, including changing a variable's properties. Changes to the component properties of a variable affect all instances of the variable in the template.

To edit a variable's field-specific properties, edit them at the Variable Field dialog box. To do this, place your cursor in the variable field (at the template) and click the [image] Variable Field button. Make sure Use default is cleared.

You can edit a variable directly at the template, or you can edit it using Component Manager.

To edit a variable at the template

  1. In the text template, click in the variable field and click the [image] Edit Component button. Or, in a form template, select the field and click the [image] Edit Component button. The Variable Editor appears.
  2. Make any changes. (Click any of the following links for information on customizing specific variable types: Text, Date, Number, True/False, Multiple Choice, and Computation)

To edit a variable at Component Manager

  1. Open Component Manager. (See Open and Close Component Manager.) The Component Manager window appears.
  2. Select the variable from the list and click the [image] Edit Component button. The Variable Editor appears.
  3. Make any changes. (Click any of the following links for information on customizing specific variable types: Text, Date, Number, True/False, Multiple Choice, and Computation)

If you're using Microsoft Word 2000 and above, you can double-click in a variable field in the template to open the Variable Field dialog box.

For instructions on renaming a variable, see Rename Components in a Single Template.


Format the Variable

You can cause an answer to be formatted a certain way in an assembled document—even if the user types the answer using a different format. For example, a number can be merged as ONE HUNDRED DOLLARS in the assembled document, even if the user types 100. (See How Example Formats are Interpreted.)

You can assign the format either when you insert the variable field or when you create the variable component. Specifically, if you assign a format at the Variable Field dialog box, the format applies to that specific instance of the variable only—the format is a property of the field. However, if you assign a format to the component, that format is used each time the variable is inserted into the template. The format becomes a property of the component.

When you insert a new variable in a template (without replacing any template text), you can specify which format you want HotDocs to use for that instance. However, when you create a variable by replacing existing template text (see Insert a Variable Field in a Text Template), HotDocs looks at the text you have selected and attempts to suggest a field-specific format based on what it sees. For example, if you select the template text, 14 November 1973 and then create a Date variable, HotDocs suggests a field-specific format of 3 June 1990. This format will be applied to this instance of the variable only.

Finally, if users' answers shouldn't break across lines in the document, you can force the answer to be non-breaking. You do this by selecting the Non-breaking property next to the Format drop-down list at either the Component Editor or at the Variable Field dialog box.

To assign a field-specific format to a variable

  1. At the template, place your cursor inside a variable field and click the [image] Variable Field button. The Variable Field dialog box appears.
  2. If it's selected, clear Use default. The format options become available.
  3. Click the Format drop-down button and select an appropriate format.
  4. Optionally, select Non-breaking. This keeps the answer from breaking across lines in the document. (You can assign this property to a variable field even if you do not assign a specific format.)
  5. Click OK.

When you assign a field-specific format to the variable, the example format is merged with the variable name in the field.

To assign a default format to a variable

  1. At the template, place your cursor inside a variable field and click the [image] Edit Component button. The Variable Editor appears.
  2. Click the Default format drop-down button and select an example format.
  3. Optionally, select Non-breaking to keep the answer from breaking across lines in the document. (You can assign this property to a variable field even if you do not assign a specific format.)
  4. Click OK.

Now, when you insert this variable in other places in the template, the format you have specified will be used. (You can, of course, override this by assigning a field-specific format.)

When you view the Variable Field dialog box, the default example format you have selected appears grayed in the Format field, and Use default is selected. If you clear this check box, the default format is suggested as the field-specific format. It also becomes a property of the field.

The Use defaults option at a Variable Field dialog box controls all field properties of a variable. (Field properties include answer formats, Multiple Choice merge text, and field formats.) This means that you cannot assign a field-specific property to a field and then assign a default property to the variable component. If you choose one type of property, all other properties must be the same type.

You can create your own formats by typing an example in the Format field. Follow the format of the existing examples—for example, use a variation on the number nine for number examples, and use a variation on the date June 3, 1990 for date examples.


Create a Prompt for a Variable

By default, when you assign a name to a variable, that name is what appears in the interview to guide users in providing an answer. However, sometimes you may name your variables using a scheme that would be confusing for your users to understand. Likewise, some situations require more detailed instructions. HotDocs enables you to provide longer explanations by using a prompt. During the interview, the prompt replaces the variable name (and title, if one has been provided).

To create a prompt for a variable

  1. Edit the variable. (See Edit a Variable.) The Variable Editor appears.
  2. In the Prompt field, type the information about the variable you want the user to see.
  3. Optionally, to assign font properties to the prompt text (such as bold or underline), enter a formatting dot code. (See Introduction: Dot Codes.)

You can include a variable in the Prompt field, which merges the user's answer into the prompt during the interview. See Use Variables and Scripts in Prompts, Dialog Element Text, and Resources.

When you group variables in a dialog, you can specify the visual relationship between variable prompts and answer fields by choosing an alignment option at the Options tab of the Dialog Editor. See Change a Dialog's Options.

You can make HotDocs show only an answer field—with no prompt or variable name—in the interview. To do this, type NONE in the Prompt field.

You can type an ampersand (& ) immediately before a character in a variable prompt to make that character an accelerator key. During the interview, an accelerator key enables the user to move the cursor to that answer field by pressing the Alt key while also pressing the underlined character in the prompt. This functionality can create an issue if you need to include a word in your prompt that has an ampersand immediately preceding a character. To do this without creating an accelerator key, you must type two ampersands (&&) where you want the ampersand to appear as a single ampersand. For example, to have "R&D" as your variable prompt you would need to type "R&&D".


At a Glance: The Advanced tab (Variable Editor)

You can open the Advanced tab from a Component Editor by opening the editor from the Component Manager or while editing the template.

Using the first three check boxes A you can select whether HotDocs will Ask the component automatically, Warn the user when this component is unanswered in the interview, and/or Save the answer entered for this component in the answer file. To the right of these check boxes is a drop-down list B that lets you decide that the component will do when it is irrelevant.

Below this is a section of options relating to the Answer field width C. Using the drop-down list you can select from the widths; Full, Calculated or Exactly. If you choose Full the answer field will fill the maximum width allotted to it in the interview, if you choose Calculated HotDocs will choose an estimated width based on the type of component, or if you choose Exactly the number field to the right will ungray and you can select the exact amount of units width the answer field requires. You can set this option for both Regular and Spreadsheet fields.

At the bottom of this dialog is a section where you can set the Default merge field properties. Use the first number field D to specify the minimum number of character spaces you want to merge into the assembled document. You can use the drop-down E menu to the right of that to select the alignment of the answer within a merge field. You can select from Left or Right. In the text field F to the right you can enter a character that HotDocs will use to fill any extra spaces in the answer field instead of the default; which is a space. The text field G at the bottom of the tab can be used to enter specific text you would like HotDocs to merge into the document in place of this variable if it is unanswered.

The Advanced tab on a Computation Variable Editor is slightly different. There is a text box at the top you can enter a title for the component then below this there is only the options for Default merge field properties. These are the same as on the other editors.

To learn more about using the Advanced tab follow the link below:

  • Automatically Disable Irrelevant Variables in Interviews
  • Control How HotDocs Processes a Variable
  • Specify the Width of Answer Fields in the Interview
  • Control How Answers Appear in the Assembled Document


Control How HotDocs Processes a Variable

You can have greater control over how HotDocs processes a variable. For instance, you can control whether a variable appears during the interview, whether the answer is saved, and whether users are warned when they leave the question unanswered. These options are properties of the variable component, and not the variable field.

By clearing Ask automatically, you cause a variable to be asked only when it is in a dialog that is specifically asked. (See How Variables and Dialogs Are Asked for details on how variable and dialogs are asked.)

When users leave questions unanswered during the interview, HotDocs leaves the dialog's icon in the interview outline partially answered and notes the unanswered question in the End of Interview dialog. When you clear Warn when unanswered, HotDocs suppresses these warnings. You might want to assign this option to variables that won’t always be answered in all cases—for example, a variable that asks a middle name or a second address line.

Clearing Save in answer file prevents a variable’s answer from being saved. You might use this feature if the variable is a temporary variable (for example, a variable that has its value SET to a temporary value for use in a script). This will keep HotDocs from marking the variable as answered and prompting the user to save the answer file.

When HotDocs Server assembles a template with the Save in answer file option cleared on some variables, the answers are still submitted to the server for document assembly, after that the host application needs to handle the removal of answers marked as don't save from the answer file.

These options are not available for Computation variables.

To control how HotDocs processes a variable

  1. At the HotDocs template, edit a variable. (See Edit a Variable.)
  2. Click the Advanced tab. The dialog box changes to show several advanced options.
  3. Clear any of the following options, as explained in the following table:
To | Do This
Prevent the variable question from appearing in an interview unless the variable is used in a dialog that is specifically asked | Clear Ask Automatically.
Prevent the unanswered variable warning from appearing for this variable when a user finishes the interview. (The warning appears in both the End of Interview dialog and when you attempt to close an assembly window. HotDocs also uses the unanswered or partially answered dialog icon in the interview outline.) | Clear Warn when unanswered.
Prevent the variable’s answer from being saved in an answer file | Clear Save in answer file.


Specify the Width of Answer Fields in the Interview

You can control the width of an answer field in an interview. This includes controlling column widths if the variable is repeated in a spreadsheet dialog.

To control the appearance of the variable's answer field

  1. At the HotDocs template, edit a variable. (See Edit a Variable.)
  2. At the Variable Editor, click the Advanced tab. The dialog box changes to show several advanced options, including answer field widths.
  3. Click the Regular drop-down button and choose one of the following options:
    • Select Full to have HotDocs use the full width of the dialog pane to display the answer field.
    • Select Calculated to have HotDocs calculate an approximate width, based on the possible answer length.
    • Select Exactly and enter the specific number of units you want HotDocs to use for the answer field width.
  4. Click the Spreadsheet drop-down button and choose one of the following options:
    • Select Calculated to have HotDocs calculate an approximate column width, based on the possible length of the answer and the actual width of the dialog pane.
    • Select At Least and then enter the minimum number of characters that should determine the column width.

These options are not available for Computation variables.

The Exactly field width measurement takes into account the width of the entire field, including field borders, group boxes (on True/False and Multiple Choice variables), and the calendar icon for Date variables. One unit is about equal to the width of the character 5.

For text fields, Calculated field widths are calculated by looking at the Maximum units setting. If this isn't set, HotDocs will assume 30 units. For date and number fields, HotDocs figures out the longest field required to accept the date or maximum number. For multiple choice and true/false answer fields (or group boxes), HotDocs uses the width required to show all the options. One unit is about equal to the width of the character 5.


Control How Answers Appear in the Assembled Document

You can control some of the ways a variable's answer is merged into an assembled document. For example, you can control the characters that are filled in when you need to "lengthen" an answer. You can also control the text that is merged if the user chooses not to provide an answer.

Specifically, with the Fill character and Field width fields, you can specify how many characters wide an answer should be, and which character will be used to fill spaces the answer doesn't use. If the answer is longer than the width of the field, the entire answer is merged into the document. If the answer is shorter than the field width, HotDocs inserts the necessary number of fill characters. (The default fill character is a space.) If no answer is given, the minimum number of spaces doesn't affect the merge field. However, you can specify text you want merged into the document when the variable is unanswered by entering it in the Unanswered text field. This text will override the Unanswered variable placeholder users can select at HotDocs Options. (See Tips on Using Unanswered Variable Placeholders.)

The Align answer option lets you align the merged answer, based on the fill characters that are given. For example, if you select Left, the answer appears first, followed by any fill characters. If you select Right, the answer appears after any fill characters.

Finally, at times you may need to format the answer using a symbolic font. (For example, perhaps you need to merge a bar code.) To do this, you can assign a Font at the Variable Field dialog box.

To control how the variable's answer is merged into the assembled document

  1. At the template, edit a variable by placing your cursor in the field and clicking the [image] Variable Field button. The Variable Field dialog box appears.
  2. If it's selected, clear Use defaults. All the merge field properties become active.
  3. Click Show Advanced. The dialog box changes to show several advanced options.
  4. Select the options that apply, as explained in the following table:
To | Do This
Specify the minimum number of character spaces you want the merge field to use | Type a number in the Field width field, or use the up or down arrows to select a number
Specify the alignment of the answer within the merge field. (For example, if you are creating a column of dollar amounts, you can right-align the numbers.) | Choose Right or Left from the Align answer drop-down list. When aligning Number variables, HotDocs will align the answer in the answer field as well as in the merge field in the assembled document.
Fill extra spaces in an answer field with a specific character (instead of a space character, which is the default) | Type a character in the Fill character field.
Merge specific text when the variable is unanswered | Type the text in the Unanswered text field. (See Tips on Using Unanswered Variable Placeholders.)
Format answers using symbolic character fonts, such as bar code fonts | Click the Font drop-down button and choose a font from the list. This is a field-specific property available only in text templates. Additionally, you can assign this property only at the Variable Field dialog box. Make sure your users have the same fonts installed on their computers.

The Use default option at a Variable Field dialog box controls all of the properties of a variable field. (Field-specific properties include variable formats, Multiple Choice merge text, and formatting styles for answer fields. These options are visible when you click Show Advanced.) This means that you cannot assign a field-specific property to a field and then assign a default property to the variable component. If you choose one type of property, all other properties must be the same type.

Where you specify the Advanced options determines where the formatting occurs. If you change them at the Variable Field dialog box, the changes will apply to that instance of the variable only. If you change the options at the Advanced tab of the Variable Editor, the changes are used as defaults for every instance of the variable.


At a Glance: The Resource tab (Variable/Dialog Editor)

You can open the Resource tab from a Dialog or Component Editor by opening the editor from the Component Manager or while editing the template.

On this tab you can assign a resource to the dialog to give the user more information when they are filling out answers in the interview. Using the drop-down list A at the top of the tab you can select from:

  • Plain Text
  • HTML Help
  • Windows Help
  • Folio Infobase
  • Custom Program
  • URL

The check boxes B let you choose different display options and are only available for certain resource types. Depending upon which type of resource you choose, you will see different options on the rest of the tab. See the table below:

Resource Type | Display Type | Options
Plain Text | Pop-up | Enter the resource text in the Text field.
HTML Help | Pop-up Resource Pane | In the first text field use the [image] Browse button to locate the relevant HTML Help file. In the second text field type in the name of the Help file topic you wish to display.
Windows Help | Pop-up | In the first text field use the [image] Browse button to locate the relevant Windows Help file. In the second text field type in the name of the Help file topic you wish to display.
Folio Infobase | None | In the first text field use the [image] Browse button to locate the relevant Infobase file. In the second text field type in the jump link to the page you wish to display.
Custom Program | None | In the first text field use the [image] Browse button to locate the relevant program file. In the second text field type in the command-line parameters you wish to use.
URL | Resource Pane | In the first text field use the [image] Browse button to locate the relevant web page. In the second text field, type the name of the bookmark you want to link to on the page.

To learn more about using the Resource tab follow the link below:

  • Add Resource Information to a Variable or Dialog
  • Assign HTML Help as a Resource
  • Assign Windows Help as a Resource
  • Assign Folio Help as a Resource
  • Assign a Custom Program as a Resource
  • Assign a Web Page as a Resource


Add Resource Information to a Variable or Dialog

Sometimes including additional information about questions users are answering during an interview can make it easier for them to enter the correct answer. To provide this extra information, you can assign resources either to variables or to dialogs. Users can view this information by viewing the Resource pane during the interview.

By default, resources are displayed as plain text. However, you can use any of the following other formats or programs to create and display resources. (Click the associated link for instructions on creating the resource type.)

  • WinHelp
  • HTML Help
  • Folio infobase
  • Custom program
  • Web page

To add a plain text resource to a variable or dialog

  1. Open the variable or dialog to which you want to assign resources. (See Edit a Variable or Edit a Custom Dialog.)
  2. Click the Resource tab.
  3. Click the Resource type drop-down button and select Plain Text.
  4. Type the information in the Text field.
  5. Optionally, to use variables in the resource or make text in the resource conditional, enter the variable name, or enter an IF instruction or expression. (See Use Variables and Scripts in Prompts, Dialog Element Text, and Resources.)
  6. Optionally, select Pop-up to display the information in a pop-up help window, rather than a typical window. (The pop-up window only appears when the user clicks the Resource button next to the answer field.)

During assembly, HotDocs displays the resource text either in the resource pane or in a text-only pop-up window, depending on your selection. (Pop-up windows stay open only until the user clicks somewhere else.)

You cannot use angle brackets with text between them in a plain-text resource (for example, <Your Name>). Instead, you must use the codes &lt; and &gt; to insert the brackets (for example, &lt;Your Name&gt;). (You can use brackets, however, if you put a space immediately after the opening angle bracket and immediately before the closing angle bracket, like this < Your Name >.)

When editing Multiple Choice variables, you can assign resource text to the entire variable or to individual options. At the Multiple Choice Variable Editor, click the Resource tab and make your selection at the Resource for drop-down list.


At a Glance: The Used In tab (Variable/Dialog Editor)

You can open the Used In tab from a Dialog or Component Editor by opening the editor from the Component Manager or while editing the template.

If the dialog has been used in any other components you will see a list of them in the main area B by default it shows only dialog and database components. To sort this list into alphabetical order you can click on the [image] Sort button A.

Below this main section are two further options C for the list. Clicking on the List All Components button will show every component that uses this dialog, not just dialog and database components. Checking the box next to it will have HotDocs list all components every time this tab is viewed.

To learn more about using the Used In tab follow the link below:

  • View Relationship Between the Current Component and Other Components


View Relationship Between the Current Component and Other Components

When editing a component (such as a variable or a dialog), you can view a list of other components in the template that refer to it. You can view this list at the Used In tab of the component editor.

By default, when you first click the Used In tab, HotDocs displays only the dialog or database component to which the variable is linked, as well as any other dialogs in which the variable is used. To generate a complete list of component references (including other components that refer to the current component), you can click the List All Components button. If you want a complete list to be displayed every time you click the Used In tab, you must select Always list all components when viewing this tab. (Depending on the complexity of your template, you may experience a slight delay each time you view this list, which is why displaying it is optional.)

To view component relationships

  1. At the template or at Component Manager, select the component and edit it. (See Edit a Variable.) The Component Editor appears.
  2. Click the Used In tab. The window changes to show a field listing the dialog(s) (and database components) in which the component is used.
  3. Optionally, to view a list of other components that refer to this component, click List All Components. HotDocs creates a list of all components that refer to this particular component. (Depending on the complexity of your template, this may take several seconds.)
  4. Optionally, to always view this list of component cross-references each time you view the Used In tab (regardless of the component you are editing), select Always list all components when viewing this tab.

The dialog to which the variable is linked is marked with a red arrow. Dialogs that simply use the component are marked with a plain arrow. See Use the Same Variable or Clause in Two or More Dialogs.

If you make changes to other components in the component file while you have the component editor open, you can click List All Components again to regenerate the list of used components.


At a Glance: The Notes tab (Variable/Dialog Editor)

You can open the Notes tab from a Dialog or Component Editor by opening the editor from the Component Manager or while editing the template.

On this tab you can write any note about the dialog in the text field A. These do not show up anywhere in the interview and are strictly for the template developers.

To learn more about using the Notes tab follow the link below:

  • Add Notes to Components


Add Notes to Components

As you create components, you may want to include notes about the component. For example, maybe you need to include information about restrictions you applied to a Number variable, or maybe you need to explain the purpose of the variable or dialog or how it should be used in the template. To do this, you can add a note to the component. You add notes at the Notes tab of the component editor. Notes can be viewed by anyone editing the component.

You can add a comment to a variable field or instruction field so it can be visible by anyone editing the template text. See Add a Comment to a Variable or Instruction Field for details.

To add development notes to a component editor

  1. Edit the component. (See Edit a Variable or Edit a Custom Dialog.) The component editor appears.
  2. Click the Notes tab. The view changes to show a multi-line text field.
  3. Enter the notes you want associated with the component.


Add a Comment to a Variable or Instruction Field

When you insert a variable or instruction in a template, you can add a comment to the insertion field. Comments are useful when you want to document information about the variable or instruction you are inserting and you want those comments to be viewable by anyone editing the text of the template.

Comments can also be useful when viewing a markup view of the template—the comment can describe (in easy-to-understand terms) the purpose of the field or provide a more reader-friendly name for the field.

If you want to add comments to a specific component, enter it at the Notes tab of the component editor. See Add Notes to Components for details.

To add a comment to a variable or instruction field

  1. Insert a new variable or edit an existing variable. (See Insert a Variable Field in a Text Template or Edit a Variable.) The Variable Field dialog box appears. Or, insert a new instruction or edit an existing instruction. The instruction field dialog box appears.
  2. Click Show Advanced. The view expands to show advanced options.
  3. Enter your comments in the Comment field.

When you click OK, HotDocs merges the field, with the comments merged after the variable name, like this: «Employee Salary //Calculates biweekly salary based on hourly rate».

To merge a comment in an END instruction (such as END IF, END REPEAT, OR END SPAN), place your cursor before the closing chevron, enter two forward slashes (//), and type your comment, like this: «END IF //Closing». If the END instruction contains a Keep Return code ( | ), enter the comment before the return code, like this: «END IF //Closing |».


Format an Answer as the Time of Day

You can merge an answer that is formatted as a time of day. To do this, you assign a pattern to a Text variable. During the interview, users will be prompted to enter the hours and minutes in 12-hour or 24-hour format.

To assign a time pattern to a Text variable

  1. Follow the instructions for inserting a variable, selecting Text as the variable type. (See Insert a Variable Field in a Text Template.)
  2. At the Variable Field dialog box, click the [image] Edit Component button. The Text Variable Editor appears.
  3. Click the Pattern drop-down button and (using the spin control) choose the time of day pattern you wish to use, based on the following information:
    • Choose 99:99 to insert a time in 24-hour format.
    • Choose 99:99 am to insert a time in 12-hour format. The morning or afternoon designation will not include periods (for example, am or pm).
    • Choose 99:99 a.m. to insert a time in 12-hour format. The morning or afternoon designation will include periods (for example, a.m. or p.m.).

If your component file was created before the release of HotDocs 2006, you must create the time-of-day pattern. To do this, type 99:99, 99:99 a.m., or 99:99 a.m. in the Pattern field.


Number Variable Formats, Percentages, and Fractions

Formats

In Number variable formats, HotDocs distinguishes between 9’s and 0’s. A 9 displays a digit unless it is a leading zero or a trailing zero after the decimal point. A 0 displays digits when it is a trailing zero. For example, if the number is 850, the example format 9999.99 would merge 850 while the example format 0009.00 would merge 850.00. Also, if you are using a Number variable to merge a decimal, make sure the Decimal places field contains a value greater than 0.

If you want commas to be merged into the number answer, make sure your format does not use leading zeros.

Another set of similar example formats includes the examples NINE, NONE, and ZERO. These three example formats all merge an uppercase alphabetic number unless the answer is 0. When the answer is 0, NINE merges NO, NONE merges NONE, and ZERO merges ZERO. (You can also enter these formats in lowercase or initial caps.)

Percentages

You can format number answers as percentages. To do this, you must assign an example format of 99% to the variable, assign 2 decimal places to the variable, and set the Maximum to 1. You should also include a variable prompt to instruct the user to enter the answer as a decimal—for example, 0.50 for a result of 50%.

Another option is to include a percent symbol in the template text, so that the user can enter a whole number. If you do, you might want to set a Maximum limit of 100, and you might want to include a resource or prompt that explains how the user should enter the answer.

Fractions

Example formats can also be used to enter fractions. While HotDocs does not allow users to directly enter fractions, it can convert a decimal value to a fraction before it merges the value into the document. To merge a fraction, first make sure the Decimal places field contains a number greater than 0 so users can enter a decimal answer. Then specify a fraction as an example format. The number in the denominator of the example will be the number used in the denominator of the merged value. Fractions are rounded and simplified. For example:

Format Examples | The user types 2.3 | The user types 2.5 | The user types 2.6
9 1/3 | 2 1/3 | 2 2/3 | 2 2/3
9 1/8 | 2 1/4 | 2 1/2 | 2 5/8


Work with Multiple Choice Options

By default, when you first create a Multiple Choice variable, you have limited space for entering prompts and merge text. If you need more space, click the Options tab and enter the information there. You can also have HotDocs suggest one of the options as a possible answer for the user.

To provide additional information for option prompts and merge texts

  1. Create a Multiple Choice variable.
  2. After specifying the variable properties at the Properties tab of the Multiple Choice Variable Editor, click the Options tab.
  3. Click the Option drop-down button and select the option you want to modify.
  4. Change any of the following settings:
    • Type a new prompt in the Prompt field or edit the existing prompt. (500-character limit)
    • Type a new merge text option in the Default merge text field or edit the existing merge text. (1,000-character limit)
    • Select Automatically select this option if variable is unanswered when displayed to have HotDocs pre-select one or more options for the user. During the interview, the user can either accept this selection, or make a different selection.

Do not use the Automatically select this option if variable is unanswered when displayed option if you are using the Multiple Choice variable in a repeated dialog. Because of the way HotDocs processes dialogs, whenever you set a default value for a variable, there will always be one extra repetition in the dialog. To set a default option for a repeated Multiple Choice variable, use a computation script that conditions the default value.

You can assign resources to each specific option of a Multiple Choice variable. See the note at the end of Add Resource Information to a Variable or Dialog.

If you are using a SET instruction, you can set two or more options for a Multiple Choice variable. To do this, separate each option with a vertical bar (for example, SET MC Variable TO "Option1|Option2|Option3"). The Multiple Choice variable must have the Select All That Apply property set.


Specify Merge Text Options as Default or Field-Specific Properties

When you create a Multiple Choice variable, you can control whether merge text options are automatically available each time you insert the variable, or whether they are only available for a specific instance of the variable. You determine this by typing your merge text either at the Multiple Choice Variable Editor or at the Variable Field dialog box.

To assign default merge text to a Multiple Choice variable

  1. Create or edit a Multiple Choice variable. (See Customize a Number Variable.)
  2. At the Multiple Choice Variable Editor, enter your options in the Option column and enter the corresponding merge text in the Default Merge Text column.
  3. Click OK. The merge text options you just entered are now saved with the other component properties.
  4. At the Variable Field dialog box for the Multiple Choice variable, select Use default. HotDocs grays all field properties for the variable.

To assign field-specific merge text to a Multiple Choice variable

  1. Create or edit a Multiple Choice variable (see Customize a Multiple Choice Variable and Edit a Variable.)
  2. At the Variable Field dialog box, clear Use defaults. HotDocs ungrays the Merge Text column.
  3. Enter the merge text that corresponds with the Options you have specified.

The Use defaults option at a Variable Field dialog box controls all field properties of a variable. (Field-specific properties include variable formats, Multiple Choice merge text, and formatting styles for answer fields, which are visible when you click Show Advanced.) This means that you cannot assign a field-specific property to a field and then assign a default property to the component. If you choose one type of property, all other properties must be the same type.

When assigning merge text to a variable, you can assign an existing merge text group by clicking the Default Merge Text column heading and choosing the option from the drop-down list.


Copy and Paste Columns in a Multiple Choice Variable Spreadsheet

At times, you may have an Excel spreadsheet or Microsoft Word table that contains the data you want to use as options, prompts, and merge text for a Multiple Choice variable. Other times you may want to copy this information from a Multiple Choice variable to a spreadsheet or table. Using the shortcut menu at the Multiple Choice Variable Editor, you can do this.

To copy data from a spreadsheet or table and paste it into the Multiple Choice Variable Editor

  1. In the spreadsheet or table, select or highlight the columns and rows that contain the information you want to copy and copy them. (See the application's help for information on copying.)
  2. Edit the Multiple Choice variable. (See Edit a Variable.) The Multiple Choice Variable Editor appears.
  3. Place your cursor in the spreadsheet column where you want the new data to be used.
  4. Right-click and choose Paste Multiple from the shortcut menu. The data is pasted into the spreadsheet.

To copy data from the Multiple Choice Variable Editor and paste it into a spreadsheet or table

  1. In the Multiple Choice Variable Editor, place your cursor in the spreadsheet column where you want to copy the data.
  2. Right-click and choose Copy Column (copies the text from the current cell down for this column only) or Copy All Columns (copies the text from the current cell down in all columns) from the shortcut menu.
  3. In the spreadsheet or table, place your cursor where you want to paste the data and paste it. (See the application's help for information on pasting.)

To copy the spreadsheet from one Multiple Choice variable and paste it into another Multiple Choice variable, right-click on the first cell in the spreadsheet and choose Copy All Columns from the shortcut menu. Then edit the second variable, place your cursor in the first cell of the spreadsheet, and choose Paste Multiple from the shortcut menu.


Name a Group of Merge Text Values

When you add merge text values to a Multiple Choice variable, the list of values you enter becomes a separate HotDocs component, which can be used in other Multiple Choice variables. By default, HotDocs names this component using all the values separated by slashes (for example, Boise/Olympia/Salem/Helena/Etc.) Sometimes, the merge text list can be quite long. In these situations, it may work to assign a different component name (for example, Western States Region) to the merge text values. You must use Component Manager to assign this new name.

To edit merge text and assign a new name

  1. Open Component Manager. (See Open and Close Component Manager.) The Component Manager window appears.
  2. Click the Components drop-down button and select Merge Text. HotDocs displays the different merge text groups available in your component file.
  3. Select a merge text group and click the [image] Rename Component button. The Rename Component dialog box appears.
  4. Enter a name for the merge text group in the New name field.
  5. Click Rename. The component is renamed.


Work with Variables in Headers, Footers, Footnotes, and Text Boxes

Depending on whether you use Word or WordPerfect, how you insert a variable in a header, footer, footnote, or text box is different. The following table explains how to use variables in the various areas of a word processor template.

 | Microsoft Word | WordPerfect
Headers and footers | Create the variable directly in the field, or create the variable in Component Manager and drag it into the field. Edit the variable directly in the field or use Component Manager. | Create the variable directly in the field, or create the variable in Component Manager and drag it into the field. Edit the variable directly in the field or use Component Manager.
Footnotes | Create the variable in Component Manager and drag it into the field. Edit the variable using Component Manager. | Create the variable directly in the field, or create the variable in Component Manager and drag it into the field. Edit the variable directly in the field or use Component Manager.
Text Boxes | Variables in text boxes are ignored during document assembly. | Create the variable directly in the text box, or create the variable in Component Manager and drag it into the text box. Edit the variable directly in the box or use Component Manager.

Using buttons in the HotDocs Navigation toolbar will have no effect while editing the contents of a header or footer.

When inserting variables or instructions in a WordPerfect header, footer, footnote, or text box, you cannot highlight text and then replace it with the field. You must simply insert the variable by clicking in the text.

HotDocs 5 users: In HotDocs 5, you had to specify a component file property that instructed HotDocs to assemble variables in Word headers and footers. HotDocs 11 automatically assembles these, so the option has been removed from the Component File Properties dialog box.

If a Word template contains headers and footers with variables, you may find your variables being asked "out of order." You can create a custom interview to control the order your variables and dialogs are asked. See Define a Custom Interview for details.


Use Pattern Codes to Create a Custom Pattern

HotDocs provides Text variable patterns: a telephone number pattern, time of day patterns, and a U.S. Social Security number pattern. You can also create your own pattern by typing it directly in the Pattern field (at the Text Variable Editor) or by clicking the [image] Component Manager button at the template, selecting Text Pattern from the Components list, and clicking the [image] New Component button.

Use the following codes to create patterns. These codes represent the types of characters the user can enter. Additionally, you can insert hyphens, periods, static text, and so forth with these codes.

Code | What HotDocs Will Require and Insert in the Document
X | any character
9 | any numeric character
A | any alphabetic character
U | uppercase alphabetic character
L | lowercase alphabetic character
N | alphanumeric character (9 and A)
H | hexadecimal character (0-9, A-F, a-f)

If you need a character in your pattern that HotDocs may interpret as a code, you can force the character to appear as part of the pattern and not as a code by typing a forward slash (/) and then the character. For example, if you need a pattern to use the X character, you must place the forward slash before the X so that HotDocs doesn't try to replace the X with a character the user types.


Use Variables and Scripts in Prompts, Dialog Element Text, and Resources

You can further customize the interview process by including variables in prompts, in plain text resources, and in dialog element text. You can also include variables in dialog titles and Multiple Choice option prompts and merge text.

Additionally, you can include IF and REPEAT instructions in plain text resources. You should note, however, that placing an instruction in a resource will not cause variables used in the instruction to be asked during the interview. If an instruction relies on a variable being asked in order to be processed, you must make sure those references are resolved earlier in the interview, before the resource is displayed.

Referring to variables and instructions in other components can provide users with more specific information about the answer they need to enter during the interview. For example, if you ask for a defendant's name at the beginning of an interview, whatever name the user enters can appear in a prompt or resource later in the interview.

To customize prompts, dialog element text, dialog titles, plain-text resources, and Multiple Choice merge text and prompts

  1. Edit the component where you want to merge the variable reference or script. (See Edit a Variable or Gather Questions into a Custom Dialog.)
  2. Place your cursor where you want the variable reference (for example, a prompt, title, or dialog element text field), right-click, and choose Variable Field. The Variable Field dialog box appears.

To include variable answers in Multiple Choice merge text and prompts, you must either enter the variables at the Options tab, or you must manually enter the variable references in the options spreadsheet.

  3. Enter the variable information and click OK. The variable is merged in the field.
  4. Optionally, to enter a script in a plain-text resource, right-click in the Text field and choose IF Field or REPEAT Field from the shortcut menu, depending on the type of instruction you are inserting.

You can also merge variable field references by typing double-angle brackets (<< >>), followed by the variable name or instruction keyword. HotDocs will convert the double-angle brackets to HotDocs chevrons (« »).

If Component Manager is open, you can also drag a variable from Component Manager and HotDocs will automatically include the chevrons.


At a Glance: The Go To Dialog Box

After opening the Computation Editor of a computation variable, from the Component Manager or while editing the template, you can click on the [image] Go To button on the toolbar to open the Go To dialog box where you can jump to any position in the script.

Using the check boxes A you can choose if you would like to go to a line or a character in the computation. The first option, Line number, specifies the line number in the script where you want the cursor to move to. Each line of script is counted, even if there is nothing on the line. While the second option, Character position, specifies the character position in the script where you want the cursor to move to. Each character, including space characters between script items, is counted.

In the field B below you can enter the line number or character position number you require.

To learn more about using the Script Editor features follow the link below:

  • Use the Script Editor


Use the Script Editor

When writing a computation script, there are several tools you can use to make the process easier.

To use the script editor

  1. Edit the script or expression.
  2. At the Script or Expression field, complete any of the following tasks:
To | Do This
Have HotDocs automatically complete keywords, component names, and Multiple Choice options as you type Place your cursor in the Script field and press Ctrl+Spacebar. HotDocs displays a list of instruction and expression keywords, constant values (such as month abbreviations), and components. Type a portion of the keyword, component name, or Multiple Choice option for which you are searching. As you type, HotDocs filters the list to show only those keywords that contain the text you have typed. Once selected, press Enter to merge it into your script.

To keep seldom-used keywords out of the auto-complete list, click the [image] Options button and clear Include seldom-used keywords in auto-complete list.
Access just a list of components | Press the F5 key, select the component, and press Enter.
Access just a list of keywords | Press Shift+F5, select the keyword, and press Enter.
Display a syntactical hint of how an instruction or expression should be used | Place your cursor inside the keyword and press the F7 key. HotDocs displays a small ToolTip that shows the entire model as well as the type of value it produces, if it's an expression.
Indent matching pairs of IF and REPEAT instructions based on the level of their insertion | Click the [image] Auto Format button.
Undo (or cancel) an action you just performed | Click the [image] Undo button. HotDocs reverses the change you made.
Redo (or re-implement) an action you just performed | Click the [image] Redo button. HotDocs reapplies the change you made.
Cut or copy and paste a selected portion of the script | Select the portion of the script you want to cut or copy, and then click the [image] Cut button or the [image] Copy button. The script is copied to the Clipboard. To paste the script in a new location, insert your cursor at that location and click the [image] Paste button.
Find a specific string of text in the script Click the [image] Find button and enter your search text in the Find what field. To find the next instance of the text, click the [image] Find Next button.

To find only those instances of text that are complete words, select Find whole words only. To find only those instances that have the same capitalization as the text for which you are searching, select Match case.
Find a specific string of text in the script and replace it with another string of text Click the [image] Find and Replace button. Enter the search text for which you are searching in the Find what field, and then enter the replacement text in the Replace with field. Once you have entered the required text, click Replace, Replace All, or Find Next.

To find and replace script text in a specific block of script, select the block of script first and then click the [image] Find and Replace button. At the Find and Replace dialog box, select Replace only in selected text.
Move your cursor to a specific location in the script | Click the [image] Go To button. This displays the Go To dialog box, where you can enter the line number or character position of where you want your cursor to move.
Indent or outdent a block of the script | Select the portion of the script you want to indent or outdent and click the [image] Indent button or the [image] Outdent button. (Click repeatedly to increase or decrease the indent.)
Cause HotDocs to ignore a section of the script when it processes it, or insert a comment in the script | Highlight the block of the script you want to comment and click the [image] Comment Block button. This puts two forward slashes in front of each line of the script, which instructs HotDocs to ignore this section. To uncomment it, highlight the text and click the [image] Uncomment Block button.
Match an IF or REPEAT instruction with its END IF or END REPEAT instruction (or vice versa) | Place your cursor inside the instruction, right-click, and select Match IF/REPEAT from the shortcut menu. (You can also press Ctrl+M.)
Highlight an entire IF or REPEAT instruction block (meaning everything between a beginning and ending IF/REPEAT instruction) | Place your cursor inside the instruction, right-click, and select Select IF/REPEAT from the shortcut menu. (You can also press Ctrl+Shift+M.)
View helpful information while using the script editor, including accessing help topics for the different instructions and expressions you can use in your script | Click the [image] HotDocs Help button.
Customize the way the script editor works | Click the [image] Options button and make your changes. (See Change Script Editing Options.)
Insert line breaks and tab characters in a script | See Use Line Breaks, Paragraph Ends, and Tabs in Computation Scripts.
Assign formatting characteristics to literal text strings in a script Insert the corresponding dot code. See one of the following topics for details:
  • Change Font Properties of Text
  • Insert Characters in Text Strings
  • Add Punctuation and Capitalization to Sentences

To access the script editor toolbar using the keyboard, press F10.

To access help for each instruction or expression, first select the model in one of the lists and then press Ctrl+F1.

For an explanation of the HotDocs scripting language, see Understand the HotDocs Scripting Language. For details on creating a Computation variable, see Customize a Computation Variable. For a list of instruction and expression models, see Introduction: Instruction and Expression Models.


At a Glance: The Locals tab (Variable/Dialog Editor)

You can open the Locals tab from a Dialog or Component Editor by opening the editor from the Component Manager or while editing the template. In a Dialog Editor you would only see the option to use Local variables rather than both Local variables and Parameters.

The first section in this tab is Parameters. In the text box A you can enter a name for the Parameter then using the drop-down list B you can select the variable type for your Parameter from the following options:

  • Text
  • Number
  • Date
  • True/False

Once you have one Parameter in the list you can Insert another or Delete this one using the buttons C below.

The Local variable section is used in the same way; entering the name in the text field D, choosing the type from the drop-down list E and using the buttons F below to edit the list.

To learn more about using Parameters and Local Variables follow the link below:

  • Local Variables
  • Parameters


Tips on Naming Your Variables

How you name variables in your templates depends largely on personal preference or your project guidelines. However, there are a few rules and suggestions that can make the automation and assembly process easier.

Assign Common, Useful Names

A variable name guides the user in answering each question, so you should choose meaningful names as you design your templates. A variable name can have up to 50 characters, including letters, numbers, and some symbols. However, the first character must be a letter. Each variable name must be unique—even if the variables are different types, their names cannot be identical.

It is often useful to put the subject of the variable name first. This allows you to sort variables alphabetically and bring up the variables with the same subject together. For example using ClientName rather than Name of Client (and ClientAddress, ClientEmail etc) will allow you to see all Client variables together rather than all Name variables together.

Some developers find it useful to append a type identifier to the name. For example, Beneficiary Age CO where CO marks it as a computation variable.. Following this method allows you to quickly identify types of variables and use the same name with a different identifier for related variables.

Do not use any words typed in all uppercase letters in your variable names. Because HotDocs instruction and expression keywords use uppercase letters, you may inadvertently use a word that may someday become a keyword, which will prevent HotDocs from reading your variable name correctly. (See Introduction: Instruction and Expression Models.)

Finally, there are certain characters you CAN NOT use when naming your components. They are:

Character | Name
. | Period
$ | Dollar sign
" | Quotation mark
: | Colon
[ ] | Brackets
, | Comma
( ) | Parenthesis
% | Percent

These characters can be used only if there is a character other than a space immediately before or after it:

Character | Name
+ | Plus
- | Hyphen
* | Asterisk
/ | Forward slash
> < | Greater Than and Less Than signs
>= <= | Greater Than or Equal To and Less Than or Equal To signs
= | Equals
!= | Does not equal

In addition, if you are developing templates for use with HotDocs Server, the following characters should be avoided when naming components:

Character | Name
? | Question mark
& | Ampersand
@ | At symbol

Share Answers Between Templates

If you have multiple templates that use the same information, your users can share answers across a set of templates. To do this, you must create variables with the same names in each template, and users must use the same answer file when assembling documents. (See Assemble a Text or Form Document and Create a New Answer File.) When the variable names are identical, the answers in separate documents are also identical. However, variable names are context-sensitive and any limits entered for the first variable (such as maximum number of characters, patterns, and decimal places) must be entered for each duplicate variable or the answers will not flow from one document to the next.

When many variables are shared throughout your template set, you may find it easier to use one component file for all of your templates. (See Use One Component File for Multiple Templates.) Or, if you want each template to use an independent component file, copy the contents from the first template’s component file into each subsequent component file. (See Copy Components From One File to Another.) Using either method, you can use variables you have already created, rather than recreating each variable.


How Example Formats are Interpreted

The following describes how answers will be formatted, based on the assigned example format:

Text Variables

Example Format | User's Answer | How Answer is Formatted in Document
like this | Marianne Stevens | marianne stevens
Like this | Marianne Stevens | Marianne stevens
Like This | Marianne Stevens | Marianne Stevens
LIKE THIS | Marianne Stevens | MARIANNE STEVENS
Like a This | our client, Marianne Stevens, is the Plaintiff in the case | Our client, Marianne Stevens, is the Plaintiff in the case

Number Variables

Example Format | User's Answer | How Answer is Formatted in Document
09 | 4 78 | 04 78
9 | 7,898 | 7,898
9 1/8 | 2.3 | 2 1/4
9,999.00 | 9214 9214.36 | 9,214.00 9.214.36
9,999.99999 | 87.5984 | 87.5984
9.9 | 87.6 | 87.6
9.9.a (this format is best used with PN variables) | 287.3 | 287.3.a
9999 | 12587 | 12587
9th | 23 | 23rd
nine | 1,278 | one thousand two hundred seventy-eight
NINE | 1,278 | ONE THOUSAND TWO HUNDRED SEVENTY-EIGHT
Nine Dollars and Twelve Cents | 5.36 | Five Dollars and Thirty-Six Cents
ninth | 782 | seven hundred eighty-second
alpha Alpha ALPHA | 12 | twelve Twelve TWELVE
ordinal Ordinal ORDINAL | 25 | twenty-fifth Twenty-Fifth TWENTY-FIFTH

Many of these formats will change depending on whether you assign decimal places to the answer. How many decimal places you assign also affects the outcome.

Date Variables

Example Format | User's Answer | How Answer is Formatted in Document
03 JUN 90 | November 6, 2000 | 06 NOV 00
06/30/90 | November 6, 2000 | 11/06/00
3 June 1990 | November 6, 2000 | 6 November 2000
3rd day of June, 1990 | November 6, 2000 | 6th day of November, 2000
6/3/90 | November 6, 2000 | 11/6/00
June 3, 1990 | November 6, 2000 | November 6, 2000
June 3rd | November 6, 2000 | November 6th
June Third, One Thousand Nine Hundred Ninety | November 6, 2000 | November Sixth, Two Thousand
Sunday | November 6, 2000 | Monday
Sunday, June 3, 1990 | November 6, 2000 | Monday, November 6, 2000
Third day of June, 1990 | November 6, 2000 | Sixth day of November, 2000

For additional date formats, please see Additional Date Formats.

True/False Variables

Example Format | User's Answer | How Answer is Formatted in Document
/x | Yes No | (nothing) X
true/false | Yes No | true false
x/ | Yes No | X (nothing)
yes/no | Yes No | yes no

Multiple Choice Variables

The format assigned to a Multiple Choice variable depends on whether the variable is set to allow only one selection (Select One) or multiple selections (Select All That Apply). If set to Select One, the answer will be formatted like Text variables are formatted. Please see the formats table for Text Variables for a description of each option. If the variable is set to Select All That Apply, the answer will be formatted like repeated answer lists are formatted. Please see the table for answer lists for a description of each option.

Computation Variables

Formats for Computation variables depend on the type of computation script you are creating. If you are calculating numbers, the formats are the same as Number variables. If you are working with text, the formats available are the same as Text variables.

Answer Lists

To create a list of answers, you can either create a Multiple Choice variable and assign the Select All That Apply property for it, or you can create a REPEAT instruction. The following list of formats describes the format for each type of list.

When creating lists of answers using a REPEAT instruction, the formats with all capital letters only capitalize the conjunction in the sentence, for example, the word AND. Individual answers in the list are either merged as the user types them or as you have specified for each variable.

Example Format | User's Answer | How Answer is Formatted in Document
a, and b | apples and oranges | Multiple Choice: apples, and oranges Repeated List: apples, and oranges
a, b | apples, oranges, and cherries | Multiple Choice: apples, oranges, cherries Repeated List: apples, oranges, cherries
a, b and c | apples, oranges, and cherries | Multiple Choice: apples, oranges and cherries Repeated List: apples, oranges and cherries
A, b and c | apples, oranges, and cherries | Multiple Choice: Apples, oranges and cherries Repeated List: apples, oranges and cherries
A, B and C | apples, oranges, and cherries | Multiple Choice: Apples, Oranges and Cherries Repeated List: apples, oranges and cherries
A, B AND C | apples, oranges, and cherries | Multiple Choice: Apples, Oranges AND Cherries Repeated List: apples, oranges AND cherries
A, b or c | apples, oranges, and cherries | Multiple Choice: Apples, oranges or cherries Repeated List: apples, oranges or cherries
a, b, and c | apples, oranges, and cherries | Multiple Choice: apples, oranges, and cherries Repeated List: apples, oranges, and cherries
a; b; and c | apples, oranges, and cherries | Multiple Choice: apples; oranges; and cherries Repeated List: apples; oranges; and cherries


Additional Date Formats

You can also create date variables using the following set of format codes:

All case sensitive formats operate the same way—if the first character of the format is uppercase and the second is lowercase, then the first letter of the formatted value is uppercase and all the rest are lowercase. If the first and second characters of the format are uppercase, then the entire formatted value is uppercase.

The following formats are not supported in HotDocs 2008 and earlier. If you plan to use your templates with any of these previous versions, use these formats.

Property Name | Description | Example Usage | Example Formatted Answer
d | Numeric day | d | 1
dd | Two-digit numeric day | dd | 01
ddd | Case-sensitive weekday abbreviation | ddd, Ddd, DDD | mon, Mon, MON
dddd | Case-sensitive spelled-out weekday | dddd, Dddd, DDDD | monday, Monday, MONDAY
dth | Case-sensitive numeric ordinal day | dth, dTH | 1st, 1ST
dy | Case-sensitive spelled-out day | dy, Dy, DY | first, First, FIRST
m | Numeric month | m | 1
mm | Two-digit numeric month | mm | 01
mmm | Case-sensitive month abbreviation | mmm, Mmm, MMM | jan, Jan, JAN
mmmm | Case-sensitive spelled-out month | mmmm, Mmmm, MMMM | january, January, JANUARY
y | Numeric year | y | 2010
yy | Two-digit numeric year | yy | 09
yyyy | Four-digit numeric year | yyyy | 2010
yr | Case-sensitive spelled-out year | yr, Yr, YR | two thousand and nine, Two Thousand And Nine, TWO THOUSAND AND NINE

Following are some examples of how to use these types of date formats:

How It's Used | How the Answer is Formatted
d/m/yy | 1/1/08
dd/mm/yy | 01/01/08
dth day of Mmm | 1st day of Jan
dy day of the month | first day of the month
Mmmm, yyyy | January, 2008
Mmm yyyy | Jan 2008
Yr | Two Thousand And Eight
Ddd, dd/mm/yy | Mon, 01/01/07
Dddd, Mmm dth | Monday, Jan 1st


Understand the HotDocs Scripting Language

Learning the Language

As you use HotDocs, you may need to tell HotDocs to perform a particular task, such as insert one template into another, hide variables in dialogs, or perform some action based on an answer the user provides. Similarly, you may need to add up several dollar amounts, or find the number of years between two given dates. Or, you may need to search a user’s answer for a certain block of text.

To accomplish this, you must use the HotDocs scripting language, which consists of instructions, expressions, operators, and values—such as text, numbers, dates, or answers users enter. To help you learn this language, HotDocs provides you with instruction and expression models.

Specifically, an instruction model tells HotDocs to perform some sort of function, while an expression model retrieves a special value. Most models also include placeholders, which you must replace with a value. Possible values include text strings, number amounts, other models, and HotDocs variables. A model will not work until all its placeholders are replaced.

In addition to using instructions and expressions, you can use operators to control how the script is processed. Most operators are common mathematical signs, but there are also Boolean operators such as AND and OR. The operator AND means the statement to the left and the statement to the right must both be true. The operator OR means either the statement to the left or the statement to the right must be true. The operator ( ) means to perform the operation between the parentheses first. (See Use Operators When Scripting.)

Rules for Writing Scripts

Instruction and expression models are designed to help you accurately write scripts. However, there are still certain rules you must follow, particularly when it comes to replacing placeholders with values. Failure to follow these rules may result in syntax errors when HotDocs attempts to process the script during assembly.

When using literal values:

  • Decimal numbers less than one must have a zero before the decimal point (0.125 not .125).
  • Numbers cannot contain commas (1250 not 1,250).
  • Dates must be in the form 3 JUN 1990.
  • Text strings must be inside quotation marks.

To help you format these numbers correctly, use the Enter a Date, Enter a Number, Enter some Text, and Enter True or False expression models.

When manually typing the script:

  • Component names must be entered exactly as they appear in the Components list, including capitalization.
  • Components and operators must be separated by spaces.
  • Operators must be entered exactly as they appear in the Operators list, including capitalization.
  • Variables used inside a literal text string (or between quotation marks) in a computation must be inside chevrons (« »). If the variable name is not inside chevrons, the variable name—not the variable's value—will be merged as the answer. (For example, "«Employee Name» must wait «Number of Months» months before applying.")

If you want to include a chevron in a HotDocs text template either as a part of your document text or a literal text string, you need to double the opening chevron (but not the closing chevron), so that HotDocs does not interpret the chevrons (and any text between them) as a field. The output is a single chevron, as follows: input: ««some text», output: «some text».

  • Keywords, such as TRUE, FALSE, AND, END IF, and so forth, must be in all capital letters.
  • Only TRUE or FALSE can be used for a true/false value.
  • If you want the computation to return a combination of text, variables, and values, you must concatenate (or join) the data with the Add ( + ) operator. Otherwise, HotDocs returns only the last piece of text, variable, or value.
  • When using the RESULT expression, you must first set the computation to a value. If the computation will return text, set it to a specific value by typing text inside quotation marks at the start of the script. (To set a text computation to an empty value, type nothing between the quotation marks—not even a space.) If the computation will return a number, set it to a value by typing a number at the very beginning of the script. (To set a number computation to nothing, type 0 (zero).)

Writing the Script

There are three places in HotDocs where you can write scripts: The Computation Editor, the Script tab of the Dialog Editor, and the Expression field of the IF Field dialog box. Each of these places provides you with the tools you need to write the script. Which tools you use, however, depends on personal preference, as well as your skill level.

If you are learning the scripting language, it is suggested that you select and drag instructions and expressions from the models lists to the Script field. You can also drag operators and components from their respective lists into the Script field. If there are placeholders, replace them by dragging components or other models onto them. To correctly format literal values (such as text, numbers, dates, and true/false values) use the Enter... expression models.

If you prefer to use the keyboard rather than the mouse, press the Tab key to move from one field in the dialog box to the next. Use the arrow keys to select specific components, operators, and models, and use the Insert key to bring the selected element into the Script field. To replace placeholders in the script, insert your cursor in the placeholder text and then locate the value you want to replace it with in the lists below and press the Insert key.

Once you become familiar with the instructions and expressions, you can type your scripts directly in the Script or Expression field. To ensure you use the correct instruction and expression keywords and component names, you can access lists of these things using keyboard shortcuts and other options available in the script editor. When you do this, HotDocs displays an auto-complete list from which you can choose the instruction or expression you are typing. For complete instructions, See Use the Script Editor.


Understand How Component Titles and Prompts are Used

In HotDocs, you can assign titles to different components, including variables, dialogs, clauses, and databases. Titles are used in place of component names, which, when used in the context of an interview, may not make much sense to the user. (For example, a component may be named Client Birth Date DA, but the name you want users to see in the interview is Client's Birth Date.)

How HotDocs uses these titles, especially for components that may also have a prompt, depends on where the component appears in the interview. Following is a description of the components, where they are used in the interview, and the order in which titles, prompts, and names are used when identifying the component.

For example, say you have a Text variable that is used in a dialog. The first property HotDocs will try to use as the question for the Text variable in the dialog is the prompt itself. If no prompt is specified, it will use the title. If no title is given, it will use the variable name.

Type of Component | Where Used in Interview | Order in Which Properties are Used
Variable (used or not used in a custom dialog) | Answer field in the dialog pane | Prompt / Title / Variable name
Variable (used in a custom dialog) | Text in the column heading of a spreadsheet (including in an answer source column) | Prompt / Title / Variable name
Variable (not used in a custom dialog) | Dialog title in the interview outline or dialog title in the dialog pane title bar | Title / Prompt / Variable name
Variable (used or not used in a custom dialog) | Reference in a Question or Answer Summary | Prompt / Title / Variable name
Clause (referenced in a clause library) | Clause title in the clause library | Title / Clause name
Clause (referenced using an IF instruction in a template; is not used in a custom dialog) | Dialog title in interview outline or dialog title in the dialog pane title bar | Title / Prompt / Clause name
Clause (referenced using an IF instruction in a template; is not used in a custom dialog) | Answer field in the dialog pane | Prompt / Title / Clause name
Database component | Dialog title in interview outline or dialog title in dialog pane title bar | Title / Component name
Database component | Table in dialog pane | Prompt / Title / Component name
Dialog (nonrepeated) | Dialog title in interview outline or dialog title in dialog pane title bar | Dialog title / Dialog name
Dialog (repeated as series) | Dialog title in interview outline | Repeated series label / Dialog title / Dialog name
Dialog (repeated as series) | Dialog title in dialog pane title bar | Dialog title / Dialog name
Dialog (repeated as spreadsheet) | Dialog title in interview outline or dialog title in dialog pane title bar | Dialog title / Dialog name

Remember that when variables are linked to or used in dialogs, the text that appears in the interview outline and in the dialog pane title bar comes from the dialog, not the variable.

You should always test assemble your template to make sure these combinations of titles, prompts, and variable names make sense for the interview. See Introduction: Test HotDocs Templates.


Introduction: Create Your Own Dialogs

When you insert variables in your templates, HotDocs automatically creates a default dialog (or a question window) for each variable. When the user assembles the document, HotDocs presents each of these individual dialogs in the order the variables are used in the template.

However, if you want to have more control over the information-gathering process, you can create custom dialogs. To do this, you group related questions together and add text (and other design elements) to the dialog to help the user provide correct answers. You can also control the order in which custom dialogs appear during the interview.

When you add a variable to a dialog, HotDocs creates a link between the variable and the dialog. When an answer is needed for the variable during the interview, HotDocs displays the linked dialog instead of displaying the variable by itself.

When creating dialogs, you can add visual elements to the dialog, such as lines, graphics, and white space. You can also include links to computations, applications, or even a Web page. All of these tools give your users a better experience answering questions in the dialog.

The following shows the Dialog Editor with a list of the variables that have been linked to it.

During the interview, HotDocs displays the dialog and allows the user to enter answers.

You can also add scripts to your dialogs, which let you conditionally hide or dim variable questions and require that certain questions be answered. You can use text from a Windows or HTML Help file, Folio Infobase, custom program, or Web page as a resource for a dialog. You can also create an answer source—an answer file from which a user can select existing answers during the interview. Finally, you can change the width and placement of answer fields in the dialog.

For more information on using the dialog editor follow the links below:

  • At a Glance: The Dialog Editor (Properties Tab)
  • At a Glance: The Dialog Editor (Options tab)
  • At a Glance: The Dialog Editor (Script tab)
  • At a Glance: The Locals tab (Variable/Dialog Editor)
  • At a Glance: The Resource tab (Variable/Dialog Editor)
  • At a Glance: The Dialog Editor (Layout tab)
  • At a Glance: The Used In tab (Variable/Dialog Editor)
  • At a Glance: The Notes tab (Variable/Dialog Editor)


At a Glance: The Dialog Editor (Properties Tab)

You can open the Dialog Editor from the Component Manager or while editing a template by creating a new dialog or opening an existing dialog.

In the first text field A you can enter the dialog name. In the drop-down list B to the right of the Dialog Name field you can choose the style of your dialog from the following list:

  • Regular
  • Repeated Series
  • Spreadsheet
  • Spreadsheet on Parent

The option you choose here changes the next couple of options. If you select Regular you will only see the Title field C where you can enter a title for your dialog. If you select Repeated Series you will see the Title field C, then below it you will have the options to add button text D and label the series E (see image above). If you select Spreadsheet or Spreadsheet on Parent you will see the Title field C and the Add Button Text field D, but instead of the Series Label field E you will have the option to select how many rows of the spreadsheet you would like HotDocs to display and if you would like to hide the spreadsheet buttons.

This feature will alter the amount of spreadsheet rows displayed in the interview, it will not stop the user from entering information in further rows. If they do this, the user can view the extra rows by using the scroll bars on the spreadsheet. To reduce the amount of rows that the user can enter information into see LIMIT NUM.

The Rows to display feature is not compatible with templates published for HotDocs Server. Any alteration you make to this field will not be visible in the Server interview.

Regardless of what option you have selected the rest of the window will remain the same. On the left is the Contents field F where you can see what components are in our dialog. On the right is the Available Components field G where you can see all the components in the Component File for this template. You can drag components from this field into the Contents field to have them in this dialog; any component with a faded symbol is already assigned to another dialog. At the top of the Available Component field is a drop down list that you can use to filter the displayed components and a button you can click to create a new component [image].

At the bottom left of the window you have a small toolbar H where you can generate new components, dialogs and dialog elements by clicking on the component type icon:

  • Dialog Element
  • Text Variable
  • Number Variable
  • Date Variable
  • True/False Variable
  • Multiple Choice Variable
  • Dialog

You can also use the Find field K on the bottom right to search the Available Components field.

More dialog options are available in the other tabs: Options, Script, Layout, Used In and Notes.

To learn more about using the Dialog Editor follow the links below:

  • Introduction: Create Your Own Dialogs
  • Gather Questions into a Custom Dialog
  • Edit a Custom Dialog
  • At a Glance: The Dialog Editor (Options tab)
  • At a Glance: The Dialog Editor (Script tab)
  • At a Glance: The Locals tab (Variable/Dialog Editor)
  • At a Glance: The Resource tab (Variable/Dialog Editor)
  • At a Glance: The Dialog Editor (Layout tab)
  • At a Glance: The Used In tab (Variable/Dialog Editor)
  • At a Glance: The Notes tab (Variable/Dialog Editor)
  • Tips on Naming Your Variables


At a Glance: The Dialog Editor (Options Tab)

You can open the Options tab of the Dialog Editor from the Component Manager or while editing a template by creating a new dialog or opening an existing dialog then clicking on the Options tab.

The first section of this tab allows you to set options for the variables on the dialog. Using the first drop-down list A you can choose whether True/False variables on this dialog should exhibit “grouped” behavior or not. behave as Select One grouping causes True/False variables to be displayed radio buttons, while Select All That Apply grouping causes them to be displayed as check boxes. Turning on grouping also allows you to add a None of the above option to each group of True/False variables. Using the next drop-down list B you can set the options for the variable prompts on the dialog. You can select from Above, Left, or Automatic (where HotDocs will choose the style it thinks most appropriate. If you select Left or Automatic then the check box and number field C to the right ungray and you will be able to choose whether you would like the prompts to align right and, by editing the number in the field C, how wide the prompt can be.

The second section of the tab allows you to set options for the Interview. If this dialog is to be used as a child dialog during the interview it can have its own prompt to help the user. You can enter that in the text field D. Below that are four check boxes E where you can set the following options:

  • Show buttons for child dialogs
  • Prevent this dialog from being asked when irrelevant
  • Trim endmost iterations whose answered variables are grayed or hidden.
  • Always stop at this dialog when moving to next unanswered.

The final section allows you to set advanced options for this dialog. Using the two check boxes F you can decide if the dialog should be Asked Automatically and if HotDocs should Link variables to this dialog. Below that is the option G to assign an answer source to this dialog (see Suggest an Answer Source for Dialogs for more information). You can select one from the drop-down list or by clicking the Browse button. Once you have selected an answer source you will be able to click the Map Variables button. You will be taken to the Variable Mapping dialog box where you can map variables from the answer source to variable in the dialog (see At a Glance: The Variable Mapping dialog box for more details).

To learn more about using the Dialog Editor follow the links below:

  • Change a Dialog's Options
  • Control Whether Dialogs are Asked Automatically
  • Use the Same Variable or Clause in Two or More Dialogs
  • At a Glance: The Dialog Editor (Properties Tab)
  • At a Glance: The Dialog Editor (Script tab)
  • At a Glance: The Locals tab (Variable/Dialog Editor)
  • At a Glance: The Resource tab (Variable/Dialog Editor)
  • At a Glance: The Dialog Editor (Layout tab)
  • At a Glance: The Used In tab (Variable/Dialog Editor)
  • At a Glance: The Notes tab (Variable/Dialog Editor)


At a Glance: The Dialog Editor (Script Tab)

You can open the Script tab of the Dialog Editor from the Component Manager or while editing a template by creating a new dialog or opening an existing dialog then clicking on the Script tab.

At the top of this tab is the Script Toolbar A where you can choose from the following buttons to search and edit the Script field B:

  • Auto Format: Indents matching pairs of IF and REPEAT instructions, based on the level of their insertion.
  • Undo: Removes any changes you have made to the script.
  • Redo: Reapplies any changes you have made to the script.
  • Cut: Removes the selected text and copies it to the Clipboard.
  • Copy: Copies the selected text to the Clipboard.
  • Paste: Pastes the selected text on the Clipboard at the cursor position in the script.
  • Find: Displays the Find dialog box where you can specify the word or text string for which you are searching.
  • Find Next: Finds the next instance of the word or text string for which you are searching.
  • Find and Replace: Searches for a specific word or text string and replaces it with word or text string you specify.
  • Go To: Displays the Go To dialog box where you can specify the location in the script to which you want to move your cursor. You can go to either a specific line or character in the script.
  • Indent Block: Indents the selected text.
  • Outdent Block: Realigns the indented text with the left margin of the scripting box. (If the text has been indented more than once, realigns the text with the previous tab stop.)
  • Comment Block: Causes the selected text to become inactive, meaning HotDocs won't process it when it processes the computation. Often, template developers "comment out" scripting if they need to close the scripting dialog box but HotDocs won't let them because the script is invalid. Additionally, developers often add personal explanations to the scripts they are writing, and commenting them out keeps the computation operational.
  • Uncomment Block: Removes any commenting that has been applied to the selected script. Once the script is uncommented, HotDocs will attempt to process it.
  • Options: Displays the HotDocs Options dialog box where you can customize the way script editing features work.
  • Help: Opens the relevant page of the HotDocs Help File.

You have the option of writing directly in the Script field B, using your mouse to drag variables, operators, and models from the lists below to this box, or you can press Ctrl+Space to have HotDocs display these lists directly in the script so you can use the keyboard to choose the syntax item you need.

On the left is the Component menu C showing a list of all the components in this template. You can search it using the find field at the bottom, filter it by selecting a component type from the drop-down list at the top or create a new component by clicking on the [image] New Component button. In the centre D is a list of useful scripting operators, at the top right is a list of Instruction models E, and at the bottom right is a list of Expression models F.

To access help for each instruction or expression, first select the model in one of the lists and then press Ctrl+F1.

For further information on how to use the operators, see Use Operators when Scripting, and for further information what the Instruction and expression models do, see Full List of Instruction Models and Full List of Expression Models.

To learn more about using the Dialog Editor follow the links below:

  • Use Scripts to Add Power to Your Dialogs
  • Special Instructions for Dialog Scripts
  • At a Glance: The Dialog Editor (Properties Tab)
  • At a Glance: The Dialog Editor (Options tab)
  • At a Glance: The Locals tab (Variable/Dialog Editor)
  • At a Glance: The Resource tab (Variable/Dialog Editor)
  • At a Glance: The Dialog Editor (Layout tab)
  • At a Glance: The Used In tab (Variable/Dialog Editor)
  • At a Glance: The Notes tab (Variable/Dialog Editor)


At a Glance: The Dialog Editor (Layout Tab)

You can open the Layout tab of the Dialog Editor from the Component Manager or while editing a template by creating a new dialog or opening an existing dialog then clicking on the Layout tab.

In the main section A of this tab you can see all the components in the dialog and by dragging and dropping them you can change what order they appear in the interview. You can also arrange up to three components side by side so they show up on the same row in the interview.

To learn more about using the Dialog Editor follow the link below:

  • Change the Layout of Variables in a Dialog
  • At a Glance: The Dialog Editor (Properties Tab)
  • At a Glance: The Dialog Editor (Options tab)
  • At a Glance: The Dialog Editor (Script tab)
  • At a Glance: The Locals tab (Variable/Dialog Editor)
  • At a Glance: The Resource tab (Variable/Dialog Editor)
  • At a Glance: The Used In tab (Variable/Dialog Editor)
  • At a Glance: The Notes tab (Variable/Dialog Editor)


Gather Questions into a Custom Dialog

By default, when HotDocs displays variables in a HotDocs interview, each variable is in a dialog by itself. This dialog is called a default dialog. While this approach is sufficient for some situations, you can also group related variables and present them in a custom dialog. Grouping questions together makes it easier for users to answer interview questions because there are fewer dialogs to navigate through. Additionally, sometimes viewing questions in context makes it easier to understand what information is required.

To add variables or clauses to a custom dialog

  1. At the HotDocs template, click the [image] Component Manager button. The Component Manager window appears.
  2. Select Dialogs from the Components drop-down list. This limits the list of components to show only the dialogs used in the template.
  3. Click the [image] New Component button. The Dialog Editor appears.
  4. At the Properties tab, type a name in the Dialog name field.
  5. Select the components you want from the Components list and drag them to the Contents field.

Click the Components drop-down button and select a component type to limit the list of components you are viewing. To use a component you haven’t created yet, select a component type and click the [image] New Component button.

  6. Optionally, to change the order variables are asked in the dialog, select a variable and drag it up or down in the list. As you do this, HotDocs displays a horizontal bar showing you where the variable will be placed when you release the mouse.
  7. Once all the variables are added, you can perform any of the following optional tasks:
To | Do This
Specify a prompt for the dialog that is different from the dialog name | Type the desired prompt in the Title field. The title is what will be used in the interview outline and in the dialog title bar during the interview. Dialog titles are useful when the dialog name you have assigned wouldn't make sense to the user. To make the title bold, italic, or underlined, insert the opening dot code for the style you need. Do not include a closing dot code.
Add other items to a dialog, such as text, graphics, links, or design elements | Click on the Create New Dialog Element icon and drag it to the Contents list. The Dialog Element Editor opens where you can choose to add text, lines or spaces, a link that runs a computation, a link that launches an application, a hyperlink, or a graphic.
Choose how you want to display a dialog if it's repeated | Click the Style drop-down button and choose a repeated display option: Repeated Series or Spreadsheet. To assign a label to the entire repeated series of dialogs, enter the label in the Label field.
Customize how the dialog displays variable questions and control how the dialog functions | Click the Options tab and make your selections.
Make the contents of your dialog dynamic based on answers a user enters | Click the Script tab and create a script.
Provide helpful information about the dialog for the user | Click the Resource tab and enter the resource text. The information you enter here appears in the resource pane during the interview.
Have two or more variables appear side by side in the dialog | Click the Layout tab and drag variables to the line you want.
View a list of all components that use this dialog | Click the Used In tab. (See View Relationship Between the Current Component and Other Components.)
Enter notes about the component, such as an explanation about why the component was created or how it should function in the interview | Click the Notes tab and enter your comments.
See how your dialog looks and works without closing the Dialog Editor | Click Test. A test assembly window appears, showing the current dialog. If you want to make changes to the dialog, make your changes in the Dialog Editor (without closing the assembly window) and click Update. When you are satisfied with your changes, close the test assembly window and click OK.

Once your dialog is created, you can rearrange components within the dialog by dragging them up or down in the Contents list. You can remove any component by dragging it back to the Components list. To edit a component, double-click it at either the Contents field or the Components list.

By default, HotDocs asks variables and dialogs in the order it "reads" them in the template (top-to-bottom, left-to-right). To control when a dialog appears in the interview, you must use an ASK instruction at that point in the template.

When you add variables to a dialog, the variables and the dialog become linked and used variables are grayed out in the Components list of the Dialog Editor. To use the same variable or clause in two or more dialogs, you must clear the Link variables to this dialog option (on the Options tab) or the variable is removed from the first dialog.

If you don't link variables to a dialog, the variables will appear in their own default dialogs in the interview. If you assign titles to the variables, that title will be used in the interview outline and in the dialog title bar. Otherwise, the variable prompt or name will be used.

You can control the width of answer fields in a dialog.

To save your changes to a dialog without closing the Dialog Editor, click Save.

To move components between the Components and Contents list using the keyboard, use the Left and Right arrow keys. To move components within the Contents list, press Alt+Up Arrow or Alt+Down Arrow.


Edit a Custom Dialog

Once you have created a dialog, you can use Component Manager to make changes to it at any time.

To edit a dialog

  1. At the HotDocs template, click the [image] Component Manager button. The Component Manager window appears.
  2. Select Dialogs from the Components drop-down list. This limits the list of components to show only the dialogs used in the component file.
  3. Select the dialog you want to edit and click the [image] Edit Component button. The Dialog Editor appears, showing the contents and properties of the dialog.
  4. Make changes to the dialog. (See Change a Dialog's Options for ideas.)

To edit a dialog without using Component Manager, make sure your cursor isn't in a variable field. Then, click the [image] Edit Component button in the HotDocs toolbar. Select Dialog and click the Component drop-down button. Choose the dialog you want to edit from the list.


Change a Dialog's Options

You can make several changes at the Options tab of a custom dialog:

  • Put True/False variables, clauses, or inserted dialogs into single-selection or multiple-selection groups
  • Decide where variable prompts appear in relation to answer fields
  • Make sure variables grouped in a dialog are asked only if the dialog is specifically ASKed
  • Make sure a dialog always appears, no matter how the user navigates through an interview
  • Specify an answer source to be used with the dialog

To change dialog options

  1. Open a dialog to edit.
  2. Click the Options tab. The window shows several custom options.
  3. Perform any of the following tasks:
To | Do This
Place groups of True/False variables together, clause components together, or child dialogs together so users can choose only one option From the Selection grouping drop-down list, choose Select One.

When HotDocs processes a dialog that has a selection grouping, it marks all options as false, which tells HotDocs those variables are answered. (Of course, the user can change this by selecting an option.) The user viewing the dialog, however, sees no visual cue that these options are false (and therefore answered), so they might not understand why the answered status changes in the interview outline. To avoid confusion, always select None of the Above, which adds a None of the Above option to the list. This way, the dialog can appear answered, even if the user does not select an option.
Place groups of True/False variables together, clause components together, or child dialogs together so users can choose from several options From the Selection grouping drop-down list, choose Select All That Apply.

When HotDocs processes a dialog that has a selection grouping, it marks all options as false, which tells HotDocs those variables are answered. (Of course, the user can change this by selecting an option.) The user viewing the dialog, however, sees no visual cue that these options are false (and therefore answered), so they might not understand why the answered status changes in the interview outline. To avoid confusion, always select None of the Above, which adds a None of the Above option to the list. This way, the dialog can appear answered, even if the user does not select an option.
Add a None of the Above option to a single-selection or multiple-selection group Select None of the Above.

Providing a None of the Above option for your users gives them the chance to answer a question without selecting any of the options you have presented.
Choose the visual relationship you want between variable prompts and answer fields Select an option from the Prompt position drop-down list:
  • Above places the prompt above the answer field.
  • Left places the prompt to the left of the answer field. The length of the prompt text can be from 12 to 50 units, with one unit being equal to the width of the character 5, as specified in the Maximum units field. If the prompt length exceeds the maximum units setting, the prompt will wrap to the next line.
  • Automatic places the prompt according to the values you specify in the Maximum units field. Prompts that are shorter than this number will be placed to the left of the answer field. Prompts that are longer are placed above the answer field.

To align prompts to the right, select Right-align prompts.

When you place variables side-by-side in a dialog, prompts will always appear above the answer field.
Enter a prompt for a child dialog button on the parent dialog

(By default, child dialogs appear on parent dialogs as links with the child dialog's name as the prompt.

Specifying a prompt lets you provide more instructive text for accessing and then answering questions in the child dialog.)

 Enter the new prompt in the Prompt to use when displayed as child dialog box.

The prompt you specify here appears in the dialog only. The dialog's name or title is still used in the interview outline and in the dialog itself.
Keep child dialogs from appearing as buttons on the parent dialog | Deselect Show buttons for child dialogs. HotDocs removes any representation of the child dialog from the parent dialog. The only reference to the dialog will be in the interview outline, and users must manually click on the dialog to answer questions within it.
Keep the dialog from being asked if none of the variables in the dialog are active (or used by the document) Select Prevent this dialog from being asked when irrelevant.

This option is only available when the component file property Automatically disable irrelevant interviews and dialogs has been turned off.
Make sure the dialog is asked—even if it has already been answered—when a user clicks the Next Unanswered button Select Always stop at this dialog when moving to next unanswered.

This option is also useful when you have a dialog that contains dialog element text only. By selecting this option, you can ensure that users navigating the interview using the Next Unanswered button will still see this dialog.
Control whether dialogs are asked automatically | Clear Ask automatically.
Cause variables in the dialog to be asked separately, rather than together in a dialog | Clear Link variables to this dialog. If this option is cleared and the dialog is not specified in an ASK instruction, Hotdocs asks the variable questions individually.
Use one variable in two or more dialogs | Clear Link variables to this dialog.
Identify an answer source file from which the user can choose answers Either type the name of an answer source file in the Answer source field, or click the drop-down button and select an existing answer source.

Click the Map Variables button to link an existing answer source to a dialog where the variable names are not the same.

You can also link an answer source to a Time Matters Record or an Outlook Contacts list.

Display all repeats even if grayed or hidden

 Clear Trim endmost iterations whose answers are grayed or hidden.

This option is only available on repeated dialogs.


Add Resource Information to a Variable or Dialog

Sometimes including additional information about questions users are answering during an interview can make it easier for them to enter the correct answer. To provide this extra information, you can assign resources either to variables or to dialogs. Users can view this information by viewing the Resource pane during the interview.

By default, resources are displayed as plain text. However, you can use any of the following other formats or programs to create and display resources. (Click the associated link for instructions on creating the resource type.)

  • WinHelp
  • HTML Help
  • Folio infobase
  • Custom program
  • Web page

To add a plain text resource to a variable or dialog

  1. Open the variable or dialog to which you want to assign resources. (See Edit a Variable or Edit a Custom Dialog.)
  2. Click the Resource tab.
  3. Click the Resource type drop-down button and select Plain Text.
  4. Type the information in the Text field.
  5. Optionally, to use variables in the resource or make text in the resource conditional, enter the variable name, or enter an IF instruction or expression. (See Use Variables and Scripts in Prompts, Dialog Element Text, and Resources.)
  6. Optionally, select Pop-up to display the information in a What's This? help-style window, rather than a typical window. (The pop-up window only appears when the user clicks the Resource button next to the answer field.)

During assembly, HotDocs displays the resource text either in the resource pane or in a text-only pop-up window, depending on your selection. (Pop-up windows stay open only until the user clicks somewhere else.)

You cannot use angle brackets with text between them in a plain-text resource (for example, <Your Name>). Instead, you must use the codes &lt; and &gt; to insert the brackets (for example, &lt;Your Name&gt;). (You can use brackets, however, if you put a space immediately after the opening angle bracket and immediately before the closing angle bracket, like this < Your Name >.)

When editing Multiple Choice variables, you can assign resource text to the entire variable or to individual options. At the Multiple Choice Variable Editor, click the Resource tab and make your selection at the Resource for drop-down list.


Change the Layout of Variables in a Dialog

You can change the appearance of dialogs, by, for example, including placing variables side by side in the dialog and changing the width of variables already placed side by side. Changes can only be made in dialogs that have the Regular and Repeated Series styles applied. You cannot change the layout of Spreadsheet dialogs.

To place variables side by side on a dialog

  1. Open a dialog for editing. (See Edit a Custom Dialog.) HotDocs displays the Dialog Editor.
  2. Click the Layout tab. The window changes to show icons representing each component in the dialog.
  3. Click a component icon and drag it to another location in the window.

When you do this, HotDocs displays either a vertical or a horizontal bar that indicates where the variable will be placed when you release the mouse button. A vertical bar shows that the variable will be placed to the right or left of variables already on that line. A horizontal bar shows that the variable will be placed above or below that line. You can place up to three variables on the same line.

  4. Optionally, click Test. HotDocs displays the variables in a test assembly window. (You can leave this window open and return to the Dialog Editor to make additional changes, which are immediately updated in the window.)

If you place only two components on the same line, you can make one of the components wider than the other by right-clicking the component and selecting Wide from the shortcut menu. To further adjust the width of answer fields, at the Variable Editor, click the Advanced tab and make your changes.

To edit a component or remove it from the dialog, right-click the component and select Edit or Remove from the shortcut menu.

When two or more components appear on the same line, the prompts appear above the answer field. You cannot specify a different prompt alignment.


View Relationship Between the Current Component and Other Components

When editing a component (such as a variable or a dialog), you can view a list of other components in the template that refer to it. You can view this list at the Used In tab of the component editor.

By default, when you first click the Used In tab, HotDocs displays only the dialog or database component to which the variable is linked, as well as any other dialogs in which the variable is used. To generate a complete list of component references (including other components that refer to the current component), you can click the List All Components button. If you want a complete list to be displayed every time you click the Used In tab, you must select Always list all components when viewing this tab. (Depending on the complexity of your template, you may experience a slight delay each time you view this list, which is why displaying it is optional.)

To view component relationships

  1. At the template or at Component Manager, select the component and edit it. (See Edit a Variable.) The Component Editor appears.
  2. Click the Used In tab. The window changes to show a box listing the dialog(s) (and database components) in which the component is used.
  3. Optionally, to view a list of other components that refer to this component, click List All Components. HotDocs creates a list of all components that refer to this particular component. (Depending on the complexity of your template, this may take several seconds.)
  4. Optionally, to always view this list of component cross-references each time you view the Used In tab (regardless of the component you are editing), select Always list all components when viewing this tab.

The dialog to which the variable is linked is marked with a red arrow. Dialogs that simply use the component are marked with a plain arrow. See Use the Same Variable or Clause in Two or More Dialogs.

If you make changes to other components in the component file while you have the component editor open, you can click List All Components again to regenerate the list of used components.


Use the Same Variable or Clause in Two or More Dialogs

When you add a variable to a dialog, HotDocs creates a link between the two so that when HotDocs processes the variable during the interview, it knows to display the dialog to which the variable is linked. However, this linking limits your ability to use a variable in more than one dialog. To use a variable in two different dialogs, one of the dialogs must not be linked to its variables.

One reason you may want to include variables in two or more dialogs is so you can have two different versions of a dialog, only one of which should be displayed, based on answers a user enters. Otherwise, when you add the variable to the second dialog, it is automatically removed from the first dialog. This is because a variable can be linked to only one dialog. You can, however, specify an option that allows the variables and clauses in that dialog to be used in another dialog.

To use the same variable or clause in two or more dialogs

  1. Open a dialog for editing. (See Edit a Custom Dialog.) HotDocs displays the Dialog Editor. (At the Components list of the Dialog Editor, variables and clauses that are already linked to other dialogs are grayed out.)
  2. Click the Options tab. The window changes to show several custom options.
  3. Clear Link variables to this dialog.

If you clear this option for a dialog, you must specifically ASK the dialog in the template or else it will not be displayed during the interview. (See Control Whether Dialogs are Asked Automatically.)


Control Whether Dialogs are Asked Automatically

You can control whether a dialog is asked automatically during an interview. You can do this by selecting an option at the Options tab of the Dialog Editor.

Dialogs that are not asked automatically must be asked using an ASK instruction. (See Control When Your Dialogs Appear.)

By default, HotDocs asks a dialog automatically: 1) when the dialog has not been asked before in the interview, and 2) when a variable to which the dialog is linked is asked automatically. Also, a dialog will be asked automatically when it is used in a REPEAT instruction. (See How Variables and Dialogs Are Asked for details on how variables and dialogs are asked.)

One example of why clearing this option may be useful is when you've created a list of answers by merging two different lists together (see WHILE EXPRESSION; END WHILE). When doing this, you often need to merge the new list into the document using a third repeated dialog. Since you've already gathered all the applicable answers, you don't want this repeated dialog to be asked.

To specify an option that controls when a dialog is asked

  1. Edit a custom dialog. (See Edit a Custom Dialog.) The Dialog Editor appears.
  2. Click the Options tab. The window changes to show several custom options.
  3. Clear Ask automatically.

This option replaces the need for using ASK NONE / ASK ALL instructions. However, instructions for using them are still available.


At a Glance: The Dialog Element Editor

You can open the Dialog Editor from the Component Manager or while editing a template. From there you can choose to add a new dialog element by clicking the [image] Dialog Element button. This opens the Dialog Element Editor. You can also access this window by double clicking on an existing dialog element at the Component Manager.

In the first text field A you can enter a name for your new dialog element or you can check the box B to the right of this to have HotDocs generate a name automatically.

Below this is a set of check boxes C where you can choose what style of dialog element you need to make. You can choose from:

  • Text: Allows you to include additional information on the dialog to help the user answer the questions correctly.
  • Horizontal divider: Allows you to insert a horizontal line on the dialog to separate questions in the dialog. If needed, you can also include text with the separator to better explain what's required in the following section.
  • Vertical spacing: Allows you to place empty space in the dialog to help you better define "sections" of a dialog.
  • Script link: Allows you to place a link on the dialog that, when clicked, executes a computation script. This may be useful if you want users to perform a computation or other type of command and have the result immediately take effect.
  • Application link: Allows you to place a link on the dialog that, when clicked, launches an application. This may be useful if your users need to access other programs as they complete the interview.
  • Web link: Allows you to place a link on the dialog that, when clicked, opens a Web page.
  • Image: Allows you to place an image or picture on the dialog.

Depending on what you choose the section below D will show different options. If you select Text then you will see a text field where you can enter the text you wish to display.

If you select Horizontal divider (above) then you can choose to enter a caption to go with the divider, the percentage of the dialog font you would like the caption font to be and the justification of the cation on the horizontal divider.

If you select Vertical spacing (above) then you can choose the size of the spacing by selecting a percentage of the dialog font.

If you select Script link (above) then you can enter the name of a computation variable in the first text field or use the [image] New Component button next to it to create a new computation variable. In the second text field you can enter the text you wish to use as a link.

If you select Application link (above) then in the first field you can type in the file path for your application or use the [image] Browse button to navigate to it. In the second text field you can enter the text you wish to use as a link.

If you select Web link (above) then in the first field you can type in the URL you wish to use or click the [image] Browse button to navigate to it. In the second text field you can enter the text you wish to use as a link.

If you select Image (above) then in the first field you can choose the image file you wish to use by either entering the file path, choosing from the drop down list of recently used images or clicking the [image] Browse button to the right of the field. Below this you can choose one of the three position options for the image.

More dialog element options are available in the other tabs:

  • Options: Choose whether to display text in All views of the dialog, Spreadsheet view only, or Edit Row view only when using spreadsheet dialogs.
  • Used In: See a list of other components that use this dialog element. (see At a Glance: The Used In tab (Component/Dialog Editor) for more information
  • Notes: Make development notes about the dialog element. (see At a Glance: The Notes tab (Component/Dialog Editor) for more information.

To learn more about using the Dialog Element Editor follow the links below:

  • Add Text to Your Dialogs
  • Add the Ability to Launch an Application from a Dialog
  • Add a Link to a Dialog That Runs a Computation
  • Add a Hyperlink to a Dialog
  • Add Spacing and Separator Lines to a Dialog
  • Add a Graphic File to a Dialog
  • Tips on Naming Your Variables


Add Text to Your Dialogs

You can add text to a dialog to guide the user in answering questions. Dialog text can be inserted above or below variables or other items in the dialog.

To add text to a dialog

  1. Open a dialog for editing. (See Edit a Custom Dialog.) HotDocs displays the Dialog Editor.
  2. At the Properties tab of the Dialog Editor, click the [image] Dialog Element button and drag it to the Contents list. The Dialog Element Editor appears.
  3. Enter a name for the component in the Dialog element name field, or select Generate name automatically, which allows HotDocs to name the component.
  4. In the Style group, ensure Text is selected.
  5. In the Display text field, enter the text you want to appear in the dialog.
  6. Optionally, to assign font properties to the prompt text (such as bold or underline), enter a formatting dot code.
  7. Optionally, if the dialog is repeated as a spreadsheet, click the Options tab and choose how you want the spreadsheet to appear in the interview:
    • Spreadsheet view only displays the text on the dialog only when users view the spreadsheet and not when they edit individual rows in the spreadsheet.
    • Edit Row view only displays the text on the dialog only when users edit individual rows of the spreadsheet. No text will appear when they are viewing the spreadsheet.
  8. Move the dialog element within the dialog by dragging it up or down in the Contents list.

To edit the dialog element, double-click it in the Contents list. To remove the element, drag it back to the Components list.

You can use a dialog to display just text and no variables. For example, you may want to include a dialog that contains only instructions for completing the interview.

You can customize dialog element text based on users' answers by including variables and other scripting instructions in the element text.


Add the Ability to Launch an Application from a Dialog

At times, you may want your users to launch a separate application while answering questions in a specific dialog. You can add an option to a dialog that lets users either click a hyperlink or click a button to start the application.

For example, perhaps your users may need to calculate a number before entering their answer in an interview. You can provide a link on the dialog that launches the Windows Calculator so they can calculate their answer.

To place the link on a dialog

  1. Open a dialog for editing. (See Edit a Custom Dialog.) HotDocs displays the Dialog Editor.
  2. At the Properties tab of the Dialog Editor, click the [image] Dialog Element button and drag it to the Contents list. The Dialog Element Editor appears.
  3. Enter a name for the component in the Dialog element name field, or select Generate name automatically , which allows HotDocs to name the component.
  4. In the Style group, select Application link.
  5. In the Executable file field, click the [image] Browse button and locate the application's .EXE file.
  6. In the Link text field, enter the text you want to use as the link.
  7. Click the Options tab and select how you'd like the link to appear on the dialog, based on the following information:
    • In the Display as group, select whether the link should be a Button or Hyperlink. (If you select Button, you can specify a custom button size in the Button size group.)
    • If you select Hyperlink, select whether the link should include text, an image, or both in the Display using group. (Enter the name of the image file in the Image file field if you select Image.)
    • In the Display in group, select Desktop interviews. (Application links are not allowed in HotDocs Server interviews.)
  8. Click OK. The Dialog Element Editor is closed.
  9. Drag the component up or down in the Contents list, depending on where you want the hyperlink placed on the dialog.

When specifying the executable file, if you include just the program's file name and not a folder path, HotDocs looks for the executable file in the same folder as the template. If it doesn't find the file there, it looks in the HotDocs program folder. Finally, if the file is still not found, HotDocs uses information from the Windows Path Environment variable to search for it.

You may include command-line options in the file path of the executable, for example, "C:\Windows\Notepad.exe" c:\Temp\MyTextFile.txt.


Add a Link to a Dialog That Runs a Computation

You can add a link that processes a Computation variable to a HotDocs dialog. This may be useful if you want users to execute a calculation or other type of command and have the result immediately take effect.

To add a button to a dialog that runs a Computation variable

  1. Open a dialog for editing. (See Edit a Custom Dialog.) HotDocs displays the Dialog Editor .
  2. At the Properties tab of the Dialog Editor, click the [image] Dialog Element button and drag it to the Contents list. The Dialog Element Editor appears.
  3. Enter a name for the component in the Dialog element name field, or select Generate name automatically , which allows HotDocs to name the component.
  4. In the Style group, select Script link.
  5. In the Computation field, enter the name of the Computation variable you want to run. (Click the [image] New Component button to create or edit the computation.)
  6. In the Link text field, enter the text you want to use as the link.
  7. Click the Options tab and select how you'd like the link to appear on the dialog, based on the following information:
    • In the Display as group, select whether the link should be a Button or Hyperlink. (If you select Button, you can specify a custom button size in the Button size group.)
    • If you select Hyperlink, select whether the link should include text, an image, or both in the Display using group. (Enter the name of the image file in the Image file field if you select Image.)

Any images displayed in a browser-based (HotDocs Server) interview must be located in the same folder as the template. Also, bitmap (.BMP) files are not supported in browser-based interviews. Additionally, Silverlight does not support all possible color depths that are included in the PNG specification. Specifically, gray scale and 64-bit true color are not supported in Silverlight.

    • In the Display in group, select whether the link should appear when the dialog is displayed in Desktop interviews, Server interviews, or both.
  8. Click OK. The Dialog Element Editor is closed.
  9. Drag the component up or down in the Contents list, depending on where you want the hyperlink placed on the dialog.


Add a Hyperlink to a Dialog

You can include a hyperlink on a dialog that can open a URL in a Web browser. This may be useful if you need users to refer to a specific Web page when answering questions in a dialog.

You may want to add a hyperlink to a dialog to let HotDocs Server users retrieve answers from a database. For example, the site administrator creates a Web page that presents information from a database, allowing users to select the appropriate data. Once the user selected the data, the Web page closes and the answers from the database fill the fields in the interview dialog. If you create such a Web page, it will only be accessible in HotDocs Server.

To add a hyperlink to a dialog

  1. Open a dialog for editing. (See Edit a Custom Dialog.) HotDocs displays the Dialog Editor.
  2. At the Properties tab of the Dialog Editor, click the [image] Dialog Element button and drag it to the Contents list. The Dialog Element Editor appears.
  3. Enter a name for the component in the Dialog element name field, or select Generate name automatically, which allows HotDocs to name the component.
  4. In the Style group, select Web link.
  5. In the URL field, enter the complete Web address for the page you want the hyperlink to open. (Make sure the URL is entered correctly. Include http:// or https:// or ftp://, depending on the type of URL it is.)
  6. In the Link text field, enter the text you want to display as the hyperlink.
  7. Click the Options tab and select how you'd like the hyperlink to appear on the dialog, based on the following information:
    • In the Display as group, select whether the link should be a Button or Hyperlink. (If you select Button, you can specify a custom button size in the Button size group.)
    • If you select Hyperlink, select whether the link should include text, an image, or both in the Display using group. (Enter the name of the image file in the Image file field if you select Image.)

Any images displayed in a browser-based (HotDocs Server) interview must be located in the same folder as the template. Also, bitmap (.BMP) files do not work in browser-based interviews. Additionally, Silverlight does not support all possible color depths that are included in the PNG specification, specifically, gray scale and 64-bit true color.

    • In the Display in group, select whether the link should appear when the dialog is displayed in Desktop interviews, Server interviews, or both.
  8. Optionally, to control the appearance of the browser window when it opens, enter the JavaScript parameters in the Window.open features string (HotDocs Server only) field.

This value corresponds to the third parameter of the JavaScript window.open method (sFeatures). For example, to open the resource in a window that is 200 pixels high, 400 pixels wide, includes the status bar, and does not include the toolbar, menu bar, and location bar, use this string:

height=200,width=400,status=yes,toolbar=no,menubar=no,location=no

  9. Click OK. The Dialog Element Editor is closed.
  10. Drag the component up or down in the Contents list, depending on where you want the hyperlink placed on the dialog.

Rather than create a hyperlink that opens a Web browser, you can create an e-mail link. To do this, include mailto: in the URL, followed by an e-mail address, like this: mailto:publications@hotdocs.com.

If your hyperlink is designed to allow HotDocs Server users to access a database via a Web page, you must select Server interviews in the Display in group. Note that the hyperlink will not work in a desktop interview.


Add Spacing and Separator Lines to a Dialog

You can add white space and/or separator lines to better organize a dialog.

You can control how much empty space appears, and you can include a caption with each separator. For example, if you have two groups of questions in a dialog—one about plaintiffs and the other about defendants in a case—you can add space to separate each group, or you can add a separator line with the text Plaintiff Information and Defendant Information on each separator line. When adding empty space to a dialog, you can control how much space will be used.

To add white space to a dialog

  1. Open a dialog for editing. (See Edit a Custom Dialog.) HotDocs displays the Dialog Editor.
  2. At the Properties tab of the Dialog Editor, click the [image] Dialog Element button and drag it to the Contents list. The Dialog Element Editor appears.
  3. Enter a name for the component in the Dialog element name field, or select Generate name automatically, which allows HotDocs to name the component.
  4. In the Style group, select Vertical spacing.
  5. In the Spacing field, enter a percentage. (For example, if you want the space to be equal to the space taken by text in the dialog, enter 100 in the Spacing field. If you want it to be larger or smaller, enter the appropriate number in the field.)
  6. Click OK. The Dialog Element Editor is closed.
  7. Drag the component up or down in the Contents list, depending on where you want the white space placed on the dialog.

To add lines to a dialog

  1. Open a dialog for editing. (See Edit a Custom Dialog.) HotDocs displays the Dialog Editor.
  2. At the Properties tab of the Dialog Editor, click the Dialog Element button and drag it to the Contents list. The Dialog Element Editor appears.
  3. Enter a name for the component in the Dialog element name field, or select Generate name automatically, which allows HotDocs to name the component.
  4. In the Style group, select Horizontal divider.
  5. Optionally, enter a short description or phrase in the Caption field.
    • In the Font size field, enter a font size for the caption, based on the percentage of the rest of the dialog's text size. (For example, if you want the caption to be the same size as the rest of the text in the dialog, enter 100 in this field.)
    • Click the Justification drop-down button and select to which side of the dialog the caption is aligned.
  6. Click OK. The Dialog Element Editor is closed.
  7. Drag the component up or down in the Contents list to the desired location.

To format the caption text (for example, to make the text bold), highlight the text, right-click, and then choose a formatting option from the Character Format shortcut menu.


Add a Graphic File to a Dialog

You can include images in your dialogs to help users understand interview questions or to display your company logo or other icon. The types of files you can add include .BMP, .JPG, .GIF, and .PNG.

Images with transparency may not appear correctly in dialogs.

To add an image to a dialog

  1. Open a dialog for editing. (See Edit a Custom Dialog.) HotDocs displays the Dialog Editor.
  2. At the Properties tab of the Dialog Editor, click the Dialog Element button and drag it to the Contents list. The Dialog Element Editor appears.
  3. Enter a name for the component in the Dialog element name field, or select Generate name automatically, which allows HotDocs to name the component.
  4. In the Style group, select Image.
  5. In the Image file field, click the [image] Browse button and locate the image file.

Any images displayed in a browser-based (HotDocs Server) interview must be in the same folder as the template. Also, .BMP files do not work in browser-based interviews. Additionally, Silverlight does not support all possible color depths that are included in the PNG specification, specifically, gray scale and 64-bit true color.

  6. Optionally, select an alignment option: Left, Center, and Right.
  7. Click OK. The Dialog Element Editor is closed.
  8. Drag the component up or down in the Contents list, depending on where you want the graphic placed on the dialog.


Use Scripts to Add Power to Your Dialogs

You can create scripts for your dialogs that allow you to hide or dim variable questions, require certain questions be answered before the user can proceed to the next dialog, and assign predetermined values to variables. You can also use scripts to make variables within a dialog conditional, just as they are in the underlying template text.

Before creating a dialog script, see Special Instructions for Dialog Scripts as well as Understand the HotDocs Scripting Language. Dialog scripts should only change the appearance of variables in a dialog—they should not be used to compute answers.

To create a script for a dialog

  1. Open a dialog for editing. (See Edit a Custom Dialog.) HotDocs displays the Dialog Editor.
  2. Click the Script tab. The window changes to show scripting options.
  3. Enter your dialog script. (See Use the Script Editor and Special Instructions for Dialog Scripts.)

Once you have written your script, you can make sure it works correctly by testing the dialog. The dialog appears just as it will during regular assembly. (See Test a Custom Dialog.)

At the Script tab, the Components list shows the components (including dialog element components) in the order they are used in the dialog. This makes it easier to see exactly which components you can use in the script.


Special Instructions for Dialog Scripts

Dialog scripts should only change the appearance of variables in a dialog — they should not be used to compute answers. A dialog script may be run any number of times, with no guarantee that an answer will only be computed once.

The following is a brief explanation of instructions that can be used in dialogs. In each of the following examples, either replace the placeholder NUM with a number value, or replace VAR with a variable name:

Instruction | Description
CONCEAL VAR | This instruction, which you use in a dialog script, keeps variables from appearing in the Select From Answer Source dialog box of an answer source.
DEFAULT VAR TO VALUE | This instruction suggests a value for a variable if the variable is unanswered.
ERRORTEXT | This instruction allows you to create an error message that can appear during the interview.
GRAY ALL; GRAY VAR; UNGRAY ALL; UNGRAY VAR | These instructions, which are used in a dialog script, control whether components in a dialog appear grayed or ungrayed, depending on answers a user enters. GRAY ALL dims all components in the dialog, while UNGRAY ALL makes all of the components active again. Likewise, GRAY VAR dims a single component, and UNGRAY VAR enables the component again.
HIDE ALL; HIDE VAR; SHOW ALL; SHOW VAR | These instructions, which are used in a dialog script, control whether the user is able to see variables in a dialog. The HIDE ALL instruction hides all variables in the dialog, while SHOW ALL reveals the variables again. Likewise, HIDE VAR hides a single variable, and SHOW VAR reveals the variable.
LIMIT NUM | The LIMIT instruction limits the number of times a dialog can be repeated. It is placed in the script of the dialog that must be limited to a specific number of repetitions.
OMIT VAR | The OMIT VAR instruction, which you use in a dialog script, keeps variables from appearing in the Edit Answer Source dialog box of an answer source.
REQUIRE ALL; REQUIRE VAR | The REQUIRE instruction requires users to answer questions in a dialog before they can advance to the next dialog in the interview.
SET VAR TO VALUE | This instruction lets you specify a given value for a variable’s answer automatically, rather than allow the user to specify an answer. With the SET instruction, you can transfer names and other values from one variable to another.


Suggest an Answer Source for Dialogs

You can suggest an answer source (a list of answers for the user to choose from) for a dialog. Users open the list when answering questions in an interview and pick an existing set of answers instead of entering them manually. For example, if you have a large number of attorneys in your firm. Rather than enter a specific attorney's information each time you need to assemble a document, you can enter this information once and then retrieve it on a document-by-document basis.

An answer source file contains sets of answers for one or more variables in a dialog. For example, a dialog may require information about an attorney, such as a name, address, and telephone number. If there are multiple attorneys in a firm, all of this information for each attorney could be saved in an answer source. During an interview, the user opens the answer source, selects the appropriate attorney, and that information will be merged into the document.

You must group all of the variables you want answered by a selected record in the same dialog. If your template contains variables that must be answered by different records, you can group all the variables to be answered by one record together in one dialog, all the questions for another record in another dialog, and so on.

If you are integrating HotDocs with another program you can also specify a DLL file as an answer source that will link the dialog to the third-party program. (Contact your HotDocs sales representative for more information about using the HotDocs API.)

To create an answer source

  1. Edit or create a dialog that contains the variables you want to associate with an answer source file.

Remember that variables in each dialog can be answered by only one record. If you have variables that must be answered by a different answer source, place those variables in a different dialog.

  2. Click the Options tab. The window changes to show several custom options.
  3. To select an existing answer source file, click the Answer source drop-down button, or create an answer source by typing a file name with a three-letter extension, such as .ANX or .HPL, in the Answer source field. (To use an existing answer source, click the [image] Open button and then search for the file.)
  4. If you are linking an existing answer source to a dialog, and the variable names used in the answer source do not match the variable names in the dialog, click Map Variables to associate the variables so they can share information.
  5. Click OK to close the Dialog Editor.

Once you have created an answer source, a [image] Select button appears on the dialog during the interview. The user clicks this button to select an answer or enter new answers, and the answers are saved to the answer source file you specified.

Be careful when using an answer source with a dialog other than the one for which it was created. Each variable in the answer source must have a corresponding variable in every dialog with which it is used. Otherwise, if records are added or deleted, the records are added or deleted incorrectly and existing records will be damaged. You can write a script that uses the HIDE instruction to hide variables so they won’t be visible in the dialog. If you don’t want them to be visible in the answer source record, use either the CONCEAL or OMIT instruction in the same script.

When associating an answer source with a repeated child dialog, the child dialog cannot be repeated as a spreadsheet on the parent. If you do this, the [image] Select button will not appear in the interview.


Tips for Working with Answer Sources

Keep the following tips in mind when creating and using answer sources for dialogs:

  • Since answer source files are saved to the default Answers folder, be careful giving them an .ANX extension, or you may not be able to tell them apart from your regular answer files. It’s best to choose a file name extension such as .HPL ("HotDocs pick list"), so you can distinguish them from other types of files.
  • If an answer source file is not found in the default Answers folder, HotDocs looks for it in the default template folder next. If you want to store the file somewhere else, enter a folder path along with the file name in the Answer source field.
  • Answer sources are automatically saved as you enter answers in them.
  • When you view the Answer source drop-down list, you may see several options listed. One option, CURRENT ANSWER FILE, allows you to link variables in the current dialog to variables used in a repeated dialog. Other options you may see, including external programs such as the Corel Address Book, allow you to link dialogs directly to an application and associate variable names to use the information stored in the program to answer variables. (Only programs you have installed that support this type of integration will be listed.)


At a Glance: The Variable Mapping dialog box

You can open the Dialog Editor from the Component Manager or while editing a template. If you click the Options tab, and the Map Variables button at the bottom right you will see the Variable Mapping dialog.

There are three columns in the table displayed. The first column A shows the variable names, the second column B shows the type of variables. In the third column C you can choose the variable you wish to map to using the drop-down lists.

To learn more about using the Variable Mapping dialog box follow the links below:

  • Link a Dialog to a List Gathered by a Repeated Dialog
  • Link an Existing Answer Source to Other Dialogs
  • Let Users Retrieve Answers from an Outlook Contacts List
  • Let Users Retrieve Answers from a Time Matters Record


Link a Dialog to a List Gathered by a Repeated Dialog

At times, you may want to allow users to choose answers for a dialog from a list of answers they've already provided earlier in the interview.

To link a dialog to a list of answers

  1. Edit the dialog whose answers you want to retrieve from an existing list. (See Edit a Custom Dialog.)
  2. Click the Options tab. The window changes to show several custom options.
  3. Click the Answer source drop-down button and choose CURRENT ANSWER FILE.
  4. Click Map Variables. The HotDocs Variable Mapping dialog box appears.
  5. In the Map To column, click the drop-down button corresponding to the first variable and select the variable that should share the same answer. (The drop-down list contains the variables in the current template that are the same type as the variables in the dialog.)

The information in the last step is relevant only if you are working with an internal mapping, or a shared component file. If you use a command-line option to create an answer source that uses an external component file, you must type the name of the variable from the external component file, since only variables internal to the current template appear in the drop-down list.


Link an Existing Answer Source to Other Dialogs

You can use an answer source with a dialog other than the one it was created for. You must know the answer source file name (and location) as well as the names of the variables referenced in it.

To use an existing answer source

  1. Edit the dialog you want to link to the answer source. (This dialog can be in any template.) (See Edit a Custom Dialog.)
  2. Click the Options tab. The window changes to show several custom options.
  3. In the Answer source field, enter the answer source file name. (If the answer source is saved in a location other than the HotDocs Answers folder or the current template's folder, enter a full folder path along with the file name.)
  4. If the variable names in the current dialog match those in the answer source, click OK. If not, continue this process.
  5. If the variable names in the current dialog don't match those in the answer source, click Map Variables. The HotDocs Variable Mapping dialog box appears. The variable names in the current dialog are listed in the Variable Name column.
  6. In the Map To column, click the drop-down button corresponding to the first variable whose answer you want to come from the answer source. (The drop-down list contains the variables in the answer source that are the same type as the variables in the dialog.)
  7. From the list, select the variable you want to map to the variable in the current dialog.
  8. Continue selecting corresponding variables for each variable in the dialog you want to map.


Let Users Retrieve Answers from an Outlook Contacts List

This feature is supported in Microsoft Outlook 2000 and later.

You can link dialogs in your template to a Microsoft Outlook Contacts list. This allows your users to retrieve information they already know from Outlook, rather than typing it in manually.

To do this, you must first specify Outlook as an answer source for a specific dialog. Then you must map variables in the dialog to fields in the Contacts list. Like most variable mappings, data types must match. For example, you cannot map a Text variable to a date field, and vice versa.

To map variables in a dialog to fields in Outlook

  1. Edit the dialog you want to link to the Contacts list. (This dialog can be in any template.) (See Edit a Custom Dialog.)
  2. Click the Options tab. The window changes to show several custom options.
  3. Click the Answer source drop-down button and choose Outlook.
  4. Click Map Variables. The HotDocs Variable Mapping dialog box appears. The Variable Name column lists the variables in the current component file.
  5. In the Map To column, click the drop-down button and choose the Outlook field that corresponds to the variable.
  6. Repeat Step 5 for each variable you want to map.

Now, when users view this dialog during the interview, a [image] Select button will appear on the dialog. When they click the button, HotDocs will display the Contacts list in Outlook where users can select the name of a contact and have the appropriate information merged into answer fields in the interview.


Let Users Retrieve Answers from a Time Matters Record

To link your dialog to a Time Matters answer source, you must be using Time Matters 7.0 or later. Additionally, you must select the Activate Answer Source Integration option when you enable the HotDocs link in Time Matters. (See the Time Matters documentation for complete instructions on enabling this link.)

You can link dialogs in your template to a Time Matters Contacts or Matters record. This allows your users to retrieve information they already know from Time Matters, rather than entering it manually.

To do this, you must first choose whether to link to a Time Matters Contacts record or a Matters record as the answer source. You then must map variables in the dialog to fields in the record. Like most variable mappings, data types must match. For example, you cannot map a Text variable to a date field, and vice versa.

When linking to Time Matters, you can also designate whether the user has write-back capabilities. This means that if the user changes an answer once it has been selected from Time Matters and entered in the interview, HotDocs can either always save the answer back to Time Matters, or it can allow the user to choose whether the answer should be saved back. If changes should never be reflected in the original Time Matters record, you can choose to disallow write-back.

To map variables in a dialog to a Time Matters record

  1. Edit the dialog you want to link to the Time Matters record. (This dialog can be in any template.) (See Edit a Custom Dialog.)
  2. Click the Options tab. The window changes to show several custom options.
  3. Click the Answer source drop-down button and choose Time Matters - Contact or Time Matters - Matter.
  4. Click Map Variables. The HotDocs Variable Mapping dialog box appears. The Variable Name column lists the variables in the current component file.
  5. In the Map To column, click the drop-down button and choose the Time Matters field that corresponds to the variable.
  6. Optionally, click the Write Back drop-down button and choose the option you need:
    • Never keeps the answer from being written back to Time Matters if it is changed.
    • Always always writes the answer back to Time Matters if it is changed. The user will not be notified or prompted of the change.
    • Prompt displays a dialog box that lets the user decide if the changed answer should be written back to Time Matters.
  7. Repeat steps 5 and 6 for each variable you want to map.

Now, when users view this dialog during the interview, a [image] Select button will appear on the dialog. When they click the button, HotDocs will display the Time Matters records list where they can select the specific record and have the appropriate information merged into answer fields in the interview. If users change an answer, the write-back options you selected will take effect when they save the answer file.


Insert Dialogs Into Dialogs

You can insert dialogs into other dialogs. For example, you could create a dialog that collects basic client information and then, if the client is married, add that dialog to the client dialog to collect spouse information. Dialogs inserted into other dialogs are called child dialogs.

During an interview, a child dialog appears on its parent dialog as a button followed by the name or title of the dialog. When the user clicks the button, the inserted dialog appears and the interview outline expands to show the inserted dialog.

If you are inserting multiple child dialogs in a parent dialog and you specify a Selection grouping style, HotDocs places a check box or option button next to each inserted dialog. When this check box or option button is selected, HotDocs places the child dialog in the interview outline so that its contents can be answered. Otherwise, HotDocs will treat the child dialog as if it doesn't exist—even if there are required variables in it. In the interview, the user can either select the check box or option button and then click the child dialog icon, or the user can click the child dialog icon, which automatically selects the check box or option and then displays the child dialog.

You can insert as many levels of regular dialogs as you want. If you are nesting repeated dialogs, however, you can nest up to 3 levels of repeated child dialogs. See Create a List Within a List for details.

To insert one dialog in another

  1. Create the parent dialog as well as the child dialog. (See Gather Questions into a Custom Dialog.)
  2. Once both dialogs are created, edit the parent dialog. (See Edit a Custom Dialog.)
  3. At the Properties tab, click the Components drop-down button and select Dialogs from the list. HotDocs limits the contents of the list to just dialogs.
  4. Drag the dialog you want to insert to the Contents list.
  5. Optionally, click the Options tab and select a grouping option from the Selection grouping drop-down list. (See Group Child Dialogs in a Parent Dialog.)

By default, child dialogs appear on parent dialogs as links with the child dialog's name as the prompt. If you want to provide more instructive text for accessing and then answering questions in the child dialog, enter a prompt in the Prompt to use when displayed as child dialog field. (The prompt you specify here will be used in the dialog only—the dialog's name or title will still be used in the interview outline and in the dialog itself.)


Group Child Dialogs in a Parent Dialog

When you add two or more child dialogs to a parent dialog, you can group the child dialogs so users can more easily specify which dialog they want to answer. When you group child dialogs, HotDocs places a check box or option button in front of the child dialog icon. When this check box or option button is selected, HotDocs places the child dialog in the interview outline so that its contents can be answered. Otherwise, HotDocs will treat the child dialog as if it doesn't exist—even if there are required variables in it. In the interview, users can either select the check box or option button and then click the child dialog icon, or they can click the child dialog icon, which automatically selects the check box or option and then displays the child dialog.

If child dialogs are not grouped, each child dialog will appear in the interview outline, regardless of whether the dialog is optional to answer. If the user does not answer every question in every dialog, HotDocs will report in the End of Interview dialog that there are unanswered questions.

To group child dialogs in a dialog

  1. Create the parent dialog as well as the dialogs you want to insert. (See Gather Questions into a Custom Dialog.)
  2. Once your dialogs are created, edit the parent dialog and add the child dialogs to it. (See Edit a Custom Dialog and Insert Dialogs Into Dialogs.)
  3. While editing the parent dialog, click the Options tab. The window changes to show options for working with the dialog.
  4. Click the Selection grouping drop-down button and select Select One or Select All That Apply.

When child dialogs are grouped, you can use a SET instruction to automatically select a child dialog for answering. Doing this will automatically add the correct child dialog to the interview outline. You can also test whether a child dialog has been selected for answering by using a True/False expression.


At a Glance: The ASK Field dialog box

You can open the ASK Field dialog box while editing a template by clicking the [image] ASK Field button on the HotDocs Ribbon.

To begin with you can choose one of the two check boxes A at the top of the dialog. Select ASK Dialog to insert an ASK instruction that displays a specific dialog or select ASK Database to insert an ASK instruction that displays a database table from which the user can select one or more records.

You can then enter a name for your new dialog or database component in the field B below or choose an existing component from the drop-down list. Click the [image] Edit Component button the right to display the Dialog Editor so you can make changes to the dialog or database component you are asking.

To learn more about using the ASK Field dialog box follow the links below:

  • Control When Your Dialogs Appear
  • Put ASK Instructions in a Computation Variable
  • Use ASK Instructions to Control the Interview


Control When Your Dialogs Appear

When HotDocs creates an interview for the user, it reads through the template and displays dialogs based on the order it encounters variables and instructions in the template. However, if you want your dialogs to appear in a different order—for instance, if you want a certain dialog to appear first, even though variables that prompt the dialog to be asked appear at the end of the template—you can use an ASK instruction to force HotDocs to display the dialog.

To insert an ASK instruction

  1. Position the cursor at the point in the template where you want the dialog to appear (for example, at the top of the template).
  2. Click the [image] ASK Field button. The ASK Field dialog box appears.
  3. Select a dialog from the Dialog drop-down list, or click the [image] Edit Component button to create a new dialog. (See Gather Questions into a Custom Dialog.)
  4. Click OK. The ASK instruction is inserted in the template.

You can place several ASK instructions in a single computation script to control the order all dialogs are asked in the interview. See Put ASK Instructions in a Computation Variable and Define a Custom Interview.

Sometimes you want to restrict a dialog so it only appears in the interview when it is specifically asked (using an ASK instruction). To do this, clear Link variables to this dialog (at the Options tab). If a dialog that has this option cleared is not specifically asked, variables in the dialog will be asked individually.

In Microsoft Word, you can also insert ASK instructions either by clicking on the HotDocs drop-down menu in the HotDocs toolbar and choosing ASK Field, or by right-clicking in the template and choosing ASK Field from the shortcut menu.

Ask automatically has replaced the need for using ASK NONE / ASK ALL instructions. However, they will still be available for this release.


Put ASK Instructions in a Computation Variable

When you insert an ASK instruction directly in a template, the instruction can ask only one dialog at a time. If you want to ask several dialogs in a specific order, you must insert individual ASK instructions for each dialog. Some template developers like this approach to asking dialogs. Others, however, prefer to group ASK instructions together by creating one computation that asks all the dialogs, and then inserting just the Computation variable into the template. In either case, during assembly, the dialogs appear in the interview outline in the order of the ASK instructions.

To put ASK instructions in a Computation variable

  1. Create the dialogs you want to ask. (See Gather Questions into a Custom Dialog.)
  2. At the template, position your cursor where you want to insert the Computation variable that asks the series of dialogs.
  3. Create a Computation variable. (See Customize a Computation Variable.)
  4. At the Computation Editor, drag ASK DIALOG from the Instruction models list to the Script field.
  5. Replace the DIALOG placeholder with the name of a dialog you want asked. (See Use the Script Editor.)
  6. Repeat Steps 4 and 5 for each ASK instruction. Your computation script may look something like this:

ASK Attorney Information

ASK Court Information

ASK Client Information

  7. When you are finished, click OK.


Use ASK Instructions to Control the Interview

In addition to using an ASK instruction to ask dialogs or variables, an ASK instruction can control whether variables and dialogs required to assemble a document are asked during assembly. Changing ASK instructions lets you work with answers behind the scenes—assigning values without displaying the variables to the users. Specifically, ASK NONE keeps HotDocs from asking variables or dialogs that would otherwise be asked automatically.

Ask automatically has replaced the need for using ASK NONE / ASK ALL instructions. However, they will still be available for this release.

See How Variables and Dialogs Are Asked for details on how HotDocs determines when to ask variables and dialogs.

Using ASK instructions is particularly useful if you need to repeat a dialog but you don't want the dialog to be asked during the interview.

You can insert an ASK instruction directly in a template or place it in a Computation variable and insert the variable in the template.

To change the ASK mode in a text template

  1. Place your cursor at the point in the template where you want HotDocs to control what gets asked.
  2. Insert an ASK instruction (see Control When Your Dialogs Appear). Once the instruction is inserted, replace the dialog name with one of the following keywords: ALL or NONE.

To change the ASK mode in a computation script

  1. Open a Computation variable for editing. (See Customize a Computation Variable.) The Computation Editor appears.
  2. Drag ASK DIALOG from the Instruction models list into the Script field.
  3. Replace DIALOG with one of the following keywords: ALL or NONE.

If you change the ASK mode in a computation, you should always change it back to what it was originally (ALL or NONE).


HotDocs Interviews Overview

This document provides an overview of HotDocs Interviews:

  • Interviews Defined
  • Choose an Interview Type
  • Understand the Interview Generation Workflow
    • Implicit Asking Versus Explicit Asking
  • Have HotDocs Disable Irrelevant Variables in Interviews
  • Interview Templates Defined

Interviews Defined

Once you automate a template, HotDocs can generate an interview A series of dialogs, each containing one or more questions which HotDocs generates from the variables you add to your template. The template's user must answer the questions in the interview before HotDocs can assemble a custom document. You can view the interview by clicking the Interview tab of the assembly window. The left pane of the assembly window displays an outline of the interview. As the user answers questions, the outline tracks the user's progress through the interview. from that template. A HotDocs interview is a series of dialogs, each containing one or more questions which HotDocs generates from the variables you add to your 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. You can view the interview by clicking the Interview tab of the assembly window. The left pane of the assembly window displays an outline of the interview. As the user answers questions, the outline tracks the user's progress through the interview.

Choose an Interview Type

When you assemble a document from a template, HotDocs displays either a default interview The interview HotDocs automatically generates based on the order variables are asked in the template. or a custom interview A script that controls how and the order in which variables and dialogs are asked during an interview. The template developer creates this script. to gather the data needed to assemble the final document:

  • Default Interview: HotDocs generates a default interview by asking the variables it encounters in the template. When you link a variable to a dialog, HotDocs asks the dialog. For most templates, this default interview is sufficient.
  • Custom Interview: If you need control over the order questions are asked in the interview, you can create a custom interview component A computation script that defines how a custom interview will look and function. An interview component usually includes ASK instructions to ask all of the dialogs/variables in the interview. The script frequently includes other instructions, such as REPEAT instructions and INSERT instructions as well as conditions for using these instructions. The name of this component is defined at the Component File Properties dialog box.. A custom interview is defined by a computation variable A type of component that performs calculations or executes other instructions within the template. Computation variable scripts are created using the HotDocs scripting language. script in which you use a series of ASK instruction An instruction that forces a dialog to be asked at a specific location in the script or template. Frequently, ASK instructions are used when creating an interview component. They allow developers to control the order in which dialogs are asked during the interview.s to ask the variables and dialogs in your template. A custom interview can also contain other scripting, such as IF instructions and REPEAT instructions.

HotDocs interviews are dynamic, meaning that each time the user answers a question HotDocs updates the entire interview to reflect any changes caused by that answer. In more complex templates this update may take longer than expected as HotDocs must process each field. Using a custom interview you create a script that asks these components and processes only once. This can improve assembly speed considerably.

Understand the Interview Generation Workflow

In generating an interview from a template, HotDocs follows the following workflow:

  1. HotDocs first checks to see if you created a custom interview for the template

    1. If you created a custom interview, HotDocs inspects the interview's computation variable for the presentation order of the variables or dialogs in the interview.
  2. If there is no custom interview, HotDocs generates a default interview, containing the basic dialogs necessary to present the template variables as questions to the end user.
    1. HotDocs generates the default interview by scanning through the template, starting at the top left corner and finishing at the bottom-right corner, just as a person would read through the template.
    2. When HotDocs locates a variable in the template, it presents the variable as a question in the interview.

If you linked a variable to a dialog, HotDocs displays the dialog in the interview.

    3. As it reads through the template, HotDocs also processes and executes any instructions you added to the template (for example, IF, REPEAT, and INSERT instructions).
    4. If you want to decrease the number of dialogs the user has to click through you can choose to combine default dialogs.

To reduce the amount of dialogs generated in a default interview HotDocs combines variables into as few default dialogs as possible, if you would prefer to have one variable per dialog you can turn off this feature at Component File Properties

Complex templates require more script processing, which can slow interview interactions. You can use a custom interview to minimize the amount of script processing and increase interview responsiveness.

Implicit Asking Versus Explicit Asking

When HotDocs encounters a variable as it scans through the template, it uses one of two means to determine whether to add the variable to the interview:

  • Implicit Asking—HotDocs checks to see if it has already added that variable in the interview; if not, HotDocs adds the variable to the interview. HotDocs only adds a variable again if instructed to do so by an ASK instruction in the Interview Computation variable.

If you have linked the variable to a dialog, HotDocs adds all variables on that dialog to the interview and considers the dialogs' variables "asked" as well; HotDocs does not add to the interview again.

  • Explicit Asking—An ASK instruction within the template; this causes HotDocs to add the asked variable or dialog to the interview, regardless of whether HotDocs has included it before.

Use ASK instructions carefully to avoid duplicating variables in your interview.

Previous versions of HotDocs used the ASK NONE instruction to stop HotDocs from building interviews using implicit asking. This instruction has been known to behave unpredictably in desktop HotDocs and differently in browser interviews. Therefore, we now recommend using the Ask Automatically feature to control the interview.

Have HotDocs Disable Irrelevant Variables in Interviews

When creating dialogs for an interview, you frequently need variables within a dialog to be dynamic. For example, you may want to disable some questions in a dialog until a user answers a different question in the dialog a specific way. You can either write a script to disable a dialog, or you can have HotDocs automatically hide or disable variables, based on whether they are used in the document.

For example, say you have a dialog that asks (using True/False variables) whether a client has any pre-existing health conditions. If the client does, he or she must enter an explanation for each health condition. You can set variable preferences that keep the explanations from being asked unless the corresponding True/False questions are answered affirmatively. Then, if a dialog contains only inactive variables, you can create a script to keep HotDocs from asking the dialog from in the interview.

When you start an assembly, HotDocs processes the templates to determine (based on the interview's answers) which variables are referred to in you instructions. If a variable is unused it will be grayed or hidden. Once HotDocs has checked for unused variables, HotDocs does another pass through the template to generate the interview.

Interview Templates Defined

In addition to creating interview components to use with existing HotDocs templates, you can create an interview template for gathering common information (such as court, attorney, or client information); then save the answers as an answer file for use in assembling other documents.

An interview template A template that contains a series of interview questions designed to gather information about a person (or persons) or matter. Answers are saved in an answer source file, which can then be linked to a dialog in a template that requires the same information. Generally, interview templates can be used to create a list of possible answers so users have more options to choose from is a component file that contains the variables for which you need to get answers. Users can select an interview template for assembly just as they can any other template. Unlike Text and Form templates, however, HotDocs can only use an interview template to generate an answer file, not to assemble a completed document.

A common use for an interview template is to create an answer source file. For example, you can create an interview template that gathers a list of information about attorneys in a law firm and have that information saved in an answer source file. You can then link a specific dialog in your template to that answer source so that when users view it, they can select answers from that list rather than enter them manually. You can use command-line options to lock the answer file so users cannot edit it.


Generating a Default Interview

For less complex templates, you can have HotDocs generate a basic interview so you don't have to create dialogs yourself.

To generate a default interview for a template

  1. Open Component Manager.
  2. Click the [image] Component File Properties button.
  3. Click the Interview tab.
  4. Select Generate default interview.

When HotDocs assembles a document from the template, HotDocs asks the questions in the interview based on the order of the corresponding variables in the template.

You can reduce the number of dialogs in an interview by selecting Combine default dialogs on the Component File Properties window.

If you want to determine the appearance of one or two dialogs in an interview yourself, you can insert ASK instructions at the place in the template where you want your questions asked. If you want to control more aspects of your interview, you can use a custom interview script.


Combine Default Dialogs

To decrease the amount of dialogs in the interview you can use the Combine Default Dialogs option to have HotDocs ask all interview questions on one dialog.

In the 11.1 release, this feature is valid only for templates published to the desktop environment.

To generate combine default dialogs in an interview

  1. Open Component Manager.
  2. Click the [image] Component File Properties button.
  3. Click the Interview tab.
  4. Select Combine Default Dialogs.

When HotDocs assembles a document from the this template, HotDocs asks the questions in the interview in one dialog where it arranges the questions based on the order of the corresponding variables in the template. If you also have a dialog component in your component file, HotDocs asks all the questions until it encounters the first variable used in that dialog. HotDocs will then ask the dialog, followed by all the remaining questions in the template.

If you want to determine the appearance of one or two dialogs in an interview yourself, you can insert ASK instructions at the place in the template where you want your questions asked. If you want to control more aspects of your interview, you can use a custom interview script.


Improve Interview Speed Using a Custom Interview

Once you automate a template, you can use that template to generate an interview that displays the questions the user must answer in order to assemble a custom document based on that template.

It is important to understand how HotDocs generates both a default and a custom interview.

Generate a Default Interview

With default interviews,, HotDocs first scans the template and extracts all variables and instructions from the template. From this scan, HotDocs produces an "extracted script."

The example below shows a short template, followed by the corresponding extracted script:

(Template text)

Last Will of «Client Name»

I, «Client Name», being of sound mind, do make this my last will and testament. «IF Client Marital Status = "Married"»My «Client Spouse Gender: wife/husband»’s name is «Spouse Name». «Client Spouse Gender: she/he» is my personal representative. «ELSE IF Client Marital Status = "Never Married"»I have never been married. «END IF»

(Extracted script)

«Client Name»

«Client Name»

«IF Client Marital Status = "Married"»

«Client Spouse Gender: wife/husband»

«Spouse Name»

«Client Spouse Gender: She/He»

«ELSE IF Client Marital Status = "Never Married"»

«END IF»

Once HotDocs creates an extracted script, HotDocs processes the script and generates an interview, displaying any variables in the script as questions in the interview. (When a variable is linked to a dialog, HotDocs displays the dialog instead.) Additionally, HotDocs processes other instructions (for example, ASK, REPEAT, or IF instructions) included in the extracted script. While the extracted script may refer to a particular variable or instruction multiple times, once a user has answered the question corresponding to the variable or instruction, HotDocs does not ask that question again.

For most templates, allowing HotDocs to generate the interview this way is sufficient. In fact, HotDocs sets all templates, by default, to use this method.

Generate a Custom Interview

For complicated templates with lots of scripting, HotDocs' default interview generation can produce an interview that responds slowly to user interactions. This is because in default interviews, HotDocs must process every variable and instruction in the extracted script—no matter how many times they repeat, and even if the user has already answered the question or the instruction has already been executed. Depending on the complexity of the script, this may cause a delay when moving between answers in the dialog or between dialogs in the interview.

To avoid such issues, you can create a custom interview that contains only the required scripting and variables. You create this script using a computation variable A type of component that performs calculations or executes other instructions within the template. Computation variable scripts are created using the HotDocs scripting language.. The following example shows a custom interview script that might be created for the template already shown above:

(Custom interview script)

ASK Client Information

IF Client Marital Status = "Married"

ASK Spouse Name

END IF

Once you write the custom interview script, you must select a component file property to tell HotDocs to use your custom interview script instead of the default script.


Defining a Custom Interview Component

If you need control over the order HotDocs asks questions in an interview, you can create a custom interview component.

There are two parts to using a custom interview in your template:

  • Create the custom interview component that contains all of your scripting.
  • Specify a component file property that tells HotDocs to use the component when generating the interview.

To create a custom interview component

  1. After automating your template, open Component Manager.
  2. From the Components drop-down list, select Computation Variables and click the [image] New Component button.
  3. Type a name in the Variable name field. (The component can use any name (including INTERVIEW) as long as it's specified in the Interview tab of the Component File Properties dialog box)
  4. Using a series of instructions, specify how you want HotDocs to ask the variables in the template, based on the logic you use in the template. For example, you can create a series of ASK instructions that ask the dialogs, as well as use IF instructions to make variables in the template conditional upon users' answers.
  5. Click OK when you have finished.

Once you have created the custom interview, you must specify a component file property that tells HotDocs to use the computation when it generates the interview.

Tell HotDocs to use the custom interview component when generating the interview

  1. With Component Manager still open, click [image] Component File Properties.
  2. Click the Interview tab and select Use custom interview.
  3. Specify the name of the Computation variable in the Interview component field.

Now, HotDocs will use this computation to generate the interview.

If you are pointing several templates to a shared component file, but you want each template to use its own custom interview, at the Interview tab, clear Use Interview properties stored in the shared component file, select Use custom interview, and then specify the name of the interview computation in the Interview component field.

In a text template, if you select both Generate default interview and Use custom interview, HotDocs always uses the custom interview. That means that HotDocs only asks variables contained in the custom interview. For a form template, if you select both options, HotDocs presents the custom interview first and then includes any variables not in the custom interview, but contained in the default interview, at the end of the interview outline.


Disabling Irrelevant Variables in Interviews

You can have HotDocs hide or disable variables, based on whether the user is going to include them in the document.

There are three steps to automatically disabling unused variables:

  • Specifying at the variable level whether variables should be grayed or hidden if they're not needed in the document.
  • Specifying at the dialog level whether dialogs that contain only irrelevant variables should be left out of the interview entirely.
  • Selecting a component file property that automatically disables irrelevant variables in the interview.

To mark how HotDocs should treat variables if they're not needed in the document

  1. Edit the variable.
  2. At the Advanced tab of the Variable Editor, click the When irrelevant drop-down button and choose an option:
    • Default causes the variable to use the default setting, which you define at the Component File Properties window.
    • Gray causes the variable to appear grayed out if the user does not include it in the document. (This is the default option for all variables.)
    • Hide causes HotDocs to hide the variable if the user does not include it in the document. If the user changes the answer file and the variable is now needed, HotDocs shows the variable in the dialog.
    • Show causes the variable to always appear in the dialog, regardless of whether it's used or not.

The When irrelevant drop-down list is only available when you have selected the component file property Automatically disable irrelevant interviews and dialogs.

To automatically exclude dialogs that contain only irrelevant variables

  1. Edit the dialog.
  2. Click the Options tab.
  3. Select Prevent this dialog from being asked when irrelevant.

This option to Prevent this dialog from being asked when irrelevant is only available when you have selected the component file property Automatically disable irrelevant interviews and dialogs.

To automatically disable unused variables in the interview

  1. Open Component Manager for the template.
  2. Click the [image] Component File Properties button.
  3. Click the Interview tab.
  4. Select Automatically disable irrelevant variables and dialogs.
  5. Click the Default drop-down button and choose one of the options from the list:
    • Gray causes HotDocs to gray all variables with their irrelevant status set to Default.
    • Hide causes HotDocs to hide all variables with their irrelevant status set to Default.
    • Show causes HotDocs to always ask all variables with their irrelevant status set to Default, even if the variable is irrelevant.

HotDocs sets HotDocs Models assembled from markup to disable unused variables. Even disabled, these unused variables are always visible in pop-up dialogs users view when they click a form field wizard button.


Creating an Interview Template

You can create an interview template A template that contains a series of interview questions designed to gather information about a person (or persons) or matter. Answers are saved in an answer source file, which can then be linked to a dialog in a template that requires the same information. Generally, interview templates can be used to create a list of possible answers so users have more options to choose from to gather common information (such as court, attorney, or client information), and then save the answers for use in assembling other documents.

If you are using an interview template to generate an answer source for a specific dialog, you may want to assign command-line options to the interview template file properties that lock answer files and save the answers to a specified answer file.

To create an interview template

  1. At the HotDocs library window, select the folder in which you want to create the interview template.
  2. Click [image] New Template.
  3. Click the Type drop-down button and choose HotDocs Interview Template (.cmp).
  4. In the File name field type a file name for the new template. If you decide to store the template somewhere other than the default template folder (as seen in the Target folder field), you can also [image] Browse to the new destination. HotDocs adds the correct extension to the file name based on the type of text template you selected. HotDocs displays the full path of the currently selected template location in the Target folder field.
  5. Type a title for the interview template in the Title field (or accept the suggestion HotDocs makes). The title is what identifies the file in the library.
    1. Optionally, type a description in the Description field. Descriptions appear in the Properties tab of the library when a user has selected the template.
    2. To add an existing component file to the new template, you can select a component from the Shared component file drop-down list. If you do so, the component file you choose is now shared between the new template and any other templates using that component file.

    3. To use the contents of an existing interview template or component file, in the Initial contents section, you can select Other File and then browse to the .cmp file you want.

  6. Click OK. The Component Manager window appears. If you haven't chosen a shared component file, the Component Manager will contain a single computation variable A type of component that performs calculations or executes other instructions within the template. Computation variable scripts are created using the HotDocs scripting language. named INTERVIEW.

Your interview templates are not required to use the Interview computation variable. If you want, you can delete this component and create a new one. After creating a new component you need to specify the name of the new interview component at the Interview tab of the Component File Properties window.)

The interview component you use must contain the script that asks the questions in the interview. If you use a shared component file and this component file does not contain an Interview component, you need to make one before HotDocs can assemble a document from the template.

  8. Select the interview component and click [image] Edit Component.
  9. Create the variables you want answered, add them to dialogs, and then create a script that asks the dialogs you want users to see when they assemble this template.

    To edit an interview template, select it at the library and click [image] Edit Template. Then, select the interview component and click [image] Edit Component.

When converting interview templates from previous versions of HotDocs to HotDocs 2009-11 format, you may need to edit the Component File Properties for the component file and specify the name of the interview component you are using for the template.

You can use an existing interview template as the basis for a new interview template. To do this, select the existing template, click [image] New Template, and enter a new file name for the template (but leave the information in the Other file field as is).


Create a REPEAT Instruction Using a Computation Variable

Instead of inserting a REPEAT instruction directly in a template to generate a list of answers, you can use a REPEAT instruction in a Computation variable to create your list of answers. Using a computation enables you to quickly insert a list in more than one location in the template.

A drawback to this approach is that HotDocs applies punctuating, sorting, and filtering wherever you insert the computation—the list appears exactly the same even in different parts of your assembled document. For example, you would be unable to a display a list of cities in a column at the beginning of the template and then as a punctuated sentence later on.

To use a REPEAT instruction in a computation

  1. At the template, create a Computation variable.
  2. In the Script field, type either empty quotation marks ( "" ) or a zero (0) as the starting value for the computation.

When you use a script to merge a list of answers you have gathered using a REPEAT, you must first set the computation to a starting value. You must make this value a "" which represents “nothing” if the RESULT expression resolves to text, or a zero (0) if the RESULT expression resolves to a number.)

  1. Type a REPEAT instruction, followed by the dialog name.
  4. Type the RESULT expression, followed by the names of the variables whose answers you want to merge. Use the plus ( + ) operator to add variables, text and space characters (including a hard return), and so forth, to what you want to repeat.
  5. Type an END REPEAT instruction. An example of a possible script would be:

""

REPEAT Tour Information

RESULT + Name of City + ", " + Venue + "

"

END REPEAT


Punctuate a List Using a Computation Variable

When you use a computation to generate a repeated list, you can use the FORMAT instruction to punctuate the list in sentence style.

To punctuate a repeated list in a computation

  1. Create a Computation variable that contains your REPEAT instruction. (See Create a REPEAT Instruction Using a Computation Variable.)
  2. Drag FORMAT "LIST_FORMAT" from the Instruction models list into the Script field on a line of its own, after the REPEAT instruction but before the RESULT expression.
  3. Replace the LIST_FORMAT placeholder with a punctuation format (such as "A, B, and C"). An example would be:

""

REPEAT Tour Information

FORMAT "a; b; and c"

RESULT + Name of City + ", " + Venue

END REPEAT


Sort a List Using a Computation Variable

If you are using a Computation variable to create a list of answers, you can sort answers in the list using the ASCEND VAR and DESCEND VAR instructions. These instructions sort a list from A to Z, and 1 to 9.

To sort a REPEAT instruction in a Computation variable

  1. Create a Computation variable that contains your REPEAT instruction. (See Create a REPEAT Instruction Using a Computation Variable.)
  2. Drag ASCEND VAR or DESCEND VAR from the Instruction models list into the Script field on a line of its own, after the REPEAT instruction but before the RESULT expression.
  3. Replace the VAR placeholder with the repeated variable you want to sort on. An example would be:

""

REPEAT Tour Information

ASCEND Name of City

RESULT + Name of City + ", " + Venue + "

"

END REPEAT

When you use a script to merge a list of answers that have been gathered using a REPEAT, you must first set the computation to a starting value. This value must be a 0 if the result will be a number, or it must be "" if the result will be text.

To add a second sort level, insert a second ASCEND VAR or DESCEND VAR instruction below the first.


Filter a List Using a Computation Variable

If you are using a Computation variable to create a repeated list, you can filter the REPEAT instruction in a Computation variable by using the FILTER COMPUTATION_VAR instruction. (See Filter a List of Answers.)

A filter can be as complicated as it needs to be, but it must result in either true or false. For example, the expression YEARS FROM( Child's Birth Date, TODAY ) produces a number (the age of a person), not a true or false value—it is not a filter. But the expression YEARS FROM( Child's Birth Date, TODAY ) <= 17 can only result in true or false. It can correctly filter all children under the age of 18 from a list.

To filter a REPEAT instruction in a Computation variable

  1. Create a Computation variable that contains your REPEAT instruction. (See Create a REPEAT Instruction Using a Computation Variable.)
  2. Once you have added the REPEAT instruction to the script, drag FILTER COMPUTATION_VAR from the Instruction models list into the Script field. (Place this model on a line of its own, after the REPEAT instruction and any punctuation or sorting instructions but before the RESULT expression.)
  3. Select Computation Variable at the Components list.
  4. Click [image] New Component to open a second Computation Editor.
  5. Assign a name to the computation.
  6. Type the filtering instructions in the Script field, and click OK. HotDocs returns you to the REPEAT computation and the new variable is added to the Components list.
  7. Drag the new variable onto the COMPUTATION_VAR placeholder and complete the REPEAT instruction. An example of a possible script would be:

""

REPEAT Tour Information

ASCEND Tour City

FILTER New York Appearances

RESULT + Tour City + ", " + Tour State + ", " + Tour Venue + "

"

END REPEAT

The New York Appearances filter contains the script, Tour State CONTAINS "new york"

When you use a script to merge a list of answers that have been gathered using a REPEAT, you must first set the computation to a starting value. This value must be a 0 if the result will be a number, or it must be "" if the result will be text.


Tips on Using Computations to Create Lists

There are a few things to note when using a computation to create a list of answers.

  • In the Script field, before the REPEAT instruction, you must set the computation to a starting value. Most often this value will be "nothing"—either two quotation marks with nothing between them ("") if the result of the computation will be text, or a zero (0) if the result will be a number.
  • Inside the REPEAT instruction, begin the part that is being repeated (the part with the repeated variable or other value in it) with RESULT followed by a plus character. This RESULT keyword updates the computation as it goes through each repetition. For example:

""

REPEAT Decedent Information

RESULT + Decedent Name + ", " + Date of Death + "

"

END REPEAT

Also, there are four special models you can use in a computation to get information from a REPEAT instruction.

  • COUNT( DIALOG ) counts the number of repetitions in a list.
  • COUNTER gives you the number of the current repetition.
  • SUM( COMPUTATION_VAR ) totals a repeating Computation variable.
  • SUM( NUM_VAR ) totals a repeating Number variable.


Introduction: Create Lists Within a List

You can create a sublist of answers by nesting one REPEAT instruction inside another. For example, you could create a list of children inside a list of parents, like this:

Paul Linares

Jack

McKenzie

Abby

Lisa White

Kevin

Logan

Savannah

Gregory Hurley

Randy

Jessica

The list of parents (Paul Linares, Lisa White, and Gregory Hurley) is the first repeat level. The sublists of children are the second repeat level. Repeats can be nested up to four levels deep. You can nest repeats directly in a text template or you can nest repeats using a Computation variable in a text or form template.

You can use instructions or expressions with nested REPEAT instructions if you use a Computation variable. And, you can merge a particular answer from a nested repeat list into a text or form document.

Nested repeats cannot be used if you are retrieving answers from a database.

Repeats can not be nested more than four levels deep.


Create a List Within a List

Sometimes you may need to gather a list of answers that must appear within a larger list of answers. For example, perhaps you need a list of your client's real estate holdings. For each holding, you also need property descriptions and improvements. You can create these lists by nesting one REPEAT instruction inside another.

There are two parts to creating a list within a list:

  • First, you must select all the template text you want repeated and insert the required REPEAT instruction fields.
  • Second, you must edit the properties of the parent (or main) dialog and insert the nested dialog(s) into it.

The first step in creating a list within a list is to REPEAT each level of text in the template. (See Create a REPEAT Instruction to Gather a List of Answers.)

To create a nested repeat

  1. Create the variables you want repeated and insert them into the template. (See Insert a Variable Field in a Text Template.)
  2. Gather the variables you want repeated into dialogs. (Make sure you choose a repeat style for each dialog. See Gather Questions into a Custom Dialog.)
  3. At the template, select all the template text and variables you want repeated (including all repeat levels) and click the [image] REPEAT Field button. The REPEAT Field dialog box appears.
  4. Select the dialog for the first (or top) level of the repeat from the Dialog drop-down list and click OK. HotDocs inserts the REPEAT instruction in the template. (Even though you have selected all levels of the repeat in the template text, this dialog should only contain the variables from the first level of the repeat.)
  5. At the template, select the second level of repeated text and variables, as well as any subsequent levels of information (do not select the END REPEAT instruction) and click the [image] REPEAT Field button. The REPEAT Field dialog box appears again.
  6. Select the dialog for the second level of the repeat from the Dialog drop-down list and click OK.
  7. Repeat this process for each subsequent list.

The second part in nesting REPEAT instructions is to edit the contents of each dialog and insert each repeated dialog (except the dialog for the first repeat level) into the preceding level’s dialog.

  8. Edit the dialog in the first (or top) level of the repeat. (See Edit a Custom Dialog.) The Dialog Editor appears.
  9. Drag the dialog for the second repeat level from the Available Components list into the Contents field and click OK.
  10. Repeat this process until each dialog in the nested repeat (except for the first) is inserted into the preceding level’s dialog.

Repeats can not be nested more than four levels deep.

By default, a child dialog appears as a button on the parent dialog. You can change the style of a repeated dialog to Spreadsheet on parent, which lets users enter the nested list of answers while viewing its parent dialog. (See Display a Child Dialog Directly on the Parent Dialog.)

If you are nesting REPEAT instructions in a form template, the REPEAT instructions must be placed in a Computation variable. See Nest REPEAT Instructions Using a Computation Variable for details.


Display a Child Dialog Directly on the Parent Dialog

By default, when you insert a repeated dialog on its parent dialog, it creates a button which the user must click in order to answer the questions in the dialog. However, HotDocs can display the inserted dialog directly on its parent dialog so users can view—and answer—both dialogs without changing the view. The inserted dialog will appear on its parent dialog as a spreadsheet.

Any dialog elements in the inserted child dialog will not appear on the parent dialog.

The following is an example of a nested repeated dialog. The Book Information spreadsheet is inserted in the Author Information dialog, and both are displayed simultaneously.

To display a spreadsheet dialog on its parent

  1. Edit the inserted dialog (or the dialog you want to appear as a spreadsheet on its parent dialog). (See Edit a Custom Dialog.) The Dialog Editor appears.
  2. Click the Style drop-down button and select Spreadsheet on Parent.
  3. Optionally, enter a number in the Rows to display field to control the number of viewable rows that appear in the dialog.
  4. Click OK.


Nest REPEAT Instructions Using a Computation Variable

You can use a Computation variable to nest REPEAT instructions. This allows you to use other instructions or expressions to create more complex repeated dialogs.

For example, perhaps you want to use a computation to generate a list of different departments within a company. Then you can list the names of employees within each department.

To nest REPEAT instructions in a Computation variable

  1. Create a Computation variable and enter the script containing the nested repeats in the Script field. (See Customize a Computation Variable.) An example of a possible script would be:

""

REPEAT Department Information

RESULT + Department Name + " " + "Department" + "

"

REPEAT Employee Information

RESULT + " " + FORMAT( COUNTER , "9" ) + "." + " " + Employee Name + "

"

END REPEAT

END REPEAT

  2. Open each dialog for editing and insert each repeated dialog (except for the first) into the dialog preceding it. (See Insert Dialogs Into Dialogs.)
  3. Select a repeated dialog style for each repeated dialog. (See Choose a Presentation Style for the Repeated Dialog or Display a Child Dialog Directly on the Parent Dialog.)

Repeats can not be nested more than four levels deep.


Use a Particular Answer from a Sublist

Just as you can merge a particular answer from a regular list into the document, you can merge a particular answer from a sublist. To do this, you must include in the brackets the numbers of the answers leading to the answer you want to use, beginning with the first repeat level.

The following graphic shows the hierarchy HotDocs follows when determining which answer to merge into a specific field. For example, if you need to merge the birthday of the third grandchild born to the fourth child of the second parent, you would specify the following information in the variable name field: «Grandchild Date of Birth[2,4,3]».

Then, during the interview, the user provides the answers and HotDocs retrieves the information from the correct levels of the nested repeat. Specifically, the 2 in the first title bar directs HotDocs to the second set of answers entered for the variables on the repeated dialog Parent Information. The 4 in the second title bar directs HotDocs to the fourth set of answers entered for the variables on the repeated dialog Child Information for the second parent. The 3 in the third title bar directs HotDocs to the third answer entered for the variable Grandchild Date of Birth for the fourth child of the second parent.

To merge a particular answer from a nested repeat

  1. Determine the number path leading to the answer you want to merge.
  2. At the template, position the cursor after the variable name, but inside the chevrons.
  3. Type brackets ( [ ] ), and then, within the brackets, type the first number of the path, followed by a comma, then the second number, followed by a comma, and so forth. Don’t put spaces after the commas, and don’t put a comma after the last number.

As you select specific records from a nested repeat, enter all the necessary numbers in the path. HotDocs always uses a 1 if a necessary number is missing, and it always places the 1 after the number(s) you entered. If you don’t enter any numbers, HotDocs uses [1,1,...] as the default number path.

When automating a form template, you must enter the number path in the Variable field at the Field Properties dialog box. (See Retrieve a Specific Answer from a List.)


At a Glance: The Component Manager

You can open the [image] Component Manager directly from the library or from the HotDocs ribbon while editing a template.

The Toolbar A in the Component Manager runs vertically down the left side of the window. From here you can access the following options:

  • Arrange Windows: Places the Component Manager window to the left of either the library window, Automator window, or word processor window. This way, you can work in both windows simultaneously.
  • Save Component File: Saves any changes you have made while working with Component Manager. (To save changes made in the template, click the Save Template button in template window.)
  • View Component File Properties: Displays the Component File Properties dialog box, where you can change settings for the current component file.
  • Insert a Variable: Inserts the selected variable into a template at the current cursor position.
  • Create a New Component: Creates a new component, such as a variable, clause, or dialog.
  • Edit a Component: Displays the Component Editor, where you can make changes to the selected component.
  • Delete a Component: Removes the selected component from the component file. If the component is used in the template, you must remove it there, as well.
  • Rename a Component: Displays the Rename Component dialog box. Renaming a component here changes all references to it in the component file; however, you must manually rename references to the component that appear in the template.
  • Duplicate a Variable: Creates a new component by copying an existing one.
  • Export Computation to Clipboard: When a computation variable is selected you can export the computation to the clipboard as HotDocs readable syntax. (See Import or Export Computations)
  • Import Computation from Clipboard: Imports a computation from the clipboard and adds it to the component file as a computation variable (See Import or Export Computations)
  • Find in Components: Displays the Find in Components dialog box, where you can search for components that contain a specific text string.
  • Find and Replace in Components: Displays the Find and Replace in Components dialog box where you can locate and change text strings in your components.
  • Spell Check Components: Checks text used in components (such as prompts) for accurate spelling.
  • Print Components: Prints a list of components. You can choose to print the variable types, prompts, formatting, and any plain text resources that have been assigned.
  • Restore all: Brings all open component editors to the front.
  • Minimize all: Minimizes all open component editors to the Windows taskbar.
  • Save and Close: Saves changes to and closes all open component editors.
  • Help: Opens the relevant page of the HotDocs Help File.

At the top right of the window you can see the [image] Expand button B. You can click this button to display the component file of another template along side this one. This enables you to compare and share components more easily.

You can use the drop down list C near the top of the window to filter the type of components displayed in the Component List D below. You can also use the [image] Sort button to the right of the drop down list to sort the components alphabetically. You can select components from the list then use buttons from the Toolbar A to select options or double click on the component to open the Component Editor. You can also search your components list using the Find field E at the bottom of the window.

To learn more about the component manager follow the links below:

  • Open and Close Component Manager
  • Open Component Manager at the Template Library
  • Use Component Manager to Work with Components
  • Create and Edit Multiple Components Simultaneously
  • Change Component File Properties
  • Delete a Component from the Current Component File
  • Copy Components From One File to Another
  • Rename Components in a Single Template
  • Make a Duplicate Copy of a Variable
  • Edit Formats, Merge Text, Dialog Elements, and Patterns


Open and Close Component Manager

You can edit components in a template by using Component Manager.

To open Component Manager

  1. At the HotDocs template, click the [image] Component Manager button. The Component Manager window appears.
  2. Optionally, adjust the Component Manager window to the desired width and click the [image] Arrange Windows button. The Component Manager window appears to the left of the template development window.
  3. Once Component Manager is opened, you can perform any number of tasks, including:
    • Using Component Manager to work with components.
    • Creating and inserting a variable using Component Manager.
    • Creating and editing multiple components simultaneously.
    • Changing component file properties.

To close Component Manager, click the X in the upper-right corner of Component Manager.

You can also open Component Manager at the template library. This allows you to create and edit components without actually opening the corresponding template. It also allows you to more easily edit the component file of a clause library or interview template. (See Open Component Manager at the Template Library.)


Open Component Manager at the Template Library

In addition to using Component Manager while you are editing a template (see Open and Close Component Manager), you can use Component Manager to modify the contents of a component file when you are at the HotDocs template library. This may be useful if you need to make changes in the component file, but don't want to open the corresponding template to do it. It is also useful if you need to edit an interview template (see Create an Interview Template), as well as edit clause components in a clause library.

Some changes you make in the component file are not always reflected in the template. For example, if you rename a component at Component Manager without also renaming it in the template, you will receive errors when you assemble the document. Update your template with changes as necessary to avoid such problems.

To open Component Manager at the template library

  1. At the HotDocs library, select the template or clause library whose component file you want to open.
  2. Click the [image] Component Manager button. The Component Manager window appears.
  3. Make changes to the component file as necessary, such as create new components, edit existing components, and rename components. (See Use Component Manager to Work with Components.)


Use Component Manager to Work with Components

Using Component Manager allows you to work with individual components in a HotDocs template, including copying components between component files, creating new components, and editing existing components.

You can open and close Component Manager as needed, or you can leave it displayed as you work in the template, switching between the two windows. One advantage of leaving Component Manager open is the ability to view all the components in your template at once, and edit them simultaneously as needed.

To work with individual components in a component file

  1. Open Component Manager. (See Open and Close Component Manager.) The Component Manager window appears.
  2. Perform any tasks, as described in the following table:
To | Do This
Sort components in Component Manager either by alphabetical name or by component type | Click the [image] Sort Components button and then choose either Sort by Name or Sort by Type. To sort component lists that appear in the Dialog Editor and Computation Editor, right-click on the list and then choose your sorting option from the shortcut menu.
Display Component Manager side by side with the template development window | Adjust Component Manager to the width you want and click the [image] Arrange Windows button. HotDocs adjusts the size of the template development window so that both windows can be viewed in full.
Save changes you have made to the component file | Click the [image] Save Components button.
Specify certain assembly and interview preferences for the template and component file | Click the [image] Component File Properties button. (See Change Component File Properties.)
Use Component Manager to insert a variable in the template text | Place your cursor in the template where you want the variable, select the variable from the Components list, and click the [image] Insert Variable button. (See Create and Insert a Variable Using Component Manager.)
Create a new component, including a variable, dialog, or clause | Click the Components drop-down button, select the type of component you want to create, and click the [image] New Component button.
Make changes to an existing component | Select the component from the component list and click the [image] Edit Component button. (You can also double-click the component.)
Remove a component from the component file | Select the component in the component list and click the [image] Delete Component button. The component is removed from the component file and any associated dialogs, but references to it in the template and other components (such as scripts, prompts, or dialog text elements) will not be updated. If you've referred to this component in any of these ways, you must manually update these references or your template may not work.
Assign a new name to a component | Select the component(s) and click the [image] Rename Component button. (See Rename Components in a Single Template.)
Make a duplicate copy of a variable or group of variables | Select the variable(s) and click the [image] Duplicate Variables button. (See Make a Duplicate Copy of a Variable.)
Bring all open Component Editors to the front | Click the [image] Restore All button. HotDocs brings all open Component Editors to the front so you can view and edit them.
Minimize all open Component Editors to the Windows taskbar | Click the [image] Minimize All button. All open Component Editors are then minimized. However, you can still access them by clicking their icon in the Windows taskbar.
Close all open Component Editors | Click the [image] Save and Close All button. All changes made to components are saved and all open Component Editors are closed.

To access the Component Manager toolbar using the keyboard, press F10.

You can open a component file for another template while viewing the current component file. Once opened, you can edit components or assign other properties. To do this, click the [image] Expand button, and then select the component file. Once open, edit the component. You can also copy components between the open component files. See Copy Components From One File to Another.

For information on searching and replacing text strings in the component file, spell checking components, and printing lists of component properties, see Search Component Files, Print a List of Components, and Spell Check Components.


Create and Edit Multiple Components Simultaneously

Using Component Manager you can create and edit as many components in a given component file as you want, all at the same time. This allows you to compare the properties, advanced options, selection options, and computation scripts of many variables and dialogs. To manage all the open component editing windows, you can either use the [image] Restore All, [image] Minimize All, and [image] Save and Close All buttons in Component Manager; or you can use the Windows taskbar to switch between open windows.

To edit multiple components simultaneously

  1. Open Component Manager. (See Open and Close Component Manager.)
  2. At the Component Manager window, you can either edit existing components or create new ones:
    • To edit an existing component, select it from the list of components and click the [image] Edit Component button. Do this for each component you want to edit. (HotDocs adds the component window to the Windows taskbar so you can more quickly access it.)
    • To create a new component, click the [image] New Component button. Do this for each component you want to create.
  3. Make changes to each variable as necessary, using the following tools to help you manage the open windows:
    • To bring all open Component Editors to the front, click the [image] Restore All button.
    • To minimize all open Component Editors, click the [image] Minimize All button.
    • To save and close all open Component Editors, click the [image] Save and Close All button. (Any changes you have made to component properties will automatically be saved—you will not be prompted to save them.)
    • To switch between open Component Editor windows, select the component in the Windows taskbar. HotDocs will bring that Component Editor to the front.

If you create new components using Component Manager, they are not immediately inserted into the template—they are only saved in the component file. You must insert the variables into the template. See Insert a Variable Field in a Text Template.

How quickly HotDocs minimizes and restores component editing windows depends on your Windows settings. To restore instantaneously, right-click on the Windows desktop, choose Properties from the shortcut menu, click the Appearance tab, click Effects, and then clear Use transition effects for menus and tooltips. (This process may differ, depending on the version of Windows.)

To change a component in several component files, use Template Manager. (See Introduction: Use Template Manager.)


At a Glance: The Component File Properties dialog box

You can open the Component File Properties dialog box by first opening [image] Component Manager and clicking the [image] Component File Properties button on the toolbar.

In the first text field A you can edit the title of the template, this title is used to identify the template in the template library file list, and in the second text field B you can edit the template description which will appear in the Properties tab of the library.

Underneath the two text fields are two drop-down menus. Using the first menu C you can change the component file format, this can be used to make the component file compatible with earlier versions of HotDocs (see Compatibility of HotDocs 11 Files with Earlier Versions of HotDocs). To keep the component file current with the version of HotDocs you have installed, choose Current Format.

Since the release of HotDocs 11.1, HotDocs no longer supports converting component files to pre-2009/10 formats.

Below this you can see the specific Template ID D associated with this template and use the New button to the right to generate a different ID.

If you have additional templates or files that need to be published with this template you can add these using the next two buttons. Clicking the first one E opens the Additional Templates dialog box where you can add or remove other templates attached to this one. Clicking the second one F opens the Other Additional Files dialog box where you can add or remove any other types of file you would like to attach to this template, for example you could attach a PDF guide or an image file. To learn more about using these dialogs see At a Glance: Additional Templates and Files (Component File Properties).

If you choose to use an earlier format of HotDocs be careful not to use new features that aren't supported in the older versions of HotDocs or you may experience errors during assembly.

In the drop-down list G at the bottom of the dialog you can choose to use the component file from another template, the menu will show you a list of available files.

Before you point a template to a shared component file, make sure you first close the template and then edit the component file from the template library. Shared and pointed component files must also be stored in the same folder.

There are further options available in the Interview, Assembly, Hidden Data, HotDocs Server and Answer Upload tabs.

To learn more about setting the component file properties follow the links below:

  • Define a Custom Interview
  • Change Component File Properties
  • Specify Whether Component File Properties are Shared
  • Make Templates Stop Sharing Component Files
  • Specify a Word Template for Storing Post-Assembly Macros
  • Work with Variables in Headers, Footers, Footnotes, and Text Boxes


At a Glance: Additional Templates and Files (Component File Properties)

Home > Managing Components and Templates > Using Component Manager > At a Glance: Additional Templates and Files (Component File Properties)

At a Glance: Additional Templates and Additional Files (Component File Properties)

To access these features

  1. On right side of the HotDocs Developer toolbar, click [image] Component Manager.
  2. Near the top of the Component Manager window, click [image] Component File Properties.
  3. On the General tab, next to Supplemental files, click either Additional Templates or Other Additional Files.

Both of these dialogs behave in the same way but are used to attach different file types. The main portion of these dialog boxes is the files list A where you can see any templates or files currently attached to the template

You can use the Add and Remove buttons B to edit the additional file lists. Clicking the Add button will allow you to browse for a template or file to add while clicking on the Remove button with a list item highlighted will remove that item and it will no longer be published with the template.

For more information about the Component File Properties tabs see the links below:

  • At a Glance: The Component File Properties Dialog Box
  • At a Glance: Interview Tab (Component File Properties)
  • At a Glance: Assembly Tab (Component File Properties)
  • At a Glance: Hidden Data Tab (Component File Properties)
  • At a Glance: HotDocs Server Tab (Component File Properties)
  • At a Glance: Answer Upload Tab (Component File Properties)


At a Glance: Interview Tab (Component File Properties)

You can open the Component File Properties dialog box by first opening [image] Component Manager and clicking the [image] Component File Properties button on the toolbar. Click the Interview tab at the top of the dialog box to access the options for HotDocs interviews.

At the top of the dialog, use the two check boxes A to tell HotDocs to generate a default interview or to use the custom interview you define. If you select Generate default interview. HotDocs then asks the variables and processes the instructions in the template in the order it "reads" them. If you link a variable to a dialog, the dialog is displayed instead. Select Use custom interview; then from the drop-down list B, select the interview component you want to use. If you want to edit the interview component, or if you haven't selected a component from the drop-down list, click the [image] Edit Component button to the right to edit the component or to create a new one.

You can set further interview options using the following five check boxes C:

  • Automatically disable irrelevant variables and dialogs
    Select this option to automatically disable unused variables in the interview. Use the Default drop-down list to the right to select the default style of irrelevant variables:

When this option is selected you can change the irrelevant variable style of individual variables by editing the variable, then at the Advanced tab select a style from the When irrelevant drop-down list.

    • Gray causes HotDocs to gray any irrelevant variables.

    • Hide causes HotDocs to hide all irrelevant variables.

    • Show causes HotDocs to ask all variables, even if the variable is irrelevant.

  • Hide the interview outline
    Select this option to hide the interview outline and force the user to navigate the interview by only using the [image] Previous and [image] Next buttons.

  • Hide the end of interview dialog
    Select this option to hide the end of interview dialog. Then, when the user clicks [image] Next at the last dialog in the interview, depending on which End of Interview action the user defined HotDocs either sends the assembled document to the word processor or displays the Document tab. .

  • Generate default titles for dialogs
    Select this option to have HotDocs generate default titles for dialogs. The way HotDocs generates default dialog titles is by seeing if the first item in a dialog is dialog element text. If so, HotDocs displays that text as the dialog title in the interview outline. If not, HotDocs displays the prompt from the first variable and appends the word "etc."

  • Combine default dialogs

    • HotDocs presents the end user with “default” dialogs containing variables that you have not (yet) explicitly linked to a dialog component. This property controls whether those default dialogs contain only a single variable each, or whether HotDocs combines all adjacent, unlinked variables into single default dialog. When a variable is linked to a dialog component, HotDocs no longer presents it in a default dialog.

    In the 11.1 release, this feature is valid only for templates published to the desktop environment.

Type the text you want to use as a Resource button label, that the user sees when they hover their mouse cursor over the resource button during the interview, in text field D.

You can set further component file options in the General, Assembly, Hidden Data, HotDocs Server and Answer Upload tabs.


At a Glance: Assembly Tab (Component File Properties)

You can open the Component File Properties dialog box by first opening [image] Component Manager and clicking the [image] Component File Properties button on the toolbar. Click the Assembly tab at the top of the dialog box to access the options for document assembly.

In the text field A at the top of the page you can enter a product title that will appear in the assembly window title bar. If you leave this field empty, HotDocs will use the text HotDocs Developer 11.

Below that are a set of six check boxes B you can tick to set more assembly options:

  • Do not use answer files — Tick this box to keep users from saving their answers or using an existing answer file for this particular template. Once selected, this option causes the first information-gathering dialog to appear immediately after the template is selected for assembly and at the end of assembly users cannot save their answers.
  • Mark answers in assembled documents — Tick this check box to let users see their answers highlighted in the assembled Microsoft Word document. When you do this, HotDocs marks merge fields in the Document Preview tab — Users can then click the [image] Highlight Answers button in the assembly window and answers will be highlighted with a special color.
  • Use variable names in summaries — Tick this box to have HotDocs use variable names instead of prompts when generating Question and Answer Summaries.
  • Enable Edit Answer at Document Preview tab — To let users edit answers while viewing the assembled document in the Document Preview tab (Microsoft Word users only) tick this check box. As users change answers, answers throughout the document (and interview) will be updated to reflect the change.
  • Move to the "TypeHere" bookmark — To position the cursor at a certain place in the document after it has been assembled check this box and create a word processor bookmark in the template. (See Position the Cursor in the Assembled Document.)
  • Update table of contents, references, fields, etc — Select this option to instruct HotDocs to update the document's table of contents and/or index after assembling the final word processor document. HotDocs updates these references based on any changes applied during document assembly.

The Update table of contents, references, fields, etc option on the Assembly tab requires a local installation of Microsoft word. This feature does not work with WordPerfect templates or templates on HotDocs Server.

From the drop-down list C you can select the placeholder you would like HotDocs to insert into the assembled document in place of any unanswered questions from the interview.

If you would like to specify a Word document template where you want to store your post-assembly macros click the [image] Browse button next to the Post-assembly macro file (Word only) field D and locate the template that contains these macros. (See PLAY "MACRO" and Specify a Word Template for Storing Post-Assembly Macros for more information.)

Below this are two number fields E where you can set the Maximum WHILE iterations and the Maximum processing stack depth.

To prevent HotDocs from infinitely processing a WHILE expression, which will cause HotDocs to stop responding, type a number in the number field on the left. This number represents the number of times dialogs or variables in the template or script can be looped before HotDocs stops it from doing so.

To prevent HotDocs from infinitely recursing (or processing) a computation, which will also cause HotDocs to stop responding, type a number in the right hand number field. This number represents how many instructions you want HotDocs to allow in the processing stack. When HotDocs reaches this limit, the recursion will stop.

Recursion happens when a computation "calls" itself over and over until the desired result is achieved. For example, you can use a recursive computation to scan a text string, character by character, for a specific value. As HotDocs searches for this value, it adds information to the processing stack. If too much information gets added to this stack, HotDocs may stop responding.

There are further options available in the General, Interview, Hidden Data, HotDocs Server and Answer Upload tabs.


At a Glance: Hidden Data Tab (Component File Properties)

You can open the Hidden Data tab of the Component File Properties dialog box by first opening [image] Component Manager and clicking the [image] Component File Properties button on the toolbar then selecting the Hidden Data tab. The options are spilt into five categories; Document Data A , Document Properties B, HotDocs Fields C, Document Markup D, and DOCX-specific E.

The first section of options A has three check boxes. You can tick these to have HotDocs remove invisible merge ID marks, redundant metafile graphics, and/or unused property codes.

In the second section of options B there eleven document properties that you can have HotDocs remove:

  • Title
  • Company
  • Hyperlink base
  • Subject
  • Category
  • Statistics
  • Author
  • Keywords
  • Custom Properties
  • Manager
  • Comments

In the third section of options C you can choose to have HotDocs remove the following fields: answer bookmarks and/or editable text bookmarks.

In the forth section of options D you can control the options for Document Markup (for more information on marking up documents see Introduction: Create HotDocs Models). You can choose to accept all tracked changes, remove all comments and/or turn off change tracking.

In the fifth section of options E you can select options specific to DOCX templates. You can choose to have HotDocs remove HTML compatibility codes, unreferenced parts and elements, saved proofing codes, and/or _GoBack bookmarks.

At the bottom of the window there are two buttons F that you can use to quickly Select All the options or Clear All the options in this tab.

There are further options available in the General, Interview, Assembly, HotDocs Server and Answer Upload tabs.

To learn more about removing hidden data follow the links below:

  • Remove Hidden Data from Assembled Documents
  • Using the Hidden Data Remover dialog box
  • Remove Hidden Data from Word Templates


At a Glance: HotDocs Server Tab (Component File Properties)

You can open the Component File Properties dialog box by first opening [image] Component Manager and clicking the [image] Component File Properties button on the toolbar. Click the HotDocs Server tab at the top of the dialog box to access the options for making templates compatible with HotDocs Server.

Tick the first check box A to allow you to browser test your template and publish it with HotDocs Server.

Below are six check boxes B where you can choose to set further options for the HotDocs Server interviews. You can select :

  • Interview outline initially showing
  • Allow user to hide/show interview outline
  • Resource pane initially showing
  • Allow user to hide/show resource pane
  • Single-page interview initially on
  • Update table of contents, references, fields, etc

The Update table of contents, references, fields, etc option, on the HotDocs Server tab, does not produce exactly the same results as the desktop option of the same name on the Assembly tab. Unlike in desktop HotDocs, using this feature with server is known to occasionally alter or lose advanced formatting features in the assembled document. When converting a template for use with HotDocs server, we recommend testing all features that previously relied on the desktop version of this option.

  • Allow user to turn single-page interview on/off

There are further options available in the General, Interview, Assembly, Hidden Data, and Answer Upload tabs.

To learn more about setting the HotDocs Server component file properties follow the link below:

  • Enable Templates for Use With HotDocs Server


At a Glance: Answer Upload Tab (Component File Properties)

You can open the Component File Properties dialog box by first opening [image] Component Manager and clicking the [image] Component File Properties button on the toolbar. Click the Answer Upload tab at the top of the dialog box to access the options for uploading answer files to a Web server after assembly.

In the first text field A enter the URL of the Web page to which you want the answers uploaded and in the second text field B enter a friendly name for this URL that you can remember.

To force the answers to always be uploaded without asking the user to confirm tick the check box C below.

There are further options available in the General, Interview, Assembly, Hidden Data, and HotDocs Server tabs.

To learn more about setting the answer upload component file properties follow the link below:

  • Specify Options to Upload Answers


Change Component File Properties

You can change certain template and component file properties at the component file level. Component file properties allow you to, among other things:

  • Specify default titles and descriptions for the template.
  • Define the interview for the template.
  • Control which parts of the assembly window (such as the interview outline and End of Interview dialog) appear for a given template.
  • Enable answer-editing at the Document Preview tab.
  • Choose which hidden data can be removed from an assembled document.
  • Define properties for how the interview will be displayed in a Web browser.

When you change component file properties, those changes usually affect a single template. However, if you are sharing component files (see Use One Component File for Multiple Templates), some properties may be applied to the shared file while others may be applied to the pointed component file. (See Specify Whether Component File Properties are Shared.)

To change component file properties

  1. Open Component Manager. (See Open and Close Component Manager.)
  2. Click the [image] Component File Properties button. The Component File Properties dialog box appears. There are multiple tabs in the Component File Properties dialog box, for a more detailed description of each tab follow the links below:
    • At the General tab you are able to edit the template title, template description, the format of the component file and assign a shared component file.
    • At the Interview tab you can set options relating to the HotDocs interviews created by this template including using a default or custom interview, hiding the end of interview dialog, combining default dialogs, or generating default titles.
    • At the Assembly tab you can decide how HotDocs will assemble the finished document, including setting the processing stack depth, choosing the placeholder for any unanswered variables and setting a product title.
    • At the Hidden Data tab you can decide which pieces of hidden data are removed from the document.
    • At the HotDocs Server tab you can enable the template to work with HotDocs Server and set options for HotDocs Server interviews.
    • At the Answer Upload tab you can set the upload URL, friendly name and whether you would like answer files to be uploaded automatically.

Since the release of HotDocs 11.1, HotDocs no longer supports converting component files to pre-2009/10 formats.


Delete a Component from the Current Component File

You can delete a particular reference to a component in the template by highlighting the reference and pressing the Delete key. However, to delete a variable from the component file (so that it won’t appear in variable lists), you must use Component Manager. You must also use Component Manager to delete formats, patterns, merge text, dialog element text, or other components from the current component file.

Recursion happens when a computation "calls" itself over and over until the desired result is achieved. For example, you can use a recursive computation to scan a text string, character by character, for a specific value. As HotDocs searches for this value, it adds information to the processing stack. If too much information gets added to this stack, HotDocs may stop responding.

To permanently delete a variable, format, pattern, or merge text group

  1. Open Component Manager. (See Open and Close Component Manager.) The Component Manager window appears.
  2. From the Components list, select the variable, format, pattern, or merge text you want to delete.
  3. Click the [image] Delete Components button and click Yes when HotDocs confirms the removal. The component is removed. If a reference to the component still exists in the template, you must remove it or you will receive errors when you assemble the template.

To delete unused components in several templates, use Template Manager. (See Delete Components from Multiple Component Files.)

When you are viewing the component list, you can limit the list of components that are showing by clicking the Components drop-down button and selecting the specific component type.


Copy Components From One File to Another

You can copy components from one component file into another. Copying components makes it easy to use the same variables, dialogs, example formats, and so forth in several templates. Once you have copied a variable from one component file into another, you can change its properties to fit that specific template.

When you copy a component such as a dialog or a Computation variable, all of the variables associated with the component are automatically copied as well.

To copy components from one component file to another

  1. At the template, click the [image] Component Manager button. The Component Manager window appears.
  2. Click the [image] Expand button in the upper-right corner of Component Manager. The window expands to show a second component list.
  3. Click the [image] Open button. The Open dialog box appears. (You can also click the Other component file drop-down button and select one of the component files that is saved in the same folder as the current file.)
  4. Locate the component file you want to display and click OK. HotDocs shows a list of components in that file.
  5. In either the current component file or the other component file, select the components you want to copy.
  6. Click the [image] Copy button (or the [image] Copy button). HotDocs copies the components. If you copy a dialog or a Computation variable, any variables referenced by that component will also be copied.
  7. If a component already exists in the file to which you are copying and contains properties that are different, complete any of the following steps at the Copy Components dialog box:
    • Click Overwrite to overwrite that specific instance of an existing component with the one you are copying.
    • Click Don't Overwrite to not copy a specific component.
    • Click Rename to assign a new name to the component you are copying. Both the original and the copied component are saved in the component file.
    • Click Always Overwrite to overwrite all existing components with the ones you are copying. Once you select this option, you will not be warned when other duplicate components are found.
    • Click Never Overwrite to tell HotDocs to not copy (and overwrite) any existing components with ones you are copying.

Also, at the Copy Components dialog box, you can view the components you are copying. To view the component in the file from which you are copying, click the first View button. To see the component that exists in the component file into which you are copying, click the second View button.

Once you have copied the components, click the [image] Collapse button in the upper-right corner of Component Manager to show only the current list of components.

To copy components between several component files at once, you can use Template Manager. (See Copy and Paste Components Across Multiple Component Files.)


Rename Components in a Single Template

If you have a template that contains several components that must be renamed, you should use Template Manager, which changes the name in both the template file and the component file. It also updates any references to the component if it is used by other components. (See Rename Components Across Multiple Component Files.)

You can rename variables, dialogs, example formats, merge text values, dialog elements, and so forth. When you rename a component, it is changed everywhere it is used in the component file. For example, renaming a variable will update all references to it in dialogs, scripts, and prompts. However, you must update references to the component in the template text itself. This may include removing the old variable field and inserting a new variable field.

How you rename components depends on the component type. Main components can be renamed in both the template file and the component file; however supplemental components (such as example formats, patterns, and so forth) can only be renamed using Component Manager.

To rename a component while editing the template

  1. Place the cursor in the variable field and click the [image] Variable Field button. The Variable Field dialog box appears.
  2. Click the [image] Edit Component button. The Variable Editor appears.
  3. In the Variable name field, type the new variable name and click OK. HotDocs verifies that you want to rename the component.
  4. Click Yes. The variable component is renamed, and the Variable Field dialog box appears again.
  5. Click OK.
  6. Remove any other references to the variable in the template and insert the new variable field. (See Insert a Variable Field in a Text Template.)

To rename a single component using Component Manager

  1. Open Component Manager. (See Open and Close Component Manager.) The Component Manager window appears.
  2. Select the component from the Components list and click the [image] Rename Component button. The Rename Component dialog box appears.
  3. Type the new component name in the New name field and click Rename. HotDocs changes the name throughout the component file.
  4. In the template, replace old component references with the new component. (See Insert a Variable Field in a Text Template.)

To rename multiple components using Component Manager

  1. Open Component Manager. (See Open and Close Component Manager.) The Component Manager window appears.
  2. Select the components from the Components list and click the [image] Rename Component button. The Rename Components dialog box appears.
  3. In the Existing Component Names column, select the components you want to rename.
  4. Type the new name in the New Component Names column.
  5. Optionally, to create multiple like-named components at once (for example, to rename two variables that use the word Plaintiff so the new names instead use Client), type the existing word or phrase (i.e. Plaintiff) in the Replace field, and then type the new word or phase (i.e. Client) in the with field, and click Apply. Where applicable, HotDocs changes all the names in the New Component Names column.
  6. Click Rename to rename the components.
  7. In the template, replace old component references with the new components. (See Insert a Variable Field in a Text Template.)

HotDocs lists all the components that were renamed in the Renamed Components list of Component Manager. To view the full list of components again, click the Components drop-down button and choose All Components.


At a Glance: The Duplicate Variables dialog Box

After opening the Component Manager from the HotDocs Library and highlighting two or more variables, you can click on the [image] Duplicate Variable button on the toolbar to open the Duplicate Variables dialog box where you can set the options for duplicating multiple variables.

In the List A you can see the variables you have selected in the Existing Variables column. The check-box column indicates which variables will be duplicated. In the New Variables column you can see a list of the new variables you will be creating. You must change these variables' names, either by typing each new name in the New Variables column, or by "batch" replacing existing words or phrases in the variable name with the new words. You do this by using the options below.

In the Replace field B you can enter the word or phrase in the new variable name you want to replace. Then in the With field C to the right you can enter the new word or phrase in the new variable name you want to use. For example, if you want to duplicate the variables Plaintiff Name, Plaintiff Address, and Plaintiff Gender to create Defendant Name, Defendant Address and Defendant Gender, you can type Plaintiff in the Replace box, and then type Defendant in this box.

You can then click the Apply button D and replace existing words or phrases in the New Variables column with the new word or phrase you want to use. Once replaced, you can click the Duplicate button E and HotDocs will create the new variables using the names you have suggested.

To learn more about duplicating multiple components in component manager follow the link below:

  • Make a Duplicate Copy of a Variable


Make a Duplicate Copy of a Variable

You can copy an existing variable to create a new variable. This may be useful, for example, if you want to create a variable that uses most (if not all) of the same properties of an existing variable, but you want the variable to have a different name.

You must use Component Manager to duplicate variables. You can duplicate one component or many, depending on your needs. You cannot duplicate dialogs, clauses, or database components.

To duplicate a single variable

  1. Open Component Manager. (See Open and Close Component Manager.) The Component Manager window appears.
  2. Select the variable you want to copy and click the [image] Duplicate Variables button. HotDocs opens the Variable Editor and displays a copy of the variable (as shown in the Variable name field).
  3. Change the name and any other properties of the variable and click OK. The new variable is added to the component file.

To duplicate multiple variables at once

  1. Open Component Manager. (See Open and Close Component Manager.) The Component Manager window appears.
  2. Select the variables you want to create copies of and click the [image] Duplicate Variables button. The Duplicate Variables dialog box appears.
  3. In the Existing Variables column, select the variable(s) you want to duplicate.
  4. Type the name of the new variable in the New Variables column.
  5. Optionally, to create multiple like-named components at once (for example, to copy Defendant-related components to create Plaintiff-related components), type the existing word or phrase (i.e. Defendant) in the Replace field, and then type the new word or phase (i.e. Plaintiff) in the with field, and click Apply. Where applicable, HotDocs changes all of the names in the New Variables column.
  6. Click Duplicate to create the new variables.

HotDocs lists all the variables that were duplicated in the Duplicated Components list of Component Manager. To view the full list of components again, click the Components drop-down button and choose All Components.


Import or Export Computations

Home > Managing Components and Templates > Using Component Manager > Import or Export Computations

Import or Export Computation Variables

You can copy variables between your own component files by using the [image] Expand button (See Copy Components From One File to Another) but if you need to pass a computation on to another person, perhaps someone off-site or in another branch you will need to export the computation from the Component Manager. This creates a piece of HotDocs readable syntax which, when imported back into a Component Manager, will add the whole computation to the component file.

Export a Computation to the Clipboard

  1. Open Component Manager for the template you wish to copy a computation variable from. (See Open and Close Component Manager.) The Component Manager window appears.
  2. Identify the Computation you wish to import and click on it once to highlight it.
  3. Click on the [image] Export a Computation to the Clipboard button.
  4. You can then paste the computation variable syntax into a text file by type ctrl-v or paste by right clicking with the mouse.

Import a Computation from the Clipboard

  1. Select the entire computation variable syntax and type ctrl-c or select copy by right clicking on the mouse. This puts the information back onto the Clipboard.
  2. Open Component Manager for the template you wish to add the computation variable to. (See Open and Close Component Manager.) The Component Manager window appears.
  3. Click the [image] Import a Computation from the Clipboard button then you will see the new computation appear in the Components List.

If you copy anything else between exporting and importing or pasting into a text file you will loose the exported computation and have to re-start the process.


Edit Formats, Merge Text, Dialog Elements, and Patterns

You can edit supplemental components such as example formats, dialog elements, merge text, and patterns using Component Manager.

To edit supplemental components

  1. Open Component Manager. (See Open and Close Component Manager.) The Component Manager window appears.
  2. Click the Components drop-down button and select the type of supplemental component you want to edit. Your options include variable formats (like Text Formats and Number Formats), Merge Text, Dialog Elements, and Text Patterns. The list is filtered to show that kind of component.
  3. Select the component you want to edit and click [image] Edit Component. The component is opened in its component editor.
  4. Make any necessary changes.

To create a new example format, merge text group, dialog element text, or text pattern, click the [image] New Component button while viewing that specific list of supplemental components at Component Manager.

If you want to assign a name to a variable format—for instance, because a name would be more descriptive than the actual format—type the name in the Format name field. This name will be displayed in format lists instead of the format itself.


At a Glance: The Find In Components dialog box

After opening the Component Manager from the HotDocs Library you can click on the [image] Find button on the toolbar to open the Find in Components dialog box where you can set the options for finding components in the component file.

From the Include multiple choice list A you can select one of the following options: Search all components in the list (list can be filtered by component type prior to clicking the Find button), search selected components only (available if you have highlighted components before clicking the Find button, or search all components in the component file.

In the Find What field B below you can enter the terms you need to search for. Below that are two check boxes C where you can decide if you want HotDocs to match the case of your terms and whether it should find whole words only.

At the bottom of the dialog is the Look In check box list D where you can set options to limit where HotDocs searches for your terms. You can select as many as you need from the following:

  • Display text (titles, prompts, etc.): Searches for the text in variable prompts, dialog titles, and dialog element text.
  • Resources: Searches for the text in variable and dialog resources. (This only searches plain-text resources.)
  • Notes: Searches for the text in each component editor's Notes tab.
  • Merge text, patterns, and formats: Searches for the text in merge text options and text variable patterns. It also searches variable example formats.
  • Scripts: Searches for the text in literal text strings (which are used in computation and dialog scripts).
  • Variable references: Searches for variables that are referenced in the components' prompts, merge texts, and scripts.

To learn more about finding components in component manager follow the link below:

  • Search Component Files


At a Glance: The Find and Replace Components dialog box

After opening the Component Manager from the HotDocs Library you can click on the [image] Find button on the toolbar to open the Find in Components dialog box where you can set the options for finding components in the component file.

From the Include multiple choice list A you can select one of the following options: Search all components in the list (list can be filtered by component type prior to clicking the Find button), search selected components only (available if you have highlighted components before clicking the Find button, or search all components in the component file.

In the Find What/ Replace With field B below you can enter the terms you need to search for and what you would like to replace them with in their relative columns. Below that are three check boxes C where you can decide if you want HotDocs to match the case of your terms, whether it should find whole words only, and whether it should have you confirm the replacements.

At the bottom of the dialog is the Look In check box list D where you can set options to limit where HotDocs searches for your terms. You can select as many as you need from the following:

  • Display text (titles, prompts, etc.): Searches for and replaces the text string in variable prompts, dialog titles, and dialog element text.
  • Resources: Searches variable and dialog plain-text resources and replaces the text string with the text you specify.
  • Notes: Searches for and replaces instances of the text string in each component editor's Notes tab.
  • Merge text, patterns, and formats: Searches for and replaces instances of the text string in merge text options and text variable patterns. It also searches and replaces text strings in variable example formats.
  • Scripts: Searches for the text in literal text strings (which are used in computation and dialog scripts) and replaces any text that is found with the text specified.

To learn more about finding components in component manager follow the link below:

  • Search Component Files


Search Component Files

Using Component Manager, you can search for literal text strings in component prompts, titles, dialog element text, notes, scripts, patterns, formats, and merge text. If necessary, you can replace any text you find with different text.

To search components for a certain text string

  1. Open Component Manager. (See Open and Close Component Manager.) The Component Manager window appears.
  2. Click the [image] Find in Components button. The Find in Components dialog box appears.
  3. From the Include list, select one of the following options: All components in list (searches all of the components currently displayed in the Components list), Selected components in list (searches only the components that are currently selected (highlighted) in the Components list), All components in component file (searches all of the components in the component file, regardless of what is currently displayed (and selected) in the Components list).
  4. Type the word or string of text in the Find what column. (You can include up to 10 text strings.)
  5. Optionally, select any other search criteria:
    • Match case searches for a text string that matches the capitalization you have used.
    • Find whole words only excludes instances where the text in the Find column occurs as part of another word.
  6. Specify which properties of a component you want to search by selecting an option. (See Component Properties for an explanation of each property.)
  7. Click Find. Once HotDocs is finished searching the components for the specified string, Component Manager displays the Found Components list, which shows only those components that contained a match. This list continues to show the results of your search until you either perform a new search or you close Component Manager. To view the full list of components again, click the Components drop-down button and choose All Components.

To search components for a certain text string and then replace the string with new text

  1. Open Component Manager. (See Open and Close Component Manager.) The Component Manager window appears.
  2. Click the [image] Find and Replace in Components button. The Find and Replace in Components dialog box appears.
  3. From the Include list, select one of the following options: All components in list (searches all of the components currently displayed in the Components list), Selected components in list (searches only the components that are currently selected (highlighted) in the Components list), All components in component file (searches all of the components in Component Manager, regardless of what is currently displayed (and selected) in the Components list).
  4. Type the text string for which you want to search in the Find what column. (You can include up to 10 strings.)
  5. Type the text string with which you want to replace the found text in the Replace with column.
  6. Optionally, select any other search criteria:
    • Match case searches for a text string that matches the capitalization you have used.
    • Find whole words only excludes instances where the text in the Find column occurs as part of another word.
    • Confirm replacements makes HotDocs ask you before it replaces the text string.
  7. Specify which properties of a component you want to search by selecting an option. (See Component Properties for an explanation of each property.)
  8. Click Find. If you selected Confirm replacements, HotDocs will confirm each replacement. Once HotDocs finishes replacing the components for the specified string, Component Manager displays the Found Components list, which shows only those components that were modified. This list continues to show the results of your search and replace until you either perform a new search or you close Component Manager. To view the full list of components again, click the Components drop-down button and choose All Components.

To search for a specific component based on the component name, select the Find check box (located at the bottom of the Component Manager window) and type the text for which you are searching.


At a Glance: The Spell Check Components dialog box

After opening the Component Manager from the HotDocs Library you can click on the [image] Spell Check button on the toolbar to open the Spell Check Components dialog box where you can set the options for spell checking the components in the selected template.

From the Include multiple choice list A you can select one of the following options for spell checking: Spell check all components in the list (list can be filtered by component type prior to clicking the Spell Check button), spell check selected components only (available if you have highlighted components before clicking the Spell Check button, or spell check all components in the component file.

You can then choose as many or as few options as you would like from the Properties to Check check box list B. Select what you would like HotDocs to check from the following options:

  • Display text (titles, prompts etc): Checks the spelling of dialog titles and element text, as well as variable prompts and multiple-choice options.
  • Merge text: Checks the spelling in any merge text options that have been specified for Multiple Choice variables.
  • Plain text resources: Checks the spelling in any plain-text resources that have been assigned to the selected components.
  • Scripts: Checks the spelling of any literal text (or text between quotation marks) that is used in a computation script.

To learn more about spell checking components from the component manager follow the link below:

  • Spell Check Components


Spell Check Components

Using Component Manager, you can spell check text-based properties of components, such as prompts, titles, notes, and dialog element text.

To spell check components

  1. Open Component Manager. (See Open and Close Component Manager.) The Component Manager window appears.
  2. Click the [image] Spell Check Components button. The Spell Check Components dialog box appears.
  3. From the Include list, select one of the following options: All components in list, Selected components in list, or All components in component file.
  4. Select the component properties you want to spell check. (See Component Properties.)
  5. Click OK. If HotDocs finds any unrecognized words, it displays the Check Spelling dialog box.
  6. Make your selection, based on information in the following table:
To | Do This
Ignore the current instance of the word and continue spell checking | Click Ignore.
Ignore all instances of the word and continue spell checking | Click Ignore All.
Correct only the current instance of the word and continue spell checking | Select an existing replacement from the Change to list (or type the replacement in the Change to field) and click Change.
Correct all instances of the misspelled word and continue spell checking | Select an existing replacement from the Change to list (or type the replacement in the Change to field) and click Change All.
Add the word to your personal dictionary so that the spelling checker will not question the word again | Click Add.
Display additional spelling alternatives for the unrecognized word | Click Suggest. A deeper search takes longer but produces better possible replacements. If the button is unavailable, HotDocs is searching at the deepest level.
Change your spell checking options, such as which words the spelling checker looks at and how it determines whether a word is a possible replacement | Click Options. (You can also change your options at the HotDocs Options dialog box. See Change Your Spell Checking Options.)

When you are finished spell checking, HotDocs displays a list of components that were modified in the Changed Components list. If HotDocs does not find any misspelled words, or if you do not correct any misspellings, this list is empty. To view the full list of components again, click the Components drop-down button and choose All Components.


At a Glance: The Print Components dialog box

After opening the Component Manager from the HotDocs Library you can click on the [image] Print button on the toolbar to open the Print Components dialog box where you can set the options for printing a list of the components referenced in the selected template.

From the Include multiple choice list A you can select one of the following options for printing: Print all components in the list (list can be filtered by component type prior to clicking the Print button), print selected components only (available if you have highlighted components before clicking the Print button, or print all components in the component file.

You can then choose as many or as few options as you would like from the Properties to Print check box list B. Select what you would like HotDocs to print from the following options:

  • Component types: Prints the component types of the selected component.
  • Titles, prompts, and dialog elements: Prints any assigned variable prompts, dialog titles, and dialog element text.
  • Scripts: Prints computation and dialog scripts.
  • Plain text resources: Prints any plain-text resources assigned to variables or dialogs.
  • Notes: Prints any notes associated with the selected components.
  • All other component type-specific properties: Prints component-specific data about the variable or dialog.

To learn more about printing component lists from the component manager follow the link below:

  • Print a List of Components


Print a List of Components

Using Component Manager, you can print lists of properties for selected components.

To print a list of properties for selected components

  1. Open Component Manager. (See Open and Close Component Manager.) The Component Manager window appears.
  2. Click the [image] Print Components button. The Print Components dialog box appears.
  3. From the Include list, select one of the following options:
    • All components in list, which prints all of the components currently displayed in the Components list.
    • Selected components in list, which prints only the components that are currently selected (highlighted) in the Components list.
    • All components in component file, which prints all of the components in Component Manager, regardless of what is currently displayed (and selected) in the Components list.
  4. Select the properties you want to print. (See Component Properties for an explanation of each property.)
  5. Click OK and specify any printer options.


Using One Component File for Multiple Templates

Be sure to back up your shared component files on a regular basis. If a shared component file becomes damaged, you could lose all of the components for several templates.

When you create a template A word processor or form document that has been converted to HotDocs format so that it can be automated. When in template format, changeable text in the template can be replaced with variables. Other instructions can be added as well, such as instructions that create lists, condition text, and insert other templates. file, HotDocs automatically creates a component file The file that stores all of the components used in a template. The component file and template file are both necessary for template development and document assembly to work correctly. Template developers use Component Manager to work with components. for that template. The component file stores variable A component that is used to represent changeable text (such as names, dates, numbers, etc.) in the template. Types of variables include Text, Date, Number, True/False, Multiple Choice, Computation, and Personal Information.s, dialog In template development, represents the component in which the developer groups variables and other components. In document assembly, represents the group of questions in the Interview tab of the assembly window where users enter their answers.s, and other component A template resource file that displays or stores information about the user input/answers to merge in the final document. Examples of components include variables, dialogs, dialog elements, merge text groups, and formats.s you use for that specific template.

When several related templates use many of the same components, you can create all of those components just once and store them in a shared component file A common component file to which several related templates are linked. To use a shared component file, the template's own component file must be pointed to the shared file. Changes to components in the file are reflected in all templates that use it. (See also pointed component file.). When you make a change to a shared component, (for example, if you change a prompt or resource text), the change appears in all templates that use that component file.

The way you share the same components with multiple templates is by pointing each template's own component file to the shared component file. Then, as you create and edit components within the template, the template bypasses its own component file (which is now known as the pointed component file When sharing components across multiple templates, represents the template's own component file, which, in turn, points to the shared component file. or actual component file) and stores the information in the shared component file instead.

You must save all templates, pointed component files, and shared component files in the same folder.

It is best practice to point all the templates you want to share a component file to the shared component file before you start creating components in any of the templates. That way, HotDocs saves the components directly in the shared component file so they are ready for use when you automate other templates. Otherwise, you must copy those components to the shared file so HotDocs can find them.

Pointing the current component file to the shared file does not automatically copy the components there.

When specifying component file properties, HotDocs uses properties from the shared component file for all templates that point to it (except for those specified at the General tab of the Component File Properties dialog box). You can, however, use the pointed component file's properties. Additionally, if HotDocs has specified some of the properties you want to use in the shared component file, you can copy them to the pointed component file.

If you are pointing several templates to a shared component file, but you want each template to use its own custom interview, at the Interview tab, clear Use interview properties stored in the shared component file, select Use custom interview, and then specify the name of the interview computation in the Interview component text box.

You can unpoint a component file using Component Manager.

You can point new templates to as shared component file as you make them but you can also point pre-existing templates to a shared component file:

To point the current component file to a shared component file

  1. Make sure you have closed all templates and component editors. (The only window you should leave open is the template library.)
  2. At the template library, select the template whose component file you want to point to the shared component file.
  3. Click the [image] Component Manager button.
  4. Click the [image] Component File Properties button.
  5. At the General tab, click the Shared component file drop-down button and select the shared component file. (This drop-down list shows all the component files listed in the same folder as the actual component file. Remember, you must save pointed and shared component files to the same folder.)
  6. Optionally, to use the properties of the pointed component file instead of the shared, clear Use properties stored in the shared component file at each respective tab of the Component File Properties dialog box. To copy the properties of the shared component file into the pointed component file, click Copy Shared. (HotDocs will not update any properties you change after choosing to use the pointed component file in the shared file.)
  7. Click OK. The current template's component file is now pointed and the contents of the shared component file appear in the component list. (At Component Manager, the [image] Component File Properties button changes appearance to indicate that the component file is now pointed.)

If you created variables before you pointed the component file to the shared file, you must copy those variables to the shared file.

HotDocs can display a warning when you edit a template that has a pointed component file. This warning reminds you that changes you make will affect all templates that point to the component file you are editing.


Insert a PLAY Instruction in a Template

To insert a PLAY instruction in a template

  1. At the template, position the cursor in the template where you want the PLAY instruction.
  2. If you are using Microsoft Word:
    • Click the HotDocs menu in the HotDocs toolbar and choose Other Field from the list of options. The Other Field dialog box appears.
    • Click the Field type drop-down button and choose PLAY.
    • In the Macro name field, enter the name of the macro you want to run.
    • Click OK. The instruction is inserted in the template.
  3. If you are using WordPerfect:
    • Copy an existing variable or instruction field in the template.
    • Replace text between the chevrons (« ») with the PLAY instruction.

See Specify a Word Template for Storing Post-Assembly Macros for more information.

PLAY instructions are executed when you create an actual document from the assembly. This includes sending the document to the word processor, saving the document, or printing a copy of the document. If there are multiple instructions, they are processed in the order they are encountered.


Specify Whether Component File Properties are Shared

When several related templates use many of the same components, you can create all of those components just once and store them in a shared component file. The way you share the same components in multiple templates is by pointing each template's own component file to the shared component file. Then, as you create and edit components within the template, the template bypasses its own component file (which is now known as the pointed component file or actual component file) and stores the information in the shared component file instead.

When specifying component file properties (see Change Component File Properties), you can choose which component file will provide the options for the template. By default, templates use the shared component file's properties (except for those properties specified at the General tab of the Component File Properties dialog box). However, if a certain number of templates in your set require their properties be different from the others, you can choose to use the pointed component file's properties, instead.

For example, perhaps only a few of your pointed templates will be published for use with HotDocs Server. For those specific templates, you can enable them for use with HotDocs Server and set specific properties so they can be used on the Web.

Properties (such as the Template title and Template description) specified at the General tab of the Component File Properties dialog box are always stored in the pointed component file.

To choose which component file properties should be used for a pointed template

  1. Point the template's component file. See Use One Component File for Multiple Templates.
  2. With Component Manager open and the Component File Properties dialog box displayed, click the tab for the properties you want to use from the pointed component file. (For example, to use the pointed file's interview options, click the Interview tab.) The view changes to show those specific options.
  3. Clear Use properties stored in the shared component file.
  4. Optionally, to copy the properties of the shared component file into the pointed component file, click Copy Shared. Any properties specified for this group at the shared component file are copied into the current (or pointed) component file.

The ability to use pointed component file properties for templates also lets you specify custom interviews for each template in your set. Specifically, if you are pointing several templates to a shared component file, but you want each template to use its own custom interview, at the Interview tab, clear Use Interview properties stored in the shared component file, select Use custom interview, and then specify the name of the interview computation in the Interview component field.

Any properties you change after choosing to use the pointed component file will not be updated in the shared file.


Make Templates Stop Sharing Component Files

You can unpoint a component file if you decide you no longer want to share components between multiple templates. (See Use One Component File for Multiple Templates.)

To unpoint a component file

  1. Make sure all templates and component editors are closed. (The only thing that should be open is the template library.)
  2. At the template library, select the template whose component file you want to unpoint.
  3. Click the [image] Component Manager button. The Component Manager window appears.
  4. Click the [image] Component File Properties button. The Component File Properties dialog box appears.
  5. At the General tab, click the Shared component file drop-down button and choose the blank line at the top of the list.
  6. Click OK. The component list changes to show the components used in the original component file.

If you added or created components while the component file was pointed, you must copy those components back to your original component file so HotDocs can find them. See Copy Components From One File to Another for information on how to do this.


Control Whether Users See the End of Interview Dialog

By default, when users complete interviews, the last dialog they see is the End of Interview dialog, which is where they choose what to do with the assembled document. In some situations, you may want to control whether users view the assembled document automatically without displaying these options. You can keep this dialog from appearing.

To hide the End of Interview dialog

  1. Open Component Manager for the template whose End of Interview dialog you want to hide. (See Open and Close Component Manager.) The Component Manager window appears.
  2. Click the [image] Component File Properties button. The Component File Properties dialog box appears.
  3. Click the Interview tab and select Hide End of Interview dialog.

When the End of Interview dialog is hidden and the user clicks [image] Next at the last dialog in the interview, HotDocs will perform the End of Interview action the user specifies at HotDocs Options. These options include sending the document to the word processor or Filler, or viewing the assembled document at the Document Preview tab. (See Control What Happens When You Finish an Interview.)

Users can choose which options appear in the End of Interview dialog by making their selections at HotDocs Options. See Customize the End of Interview Dialog.


Position the Cursor in the Assembled Document

You can cause HotDocs to place the cursor at a specified place in the assembled document once the user has completed an interview and sent the assembled document to the word processor. You do this by inserting a “TypeHere” bookmark in your template and then by selecting a component file property.

To insert a TypeHere bookmark

  1. Create a template or open an existing template for editing. (See Create a New Text Template File or Edit a Template.)
  2. Place the cursor in the template where you want your cursor to appear when the assembled document is sent to the word processor.
  3. Use your word processor’s functionality to create a bookmark. Name it TypeHere and insert it into the text. (See your word processor’s help file for information on creating bookmarks.)
  4. Open Component Manager. (See Open and Close Component Manager.) The Component Manager window appears.
  5. Click the [image] Component File Properties button. The Component File Properties dialog box appears.
  6. Click the Assembly tab and select Move to the “Type Here” bookmark.
  7. Click OK.


Specify a Word Template for Storing Post-Assembly Macros

You can insert PLAY instructions in templates to play macros after assembly is complete. Such macros are used to update references in the document, remove unused markup coding, apply custom formatting to answers, and so forth.

With a DOTM or DOT template, the macro to be PLAYed can simply be included in the HotDocs template itself. After assembly, HotDocs temporarily attaches the original template to the assembled document so that when the PLAY instruction is processed, Word automatically finds the macro to be PLAYed.

With a DOCX or RTF template, however, you can't store macros in the template. While you can place macros to be PLAYed in a global template saved in Word's Startup folder, or add the macros to Normal.dot, this can be inconvenient, since you must either provide instructions for the user on how to save the global template to the Startup folder or you must instruct them on how to modify Normal.dot.

To accommodate this, you can store your post-assembly macros in a Word template, which you can then associate with the HotDocs template. You specify the name of this Word template file at the Component File Properties dialog box for the template. This Word template must be stored in the same folder as the HotDocs template that uses it.

To use a post-assembly macro template

  1. Create a Word DOTM or DOT template and store your macro in it. (See the Microsoft Word documentation for instructions on doing this.)
  2. Edit the template to which you want to attach the macro. (See Edit a Template.)
  3. Insert the PLAY MACRO instruction in the template. (See PLAY "MACRO".)
  4. Open the Component File Properties dialog box for the template. (See Change Component File Properties.)
  5. Click the Assembly tab, and, in the Post-assembly macro file field, enter the name of the template you created in Step 1. (Remember, the Word macro template must be stored in the same folder as the HotDocs template.)

Post-assembly macros are played whenever the user creates a document from the template, specifically when the user prints the document, saves the document to disk, or sends the document to the word processor.


At a Glance: The Hidden Data Remover dialog box

You can open the Hidden Data Remover dialog box directly from the Tools menu in the library, after selecting the template you would like to change.

You can use the check boxes in this dialog box to select which pieces of data you would like HotDocs to remove. The options are spilt into four categories; Document Data A , Document Properties B , Document Markup C , and DOCX-specific D .

The first section of options A has two check boxes. You can tick these to have HotDocs remove invisible merge ID marks and/or redundant metafile graphics..

In the second section of options B there eleven document properties that you can have HotDocs remove:

  • Title
  • Company
  • Hyperlink base
  • Subject
  • Category
  • Statistics
  • Author
  • Keywords
  • Custom Properties
  • Manager
  • Comments

In the forth section of options C you can control the options for Document Markup (for more information on marking up documents see Introduction: Create HotDocs Models). You can choose to accept all tracked changes, remove all comments and/or turn off change tracking.

In the fifth section of options D you can select options specific to DOCX templates. You can choose to have HotDocs remove HTML compatibility codes, unreferenced parts and elements, saved proofing codes, and/or _GoBack bookmarks.

At the bottom of the dialog box E you can choose to Select All check boxes, Clear All check boxes, Analyze the data, or, when you are happy with your selection, Remove Data. You can also choose Cancel to return to the library without making any changes.

To learn more about removing hidden data follow the links below:

  • Remove Hidden Data from Assembled Documents
  • Using the Hidden Data Remover dialog box
  • Remove Hidden Data from Word Templates


Remove Hidden Data from Assembled Documents

Removing hidden data from an assembled document is supported in Microsoft Word only.

As you work in Microsoft Word templates or documents, some personal information as well as some hidden document properties are stored in the document. This information may compromise the security of the assembled document as well as affect the size of the document file. To keep others from reviewing this information, or to reduce the size of the file, you can choose which of these Word properties should be removed from an assembled document.

Properties you select at the Hidden Data tab of the Component File Properties dialog box will be removed from the assembled document when users send the document to Microsoft Word.

In addition to removing hidden data from assembled documents, you can also remove hidden data from Word templates you're automating. See Remove Hidden Data from Word Templates for details.

To choose which properties will be removed from an assembled Word document

  1. Open Component Manager. (See Open and Close Component Manager.)
  2. Click the [image] Component File Properties button. The Component File Properties dialog box appears.
  3. Click the Hidden Data (Word) tab. The view changes to show the properties you can remove.
  4. Select the types of data you want removed from the assembled document. You can remove content as well as properties from the assembled document. Specifically:
    • Options in the Document Data to Remove group include marks or other types of data Word uses to manage information in the document:
      • Invisible merge ID marks: Word merges revision ID numbers in the template each time you edit the template text. (Word uses these numbers to improve accuracy when merging or comparing related documents.) Each time you edit the text of a template, more IDs are added to the template and the size of the file increases. Removing these IDs reduces the size of the document.
      • Redundant metafile graphics: When you insert a graphic image in an RTF template, Word merges a Windows Metafile copy of the graphic in the template as well. This means there are two versions of the graphic in the template. Removing the metafile version can significantly reduce the size of the document.
      • Unused property codes: When you apply formatting properties (such as bold, underline, alignment, etc.) to text in a template, these codes are stored in the template. Selecting this property removes any codes that may be left in the assembled document after the section of text to which the property was applied has been removed through the use of IF instructions.
    • Options in the Document Properties to Remove group include information stored about the document, including information about who created the document. (Document properties typically appear on the Properties dialog box for a given document.)
    • Options in the HotDocs Fields to Remove group include the bookmarks HotDocs merges in a document to indicate editable answers and text.
    • Options in the Document Markup group include reviewer's comments, such as annotations or change-tracking suggestions.

Now, when the document is assembled and sent to the word processor, the data associated with each option you've selected will be removed from the document.


Using the Hidden Data Remover dialog box

This option is available for Microsoft Word RTF and DOCX templates only.

To access this dialog box: Select a template or multiple templates in the template library. > Choose Hidden Data Remover (Tools menu).

By default, when working with Word templates, Word stores extra information about changes you make to the template. Sometimes tracking these changes causes the size of the file with which you are working to increase. In some instances, you can keep Word from saving this information. Specifically, you can keep Word from saving random merge ID numbers as well as redundant metafile graphics.

Invisible Merge ID Marks

According to the Microsoft Word 2003 help file, Word uses "randomly generated numbers to help keep track of related documents for comparing and merging. Although these numbers are hidden, they could potentially be used to demonstrate that two documents are related." Each time you edit template text, these merge ID numbers are generated and saved to the template. If you frequently change the contents of a template, the size of the template will increase. If you rarely or never merge or compare templates, you can keep Word from generating these ID numbers.

To keep Word from generating merge ID numbers

  1. Open Microsoft Word.
  2. Choose Options from the Word Tools menu. The Options dialog box appears.
  3. Click the Security tab. The view changes to show the different security options you can choose for a template.
  4. In the Privacy options group, clear Store random number to improve merge accuracy.

Clearing this option is only applicable in Word 2002 and later.

  • Word 2007 users can access this setting by going to the Microsoft Office Button > Word Options > Trust Center > Trust Center Settings > Privacy Options > Store random number to improve Combine accuracy.
  • Word 2010/13 users can access this setting by going to File > Options > Trust Center > Trust Center Settings > Privacy Options > Store random number to improve Combine accuracy

Redundant Metafile Graphics

According to a Microsoft Knowledge Base article, "if an EMF, a PNG, a GIF, or a JPEG graphic is inserted into a Word document, when the document is saved, two copies of the graphic are saved in the document. Graphics are saved in the applicable EMF, PNG, GIF, or JPEG format and are also converted to WMF (Windows Metafile) format."

To resolve the problem, you can specify a Windows registry setting that keeps Word from saving two copies of the image.

You must be extremely careful when working in the Windows registry. Failure to follow the instructions below exactly could result in your making changes that negatively affect all of the programs on your computer. You may want to ask your system administrator for help if you are unsure of what you are doing.

To keep Word from saving two copies of graphics in your templates

  1. Close Word (if it's running.)
  2. Click Start > Run. The Run dialog box appears.
  3. In the Open field, type regedit and click OK. The Registry Editor opens.
  4. Navigate to HKEY_CURRENT_USER > Software > Microsoft > Office > Version > Word > Options. (Replace Version with the version of Word you are using.)
  5. In the right pane of the window, right-click and choose New > String Value from the shortcut menu. A new string is created called New Value #1.
  6. Rename the value to ExportPictureWithMetafile. (To do this, you can choose Rename from the shortcut menu.)
  7. Once the name is changed, right-click on the string and choose Modify. The Edit String dialog box appears.
  8. In the Value data field, enter 0.
  9. Click OK.

To remove merge ID numbers or extra metafile graphics from existing templates, see Remove Hidden Data from Word Templates for details. To allow this data in templates but remove it from assembled documents, see Remove Hidden Data from Assembled Documents.


Remove Hidden Data from Word Templates

Removing hidden data is supported in Microsoft Word RTF and DOCX templates only.

As you work in Microsoft Word templates, some personal information as well as some hidden document properties are stored in the template. This information may compromise the security of the template as well as affect the size of the template. To keep others from reviewing this information, or to reduce the size of the file, you can choose which of these Word properties should be removed from the template. You can remove this data from a single template or from multiple templates at a time.

You can also remove hidden data from assembled Word documents. See Remove Hidden Data from Assembled Documents for details.

To remove hidden data from Word templates

  1. Open a template library. (See Open a Library.)
  2. Select the templates from which you want to remove the data.
  3. Choose Hidden Data Remover (Tools menu). The Hidden Data Remover dialog box appears.
  4. Optionally, click Analyze. HotDocs analyzes the templates you have selected and reports how much space in the file each option listed in this dialog box is using. (This information appears in parentheses next to each option.)
  5. In the Document Data group, select any of the following options:
    • Invisible merge ID marks: Word merges revision ID numbers in the template each time you edit the template text. (Word uses these numbers to improve accuracy when merging or comparing related documents.) Each time you edit the text of a template, more IDs are added to the template and the size of the file increases. Removing these IDs reduces the size of the template file.
    • Redundant metafile graphics: When you insert a graphic image in an RTF template, Word merges a Windows Metafile copy of the graphic in the template as well. This means there are two versions of the graphic in the template. Removing the metafile version can significantly reduce the size of the RTF template.

Once you remove this data from a template, continued editing of the template may reintroduce the extra data back into the template. You can prevent Word from adding this data to the template. Click here for details.

  6. In the Document Properties group, select which properties you want to remove from the template. (This includes information stored in the Properties dialog box for a given template. It usually represents information about who created the template.)
  7. In the Document Markup group, select any of the following options:
    • Accept all tracked changes updates the template with any additions or corrections made with Word's Track Changes feature.
    • Turn off change tracking disables the Track Changes option.
    • Remove all comments removes comments made in the template using Word's Comment feature.
  8. Once you've selected which data you want to remove, click Remove Data. HotDocs removes the data from the selected templates.


Work with Variables in Headers, Footers, Footnotes, and Text Boxes

Depending on whether you use Word or WordPerfect, how you insert a variable in a header, footer, footnote, or text box is different. The following table explains how to use variables in the various areas of a word processor template.

 | Microsoft Word | WordPerfect
Headers and footers | Create the variable directly in the field, or create the variable in Component Manager and drag it into the field. Edit the variable directly in the field or use Component Manager. | Create the variable directly in the field, or create the variable in Component Manager and drag it into the field. Edit the variable directly in the field or use Component Manager.
Footnotes | Create the variable in Component Manager and drag it into the field. Edit the variable using Component Manager. | Create the variable directly in the field, or create the variable in Component Manager and drag it into the field. Edit the variable directly in the field or use Component Manager.
Text Boxes | Variables in text boxes are ignored during document assembly. | Create the variable directly in the text box, or create the variable in Component Manager and drag it into the text box. Edit the variable directly in the box or use Component Manager.

Using buttons in the HotDocs Navigation toolbar will have no effect while editing the contents of a header or footer.

When inserting variables or instructions in a WordPerfect header, footer, footnote, or text box, you cannot highlight text and then replace it with the field. You must simply insert the variable by clicking in the text.

HotDocs 5 users: In HotDocs 5, you had to specify a component file property that instructed HotDocs to assemble variables in Word headers and footers. HotDocs 11 automatically assembles these, so the option has been removed from the Using buttons in the HotDocs Navigation toolbar will have no effect while editing the contents of a header or footer.

If a Word template contains headers and footers with variables, you may find your variables being asked "out of order." You can create a custom interview to control the order your variables and dialogs are asked. See Define a Custom Interview for details.


Introduction: Use Template Manager

You can use Template Manager to manage both templates and component files.

The following is an example of a template library that is being "managed" using Template Manager. A list of templates in the library appears on the left, while a list of components used in the templates appears on the right.

Manage Templates

Template Manager allows you to view a list of items referenced in a library. This view includes templates and any files referenced by the templates, including component files, inserted templates, clauses, clause libraries, and so forth. Template Manager can also report any problems it finds with files you are managing.

You can use Template Manager to convert multiple documents either to HotDocs 11 format or to DOCX. Additionally, you can use Template Manager to rename templates. Using Template Manager to do these tasks can ensure that any changes you make in one file will be reflected in any other files referenced by it.

Manage Components

Template Manager provides a comprehensive overview of component usage in templates, inserted templates, clause libraries, and component files, as well as the dependencies between all these files. You can also copy components to multiple files at once to ensure consistency across templates and component files. Likewise, you can rename components in multiple files. When you rename a component, the change is also reflected in the corresponding template files. Additionally, you can single out unused components so you can delete them from the component files, which can reduce the number of components with which you must work in a given file. Finally, you can modify the properties of several component files at once.


At a Glance: The Template Manager

After opening the Template Manager from the HotDocs Library toolbar, you can click on the [image] Convert Files button on the template manager's toolbar.

The Template Manager is split into three main sections. At the top of the window is the Toolbar A where you can perform actions by choosing from the following buttons:

  • Open: Opens a new Template Manager window that shows only the components for the files you've selected in the file list.
  • Expand All: Expands the list to show all top-level entries in the list with their related files.
  • Collapse All: Collapses the list to show only the top-level entries in the list.
  • Component Manager: Opens the Component Manager.
  • Component File Properties: Opens the Component File Properties dialog box so you can modify properties across multiple files at once.
  • Convert: Converts the selected files to either the latest version of HotDocs or to DOCX format.
  • Copy: Copies the components so you can paste them in other files.
  • Paste: Pastes copied components into other template's component files.
  • Rename: Renames the selected file or component.
  • Delete: Deletes the selected component from the files you select.
  • Focus: Shows only the components for the selected template or group of templates.
  • Component Type drop-down list: Shows only the specific type of component you select.
  • Refresh: Regenerates the component database and updates the contents of the Template Manager window if you've made any changes.
  • Options: Changes specific settings for what information Template Manager displays in the components list.
  • Help: Opens the relevant page of the HotDocs Help File.

To the left of the page there is the Template Name/Component File list B where you can see a list of all the template files in the library. You can view the component files by expanding.

To the right of the page is the Component List C where you can see all the components in the library. You can sort the list using the Component Type drop-down list to filter by type or by turning focus on to only show the components that relate to the selected template.

For a more in-depth look at the parts of the Template Manager see Understand Parts of Template Manager Window and Template Manager Toolbar.

To learn more about using the Template Manager follow the links below:

  • Introduction: Use Template Manager
  • Open and Close Template Manager
  • Export Contents of a Template Manager Window to a Spreadsheet
  • Convert Multiple Templates to Work with HotDocs 11
  • Convert Templates and Clauses to Microsoft DOCX
  • Rename Templates Using Template Manager
  • Copy and Paste Components Across Multiple Component Files
  • Rename Components Across Multiple Component Files
  • Delete Components from Multiple Component Files
  • Modify Component File Properties Across Multiple Files


Open and Close Template Manager

You can open Template Manager from the HotDocs template library. As Template Manager opens, it scans through the entire template library and creates a database file that lists all of the files in the library as well as all the components used in those files. (This happens even if you select only a single file to explore.) HotDocs uses this database to track changes you make to templates and components so that your changes won't adversely affect other files in the library.

For example, perhaps you want to rename a single template file. When you select it at the template library and launch Template Manager, HotDocs will create a database of all the files in the library, even though you have selected only one. This allows HotDocs to make sure that when you rename the template, any other place where the file is referred to in the library (either in the library itself or in another template), those references are updated with the new file name.

This database file is saved to the same file location as the template library. Do not open this file directly with the intent to modify its contents. Changes you make may have potentially serious consequences. For example, the change may cause HotDocs to make incorrect assumptions about what files and components are being used. This may make you think it's safe to delete something you shouldn't, thus "breaking" templates. Additionally, changes in the database may cause HotDocs to crash if it receives data it is not expecting.

To start Template Manager

  1. At the HotDocs template library, select the library items you want to work with and click the [image] Template Manager button. A dialog appears telling you that HotDocs is building a component database. (Depending on the number of files in the library, this process may take several minutes.)
    • If it encounters any errors when compiling the database, HotDocs displays an option to view the Error Report, which appears in a temporary text file. The report lists the folder path and file names of the files that contained the errors.
    • If it doesn't encounter any errors when compiling the database, it launches Template Manager.
  2. Once Template Manager appears, you can perform any number of tasks, such as:
    • View the contents of a Template Manager window
    • Work with Template Manager
    • Convert multiple templates to work with HotDocs 11
    • Convert templates and clauses to Microsoft DOCX
    • Rename templates
    • Copy and paste components
    • Rename components
    • Delete components

To close Template Manager, click the X in the upper-right corner of the Template Manager window.


Understand Parts of Template Manager Window

When you first start Template Manager, it creates a database of all of the templates and components found in the current library. However, only the templates and components for those files you selected in the library appear in the Template Manager window, which is divided into two panes—the file list and the component list.

Together, the file list and component list show relationships between files and components. For example, when you select a file, Template Manager displays a [image] red marker next to the components used in the selected file. Likewise, when you select a component, HotDocs displays a [image] red marker next to the file or files that use that component either directly or indirectly (for example, you may have an inserted template that uses that component).

As you examine templates and components in Template Manager, you can customize your view of the window. See Template Manager Toolbar for details.

Viewing the File List

The file list shows all of the files you selected at the template library. You can expand each file to see all of the files associated with it. (You can expand the file list to show corresponding component files and inserted templates by clicking the [image] Expand button. (Click the [image] Collapse button to once again minimize the list.) For example, if you expand a template file, you will see the template's component file, as well as any other files that may be referenced in the template. This can include a clause library (and all of its clauses) and any templates referenced in INSERT or ASSEMBLE instructions (which are denoted by the [image] icon.)

Where there are problems with a specific file, such as the file is referenced either in the library or a template, but doesn't actually exist on disk, Template Manager overlays a warning on the file icon. (Click here for an explanation of the different template status icons used.)

You can choose to view either file titles or file names. Right-click anywhere in the file list and choose your preference. Additionally, you can copy information about the files you're exploring to another program, such as Notepad or the word processor by choosing Copy as Text from the shortcut menu.

While viewing the file list, you can:

  • Convert multiple earlier versions of HotDocs templates to HotDocs 11 format
  • Convert multiple templates to Microsoft DOCX
  • Rename templates using Template Manager
  • Modify component file properties across multiple files

Since the release of HotDocs 11.1, HotDocs no longer supports converting component files to pre-2009/10 formats.

Viewing the Component List

The component list shows all the components associated with the files in the file list. This can include components like variables and dialogs, but it can also include supplemental components, such as example formats, merge text, and patterns. Template Manager shows information about the component, such as whether it's used in a template, or whether it's referred to in a template but doesn't exist in the component file. (Click here for an explanation of the different component status icons used.)

You can control what types of components and other information is displayed in the component list. See Set Template Manager Options for details. Additionally, in the component list, you may see multiple listings of the same component. This means that while each component shares the same component name, there is at least one property of the component that is different, such as a prompt. You can right-click the component and select View from the shortcut menu to view the properties of the component; however, to edit the component's properties, you must use Component Manager, which you can access by right-clicking the corresponding file and selecting Component Manager from the shortcut menu.

While viewing the component list, you can:

  • Copy and paste components across multiple component files.
  • Rename components across multiple component files.
  • Delete components from multiple component files.
  • Modify component file properties across multiple files.

To access the Template Manager toolbar using the keyboard, press F10.


Template Manager Toolbar

The following buttons and commands appear on the Template Manager toolbar:

Button or Command | Description
Open Window | Opens a new Template Manager window that shows only the components for the files you've selected in the file list. This makes it easier to copy components between files and helps control the number of files and components you are viewing. You can have as many windows open as necessary.
Expand All | Expands the list to show all top-level entries in the list with their related files.
Collapse All | Collapses the list to show only the top-level entries in the list.
Component Manager | Opens Component Manager.
Component File Properties | Opens the Component File Properties dialog box so you can modify properties across multiple files at once.
Convert Files | Converts the selected files to either the latest version of HotDocs or to DOCX format.
Copy Components | Copies the components so you can paste them in other files.
Paste Components | Pastes copied components into other template's component files.
Rename | Renames the selected file or component.
Delete | Deletes the selected component from the files you select.
Focus | Shows only the components for the selected template or group of templates. (Click [image] Focus again to show all components.)
Components drop-down list | Shows only the specific type of component you select.
Refresh | Regenerates the component database and updates the contents of the Template Manager window if you've made any changes.
Options | Changes specific settings for what information Template Manager displays in the components list.
Help: | Opens the relevant page of the HotDocs Help File.


Export Contents of a Template Manager Window to a Spreadsheet

When working with Template Manager, you may want to copy either a list of variables or a list of files to a spreadsheet so you can work with that data directly. You can do this by first opening the spreadsheet application (such as Microsoft Excel) and dragging the data directly from Template Manager into the spreadsheet application.

To export lists of items from Template Manager to a spreadsheet

  1. Start Template Manager. (See Open and Close Template Manager.)
  2. Start the spreadsheet application. (See that program's help file for information on doing this.)
  3. Complete either of the following steps:
    • To copy a list of components to the spreadsheet, select the components in the component list and drag them to the rows in the spreadsheet you want to fill. When you release the mouse, the component names appear in one column, while the corresponding component types appears in a second column.
    • To copy a list of templates to the spreadsheet, select the templates in the file list and drag them to the rows in the spreadsheet you want to fill. When you release the mouse, the template titles (or file names, if you are showing them) appear in one column, while the corresponding file path appears in a second column.


At a Glance: The Convert Files dialog box

After selecting Keep existing format, when prompted by the Component Manager, HotDocs will then only allow format changes to be made at the Component manager and will not enact changes made to the component file in Template Manager.

After opening the Template Manager from the HotDocs Library and selecting a template, you can click on the [image] Convert files button. From the Convert Files dialog box you can convert one or more templates or component files.

At the top of the dialog are four check boxes A, you can use these to decide what sort of conversion you would like to run. You can tick the first check box to convert older component files to work with HotDocs 11.

You can use the other three check boxes to select which format your template currently is, and then the two check boxes B to the right to select the format you would like to convert it to. You can select WordPerfect, MS Word DOT, or MS Word RTF templates to convert and from MS Word DOCX and MS Word RTF for the end format.

In the field below C you will see further details about the files to be converted.

If the file you are converting contains INSERTed files, Template Manager will convert both the parent template and any INSERTed templates or clauses.

Template Manager will not convert files used in ASSEMBLE instructions. However, you can convert these files at the main list and any ASSEMBLE instructions that refer to them in other files will be updated.

After a file is converted, Template Manager will search through the contents of the other files in the library to see if any of those files contain INSERT or ASSEMBLE instructions that refer to the template or clauses it just converted. If so, Template Manager updates the file name extension in those instructions so that the instruction correctly refers to the new file.

To learn more about converting files using the template manager follow the links below:

  • Convert Multiple Templates to Work with HotDocs 11
  • Convert Templates and Clauses to Microsoft DOCX


Convert Multiple Templates to Work with HotDocs 11

Any time you make major changes to templates, component files, or other HotDocs files, it is a good idea to back the files up before making the change. This is especially true when converting component files to work with HotDocs 11.

HotDocs 11 uses a file format for component files that is different from pre-2009 versions of HotDocs. This means that all component files created in these earlier versions must be converted to HotDocs 11 format in order for them to work. Failure to convert the files may result in errors when you attempt to assemble documents using them.

You can either convert component files individually (see Convert a Single Template to a New File Format), or you can convert several at once using Template Manager. When you convert using Template Manager, Template Manager can convert all component files referred to in the template or templates you are converting. For example, if Template A contains an INSERT instruction, when you convert Template A, any templates (and component files) referred to in the instruction will also be converted.

To convert templates to HotDocs 11 format

  1. Back up the templates you want to convert by copying them to a different location.
  2. Open the library containing the templates you want to convert. (See Create a Library and Add Templates and Other Files to a Library.)
  3. Click the top folder in the library and launch Template Manager. (See Open and Close Template Manager.) The Template Manager window appears.
  4. In the file list, select the templates you want convert. (To select all, press Ctrl+A.)
  5. Click the [image] Convert Files button. The Convert Files dialog box appears.
  6. The Convert component files to work with HotDocs 11 option is always selected by default. (This is correct.)
    • Optionally, select one of the options to convert the Word or WordPerfect templates to DOCX. (See Convert Templates and Clauses to Microsoft DOCX for details about this kind of conversion.)
  7. Click OK. HotDocs converts all the selected files (and any dependent files referenced by the templates) to HotDocs 11 format.

After selecting Keep existing format, when prompted by the Component Manager, HotDocs will then only allow format changes to be made at the Component manager and will not enact changes made to the component file in Template Manager.


Convert Templates and Clauses to Microsoft DOCX

Any time you make major changes to templates, component files, or other HotDocs files, it is a good idea to back the files up before making the change. This is especially true when converting component files to work with HotDocs 11.

If you change your word processor brand from WordPerfect to Microsoft Word, you can convert your templates and clause libraries to Microsoft Word DOCX using Template Manager.

If you are already using Microsoft Word but your templates or clauses are in RTF format, you should consider converting them to DOCX. This is because HotDocs can now assembly DOCX templates without file conversion, creating less opportunities for errors to appear in your templates. By automating the templates (and clauses) in DOCX, you can reduce the number of steps HotDocs must follow to assemble a document. This improves assembly speed.

Template Manager allows you to convert multiple files to DOCX at once. Doing so ensures that any files dependent on the file you are converting are likewise converted and references to it are updated. Please note the following:

  • When you select a template or clause library in the file list to convert, Template Manager will convert that file to the new format.
  • If the file you are converting contains INSERTed files, Template Manager will convert both the parent template and any INSERTed templates or clauses.
  • Template Manager will not convert files used in ASSEMBLE instructions. However, you can convert these files at the main list, and any ASSEMBLE instructions that refer to it in other files will be updated.

After a file is converted, Template Manager will search through the contents of the other files in the library to see if any of those files contain INSERT or ASSEMBLE instructions that refer to the template or clauses it just converted. If so, Template Manager updates the file name extension in those instructions so that the instruction correctly refers to the new file.

When converting templates to a new format, it's a good idea to convert all the files in the library so that you don't create any file name extension inconsistencies. For example, TemplateA.wpt and TemplateB.wpt both INSERT Subtemplate1.wpt. If you were to select only TemplateA for conversion, Template Manager would convert it and Subtemplate1 to RTF. Template Manager would then update the reference to Subtemplate1 in TemplateB, but TemplateB would still be in WordPerfect format because you haven't converted it yet. If you tried to assemble Template B, you would get errors. (Remember, when inserting one template into another, the file types must match.)

To convert WordPerfect / Word templates or clauses to DOCX

  1. Back up the templates you want to convert by copying them to a different location.
  2. Open the library containing the templates you want to convert. (See Create a New Library By Exporting Part of an Existing Library and Add Templates and Other Files to a Library.)
  3. Click the top folder in the library and launch Template Manager. (See Open and Close Template Manager.) The Template Manager window appears.
  4. In the file list, select the templates you want to convert and click the [image] Convert button. The Convert Files dialog box appears, with the Convert component files to work with HotDocs 11 option selected by default. (See Convert Multiple Templates to Work with HotDocs 11.)
  5. Select Convert WordPerfect templates and clauses... to convert your files to WordPerfect.
  6. Select Convert MS Word RFT templates and clauses... to convert your RTF files. HotDocs lists the files that will be converted in the field below these options.
  7. Click the Convert to: MS DOCX check box to the right to convert the selected files to DOCX.
  8. Click OK. Template Manager confirms that you want to convert the files.
  9. Click Yes to continue.

Template Manager converts the templates (and clauses) to the new format. As it does this, it opens each template file in Word and makes the necessary updates. Once it finishes converting the templates, it refreshes the Template Manager database. When conversion is complete, you are returned to the Template Manager window.

Something to be aware of with DOCX templates is that, Word documents that were originally converted from HTML files will have hidden HTML data stored in the file, once converted to a DOCX template some of that data might not have been stored correctly in the new DOCX template and you may encounter problems if you ever need to convert that template back to HTML.


At a Glance: The Rename Files dialog box

After opening the Template Manager from the HotDocs Library, you can select the template you would like to rename then click on the [image] Rename button on the toolbar.

In the first text field A enter what you would like to rename the file as. In the field below B you will see a list of related files that will be edited and their new names and in that last field C you will see a list of files containing references to the files in the middle field B. These references will also be updated.

To learn more about renaming files using the template manager follow the link below:

  • Rename Templates Using Template Manager


Rename Templates Using Template Manager

Sometimes as you work with complex template sets, you may want to rename templates. However, renaming templates in HotDocs isn't as easy as simply renaming the template and component file using Windows Explorer. References to the template must be updated in the library. References to the file in other templates must also be updated. Additionally, any other dependent files (such as clause libraries and clause archive files) must also be renamed.

Template Manager allows you to rename a template and have all the corresponding files and references to the template in other templates updated as well. For example, if you rename a clause library, both its component file and clause archive file will be renamed. If the clause library is inserted in any templates, the INSERT instruction will be updated with the new file name.

To rename templates using Template Manager

  1. Start Template Manager. (See Open and Close Template Manager.) Template Manager opens.

You should select all of the templates in the library before starting Template Manager. This makes it easier to update file names throughout the template set.

  2. Optionally, right-click anywhere in the file list and choose Show File Names from the shortcut menu. This lists templates by file name rather than title, making it easier to identify which files you want to rename.
  3. Select the file you want to rename from the file list and click [image] Rename. The Rename Files dialog box appears.
  4. Type the new file name in the New file name field. Do not include a file name extension.
  5. As you enter the new file name, Template Manager updates the file list below so you can see which files will be updated.
  6. Click Rename. Template Manager renames all the appropriate files and updates references in the template library. It also searches through other files in the library and updates any INSERT or ASSEMBLE instructions with the new file name information.

If you are renaming a template whose component file is pointed to a shared component file, Template Manager will rename the pointed component file and repoint it to the shared file.


At a Glance: The Copy Components dialog box

After opening the Template Manager from the HotDocs Library, select multiple components from the Component list then you can click on the [image] Copy Component button on the toolbar. This brings up the Copy Components dialog box where you can select the correct component file to copy the components (and any components they reference) from.

To learn more about copying components using the template manager follow the links below:

  • Copy and Paste Components Across Multiple Component Files


At a Glance: The Paste Components dialog box

After opening the Template Manager from the HotDocs Library, and once you have copied files from the component list, you can click on the [image] Paste Component button on the toolbar to paste these components into a different template. This will open the Paste Components dialog box where you will be asked to confirm which component file in your library you would like to paste into.

Select the file you would like to paste into by ticking the check box next to its file path in the field.

Below this is a check box you can un-tick if you would prefer HotDocs not warn you when you are overwriting existing components.

To learn more about copying components using the template manager follow the links below:

  • Copy and Paste Components Across Multiple Component Files


Copy and Paste Components Across Multiple Component Files

Sometimes you may create a variable or other component that you would like to copy into all the component files in your template library. Rather than open each component file manually and copy the variable to it (see Copy Components From One File to Another), you can use Template Manager to copy a component into several component files at once.

You can copy multiple components at a time. If the component you select is a clause that uses variables, a variable reference (or variable used in another variable's prompt), a dialog, or Computation variable that refers to or requires other variables to function, those variables will also be copied to the new component file.

To copy and paste components between component files

  1. At Template Manager, select a component or components from the component list and click the [image] Copy Components button. The components are saved to the Clipboard.
  2. If the component is used in two or more component files, Template Manager displays the Copy Components dialog box that lets you choose which component file you want to copy from. Select the correct file and click Copy. The component is saved to the Clipboard.
  3. From the file list, select the file or files you want to copy the component into.
  4. Click the [image] Paste Components button. The Paste Components dialog box appears. The files you have already selected appear in this list with a check mark next to them. The list also includes other component files you are currently working with.
  5. Select additional component files from the list, clear the selected files, or accept the current selection.
  6. Optionally, select Warn when overwriting components that already exist if you want Template Manager to warn you if the component you are copying already exists in the file.
  7. Click Paste. Template Manager pastes the component into the file or files.

You can also drag components from the component list to selected files in the file list to copy and paste them.


At a Glance: The Rename Components dialog box

After opening the Template Manager from the HotDocs Library, select a component from the Component List, then you can click on the [image] Rename button on the toolbar to rename this component.

In the first text field A enter the new name for your chosen component. In the field below B you will see a list of the files containing that component and you have the option by unticking the check boxes to deselect files from this list.

At the bottom of the dialog there are two buttons C where you can choose to Clear All check boxes or Select All check boxes.

To learn more about renaming components using the template manager follow the links below:

  • Rename Components Across Multiple Component Files


Rename Components Across Multiple Component Files

Sometimes as you create complex template sets, you may wish to simultaneously change the name of a component throughout the entire set. You can use Template Manager to select a component, assign a new name, and make the change in multiple component files.

When you use Template Manager to rename components, components are renamed in both the component file and the template file. Additionally, when renaming variables, any references to the variable in prompts or dialog element text will also be renamed.

To rename components using Template Manager

  1. At Template Manager, select a component from the component list and click [image] Rename. The Rename Components dialog box appears.
  2. Type the new component name in the New component name field.
  3. From the Following files field, select the files you want to make the change in. (This field lists all of the files that contain the component or a reference to the component.)

If a component is used in a template and its associated component file, you must select both files in the list before you rename the component. If you select one and not the other, you will create an unresolved reference and you will not be able to assemble a document from the template. (Template Manager selects both files by default.)

  4. Click Rename. Template Manager renames all selected instances of the component.


Delete Components from Multiple Component Files

As you explore component files, you may discover you have several components that are unused. You can use Template Manager to remove the unused components. If your component file contains a large number of components, removing unused components can make the list much more manageable.

You can identify an unused component by its status, which is shown in the component list.

To remove unused components from one or more component files

  1. At Template Manager, select the component you want to remove from the component list.
  2. Click [image] Delete. Template Manager confirms that you want to delete the component.
  3. Click Yes. Template Manager removes the component from the associated component files.


Modify Component File Properties Across Multiple Files

There may be certain component file properties that you want used across multiple templates in your set. You can use Template Manager to specify these properties at once for all of these files.

For example, perhaps you want all the templates in your library to use the same product title. Rather than change this property in each individual component file, you can specify a product title using Template Manager and have it applied to all the selected component files at once.

To modify component file properties in multiple component files

  1. At Template Manager, select the files you want to modify from the file list and click the [image] Component File Properties button. The Component File Properties dialog box appears.
  2. Enter or select which properties you want to change. (See Change Component File Properties for specific details of each option.)
  3. Click OK. HotDocs displays a list of component files that will be changed.
  4. Click OK. The changes are made in the selected component files.


Understand the HotDocs Scripting Language

Home > Using HotDocs Scripting > Scripting Overview > Introduction: Understand the HotDocs Scripting Language

Introduction: Understand the HotDocs Scripting Language

Learning the Language

You can instruct HotDocs to perform certain tasks using the HotDocs scripting language. For example:

  • Insert one template into another
  • Hide variables in dialogs
  • Perform some action based on an answer the user provides
  • Add up several dollar amounts
  • Find the number of years between two given dates
  • Search a user’s answer for a certain block of text

The HotDocs scripting language consists of instructions, expressions, operators, and values—such as text, numbers, dates, or answers users enter. To help you learn this language, HotDocs provides you with instruction and expression models.

Specifically, an instruction model tells HotDocs to perform some sort of function, while an expression model retrieves a special value. Most models also include placeholders, which you must replace with a value. Possible values include:

  • text strings
  • number amounts
  • other models
  • HotDocs variables

A model will not work until all its placeholders are replaced.

In addition to using instructions and expressions, you can use operators to control how the script is processed. Most operators are common mathematical signs, but there are also Boolean operators such as AND and OR. The operator AND means the statement to the left and the statement to the right must both be true. The operator OR means either the statement to the left or the statement to the right must be true. The operator ( ) means to perform the operation between the parentheses first.

If your script requires input from another variable, you can create a parameter, an internal variable that accepts input from the variable field. This allows you to create a script that acts like a function In programming, a function is a piece of code that operates on one or more inputs, and produces an output., allowing that single script to work against a number of different values. You can also set local variables for your scripts which only exist within that script and do not need to be maintained as regular variable components in the component file. These are useful for things like counters for WHILE loops and flags for IF statements.

Rules for Writing Scripts

Instruction and expression models are designed to help you accurately write scripts. However, there are still certain rules you must follow, particularly when it comes to replacing placeholders with values. Failure to follow these rules may result in syntax errors when HotDocs attempts to process the script during assembly.

When using literal values:

  • Decimal numbers less than one must have a zero before the decimal point (0.125 not .125).
  • Numbers cannot contain commas (1250 not 1,250).
  • Dates must be in the form 3 JUN 1990.
  • Text strings must be inside quotation marks.

To help you format these numbers correctly, use the Enter a Date, Enter a Number, Enter some Text, and Enter True or False expression models.

When manually typing the script:

  • Component names must be entered exactly as they appear in the Components list, including capitalization.
  • Components and operators must be separated by spaces.
  • Operators must be entered exactly as they appear in the Operators list, including capitalization.
  • Variables used inside a literal text string (or between quotation marks) in a computation must be inside chevrons (« »). If the variable name is not inside chevrons, the variable name—not the variable's value—will be merged as the answer. (For example, "«Employee Name» must wait «Number of Months» months before applying.")

If you want to include a chevron in a HotDocs text template either as a part of your document text or a literal text string, you need to double the opening chevron (but not the closing chevron), so that HotDocs does not interpret the chevrons (and any text between them) as a field. The output is a single chevron, as follows: input: ««some text», output: «some text».

  • Keywords, such as TRUE, FALSE, AND, END IF, and so forth, must be in all capital letters.
  • Only TRUE or FALSE can be used for a true/false value.
  • If you want the computation to return a combination of text, variables, and values, you must join (or concatenate) the data with the Add ( + ) operator. Otherwise, HotDocs returns only the last piece of text, variable, or value.
  • When using the RESULT expression, you must first set the computation to a value. If the computation will return text, set it to a specific value by typing text inside quotation marks at the start of the script. (To set a text computation to an empty value, type nothing between the quotation marks—not even a space.) If the computation will return a number, set it to a value by typing a number at the very beginning of the script. (To set a number computation to nothing, type 0 (zero).)

Writing the Script

There are three places in HotDocs where you can write scripts: The Computation Editor, the Script tab of the Dialog Editor, and the Expression box of the IF Field dialog box. Each of these places provides you with the tools you need to write the script. Which tools you use, however, depends on personal preference, as well as your skill level.

If you are learning the scripting language, we suggest that you select and drag instructions and expressions from the models lists to the Script box. You can also drag operators and components from their respective lists into the Script box. If there are placeholders, replace them by dragging components or other models onto them. To correctly format literal values (such as text, numbers, dates, and true/false values) use the Enter... expression models.

If you prefer to use the keyboard rather than the mouse, press the Tab key to move from one field in the dialog box to the next. Use the arrow keys to select specific components, operators, and models, and use the Insert key to bring the selected element into the Script box. To replace placeholders in the script, insert your cursor in the placeholder text and then locate the value you want to replace it with in the lists below and press the Insert key.

Once you become familiar with the instructions and expressions, you can type your scripts directly in the Script or Expression box. To ensure you use the correct instruction and expression keywords and component names, you can access lists of these things using keyboard shortcuts and other options available in the script editor. When you do this, HotDocs displays an auto-complete list from which you can choose the instruction or expression you are typing.


Use Operators when Scripting

An operator is a symbol or word that causes an operation such as addition or a comparison to be performed in a computation or expression. Operators are available at the Operators list wherever you can create a script or expression. Most operators can be used when working with both number and text values.

There are three types of operators:

  • Comparison operators: These compare two values of the same type (text, number, date, multiple choice, or true/false). They return values of true or false depending on whether the comparison is true or not.
  • Arithmetic operators: These calculate new values. Operands used in the script must be the same type.
  • Logical operators: These return a true/false value based on a logical comparison of their operands, both of which must be true or false values.

The following tables explain how each operator works:

Comparison Operator | Description
= | The two items in the comparison are of equal value. For example: Birth Date = 17 Dec 1989 Employee Name = "Louisa Gehrig"
!= | The two items in the comparison are not of equal value. For example: IF Exhibit A != TRUE IF Plaintiff Gender != "Male"
< | The first item in the comparison has a lesser value than the second item. For example: Account Balance < 9000 COUNTER < 10
> | The first item in the comparison has a greater value than the second item. For example: Dependent Age > 18
<= | The first item in the comparison is less than or equal to the second item. For example: Client Age <= 65 COUNTER <= 2
>= | The first item in the comparison is greater than or equal to the second item. For example: Taxed Income >= 75000
CONTAINS | The value of the first item is found in the value of the second item. For example: "massachusetts virginia kentucky pennsylvania" CONTAINS State Name
Arithmetic Operator | Description
+ | Add the different components of the script together. For example: Value 1 + Value 2 Street Address + ", " + City + ", " + State
- | Subtract the different components of the script from each other. For example: Monthly Income - Amount of Owed Child Support
* | Multiply the different components of the script. For example: Purchase Price * 0.625
/ | Divide the different components of the script. For example: Yearly Salary / 12
- | The unary minus operator results in the numeric negation of the operand (which must be a Number value). For example: SET Loss Amount TO - Aggregate Amount
% | The unary percent operator results in the operand (which must be a Number value) divided by 100. It is a postfix operator. For example: Purchase Price + (Purchase Price * 6.25%)
Logical Operator | Description
AND | The statement to the left and the statement to the right must both be true. For example: IF Client is Married AND Client has Children
OR | The statement to the left or the statement to the right must be true. For example: IF Single OR Widowed
NOT | The NOT operator results in the logical negation of the operand (which must be a True/False value). For example: IF NOT Client is Married

HotDocs also supports two other unary operators—unary plus (+) and the dollar sign ($). While both produce numeric results in a script, the results are exactly the same as the operands. Therefore, they should not be used in a script.

The Add ( + ) operator can also be used to string together (concatenate) two text values.

The final operator, the parentheses ( ), instructs HotDocs to perform the operation inside the parentheses first.

HotDocs operators are processed in the following order of precedence, from highest to lowest. Operators listed on the same line have the same precedence.

()

NOT - %

* /

+ -

= != < > <= >=

AND

OR

So in other words, when HotDocs is evaluating an expression, first parenthesis are used to determine order of operations, then unary operators, then multiplication and division, then plus and minus, then comparisons, then logical AND, and last logical OR.


Use Line Breaks, Paragraph Ends, and Tabs in Computation Scripts

Inserting line breaks and paragraph ends are only relevant if you are merging text into an assembled Word document. In WordPerfect, each of the commands listed below inserts a hard return. (See the WordPerfect helps for an explanation.)

When including literal text strings in computation scripts, you can have HotDocs merge line breaks, paragraph ends, and tabs in the answer. To do this, at the Script field, either by manually entering the characters or using a dot code, use the following information:

To insert Do one of the following
A line break Press Enter or Shift+Enter. When you do this, HotDocs creates a new line of text in the same paragraph.

When you use a line break to span a literal text string across two lines in the script editor, the color coding assigned to the text string changes to the default color. This doesn't affect how the computation will be processed, but it may make it more difficult to visually recognize the different portions of your script. To fix the color coding, click the [image] Auto Format button.

Insert a Line Break dot code («.lb») at the place you want HotDocs to start a new line. (See Insert Characters in Text Strings.)
A paragraph end Press Ctrl+Enter. When you do this, HotDocs inserts a paragraph mark ( ¶ ) and starts a new paragraph of text.

Insert a Paragraph Mark dot code («.pm») at the place you want HotDocs to start a new paragraph. (See Insert Characters in Text Strings.)
A tab character Press Ctrl+T.

If you want the Tab key to insert a tab character (instead of you pressing Ctrl+T), click the [image] Options button and select Tab key inserts a tab in scripts. Now, whenever you press Tab or Shift+Tab, HotDocs will insert a tab in the script instead of taking you to another field in the dialog box.

Insert a Tab Character dot code («.tc») at the place you want the text to be tabbed. (See Insert Characters in Text Strings.)

When creating multi-line Text variables, you can force HotDocs to merge a paragraph mark (rather than a line break) when the user presses Enter. For details, see Customize a Text Variable.


Use the Script Editor

When writing a computation script, there are several tools you can use to make the process easier.

To use the script editor

  1. Edit the script or expression.
  2. At the Script or Expression field, complete any of the following tasks:
To | Do This
Have HotDocs automatically complete keywords, component names, and Multiple Choice options as you type Place your cursor in the Script field and press Ctrl+Spacebar. HotDocs displays a list of instruction and expression keywords, constant values (such as month abbreviations), and components. Type a portion of the keyword, component name, or Multiple Choice option for which you are searching. As you type, HotDocs filters the list to show only those keywords that contain the text you have typed. Once selected, press Enter to merge it into your script.

To keep seldom-used keywords out of the auto-complete list, click the [image] Options button and clear Include seldom-used keywords in auto-complete list.
Access just a list of components | Press the F5 key, select the component, and press Enter.
Access just a list of keywords | Press Shift+F5, select the keyword, and press Enter.
Display a syntactical hint of how an instruction or expression should be used | Place your cursor inside the keyword and press the F7 key. HotDocs displays a small ToolTip that shows the entire model as well as the type of value it produces, if it's an expression.
Indent matching pairs of IF and REPEAT instructions based on the level of their insertion | Click the [image] Auto Format button.
Undo (or cancel) an action you just performed | Click the [image] Undo button. HotDocs reverses the change you made.
Redo (or re-implement) an action you just performed | Click the [image] Redo button. HotDocs reapplies the change you made.
Cut or copy and paste a selected portion of the script | Select the portion of the script you want to cut or copy, and then click the [image] Cut button or the [image] Copy button. The script is copied to the Clipboard. To paste the script in a new location, insert your cursor at that location and click the [image] Paste button.
Find a specific string of text in the script Click the [image] Find button and enter your search text in the Find what field. To find the next instance of the text, click the [image] Find Next button.

To find only those instances of text that are complete words, select Find whole words only. To find only those instances that have the same capitalization as the text for which you are searching, select Match case.
Find a specific string of text in the script and replace it with another string of text Click the [image] Find and Replace button. Enter the search text for which you are searching in the Find what field, and then enter the replacement text in the Replace with field. Once you have entered the required text, click Replace, Replace All, or Find Next.

To find and replace script text in a specific block of script, select the block of script first and then click the [image] Find and Replace button. At the Find and Replace dialog box, select Replace only in selected text.
Move your cursor to a specific location in the script | Click the [image] Go To button. This displays the Go To dialog box, where you can enter the line number or character position of where you want your cursor to move.
Indent or outdent a block of the script | Select the portion of the script you want to indent or outdent and click the [image] Indent button or the [image] Outdent button. (Click repeatedly to increase or decrease the indent.)
Cause HotDocs to ignore a section of the script when it processes it, or insert a comment in the script | Highlight the block of the script you want to comment and click the [image] Comment Block button. This puts two forward slashes in front of each line of the script, which instructs HotDocs to ignore this section. To uncomment it, highlight the text and click the [image] Uncomment Block button.
Match an IF or REPEAT instruction with its END IF or END REPEAT instruction (or vice versa) | Place your cursor inside the instruction, right-click, and select Match IF/REPEAT from the shortcut menu. (You can also press Ctrl+M.)
Highlight an entire IF or REPEAT instruction block (meaning everything between a beginning and ending IF/REPEAT instruction) | Place your cursor inside the instruction, right-click, and select Select IF/REPEAT from the shortcut menu. (You can also press Ctrl+Shift+M.)
View helpful information while using the script editor, including accessing help topics for the different instructions and expressions you can use in your script | Click the [image] HotDocs Help button.
Customize the way the script editor works | Click the [image] Options button and make your changes. (See Change Script Editing Options.)
Insert line breaks and tab characters in a script | See Use Line Breaks, Paragraph Ends, and Tabs in Computation Scripts.
Assign formatting characteristics to literal text strings in a script Insert the corresponding dot code. See one of the following topics for details:

  • Change Font Properties of Text

  • Insert Characters in Text Strings

  • Add Punctuation and Capitalization to Sentences

To access the script editor toolbar using the keyboard, press F10.

To access help for each instruction or expression, first select the model in one of the lists and then press Ctrl+F1.

For an explanation of the HotDocs scripting language, see Understand the HotDocs Scripting Language. For details on creating a Computation variable, see Customize a Computation Variable. For a list of instruction and expression models, see Introduction Instruction and Expression Models.


Local Variables

When writing more complex computation scripts, you may need to create temporary or special-purpose variables that are only used or needed in a particular computation or dialog script. Such temporary variables create a maintenance burden since they always show up in component lists and can require extra explanation for whoever maintains your templates in the future. To make your HotDocs scripting more maintainable, and easier to read, use local variables in these situations.

A local variable is somewhat similar to a regular variable, but instead of being usable anywhere in your template, it is only defined in the "local" context of a specific computation or dialog script. Local variables are useful in scripting situations where you would otherwise resort to defining a regular HotDocs variable just to keep track of temporary information that is not meaningful anywhere else but in this one script.

As an example, suppose you're writing a computation to remove spaces that may have been entered as part of an account number. You could do this using a WHILE instruction (link) to loop through each character of the account number, removing spaces as you find them:

SET Index TO 1

WHILE Index <= LENGTH( Account Number )

IF MID( Account Number, Index, 1 ) = " "

SET Account Number TO FIRST( Account Number, Index -1 )

+ LAST( Account Number, LENGTH( Account Number) - Index)

ELSE

INCREMENT Index

END IF

END WHILE

Notice how this script relies heavily on the “Index” number variable. It keeps track of our position as we look through each character in the account number. This is a good example of a variable that should be defined “locally” instead of being defined in the Component Manager (as you would have done in earlier versions of HotDocs). As a local variable, Index is meaningful (and has an answer) only in the context of this script. You can create a local variable called “Index” in another computation as well, but the two would be isolated: setting one computation’s local Index to a certain value would have no effect on the other computation’s local Index. In fact, local variables do not store their answers in the answer file like regular HotDocs variables. These answers are stored in a special temporary location and are discarded as soon as the computation or script finishes running.

Here is a table that summarizes the differences between traditional HotDocs variables and local variables:

 | Regular Variables | Local Variables
Defined in | Component Manager | The Locals tab of a Computation Editor or Dialog Editor window
Usability / Scope | Anywhere: in the template itself, in any script, or in other variables’ prompts or resources | Only in the script where it is defined
Naming rules | Name must be unique across all the components in the component file | Name must only be unique within the script where it’s defined
Available types | Text, Number, Date, True/False, Multiple Choice | Text, Number, Date, True/False
Shows up in general component lists? | Yes | No
Can be asked on a dialog? | Yes | No
Can be saved in an answer file? | Yes | No
Initial or default value | UNANSWERED | UNANSWERED

You can use regular HotDocs variables (perhaps with “Ask automatically”, “Warn when unanswered” and “Save in answer file” all turned off) in every instance where you could use a local variable. However, there are advantages to using local variables when possible, and these advantages become more significant as your template automation projects grow larger and more complex:

  • Large or complex component files are easier to maintain when component lists are not cluttered with temporary variables.
  • Naming local variables is easier, and scripts using local variables can be easier to read, because the name only has to make sense in the context of the script where it’s defined and not in a global component list. In the above example, it is realistic to call the local variable “Index” instead of needing to call it “Account Number Index Temp,” for example.
  • Reusing components by copying them from one component file to another becomes less complicated because such copy operations no longer need to bring along additional temporary variables.

To Create a Local Variable

  1. Insert a variable, selecting Computation as the variable type.
  2. At the Variable Field dialog box, click the [image] Edit Component button to open the Computation Editor.
  3. Click on the Locals tab.
  4. Create a local variable
    1. Clicking the left-hand column of the Parameter table and enter a name
    2. Click the right-hand column to select the type of variable this will represent.
  5. Click the Properties tab and enter the computation you want to use your local variable in. Drag and drop from the Parameters and Local Variables list at the bottom left.

You can tell at a glance whether local variables or parameters have been defined for the current computation or dialog script by looking at the Locals tab. If the Locals tab has an asterisk (*) on it, at least one local variable or parameter has been defined.

To view the defined local variables and drag them into your script as necessary, choose “Parameters and Local Variables” from the Components drop-down in the bottom left of the script editor.

You can define a local variable that has the same name as a regular variable elsewhere in the component file. In such a situation, HotDocs recognizes the local name before looking for the other component. For example, suppose you have a computation variable that defines a local variable called “Temp Number,” and there is also a number variable called “Temp Number” defined in Component Manager. If you refer to “Temp Number” within the computation where the local is defined, you will get the local answer associated with it. However, referring to “Temp Number” in the template, or in another script, will retrieve the regular answer from the answer file.


Parameters

When building complex templates or template systems, you may need to duplicate portions of script or logic multiple times. These duplications may be exact or with minor changes. Duplicating script or logic makes templates difficult to maintain because as times goes by and the logic needs refinement, you may introduce errors if you do not update each instance of the logic consistently. To make your HotDocs scripting more maintainable, and often easier to read, encapsulate reused logic in computation variables that use parameters.

A parameter is like a local variable for a computation, but instead of initializing the parameter in your script (as you might initialize a local variable using the SET instruction), the initial value of the parameter is copied into your computation from wherever the computation was invoked.

For example, this computation determines whether a particular child is under 18 years of age:

Computation name: Decedent Child Under Eighteen

Script:

AGE( Decedent Child Birthdate ) < 18

The part of the script that determines whether a child is a minor may need to be duplicated in numerous places. You could define similar computation variables that only differ in the date variable to which they are referring, causing unnecessary extra work and cluttering up your components list, or you could use parameters.

Parameters allow you to write the logic only once:

Computation name: “Under Eighteen”

Parameter: “person” (Date)

Script:

AGE( person ) < 18

Instead of referring to another date variable (“Decedent Child Birthdate” in the former example), the computation refers to a local parameter. So, whenever this latter computation is referred to, instead of simply referring to it by name, we must also provide a date as “input” to the computation:

Under Eighteen ( Decedent Child Birthdate )

The very same computation can be referred to (“called”) from elsewhere using different date variables or date expressions:

Under Eighteen ( Beneficiary Birthdate )

Under Eighteen ( Beneficiary Birthdate + 5 YEARS )

In this way, parameters essentially allow you to write computations that work much like HotDocs’ built-in expression models. They allow you to re-use script logic rather than duplicating entire computation variables to perform the same action on different values. This is very much like defining functions within other programming environments.

As a more complex example, let’s consider a longer computation that calculates the date of the nearest Monday on or after a given date. It uses a parameter and a local variable.

Computation Name: “Next Monday”

Parameter: “origin date” (Date)

Local Variable: “days away” (Number)

Script:

// Find the number of days between origin date and Monday (which is day of week no. 2)

SET days away TO (2 - DAY OF WEEK( origin date ))

// If origin date is later in the week than Monday, add 7 days to get to next week

IF days away < 0

SET days away TO days away + 7

END IF

// calculate the date

origin date + days away DAYS

A computation with parameters can be referred to (called) from any other computation or script. It can also be used in merge fields, either directly in a template or in literal text: «Next Monday(TODAY):04 July 2012» will use the above computation variable (Next Monday) to calculate the next Monday after the current date (TODAY), format it according to the given format example (04 July 2012), and merge the result wherever the field appears (whether in a template, prompt, resource, etc.).

When you add, remove, or change the parameters of a computation, you are changing the way that computation is referred to by its callers. In this way, changing the types or order of a computation’s parameters is akin to changing the computation’s name: care should be taken to not break things.

For users with a prior knowledge of programming it may be useful to think of HotDocs Parameters as Value Parameters. Therefore any change made in the script does not change any variable that has been passed in when calling the computation.

Computations used as filters on REPEAT instructions are not permitted to have parameters.

To create a computation variable that accepts a parameter:

  1. Insert a variable, selecting Computation as the variable type.
  2. At the Variable Field dialog box, click the [image] Edit Component button to open the Computation Editor.
  3. Click on the Locals tab and create a parameter by clicking on the left hand column of the Parameter table and entering a name, then the right hand column to select the type of variable this will represent.
  4. Click on the Properties tab and enter the computation that you would like your new parameter to complete. In the computation use the parameter (drag and drop from the Parameters and Local Variables list at the bottom left) as the placeholder for the variables you would like to use later.
  5. Click OK on the open dialogs to return to the template.

To use this computation variable from another computation or script,

  1. Open the Computation Editor for the computation from which you wish to use your computation with parameters.
  2. From the list of Available Components in the lower left corner, drag and drop your computation with parameters into the script. HotDocs will automatically generate placeholders for each of the parameters required by the computation.
  3. Drag and drop variables or values to replace the placeholders as you would do when replacing placeholders for the built-in expression models.

To use a this computation variable from a field in a template

  1. Click on the Variable Field button on the HotDocs tab and select Computation from the Type list.
  2. At the Variable field use the drop-down list to find and click on the parameterized computation. You will now see a table with available parameters, and an empty Expression column.
  3. Click the [image] button to the right of the table and drag the variable you would like to use from the Variables list up into the Expression field. (You can also manually enter or edit expressions here.)

To test a computation that includes parameters

  1. Create a computation that includes parameters.
  2. Click the Test button.
  3. To facilitate testing, HotDocs presents an automatically-generated dialog to gather values for the computation’s parameters. Enter a value for each parameter. (Note that this dialog is only part of a test assembly for the computation. In actual usage, the call to the computation would specify the parameter values.)
  4. If your computation causes subsequent dialogs to be asked, enter values for those additional variables as well.
  5. Switch to the Result tab as necessary to view the result of your computation given the values you entered.
  6. Switch back to the Interview tab to test results given other input.

Just as with regular computations, you can also use the DEBUG instruction to step through a computation line by line and observe how the values of parameters and other variables are affected by your script.


Full List of Instruction Models

Instruction A command in a script or template that performs a special task, such as inserting a template or asking a dialog at a specific place in the interview. | Description
ADD TEXT TO MULT_CHOICE_VAR; CLEAR MULT_CHOICE_VAR | These instructions allow you to modify options of a Multiple Choice variable A type of component that merges a predefined answer in the document.. The CLEAR instruction removes all the current options, and the ADD instruction adds options to the variable.
ASCEND VAR; DESCEND VAR | The ASCEND The process of sorting answers in alphanumeric order, from 1 to 9, and from A to Z. (See also descend.) You can also sort items in a template library, clause library, and answer library. instruction sorts lists of answers (gathered using a REPEAT instruction) in alphanumeric order The process of designating the sequence in which form template fields are asked in the tab order. Establishing this order in a form is important for users who directly fill the form document., from 1 to 9, and from A to Z. The DESCEND The process of sorting answers in reverse alphanumeric order, from 9 to 1, and from Z to A. (See also ascend.) instruction sorts lists of answers from 9 to 1, and from Z to A.
ASK DIALOG | The ASK DIALOG In template development, represents the component in which the developer groups variables and other components. In document assembly, represents the group of questions in the Interview tab of the assembly window where users enter their answers. instruction allows you to control the order in which dialogs appear in an interview A series of dialogs, each containing one or more questions which HotDocs generates from the variables you add to your template. The template's user must answer the questions in the interview before HotDocs can assemble a custom document. You can view the interview by clicking the Interview tab of the assembly window. The left pane of the assembly window displays an outline of the interview. As the user answers questions, the outline tracks the user's progress through the interview.. (See Control When Your Dialogs Appear.)
ASK VAR | Sometimes a variable needs to be asked by itself. You can use the ASK VAR instruction so that during the interview, HotDocs displays the variable in its own default dialog.
ASSEMBLE "FILENAME" | You can use the ASSEMBLE instruction to add templates to the assembly queue A dialog box that shows a list of assemblies—pending, current, and completed. Users can open the Assembly Queue by clicking Assembly Queue in the assembly window toolbar. It is most useful when users have selected multiple templates for assembly.. Unlike the INSERT instruction, an ASSEMBLE instruction waits until the current document The file that is created after a template has been assembled. is assembled before starting the next assembly session.
CONCEAL VAR | This instruction, which you use in a dialog script One or more instructions and/or expressions that generate a value or execute some kind of procedure., keeps variables from appearing in the Select From Answer Source dialog box of an answer source.
DEBUG | This instruction steps through the template A word processor or form document that has been converted to HotDocs format so that it can be automated. When in template format, changeable text in the template can be replaced with variables. Other instructions can be added as well, such as instructions that create lists, condition text, and insert other templates. or script field A place in the template that denotes where users' answers should be merged, or where a specific instruction should be executed. In a text template, a field is denoted by chevrons. In a form template, a field is denoted by a colored box that is overlaid on the form's static text. by field or line by line. It helps you determine why the template you are automating (or the script you are writing) is producing results you don't expect.
DEFAULT VAR TO VALUE | This instruction suggests a value In an interview, it represents a user's answer. In a script, it represents data that must be used in executing the script. (The value can either be a literal value or a user's answer.) for a variable if the variable is unanswered.
ERASE VAR; ERASE DIALOG | The ERASE instructions let you clear answers in a dialog. Specifically, ERASE VAR clears answers for a specified variable in a dialog, while ERASE DIALOG clears all answers in the dialog. This may be useful when you are using a temporary dialog to store lists of answers from two or more dialogs.
FILTER COMPUTATION_VAR | The FILTER A script that removes unrelated or unwanted answers from a list of answers. For example, perhaps there is a list of a client's children but only the names of minor children should be merged. A filter can extract just this data from the list. instruction filters out certain entries from a repeated list Two or more answers to one question merged in the document., based on conditions you specify.
FORMAT "LIST_FORMAT" | The FORMAT "LIST_FORMAT" instruction allows you to create a sentence-style list within a computation. (If you create the REPEAT instruction using a REPEAT field, you can specify the list format by choosing a style from the Format drop-down list. See Punctuate a Sentence-Style List.)
GRAY ALL; GRAY VAR; UNGRAY ALL; UNGRAY VAR | These instructions, which are used in a dialog script, control whether components in a dialog appear grayed or ungrayed, depending on answers a user The customer, client, or person who assembles documents from templates. (See also template developer.) enters. GRAY An instruction used in a dialog script to disable a variable unless the user answers another variable a specific way. For example, questions asking for children's name can be grayed until the user answers a question indicating he or she has children. (See also UNGRAY.) ALL dims all components in the dialog, while UNGRAY ALL makes all of the components active again. Likewise, GRAY VAR dims a single component A template resource file that displays or stores information about the user input/answers to merge in the final document. Examples of components include variables, dialogs, dialog elements, merge text groups, and formats., and UNGRAY VAR enables the component again.
HIDE ALL; HIDE VAR; SHOW ALL; SHOW VAR | These instructions, which are used in a dialog script, control whether the user is able to see variables in a dialog. The HIDE An instruction used in a dialog script to hide variables in the dialog. (See also SHOW.) Usually this instruction is conditioned so that questions in the dialog hide and show dynamically, based on answers the user enters. ALL instruction hides all variables in the dialog, while SHOW An instruction used in a dialog script to show variables that have been hidden in the dialog. (See also HIDE.) Usually this instruction is conditioned so that variables hide and show dynamically, based on answers the user enters. ALL reveals the variables again. Likewise, HIDE VAR hides a single variable, and SHOW VAR reveals the variable.
IF EXPRESSION; ELSE IF; ELSE; END IF | You can make sections of templates or scripts conditional by using IF instructions. A conditional section will be included only if a condition you specify is true. The ELSE IF instruction allows two or more conditions to be included in an IF instruction. The ELSE instruction establishes a final condition for an IF instruction, specifying that if all preceding conditions are false, the following information should be included. It must be the last item of the IF instruction.
INCREMENT NUM_VAR; DECREMENT NUM_VAR | The INCREMENT and DECREMENT instructions cause HotDocs to increase or decrease a number variable A type of component that merges a numeric value in the document., usually a counter An expression that keeps track of the current number of repetitions in a repeated dialog. Each time a new repetition is added, the COUNTER is increased., by the value of 1.
INSERT "FILENAME" | This instruction inserts a clause Predefined sections of text that can be selected and added to an assembled document. Usually clauses are grouped together in a clause library so users can choose which ones they want to insert, although some clauses are merged in the document automatically., a clause library A window used to display and organize templates. The library does not store the actual files—instead, it contains shortcuts (or links) to the files, which are stored on disk. In addition to the template library, HotDocs also uses an answer library, which is more commonly known as Answer File Manager., or a template into the document currently being assembled. When HotDocs encounters an INSERT instruction, it immediately processes the instruction and inserts the template, clause, or clause library into the current document. If there are variables to be answered, HotDocs presents them before finishing the interview of the main document.
LANGUAGE CODE | This instruction tells HotDocs to format numbers and dates in a particular language.
LIMIT NUM | The LIMIT instruction limits the number of times a dialog can be repeated. It is placed in the script of the dialog that must be limited to a specific number of repetitions.
OMIT VAR | The OMIT VAR instruction, which you use in a dialog script, keeps variables from appearing in the Edit Answer Source dialog box of an answer source.
PLAY "MACRO" | The PLAY "MACRO" instruction plays a word processor macro after the document is assembled and either sent to the word processor, printed, or saved.
QUIT | The QUIT instruction allows you to close the variable without losing the work you have done. Normally, HotDocs will not save an invalid computation. The only way to exit an invalid computation is to click Cancel, which erases the script. The instruction is usually placed at the beginning of an unfinished or invalid computation.
REPEAT DIALOG; END REPEAT | A REPEAT instruction gathers lists of answers and merges them into a document.
REQUIRE ALL; REQUIRE VAR | The REQUIRE instruction requires users to answer questions in a dialog before they can advance to the next dialog in the interview.
SET VAR TO VALUE | This instruction lets you specify a given value for a variable’s answer automatically, rather than allow the user to specify an answer. With the SET instruction, you can transfer names and other values from one variable to another.
WHILE EXPRESSION; END WHILE | The WHILE EXPRESSION A command in a script that retrieves a special value. Expressions help calculate dates, sums, and so forth. instruction allows you to repeatedly process (or loop through) an answer or set of answers until a certain condition is met, such as a certain answer is found or a limit is reached.


ADD TEXT TO MULT_CHOICE_VAR; CLEAR MULT_CHOICE_VAR

Placeholder A marker in an instruction or expression model that indicates where a value must be substituted. This value must be a literal value or a variable. Instruction and expression models help the developer use the correct syntax in a script. | Replace With
TEXT | A text value In an interview, it represents a user's answer. In a script, it represents data that must be used in executing the script. (The value can either be a literal value or a user's answer.), such as a Text variable A type of component that merges text in the document. or an actual word or name
MULT_CHOICE | Any Multiple Choice variable A type of component that merges a predefined answer in the document. in the template A word processor or form document that has been converted to HotDocs format so that it can be automated. When in template format, changeable text in the template can be replaced with variables. Other instructions can be added as well, such as instructions that create lists, condition text, and insert other templates.

These instructions allow you to modify options of a Multiple Choice variable. The CLEAR instruction A command in a script or template that performs a special task, such as inserting a template or asking a dialog at a specific place in the interview. removes all the current options, and the ADD instruction adds options to the variable.

Using these two models, you can create an entire Multiple Choice variable using answers the user The customer, client, or person who assembles documents from templates. (See also template developer.) provides.

For example, a template requires the user to first enter a list Two or more answers to one question merged in the document. of all the committee member names. Later, the user can identify which committee member is the chairperson. You can allow the user to identify the chairperson by presenting a Multiple Choice variable that has the names of all committee members as options. The following script One or more instructions and/or expressions that generate a value or execute some kind of procedure. would create that Multiple Choice variable:

CLEAR Committee Chairperson

REPEAT Committee Members List

ADD Member Name TO Committee Chairperson

END REPEAT

In this example, the CLEAR instruction first removes any existing options from the Multiple Choice variable Committee Chairperson. Then, the script repeats the Committee Members List dialog In template development, represents the component in which the developer groups variables and other components. In document assembly, represents the group of questions in the Interview tab of the assembly window where users enter their answers., gathering the names of each committee member. The ADD instruction then adds each member’s name to the Multiple Choice variable. After the committee members have all been entered, you can present the Committee Chairperson variable for the user to identify the chairperson.

Additionally, if the Multiple Choice variable you are clearing uses any option prompts, these prompts will also be cleared. When adding new options to the Multiple Choice variable, you can also add new prompts. To do this, use a vertical bar to separate the option from the prompt Text that can be assigned to a variable to help the user better understand how to answer the question. in the ADD instruction. For example:

CLEAR Marital Status

ADD "Single|Client is single" TO Marital Status

ADD "Married|Client is married" TO Marital Status

ADD "Divorced|Client is divorced" TO Marital Status

In this example, the Multiple Choice variable Marital Status is cleared. The script then adds a literal text value (denoted by quotation marks) for the new option. The option is immediately followed by a vertical bar, which tells HotDocs to use the text following the bar as a prompt for the option.

Both the CLEAR and ADD instructions must be used in a computation script, which must be processed before the Multiple Choice variable is asked. To add options to a Multiple Choice variable, you should create the variable beforehand and assign a temporary option. Then, as the user provides the answers you want to include as options, the CLEAR instruction removes the temporary option, and the ADD instruction places the user’s answers as options in the variable.

Unlike options and prompts, the merge text The text that will be merged in a document if a user chooses a specific Multiple Choice variable option. For example, if a user chooses Male as the option, a masculine pronoun such as he or his can be merged instead of Male. for a Multiple Choice variable comes from another component A template resource file that displays or stores information about the user input/answers to merge in the final document. Examples of components include variables, dialogs, dialog elements, merge text groups, and formats.—a Merge Text component. This means you cannot create and add merge text to a Multiple Choice variable "on the fly."


ASCEND VAR; DESCEND VAR

Placeholder A marker in an instruction or expression model that indicates where a value must be substituted. This value must be a literal value or a variable. Instruction and expression models help the developer use the correct syntax in a script. | Replace With
VAR | A repeated variable A component that is used to represent changeable text (such as names, dates, numbers, etc.) in the template. Types of variables include Text, Date, Number, True/False, Multiple Choice, Computation, and Personal Information.

The ASCEND The process of sorting answers in alphanumeric order, from 1 to 9, and from A to Z. (See also descend.) You can also sort items in a template library, clause library, and answer library. instruction A command in a script or template that performs a special task, such as inserting a template or asking a dialog at a specific place in the interview. sorts lists of answers (gathered using a REPEAT instruction) in alphanumeric order The process of designating the sequence in which form template fields are asked in the tab order. Establishing this order in a form is important for users who directly fill the form document., from 1 to 9, and from A to Z. The DESCEND The process of sorting answers in reverse alphanumeric order, from 9 to 1, and from Z to A. (See also ascend.) instruction sorts lists of answers from 9 to 1, and from Z to A.

For example, the following script One or more instructions and/or expressions that generate a value or execute some kind of procedure. would insert a list Two or more answers to one question merged in the document. of clients in alphabetical order, from A to Z. Even though it lists Client First Name first, it sorts by Client Last Name:

"" REPEAT Client Information

ASCEND Client Last Name

RESULT + Client First Name + " " + Client Last Name + "

"

END REPEAT

The first empty set of quotation marks sets the computation value In an interview, it represents a user's answer. In a script, it represents data that must be used in executing the script. (The value can either be a literal value or a user's answer.) to nothing. Then, the repeated dialog In template development, represents the component in which the developer groups variables and other components. In document assembly, represents the group of questions in the Interview tab of the assembly window where users enter their answers., Client Information, asks for each client’s first and last name. Next, the ASCEND instruction sorts the list of names by last name. Finally, the RESULT expression A command in a script that retrieves a special value. Expressions help calculate dates, sums, and so forth. tells HotDocs to merge the names in the document The file that is created after a template has been assembled..

The ASCEND and DESCEND instructions can only sort The process of alphabetizing answers in a repeated list or items in a library. Sorting can be done in ascending or descending order. on a single variable; however, you can sort multiple variables by including multiple ASCEND or DESCEND instructions.


ASK DATABASE

Placeholder A marker in an instruction or expression model that indicates where a value must be substituted. This value must be a literal value or a variable. Instruction and expression models help the developer use the correct syntax in a script. | Replace With
DATABASE A file that contains a collection of data. Template developers can map variables in templates to fields in a database table so that answers can be retrieved from it and merged in the assembled document. | A database component A template resource file that displays or stores information about the user input/answers to merge in the final document. Examples of components include variables, dialogs, dialog elements, merge text groups, and formats.

The ASK DATABASE instruction A command in a script or template that performs a special task, such as inserting a template or asking a dialog at a specific place in the interview. allows you to control when the record selection screen of a database component is shown in an interview A series of dialogs, each containing one or more questions which HotDocs generates from the variables you add to your template. The template's user must answer the questions in the interview before HotDocs can assemble a custom document. You can view the interview by clicking the Interview tab of the assembly window. The left pane of the assembly window displays an outline of the interview. As the user answers questions, the outline tracks the user's progress through the interview.. (See Control When Your Record Selection Screens Appear.)

In general, the ASK instruction tells HotDocs to display a record selection screen or a dialog In template development, represents the component in which the developer groups variables and other components. In document assembly, represents the group of questions in the Interview tab of the assembly window where users enter their answers. as soon as the instruction is processed. You can insert an ASK instruction directly in the template A word processor or form document that has been converted to HotDocs format so that it can be automated. When in template format, changeable text in the template can be replaced with variables. Other instructions can be added as well, such as instructions that create lists, condition text, and insert other templates., or use a Computation variable A type of component that performs calculations or executes other instructions within the template. Computation variable scripts are created using the HotDocs scripting language.. In fact, you can control the entire interview by using a series of ASK and other instructions in a single computation. (See ASK DIALOG and Define a Custom Interview for details.)


ASK DIALOG

Placeholder A marker in an instruction or expression model that indicates where a value must be substituted. This value must be a literal value or a variable. Instruction and expression models help the developer use the correct syntax in a script. | Replace With
DIALOG In template development, represents the component in which the developer groups variables and other components. In document assembly, represents the group of questions in the Interview tab of the assembly window where users enter their answers. | Any dialog in the template A word processor or form document that has been converted to HotDocs format so that it can be automated. When in template format, changeable text in the template can be replaced with variables. Other instructions can be added as well, such as instructions that create lists, condition text, and insert other templates.

The ASK DIALOG instruction A command in a script or template that performs a special task, such as inserting a template or asking a dialog at a specific place in the interview. allows you to control the order The process of designating the sequence in which form template fields are asked in the tab order. Establishing this order in a form is important for users who directly fill the form document. in which dialogs appear in an interview A series of dialogs, each containing one or more questions which HotDocs generates from the variables you add to your template. The template's user must answer the questions in the interview before HotDocs can assemble a custom document. You can view the interview by clicking the Interview tab of the assembly window. The left pane of the assembly window displays an outline of the interview. As the user answers questions, the outline tracks the user's progress through the interview.. (See Control When Your Dialogs Appear.)

ASK instructions are also useful when some interview questions should only be asked in certain situations. In the following example, HotDocs only asks the Buyer Information dialog if the user The customer, client, or person who assembles documents from templates. (See also template developer.) is a first-time buyer:

«IF First Time Buyer»

«ASK Buyer Information»

«END IF»

In general, the ASK instruction tells HotDocs to display a dialog as soon as the instruction is processed. You can insert an ASK instruction directly in the template, or use a Computation variable A type of component that performs calculations or executes other instructions within the template. Computation variable scripts are created using the HotDocs scripting language. to ask several dialogs at once. In fact, you can control the entire interview by using a series of ASK and other instructions in a single computation. (See Define a Custom Interview for details.)


ASK VAR

Placeholder A marker in an instruction or expression model that indicates where a value must be substituted. This value must be a literal value or a variable. Instruction and expression models help the developer use the correct syntax in a script. | Replace With
VAR | Any variable A component that is used to represent changeable text (such as names, dates, numbers, etc.) in the template. Types of variables include Text, Date, Number, True/False, Multiple Choice, Computation, and Personal Information. in the template A word processor or form document that has been converted to HotDocs format so that it can be automated. When in template format, changeable text in the template can be replaced with variables. Other instructions can be added as well, such as instructions that create lists, condition text, and insert other templates.

Sometimes a variable needs to be asked by itself. You can use the ASK VAR instruction A command in a script or template that performs a special task, such as inserting a template or asking a dialog at a specific place in the interview. so that during the interview A series of dialogs, each containing one or more questions which HotDocs generates from the variables you add to your template. The template's user must answer the questions in the interview before HotDocs can assemble a custom document. You can view the interview by clicking the Interview tab of the assembly window. The left pane of the assembly window displays an outline of the interview. As the user answers questions, the outline tracks the user's progress through the interview., HotDocs displays the variable in its own default dialog In template development, represents the component in which the developer groups variables and other components. In document assembly, represents the group of questions in the Interview tab of the assembly window where users enter their answers..

In the following example, an IF expression A command in a script that retrieves a special value. Expressions help calculate dates, sums, and so forth. evaluates if more than a year has passed since the last time the client assembled this document The file that is created after a template has been assembled.. If so, the Insurance Company Name variable is asked:

IF MONTHS FROM( Date Of Previous Filing , TODAY ) >= 13

ASK Insurance Company Name

END IF

You can insert the ASK VAR instruction directly in the template or you can use it in a Computation variable. Be aware, however, that if you insert the instruction directly in the template, you can ask only one variable, and any answers the user The customer, client, or person who assembles documents from templates. (See also template developer.) provides will not be merged into the document at that place.


ASSEMBLE "FILENAME"

Placeholder | Replace With
FILENAME | The name of another HotDocs template A word processor or form document that has been converted to HotDocs format so that it can be automated. When in template format, changeable text in the template can be replaced with variables. Other instructions can be added as well, such as instructions that create lists, condition text, and insert other templates.

Complete instructions on using the ASSEMBLE instruction can be found in the topic, Start a New Assembly From a Template.

You can use the ASSEMBLE instruction to add templates to the assembly queue A dialog box that shows a list of assemblies—pending, current, and completed. Users can open the Assembly Queue by clicking Assembly Queue in the assembly window toolbar. It is most useful when users have selected multiple templates for assembly.. Unlike the INSERT instruction, an ASSEMBLE instruction waits until the current document The file that is created after a template has been assembled. is assembled before starting the next assembly session.

For example, you may or may not need to include a cover letter with the document you are assembling. If you do, the following script One or more instructions and/or expressions that generate a value or execute some kind of procedure. adds the template, Cover Letter, to the assembly queue.

«IF Cover Letter Required»

«ASSEMBLE "Cover Letter.docx"»

«END IF»

In this script, if the user The customer, client, or person who assembles documents from templates. (See also template developer.) opts to assemble a cover letter, then the ASSEMBLE instruction is processed and HotDocs assembles the cover letter template after the main document is assembled.

Understand How Templates Are Added to the Assembly Queue

To achieve the best results when using the ASSEMBLE instruction, you should understand how HotDocs adds the templates it finds in ASSEMBLE instructions to the assembly queue—particularly if your template uses a custom interview. There are two different scripts that HotDocs processes during an assembly:

  • The template script is the body of the template where HotDocs merges the answers to produce the assembled document.
  • The interview A series of dialogs, each containing one or more questions which HotDocs generates from the variables you add to your template. The template's user must answer the questions in the interview before HotDocs can assemble a custom document. You can view the interview by clicking the Interview tab of the assembly window. The left pane of the assembly window displays an outline of the interview. As the user answers questions, the outline tracks the user's progress through the interview. script is the set of instructions that determine what dialogs to include in the interview. If your template uses a custom interview, this is your custom interview computation (e.g., INTERVIEW). Otherwise, the interview script is the same as the template script for a default interview.

Each time HotDocs processes one of these scripts, it first removes from the Assembly Queue any templates that were added by ASSEMBLE instructions in the current template. Then, as HotDocs encounters each ASSEMBLE instruction, it adds that template to the assembly queue. Thus, if you have an ASSEMBLE instruction in your custom interview script, the template in that instruction will be added to the assembly queue whenever HotDocs processes your interview script.

This behavior can cause a problem if the ASSEMBLE instructions in your interview script do not match the instructions in the template script. For example, if HotDocs adds templates to the assembly queue while processing the interview script, those templates could be removed when HotDocs subsequently processes the template script. Likewise, if your template script adds templates to the assembly queue, they could be removed when the interview script is processed.

To ensure that templates are added to, and remain in, the assembly queue, you should include identical ASSEMBLE instructions in both your interview and template scripts. This way, no matter which script HotDocs processes last, it will put the desired templates in the assembly queue. (As noted above, both scripts are identical if you use a default interview, so this information is only important when you use a custom interview in your template.)

You can add command-line options to an ASSEMBLE instruction (for example, ASSEMBLE "subpoena.docx /pr"). If the command-line option An instruction used to control the operation of HotDocs. These instructions, or commands, are added to any command line that causes HotDocs to run. They can alter the operation of specific templates, or they can affect the overall operation of HotDocs. includes a file path and name, enclose the path and name in double quotation marks (for example, ASSEMBLE "subpoena.docx /sa /af=""L Chang.anx File name extension that designates a HotDocs answer file."""). (Four command line options were designed specifically for use with ASSEMBLE instructions. They are: Suggest Save, Suggest Save New, Save Answers, and Save Answers Prompt. They control the saving of answers after each ASSEMBLE instruction is processed.)


CONCEAL VAR

Placeholder A marker in an instruction or expression model that indicates where a value must be substituted. This value must be a literal value or a variable. Instruction and expression models help the developer use the correct syntax in a script. | Replace With
VAR | A variable A component that is used to represent changeable text (such as names, dates, numbers, etc.) in the template. Types of variables include Text, Date, Number, True/False, Multiple Choice, Computation, and Personal Information. used in an answer source

This instruction A command in a script or template that performs a special task, such as inserting a template or asking a dialog at a specific place in the interview., which you use in a dialog In template development, represents the component in which the developer groups variables and other components. In document assembly, represents the group of questions in the Interview tab of the assembly window where users enter their answers. script One or more instructions and/or expressions that generate a value or execute some kind of procedure., keeps variables from appearing in the Select From Answer Source dialog box of an answer source.

Answer sources are associated with specific dialogs in a template A word processor or form document that has been converted to HotDocs format so that it can be automated. When in template format, changeable text in the template can be replaced with variables. Other instructions can be added as well, such as instructions that create lists, condition text, and insert other templates.. When users view the dialog during the interview A series of dialogs, each containing one or more questions which HotDocs generates from the variables you add to your template. The template's user must answer the questions in the interview before HotDocs can assemble a custom document. You can view the interview by clicking the Interview tab of the assembly window. The left pane of the assembly window displays an outline of the interview. As the user answers questions, the outline tracks the user's progress through the interview., they can click a special button, which displays a list Two or more answers to one question merged in the document. of answers that were entered during previous interview sessions. They can either select an existing set of answers or add a new set to the list.

After creating an answer source for one dialog, you can use it with other dialogs, including dialogs in other templates. However, when using an answer source with multiple dialogs, each variable must be represented in both the answer source and in each dialog. If a variable that is referenced in the answer source isn’t included in the dialog (or vice-versa), answers in the answer source will get “mixed together” whenever you add, edit, or delete records.

In some situations though, it isn’t always practical or relevant to show An instruction used in a dialog script to show variables that have been hidden in the dialog. (See also HIDE.) Usually this instruction is conditioned so that variables hide and show dynamically, based on answers the user enters. the user The customer, client, or person who assembles documents from templates. (See also template developer.) every variable—either in the dialog or in the answer source. To accommodate this, you can use the HIDE An instruction used in a dialog script to hide variables in the dialog. (See also SHOW.) Usually this instruction is conditioned so that questions in the dialog hide and show dynamically, based on answers the user enters., CONCEAL, and OMIT instructions to manipulate these variables in both the dialog and the answer source. Specifically, HIDE keeps a variable from appearing on the dialog, while CONCEAL keeps it from appearing in the answer source. OMIT keeps it from being associated with the answer source at all. Often, you must use a combination of these instructions to achieve your desired result.

For example, in one template, the user must enter both a Creditor Name and a Creditor Address. However, in a second template that uses the same dialog and answer source, Creditor Address isn't needed. You can keep it from appearing in the Select From Answer Source dialog box for this template by using the following script:

CONCEAL Creditor Address

Answers for Creditor Address are still saved in the answer source, even though they do not appear when the user opens the Select From Answer Source dialog box. (You would most likely include the instruction HIDE Creditor Address in this script as well, which would keep Creditor Address from appearing on the actual interview dialog. To keep the variable from appearing when the user edits a record in the answer source, see OMIT VAR.)

See Suggest an Answer Source for Dialogs for more information.


DEBUG

This instruction A command in a script or template that performs a special task, such as inserting a template or asking a dialog at a specific place in the interview. steps through the template A word processor or form document that has been converted to HotDocs format so that it can be automated. When in template format, changeable text in the template can be replaced with variables. Other instructions can be added as well, such as instructions that create lists, condition text, and insert other templates. or script One or more instructions and/or expressions that generate a value or execute some kind of procedure. field A place in the template that denotes where users' answers should be merged, or where a specific instruction should be executed. In a text template, a field is denoted by chevrons. In a form template, a field is denoted by a colored box that is overlaid on the form's static text. by field or line by line. It helps you determine why the template you are automating (or the script you are writing) is producing results you don't expect.

For full information on how to use this instruction, please see the following topics:

  • Introduction: Debugging Templates
  • Insert Debugging Instructions in Templates and Scripts
  • Step Through a Template or Script


DEFAULT VAR TO VALUE

Placeholder A marker in an instruction or expression model that indicates where a value must be substituted. This value must be a literal value or a variable. Instruction and expression models help the developer use the correct syntax in a script. | Replace With
VAR | Any type of variable A component that is used to represent changeable text (such as names, dates, numbers, etc.) in the template. Types of variables include Text, Date, Number, True/False, Multiple Choice, Computation, and Personal Information. in the template A word processor or form document that has been converted to HotDocs format so that it can be automated. When in template format, changeable text in the template can be replaced with variables. Other instructions can be added as well, such as instructions that create lists, condition text, and insert other templates.
VALUE In an interview, it represents a user's answer. In a script, it represents data that must be used in executing the script. (The value can either be a literal value or a user's answer.) | A value that corresponds with the variable type

This instruction A command in a script or template that performs a special task, such as inserting a template or asking a dialog at a specific place in the interview. suggests a value for a variable if the variable is unanswered.

For example, in the following script One or more instructions and/or expressions that generate a value or execute some kind of procedure., the variable Attorney Name is defaulted to the literal value of Sam Jones:

DEFAULT Attorney Name TO "Sam Jones"

In this example, when HotDocs processes this script, it first determines whether Attorney Name has been answered. If it has, the DEFAULT instruction has no effect and HotDocs uses the answer already given. If Attorney Name has not been answered, however, HotDocs suggests the answer Sam Jones. When this variable appears during the interview A series of dialogs, each containing one or more questions which HotDocs generates from the variables you add to your template. The template's user must answer the questions in the interview before HotDocs can assemble a custom document. You can view the interview by clicking the Interview tab of the assembly window. The left pane of the assembly window displays an outline of the interview. As the user answers questions, the outline tracks the user's progress through the interview., users can accept this answer by moving to the next dialog In template development, represents the component in which the developer groups variables and other components. In document assembly, represents the group of questions in the Interview tab of the assembly window where users enter their answers., or they can enter a different answer in the answer field A place in the template that denotes where users' answers should be merged, or where a specific instruction should be executed. In a text template, a field is denoted by chevrons. In a form template, a field is denoted by a colored box that is overlaid on the form's static text..

You can also use a DEFAULT instruction to suggest an answer that has already been given in the interview. For example:

DEFAULT Trustee Name TO Client Name

In this example, when HotDocs processes this script, it first determines whether Trustee Name has been answered. If it has, the DEFAULT instruction has no effect and HotDocs uses the answer already given. If Trustee Name has not been answered, HotDocs then checks to see what answer has been given for Client Name and suggests that as the answer. It is important to note, however, that if Client Name is unanswered, Trustee Name will likewise be unanswered.

Do not use the DEFAULT instruction in the script of a repeating dialog unless the instruction is used in conjunction with a conditional expression A command in a script that retrieves a special value. Expressions help calculate dates, sums, and so forth. (on another variable in the same dialog, at the same REPEAT index) or a LIMIT instruction. If you use it by itself in a repeated dialog script, it will always add an unanswered dialog to the interview, which will produce an incorrectly assembled document The file that is created after a template has been assembled..

The DEFAULT and SET instructions both assign answers to variables. Click here for an explanation of the differences between the two.

To default two or more options for a Multiple Choice variable, separate each option with a vertical bar (for example, DEFAULT MC Variable TO "Option1|Option2|Option3").


ERASE VAR; ERASE DIALOG

Placeholder A marker in an instruction or expression model that indicates where a value must be substituted. This value must be a literal value or a variable. Instruction and expression models help the developer use the correct syntax in a script. | Replace With
VAR | The name of a variable A component that is used to represent changeable text (such as names, dates, numbers, etc.) in the template. Types of variables include Text, Date, Number, True/False, Multiple Choice, Computation, and Personal Information. in a dialog In template development, represents the component in which the developer groups variables and other components. In document assembly, represents the group of questions in the Interview tab of the assembly window where users enter their answers. you want to clear
DIALOG | The name of the dialog whose contents you want to clear

The ERASE instructions let you clear answers in a dialog. Specifically, ERASE VAR clears answers for a specified variable in a dialog, while ERASE DIALOG clears all answers in the dialog. This may be useful when you are using a temporary dialog to store lists of answers from two or more dialogs.

For example, say you have two repeated dialogs—one containing plaintiff names and another containing defendant names. If you need to generate a single list Two or more answers to one question merged in the document. of all parties in the case, you can combine the two lists into a single repeated dialog. To do this, you would want to erase any existing values from the combined list before populating it with the names from the plaintiff and defendant dialogs.

Using the ERASE instruction A command in a script or template that performs a special task, such as inserting a template or asking a dialog at a specific place in the interview. in the script One or more instructions and/or expressions that generate a value or execute some kind of procedure. keeps the combined list up to date each time the computation script is processed. For example, if the user The customer, client, or person who assembles documents from templates. (See also template developer.) adds or removes names in the plaintiff or defendant dialogs during the interview A series of dialogs, each containing one or more questions which HotDocs generates from the variables you add to your template. The template's user must answer the questions in the interview before HotDocs can assemble a custom document. You can view the interview by clicking the Interview tab of the assembly window. The left pane of the assembly window displays an outline of the interview. As the user answers questions, the outline tracks the user's progress through the interview., the ERASE instruction will make sure they are properly added or removed when the combined list is regenerated.

The following script demonstrates how to accomplish this:

ERASE Combined List

SET Counter An expression that keeps track of the current number of repetitions in a repeated dialog. Each time a new repetition is added, the COUNTER is increased. TO 0

REPEAT Plaintiff Information

INCREMENT Counter

SET Combined Name[Counter] TO Plaintiff Name

END REPEAT

REPEAT Defendant Information

INCREMENT Counter

SET Combined Name[Counter] TO Defendant Name

END REPEAT


FILTER COMPUTATION_VAR

Placeholder A marker in an instruction or expression model that indicates where a value must be substituted. This value must be a literal value or a variable. Instruction and expression models help the developer use the correct syntax in a script. | Replace With
COMPUTATION_VAR | Any Computation variable A type of component that performs calculations or executes other instructions within the template. Computation variable scripts are created using the HotDocs scripting language. in the template A word processor or form document that has been converted to HotDocs format so that it can be automated. When in template format, changeable text in the template can be replaced with variables. Other instructions can be added as well, such as instructions that create lists, condition text, and insert other templates. that results in a true or false value In an interview, it represents a user's answer. In a script, it represents data that must be used in executing the script. (The value can either be a literal value or a user's answer.)

The FILTER A script that removes unrelated or unwanted answers from a list of answers. For example, perhaps there is a list of a client's children but only the names of minor children should be merged. A filter can extract just this data from the list. instruction A command in a script or template that performs a special task, such as inserting a template or asking a dialog at a specific place in the interview. filters out certain entries from a repeated list Two or more answers to one question merged in the document., based on conditions you specify.

In the following example, the script One or more instructions and/or expressions that generate a value or execute some kind of procedure. filters out all corporate entities from a list of vendors:

""

REPEAT Vendor Information

FORMAT "A, B, and C"

FILTER No Corporate Vendors

RESULT + Vendor Name

END REPEAT

In the preceding script, No Corporate Vendors is a Computation variable with the following script:

Vendor Type != "Corporation"

First, the empty quotation marks set the value of the repeat to "nothing." HotDocs then repeats the Vendor Information DI dialog In template development, represents the component in which the developer groups variables and other components. In document assembly, represents the group of questions in the Interview tab of the assembly window where users enter their answers.. After the user The customer, client, or person who assembles documents from templates. (See also template developer.) enters all the information, HotDocs processes the responses, filters out all corporate entities, and displays a modified list in the specified format.

You can use the AND operator A symbol or word that causes either an operation (such as addition) or a comparison to be performed in a computation script or expression. in the computation to filter out entries based on two or more conditions.

A filter can be as complicated as it needs to be, but it must result in either true or false. For example, the expression A command in a script that retrieves a special value. Expressions help calculate dates, sums, and so forth. YEARS FROM( Child's Birth Date, TODAY ) produces a number (the age of a person), not a true or false value—it is not a filter. But the expression YEARS FROM( Child's Birth Date, TODAY ) <= 17 can only result in true or false. It can correctly filter all children under the age of 18 from a list.


FORMAT "LIST_FORMAT"

Placeholder A marker in an instruction or expression model that indicates where a value must be substituted. This value must be a literal value or a variable. Instruction and expression models help the developer use the correct syntax in a script. | Replace With
LIST_FORMAT | An example of the conjunction and punctuation desired, for example, a, b, and c or a; b; or c.

The FORMAT "LIST_FORMAT" instruction A command in a script or template that performs a special task, such as inserting a template or asking a dialog at a specific place in the interview. allows you to create a sentence-style list Two or more answers to one question merged in the document. within a computation. (If you create the REPEAT instruction using a REPEAT field A place in the template that denotes where users' answers should be merged, or where a specific instruction should be executed. In a text template, a field is denoted by chevrons. In a form template, a field is denoted by a colored box that is overlaid on the form's static text., you can specify the list format by choosing a style from the Format drop-down list. See Punctuate a Sentence-Style List.)

For example, perhaps you want the items in your list to appear with the final comma preceding the and. Your script One or more instructions and/or expressions that generate a value or execute some kind of procedure. would look like this:

"" REPEAT Education Information

FORMAT "A, B, and C"

RESULT + Degree Designation

END REPEAT

RESULT

Once a user The customer, client, or person who assembles documents from templates. (See also template developer.) has provided the list of educational degrees in Education Information, the FORMAT instruction ensures that the requisite commas are in place.

FORMAT instructions should be placed immediately after the REPEAT instructions for repeated dialogs, and before other instructions influencing the REPEAT (such as FILTER or ASCEND and DESCEND.


GRAY ALL; GRAY VAR; UNGRAY ALL; UNGRAY VAR

Placeholder A marker in an instruction or expression model that indicates where a value must be substituted. This value must be a literal value or a variable. Instruction and expression models help the developer use the correct syntax in a script. | Replace With
VAR | Any variable A component that is used to represent changeable text (such as names, dates, numbers, etc.) in the template. Types of variables include Text, Date, Number, True/False, Multiple Choice, Computation, and Personal Information. used in a dialog In template development, represents the component in which the developer groups variables and other components. In document assembly, represents the group of questions in the Interview tab of the assembly window where users enter their answers.

These instructions, which are used in a dialog script One or more instructions and/or expressions that generate a value or execute some kind of procedure., control whether components in a dialog appear grayed or ungrayed, depending on answers a user The customer, client, or person who assembles documents from templates. (See also template developer.) enters. GRAY An instruction used in a dialog script to disable a variable unless the user answers another variable a specific way. For example, questions asking for children's name can be grayed until the user answers a question indicating he or she has children. (See also UNGRAY.) ALL dims all components in the dialog, while UNGRAY ALL makes all of the components active again. Likewise, GRAY VAR dims a single component A template resource file that displays or stores information about the user input/answers to merge in the final document. Examples of components include variables, dialogs, dialog elements, merge text groups, and formats., and UNGRAY VAR enables the component again.

For example, say you want certain variables in a dialog to appear based on the user's family situation. How the user answers the Multiple Choice variable, Family Status, controls which questions are asked:

GRAY ALL

UNGRAY Family Status

IF Family Status = "Married, with children"

UNGRAY ALL

ELSE IF Family Status = "Married, no children"

UNGRAY Spouse Name

ELSE IF Family Status = "Separated, with children"

UNGRAY Number Of Children

END IF

The initial GRAY ALL instruction A command in a script or template that performs a special task, such as inserting a template or asking a dialog at a specific place in the interview. dims all variables in the dialog, making them inactive. Then the Family Status Multiple Choice variable is immediately ungrayed so the user can choose an option. Depending on the answer to this Multiple Choice variable, some or all of the other variables are ungrayed.

In the script above, you could also gray each variable in the dialog (except the Multiple Choice variable); however, graying all of the variables and then ungraying the Multiple Choice variable immediately after saves a lot of repetitive typing.


HIDE ALL; HIDE VAR; SHOW ALL; SHOW VAR

Placeholder A marker in an instruction or expression model that indicates where a value must be substituted. This value must be a literal value or a variable. Instruction and expression models help the developer use the correct syntax in a script. | Replace With
VAR | A variable A component that is used to represent changeable text (such as names, dates, numbers, etc.) in the template. Types of variables include Text, Date, Number, True/False, Multiple Choice, Computation, and Personal Information. used in an answer source

These instructions, which are used in a dialog In template development, represents the component in which the developer groups variables and other components. In document assembly, represents the group of questions in the Interview tab of the assembly window where users enter their answers. script One or more instructions and/or expressions that generate a value or execute some kind of procedure., control whether the user The customer, client, or person who assembles documents from templates. (See also template developer.) is able to see variables in a dialog. The HIDE An instruction used in a dialog script to hide variables in the dialog. (See also SHOW.) Usually this instruction is conditioned so that questions in the dialog hide and show dynamically, based on answers the user enters. ALL instruction A command in a script or template that performs a special task, such as inserting a template or asking a dialog at a specific place in the interview. hides all variables in the dialog, while SHOW An instruction used in a dialog script to show variables that have been hidden in the dialog. (See also HIDE.) Usually this instruction is conditioned so that variables hide and show dynamically, based on answers the user enters. ALL reveals the variables again. Likewise, HIDE VAR hides a single variable, and SHOW VAR reveals the variable.

In the following example, a certain estate planning template A word processor or form document that has been converted to HotDocs format so that it can be automated. When in template format, changeable text in the template can be replaced with variables. Other instructions can be added as well, such as instructions that create lists, condition text, and insert other templates. may be used for both wills and trusts. The initial dialog uses a Multiple Choice variable called Document The file that is created after a template has been assembled. Type to ask which type of document will be assembled. Then, depending on how the user answers the variable, HotDocs asks either the executor/testator names or the trustee/grantor names:

HIDE ALL

SHOW Document Type

IF Document Type = "Will"

SHOW Executor Name

SHOW Testator Name

ELSE IF Document Type = "Trust"

SHOW Trustee Name

SHOW Grantor Name

END IF

You should not HIDE or SHOW a variable in a repeated-as-spreadsheet dialog based on another variable in the same dialog. When you use HIDE or SHOW in a spreadsheet dialog, the entire column is shown or hidden. Attempting to do this may produce unexpected results.


IF EXPRESSION; ELSE IF; ELSE; END IF

Placeholder A marker in an instruction or expression model that indicates where a value must be substituted. This value must be a literal value or a variable. Instruction and expression models help the developer use the correct syntax in a script. | Replace With
EXPRESSION A command in a script that retrieves a special value. Expressions help calculate dates, sums, and so forth. | A statement that can be evaluated as true or false

You can make sections of templates or scripts conditional by using IF instructions. A conditional section will be included only if a condition you specify is true. The ELSE IF instruction A command in a script or template that performs a special task, such as inserting a template or asking a dialog at a specific place in the interview. allows two or more conditions to be included in an IF instruction. The ELSE instruction establishes a final condition for an IF instruction, specifying that if all preceding conditions are false, the following information should be included. It must be the last item of the IF instruction.

Each IF instruction or expression must end with an END IF instruction. This instruction completes a section of conditional logic. HotDocs automatically creates an END IF paired with each IF instruction. These pairs can be nested, allowing you to test The process of testing a variable or other component to make sure it looks right and works correctly. several conditions before applying a single effect.

For example, in the following script One or more instructions and/or expressions that generate a value or execute some kind of procedure., HotDocs uses an IF instruction to insert a paragraph about vacation time—but only if the new employee qualifies for paid vacation:

«IF Vacation Days»In addition, «Employee Name» shall be allowed «Number of Vacation Days:ten» for vacation time.

«Employee Name» shall also receive seven paid holidays, including New Year's Day, Memorial Day, Fourth of July, Labor Day, Thanksgiving (including the day after), and Christmas.«END IF»

More complex situations can also be handled using IF expressions. For example, in the following computation script, a single paragraph in a template A word processor or form document that has been converted to HotDocs format so that it can be automated. When in template format, changeable text in the template can be replaced with variables. Other instructions can be added as well, such as instructions that create lists, condition text, and insert other templates. may change depending on how close a project is to completion. Using the IF, ELSE IF, and ELSE instructions, the correct paragraph can be inserted:

IF Project Status = "Complete"

"Upon finishing the project…"

ELSE IF Project Status = "In Process"

"While working on the project…"

ELSE

"Before working on the project…"

END IF

You can use IF expressions anywhere. Operators such as AND and OR can link multiple conditions, giving the user The customer, client, or person who assembles documents from templates. (See also template developer.) greater control over the interview A series of dialogs, each containing one or more questions which HotDocs generates from the variables you add to your template. The template's user must answer the questions in the interview before HotDocs can assemble a custom document. You can view the interview by clicking the Interview tab of the assembly window. The left pane of the assembly window displays an outline of the interview. As the user answers questions, the outline tracks the user's progress through the interview.. However, creating complicated IF instructions directly in the template can make the assembly process sluggish. Consider using Computation variables or INSERT instructions instead.

In past versions of HotDocs, using END by itself instead of the complete END IF instruction was sufficient. Beginning with 11.1, HotDocs no longer processes the shortened version, and now requires the complete instruction.

Please see Introduction: Make Parts of Templates Conditional for further information on using IF instructions and expressions.


INCREMENT NUM_VAR; DECREMENT NUM_VAR

Placeholder A marker in an instruction or expression model that indicates where a value must be substituted. This value must be a literal value or a variable. Instruction and expression models help the developer use the correct syntax in a script. | Replace With
NUM_VAR | A Number variable A type of component that merges a numeric value in the document.

The INCREMENT and DECREMENT instructions cause HotDocs to increase or decrease a number variable, usually a counter An expression that keeps track of the current number of repetitions in a repeated dialog. Each time a new repetition is added, the COUNTER is increased., by the value In an interview, it represents a user's answer. In a script, it represents data that must be used in executing the script. (The value can either be a literal value or a user's answer.) of 1.

In the following example, you want to create a list Two or more answers to one question merged in the document. of potential employees. However, you want the list to include only those applicants with four or more years of schooling. To do this, you would use the WHILE instruction A command in a script or template that performs a special task, such as inserting a template or asking a dialog at a specific place in the interview. to loop through a list of applicants. You would then use the INCREMENT instruction to keep track of which repetition you are on so that the correct information can be merged into a new list.

SET Applicant Count TO 1

SET Prospect Count TO 0

WHILE ANSWERED( Applicant Name[Applicant Count] )

IF Applicant Years of Schooling[Applicant Count] >= 4

INCREMENT Prospect Count

SET Prospect Name[Prospect Count] TO Applicant Name[Applicant Count]

END IF

INCREMENT Applicant Count

END WHILE


INSERT "FILENAME"

Placeholder | Replace With
FILENAME | The file name and folder path of another HotDocs template A word processor or form document that has been converted to HotDocs format so that it can be automated. When in template format, changeable text in the template can be replaced with variables. Other instructions can be added as well, such as instructions that create lists, condition text, and insert other templates. Include the folder path if the inserted template resides in a folder that is different from the main template.

The INSERT instruction An instruction that inserts one template into another. For example, if boilerplate text needs to be used in multiple documents, a template An instruction that inserts the contents of one template into another. For example, if you have boilerplate text you need to use in multiple documents, you can create a template that contains that text and use the Insert intruction in each template that requires the boilerplate text to insert that content. This way, if you need to make a change to the text, you only need to update one template. inserts a clause Predefined sections of text that can be selected and added to an assembled document. Usually clauses are grouped together in a clause library so users can choose which ones they want to insert, although some clauses are merged in the document automatically., a clause library, or a template into the document The file that is created after a template has been assembled. currently being assembled.

Templates can be inserted from any location, as long as you specify the correct folder path information.

The INSERT instruction differs from the ASSEMBLE instruction in that HotDocs immediately processes the INSERT instruction and inserts the template, clause, or clause library into the current document. If there are variables to be answered, HotDocs presents them before finishing the interview A series of dialogs, each containing one or more questions which HotDocs generates from the variables you add to your template. The template's user must answer the questions in the interview before HotDocs can assemble a custom document. You can view the interview by clicking the Interview tab of the assembly window. The left pane of the assembly window displays an outline of the interview. As the user answers questions, the outline tracks the user's progress through the interview. of the main document.

To create a simple INSERT instruction, you can click the [image] INSERT Field A place in the template that denotes where users' answers should be merged, or where a specific instruction should be executed. In a text template, a field is denoted by chevrons. In a form template, a field is denoted by a colored box that is overlaid on the form's static text. button and insert the instruction directly in the template. However, if you want to insert a more complex instruction using conditional logic, you may need to use a Computation variable A type of component that performs calculations or executes other instructions within the template. Computation variable scripts are created using the HotDocs scripting language..

Often an organization’s documents include sections that are used frequently (boilerplate language), such as company letterhead or attorney information blocks. Rather than recreate these parts of a document each time you automate a template, you can save just the letterhead or the information block as its own template and then use an INSERT instruction to include it in the templates that require it. For example, let's say you have a specific attorney information block you use in pleadings. You would create a template that contains only the attorney information and then use the INSERT instruction to insert it:

«IF Attorney Information Required»

«INSERT "Attorney Information Block.docx"»

«END IF»

In text templates, if the inserted template contains unanswered variables, HotDocs asks these variables. After the inserted template is assembled, HotDocs finishes assembling the main template. In contrast, with form templates, HotDocs appends the inserted form template to the main form. Once it finishes assembling the main form, it then assembles the inserted form template.

Inserted text templates may have formatting that differs from the original template. Headers, footers, and margins can often be controlled more easily by using word processor section breaks.


LANGUAGE CODE

Placeholder A marker in an instruction or expression model that indicates where a value must be substituted. This value must be a literal value or a variable. Instruction and expression models help the developer use the correct syntax in a script. | Replace With
CODE | Any of the following language codes: ENG (English) DEU (German) DES (Swiss German) DEA (Austrian German) FRA (French) NLD (Dutch) ESN (Spanish) ITA (Italian) PTB (Brazilian Portuguese)

This instruction A command in a script or template that performs a special task, such as inserting a template or asking a dialog at a specific place in the interview. tells HotDocs to format numbers and dates in a particular language.

For example, the following script One or more instructions and/or expressions that generate a value or execute some kind of procedure. allows the template A word processor or form document that has been converted to HotDocs format so that it can be automated. When in template format, changeable text in the template can be replaced with variables. Other instructions can be added as well, such as instructions that create lists, condition text, and insert other templates. to use Spanish formats:

«LANGUAGE ESN»

«Start Contract Date:3 Juno 1990»

Optionally, if your date or number format requires non-U.S. thousands and decimal separators, you can specify which separators you want to use in the LANGUAGE instruction. The first character must be the thousands separator and the second character must be the decimal separator. For example:

«LANGUAGE ".," FRA»

For more detailed information on using foreign language templates, see Create a Foreign Language Template.


LIMIT NUM

Placeholder A marker in an instruction or expression model that indicates where a value must be substituted. This value must be a literal value or a variable. Instruction and expression models help the developer use the correct syntax in a script. | Replace With
NUM | A whole number, Number variable A type of component that merges a numeric value in the document., or numeric expression A command in a script that retrieves a special value. Expressions help calculate dates, sums, and so forth.

The LIMIT instruction A command in a script or template that performs a special task, such as inserting a template or asking a dialog at a specific place in the interview. limits the number of times a dialog In template development, represents the component in which the developer groups variables and other components. In document assembly, represents the group of questions in the Interview tab of the assembly window where users enter their answers. can be repeated. It is placed in the script One or more instructions and/or expressions that generate a value or execute some kind of procedure. of the dialog that must be limited to a specific number of repetitions.

When setting repeat limits, assign a number value In an interview, it represents a user's answer. In a script, it represents data that must be used in executing the script. (The value can either be a literal value or a user's answer.) or numeric expression. For example, the dialog, Daily Schedule Information, gathers information about the scheduled activities for each day of the work week, so it needs to be limited to five repetitions. The following would be placed in the dialog's script:

LIMIT 5

You can let the user The customer, client, or person who assembles documents from templates. (See also template developer.) change the limit each time a document The file that is created after a template has been assembled. or form is assembled by replacing the NUM placeholder with a Number variable. Make sure the Number variable gets answered before the REPEAT instruction is processed.

To control the number of viewable rows in a spreadsheet (but still allow users to enter as many answers as they need), enter the number in the Rows to display field A place in the template that denotes where users' answers should be merged, or where a specific instruction should be executed. In a text template, a field is denoted by chevrons. In a form template, a field is denoted by a colored box that is overlaid on the form's static text.. (Make sure Spreadsheet is selected as the Style.)


OMIT VAR

Placeholder A marker in an instruction or expression model that indicates where a value must be substituted. This value must be a literal value or a variable. Instruction and expression models help the developer use the correct syntax in a script. | Replace With
VAR | A variable A component that is used to represent changeable text (such as names, dates, numbers, etc.) in the template. Types of variables include Text, Date, Number, True/False, Multiple Choice, Computation, and Personal Information. used in an answer source

The OMIT VAR instruction A command in a script or template that performs a special task, such as inserting a template or asking a dialog at a specific place in the interview., which you use in a dialog In template development, represents the component in which the developer groups variables and other components. In document assembly, represents the group of questions in the Interview tab of the assembly window where users enter their answers. script One or more instructions and/or expressions that generate a value or execute some kind of procedure., keeps variables from appearing in the Edit Answer Source dialog box of an answer source.

Answer sources are associated with specific dialogs in a template A word processor or form document that has been converted to HotDocs format so that it can be automated. When in template format, changeable text in the template can be replaced with variables. Other instructions can be added as well, such as instructions that create lists, condition text, and insert other templates.. When users view the dialog during the interview A series of dialogs, each containing one or more questions which HotDocs generates from the variables you add to your template. The template's user must answer the questions in the interview before HotDocs can assemble a custom document. You can view the interview by clicking the Interview tab of the assembly window. The left pane of the assembly window displays an outline of the interview. As the user answers questions, the outline tracks the user's progress through the interview., they can click a special button, which displays a list Two or more answers to one question merged in the document. of answers that were entered during previous interview sessions. They can either select an existing set of answers or add a new set to the list.

After creating an answer source for one dialog, you can use it with other dialogs, including dialogs in other templates. When using an answer source with multiple dialogs, each variable must be represented in both the answer source file and in each dialog. If a variable that is referenced in the answer source file isn’t included in the dialog (or vice-versa), answers in the answer source will get “mixed together” whenever you add, edit, or delete records.

In some situations though, it isn’t always practical or relevant to show An instruction used in a dialog script to show variables that have been hidden in the dialog. (See also HIDE.) Usually this instruction is conditioned so that variables hide and show dynamically, based on answers the user enters. the user The customer, client, or person who assembles documents from templates. (See also template developer.) every variable—either in the dialog or in the Select From Answer Source dialog box. To accommodate this, you can use the HIDE An instruction used in a dialog script to hide variables in the dialog. (See also SHOW.) Usually this instruction is conditioned so that questions in the dialog hide and show dynamically, based on answers the user enters., CONCEAL, and OMIT instructions to manipulate these variables in both the dialog and the answer source. Specifically, HIDE keeps a variable from appearing in the dialog, while CONCEAL keeps it from appearing in the answer source spreadsheet. OMIT keeps it from appearing in the answer source altogether, but still allows you to use it in the dialog. Often, you must use a combination of these instructions to achieve your desired result.

For example, say you have a dialog that shows information about a client, including how much a client owes in payments to the firm. Because information about amounts owed changes, it would not make sense to include it in the answer source. To keep it from appearing in the answer source—both in the Select From Answer Source dialog and in the Edit Answer Source dialog—you would use the OMIT instruction, like this:

OMIT Amount Owed

The variable would be asked on the dialog, however, so the user could answer it.

See Suggest an Answer Source for Dialogs for more information.


PLAY "MACRO"

Placeholder A marker in an instruction or expression model that indicates where a value must be substituted. This value must be a literal value or a variable. Instruction and expression models help the developer use the correct syntax in a script. | Replace With
"MACRO" | A word processor macro that performs a certain function In programming, a function is a piece of code that operates on one or more inputs, and produces an output. in your template A word processor or form document that has been converted to HotDocs format so that it can be automated. When in template format, changeable text in the template can be replaced with variables. Other instructions can be added as well, such as instructions that create lists, condition text, and insert other templates.

The PLAY "MACRO" instruction A command in a script or template that performs a special task, such as inserting a template or asking a dialog at a specific place in the interview. plays a word processor macro after the document The file that is created after a template has been assembled. is assembled and either sent to the word processor, printed, or saved.

Where you store the macro depends on which word processor you are using:

  • For WordPerfect users, the macro can be stored anywhere. The PLAY instruction must include the file name of the macro, and if the macro is stored anywhere other than the default macro folder, the instruction must include a full path to the file as well.
  • For Word DOT File name extension that designates that the file is a Microsoft Word DOT template. (See text document.) users, the macro must be stored in the template itself, in Normal.dot, or in any global template that is automatically loaded when you start Word.
  • For Word RTF File name extension that designates that the template file is a Word RTF file. (See text template.) or DOCX users, the macro must be stored either in Normal.dot, in any global template that is automatically loaded when you start Word, or in a Word template you associate with the template through Component A template resource file that displays or stores information about the user input/answers to merge in the final document. Examples of components include variables, dialogs, dialog elements, merge text groups, and formats. Manager. (See Specify a Word Template for Storing Post-Assembly Macros for details.)

Macros can be helpful in many situations, such as making sure the format of an inserted clause Predefined sections of text that can be selected and added to an assembled document. Usually clauses are grouped together in a clause library so users can choose which ones they want to insert, although some clauses are merged in the document automatically. matches the rest of the document. For example, the text in the Authority Clause document may be formatted differently than the text in the main document. You could create a macro that can adjust the formatting so that it’s uniform:

«INSERT "Authority Clause.docx"»

«PLAY "Standard_Format"»

To insert a PLAY instruction in a template

  1. At the template, position the cursor in the template where you want the PLAY instruction.
  2. If you are using Microsoft Word:
    • Click the HotDocs menu in the HotDocs toolbar and choose Other Field A place in the template that denotes where users' answers should be merged, or where a specific instruction should be executed. In a text template, a field is denoted by chevrons. In a form template, a field is denoted by a colored box that is overlaid on the form's static text. from the list Two or more answers to one question merged in the document. of options. The Other Field dialog In template development, represents the component in which the developer groups variables and other components. In document assembly, represents the group of questions in the Interview tab of the assembly window where users enter their answers. box appears.
    • Click the Field type drop-down button and choose PLAY.
    • In the Macro name field, enter the name of the macro you want to run.
    • Click OK. The instruction is inserted in the template.
  3. If you are using WordPerfect:
    • Copy an existing variable A component that is used to represent changeable text (such as names, dates, numbers, etc.) in the template. Types of variables include Text, Date, Number, True/False, Multiple Choice, Computation, and Personal Information. or instruction field in the template.
    • Replace text between the chevrons The double-angle brackets (« ») that surround a variable in a text template. Together, the chevrons and variable name make up the variable field, for example, «Client Name». (« ») with the PLAY instruction.

See Specify a Word Template for Storing Post-Assembly Macros for more information.

PLAY instructions are executed when you create an actual document from the assembly. This includes sending the document to the word processor, saving the document, or printing a copy of the document. If there are multiple instructions, they are processed in the order The process of designating the sequence in which form template fields are asked in the tab order. Establishing this order in a form is important for users who directly fill the form document. they are encountered.


QUIT

The QUIT instruction A command in a script or template that performs a special task, such as inserting a template or asking a dialog at a specific place in the interview. allows you to close the variable A component that is used to represent changeable text (such as names, dates, numbers, etc.) in the template. Types of variables include Text, Date, Number, True/False, Multiple Choice, Computation, and Personal Information. without losing the work you have done. Normally, HotDocs will not save an invalid computation. The only way to exit an invalid computation is to click Cancel, which erases the script One or more instructions and/or expressions that generate a value or execute some kind of procedure.. The instruction is usually placed at the beginning of an unfinished or invalid computation.

For example, perhaps you aren't sure about the specific variable names that need to be included because the variables have not yet been created. Normally, HotDocs won’t allow an unfinished script to be saved. The QUIT instruction, though, makes this possible:

QUIT

IF Client History = "____"

SET ____ TO "Returning"

ELSE

SET ____ TO "New"

END IF

Another useful place to include a QUIT instruction is at the end of a computation, which allows you to enter "developer See template developer. comments Notes or thoughts entered by the template developer either in a script or in a template. Comments are one way to document processes within the template. If entered correctly, they will not be visible to users in the assembled document." about the computation script. You can also apply a comment block to the section of the script you don't want processed. To do this, select that section of the script and click the [image] Comment Block button. (To uncomment the script, click the [image] Uncomment Block button.)

If you use a QUIT instruction in a script, it will cause all the scripting after the instruction to lose its syntax The language used in writing scripts. For a script to work properly, the script must be written in a way that HotDocs can understand. This language consists of instructions, expressions, operators, and values (such as text, numbers, dates, or answers users enter).-aware formatting. To restore this formatting once you remove the QUIT instruction, click the [image] Auto Format button.


REPEAT DATABASE; END REPEAT

Placeholder A marker in an instruction or expression model that indicates where a value must be substituted. This value must be a literal value or a variable. Instruction and expression models help the developer use the correct syntax in a script. | Replace With
DATABASE A file that contains a collection of data. Template developers can map variables in templates to fields in a database table so that answers can be retrieved from it and merged in the assembled document. | A database component A template resource file that displays or stores information about the user input/answers to merge in the final document. Examples of components include variables, dialogs, dialog elements, merge text groups, and formats.

A REPEAT instruction A command in a script or template that performs a special task, such as inserting a template or asking a dialog at a specific place in the interview. gathers multiple database records and merges them into a document The file that is created after a template has been assembled..

For example, the following script One or more instructions and/or expressions that generate a value or execute some kind of procedure. will bring up a record selection screen during the interview A series of dialogs, each containing one or more questions which HotDocs generates from the variables you add to your template. The template's user must answer the questions in the interview before HotDocs can assemble a custom document. You can view the interview by clicking the Interview tab of the assembly window. The left pane of the assembly window displays an outline of the interview. As the user answers questions, the outline tracks the user's progress through the interview. and allow you to choose multiple records to be inserted into the assembled document:

«REPEAT Client Data»

«END REPEAT»

Each REPEAT instruction must also include an END REPEAT instruction, which tells HotDocs to stop repeating the variables within the instruction.

REPEAT DATABASE instructions cannot be nested.


REPEAT DIALOG; END REPEAT

Placeholder A marker in an instruction or expression model that indicates where a value must be substituted. This value must be a literal value or a variable. Instruction and expression models help the developer use the correct syntax in a script. | Replace With
DIALOG In template development, represents the component in which the developer groups variables and other components. In document assembly, represents the group of questions in the Interview tab of the assembly window where users enter their answers. | A dialog with a repeat style specified

A REPEAT instruction A command in a script or template that performs a special task, such as inserting a template or asking a dialog at a specific place in the interview. gathers lists of answers and merges them into a document The file that is created after a template has been assembled..

For example, the following script One or more instructions and/or expressions that generate a value or execute some kind of procedure. gathers a list Two or more answers to one question merged in the document. of editors and inserts them into the assembled document:

«REPEAT Editor Information»

Editor: «Editor First Name» «Editor Last Name»

«END REPEAT»

Each REPEAT instruction must also include an END REPEAT instruction, which tells HotDocs to stop repeating the variables within the instruction.

This next computation script actually contains two repeated dialogs—one nested in another. It produces a list of editors as well as the titles and authors he or she is currently working with:

""

REPEAT Editor Information

RESULT + "Editor: " + Editor First Name + " " + Editor Last Name + "

"

REPEAT Book Information

RESULT + "Book Title A property of a variable or dialog that specifies a more user-friendly name for the component. For example, if project standards require components be named using notations, names like Employee Name TE may not make sense to a user. However a title like Employee Name can be used instead.: " + Book Title + "

" + "Author: " + Author First Name + " " + Author Last Name + "

"

END REPEAT

END REPEAT

You can create up to three levels of sublists by nesting REPEAT instructions. (See Introduction: Create Lists Within a List.)

For more information about creating lists of answers, see Introduction: Include Lists in Your Documents.

Repeats can not be nested more than four levels deep.

While editing complicated sequences, you can jump from the END REPEAT instruction to its associated REPEAT instruction, or vice versa, by placing the cursor within the REPEAT or END REPEAT chevrons The double-angle brackets (« ») that surround a variable in a text template. Together, the chevrons and variable name make up the variable field, for example, «Client Name»., then clicking the [image] Match Fields button.


REQUIRE ALL; REQUIRE VAR

Placeholder A marker in an instruction or expression model that indicates where a value must be substituted. This value must be a literal value or a variable. Instruction and expression models help the developer use the correct syntax in a script. | Replace With
VAR | Any variable A component that is used to represent changeable text (such as names, dates, numbers, etc.) in the template. Types of variables include Text, Date, Number, True/False, Multiple Choice, Computation, and Personal Information. used in a dialog In template development, represents the component in which the developer groups variables and other components. In document assembly, represents the group of questions in the Interview tab of the assembly window where users enter their answers.

The REQUIRE instruction A command in a script or template that performs a special task, such as inserting a template or asking a dialog at a specific place in the interview. requires users to answer questions in a dialog before they can advance to the next dialog in the interview A series of dialogs, each containing one or more questions which HotDocs generates from the variables you add to your template. The template's user must answer the questions in the interview before HotDocs can assemble a custom document. You can view the interview by clicking the Interview tab of the assembly window. The left pane of the assembly window displays an outline of the interview. As the user answers questions, the outline tracks the user's progress through the interview..

REQUIRE instructions ensure that important information is not left out of the assembled document The file that is created after a template has been assembled.. For example, a certain document requires the user The customer, client, or person who assembles documents from templates. (See also template developer.) to enter the date when a legal filing was first made. Later in the template A word processor or form document that has been converted to HotDocs format so that it can be automated. When in template format, changeable text in the template can be replaced with variables. Other instructions can be added as well, such as instructions that create lists, condition text, and insert other templates., this date is used to calculate a deadline for subsequent filings. Many users, however, may not take the time to look up the initial filing date, which creates problems for calculating the deadline. Using the REQUIRE instruction in a dialog script One or more instructions and/or expressions that generate a value or execute some kind of procedure., as shown in this example script, can help resolve this problem:

REQUIRE Initial Filing Date

When a dialog script contains a REQUIRE instruction, a red mark appears on the dialog icon in the interview outline See interview outline.. The question in the dialog is also marked. This mark remains until the required variable is answered. If a user tries to move to another dialog, HotDocs displays an error message, then moves the cursor to the first required answer field A place in the template that denotes where users' answers should be merged, or where a specific instruction should be executed. In a text template, a field is denoted by chevrons. In a form template, a field is denoted by a colored box that is overlaid on the form's static text. in the dialog. Users cannot advance to the next dialog without first providing the required answers.

It may be helpful to include text in the dialog that provides users with information about which fields are mandatory and why. See Add Text to Your Dialogs for details.

You can customize the marks used in the dialog by specifying your options at HotDocs Options A section of the software where template developers and end users can set their preferences for working with HotDocs.. See Customize the Look of the Dialog Pane.

Although current and past versions of HotDocs Developer allow the user to click Finish on an Interview Template than contains unanswered required variables or ERRORTEXT variables which have an incorrect answer in them, this behavior will be changed in the future so your templates should not rely on it.


SET VAR TO VALUE

Placeholder A marker in an instruction or expression model that indicates where a value must be substituted. This value must be a literal value or a variable. Instruction and expression models help the developer use the correct syntax in a script. | Replace With
VAR | Any variable A component that is used to represent changeable text (such as names, dates, numbers, etc.) in the template. Types of variables include Text, Date, Number, True/False, Multiple Choice, Computation, and Personal Information.
VALUE In an interview, it represents a user's answer. In a script, it represents data that must be used in executing the script. (The value can either be a literal value or a user's answer.) | A value appropriate for the associated variable

For a more detailed explanation of setting variables to values, see Automatically Assign Answers to a Variable.

This instruction A command in a script or template that performs a special task, such as inserting a template or asking a dialog at a specific place in the interview. lets you specify a given value for a variable’s answer automatically, rather than allow the user The customer, client, or person who assembles documents from templates. (See also template developer.) to specify an answer. With the SET instruction, you can transfer names and other values from one variable to another.

For example, if the plaintiff is the same as the client, you can use a SET instruction to automatically enter the plaintiff’s name as the client’s, saving the user from typing the name a second time:

IF Is Plaintiff Also Client

SET Client Name TO Plaintiff Name

END IF

The SET Instruction can also be used to set custom error messages in interview dialogs. Used with the ERRORTEXT expression in a dialog script, SET can be used to create conditional error messages to help minimise incorrect answers. To see examples of this method see ERRORTEXT.

Because HotDocs repeatedly processes SET instructions during the course of an interview A series of dialogs, each containing one or more questions which HotDocs generates from the variables you add to your template. The template's user must answer the questions in the interview before HotDocs can assemble a custom document. You can view the interview by clicking the Interview tab of the assembly window. The left pane of the assembly window displays an outline of the interview. As the user answers questions, the outline tracks the user's progress through the interview., you must not let the user specify a different answer for a variable whose value is being SET. When HotDocs updates the interview, the user’s answer will be replaced with the value from the SET instruction. To suggest an answer for the user and allow them to change it, use the DEFAULT instruction. (See Differences Between SET and DEFAULT Instructions for an explanation.)

If you are grouping two or more child (inserted) dialogs in a parent dialog A dialog that contains a child dialog., you can SET the child dialog's status to TRUE. This forces the contents of the child dialog A dialog that is inserted within another dialog. When it's inserted, it becomes linked to that dialog—users can't answer questions in it without first viewing the parent dialog. Usually the two dialogs are related in content or purpose. to automatically appear in the interview outline See interview outline.. (See Group Child Dialogs in a Parent Dialog for details.)

To set two or more options for a Multiple Choice variable, separate each option with a vertical bar (for example, SET MC Variable TO "Option1|Option2|Option3")


WHILE EXPRESSION; END WHILE

Placeholder A marker in an instruction or expression model that indicates where a value must be substituted. This value must be a literal value or a variable. Instruction and expression models help the developer use the correct syntax in a script. | Replace With
EXPRESSION A command in a script that retrieves a special value. Expressions help calculate dates, sums, and so forth. | An expression that results in true or false A True/False expression can be as complicated as it needs to be, but it must result in either true or false. For example, the expression YEARS FROM( Child’s Birth Date, TODAY ) produces a number (the age of a person), not a true or false value In an interview, it represents a user's answer. In a script, it represents data that must be used in executing the script. (The value can either be a literal value or a user's answer.)—it is not a True/False expression. But the expression YEARS FROM( Child’s Birth Date, TODAY )> 17 can only result in true or false. It is a True/False expression.

The WHILE EXPRESSION instruction A command in a script or template that performs a special task, such as inserting a template or asking a dialog at a specific place in the interview. allows you to repeatedly process (or loop through) an answer or set of answers until a certain condition is met, such as a certain answer is found or a limit is reached.

Before using the WHILE instruction, you should understand the following:

  • The WHILE instruction must be used in a computation or dialog In template development, represents the component in which the developer groups variables and other components. In document assembly, represents the group of questions in the Interview tab of the assembly window where users enter their answers. script One or more instructions and/or expressions that generate a value or execute some kind of procedure.—it cannot be inserted directly into a template A word processor or form document that has been converted to HotDocs format so that it can be automated. When in template format, changeable text in the template can be replaced with variables. Other instructions can be added as well, such as instructions that create lists, condition text, and insert other templates..
  • When using the WHILE instruction inside of a REPEAT instruction, the WHILE instruction will not affect the underlying COUNTER An expression that keeps track of the current number of repetitions in a repeated dialog. Each time a new repetition is added, the COUNTER is increased. variable A component that is used to represent changeable text (such as names, dates, numbers, etc.) in the template. Types of variables include Text, Date, Number, True/False, Multiple Choice, Computation, and Personal Information. associated with the REPEAT instruction. If you need to count something within a WHILE loop, you must create your own temporary counter. Additionally, to access repeated variables in a WHILE loop, you must use explicit indexing.
  • Unless the instructions inside the WHILE loop include an instruction that increments the temporary counter, the WHILE instruction will repeat until the Maximum WHILE iterations limit is reached. You can specify this property at the Component A template resource file that displays or stores information about the user input/answers to merge in the final document. Examples of components include variables, dialogs, dialog elements, merge text groups, and formats. File Properties dialog box. (See Change Component File Properties.) To avoid problems like this, make sure you increment the temporary counter.

In the following example, you want to create a list Two or more answers to one question merged in the document. of signers in a will. Since the signers may include both beneficiaries and fiduciaries, you want to merge both lists into one. Because some fiduciaries may also be beneficiaries, you will want to remove any duplicate The process of copying a variable to create a new one. names. To loop through the list of fiduciaries, you will use the WHILE instruction:

SET Signer Count TO 0

REPEAT Beneficiary Information

INCREMENT Signer Count

SET Signer Name[Signer Count] TO Beneficiary Name

END REPEAT

REPEAT Fiduciary Information

SET Lookup TO 1

WHILE Lookup <= Signer Count AND Fiduciary Name != Signer Name[Lookup]

INCREMENT Lookup

END WHILE

IF Lookup > Signer Count

INCREMENT Signer Count

SET Signer Name[Signer Count] TO Fiduciary Name

END IF

END REPEAT

In the first part of this script, the Beneficiary Information dialog is repeated, and as answers are entered, their values are set to be used for Signer Name (which is the variable that will be repeated to insert all the names of the signers). Then, in the second part of the script, as the Fiduciary Information dialog is repeated, HotDocs uses the WHILE expression to test The process of testing a variable or other component to make sure it looks right and works correctly. whether the name of the fiduciary is the same as any of the beneficiary names. If it is not, it will likewise be added to the Signer Information dialog. (When you insert the REPEAT instruction for the Signer Information dialog in the template, clear the Ask Automatically option at the Dialog Editor (Options tab). See Control Whether Dialogs are Asked Automatically for details.)

In the next example, you need to remove unwanted space characters from a user's account number. Here, the WHILE instruction is used to repeat an answer, character by character, so that HotDocs can check to see if there are space characters in the answer. If there are, HotDocs removes them and rewrites the answer.

SET Count Index TO 1

WHILE Count Index <= LENGTH( Account Number )

IF MID(Account Number, Count Index, 1 ) = " "

SET Account Number TO FIRST( Account Number, Count Index -1 ) + LAST( Account Number, LENGTH(Account Number) - Count Index)

ELSE

INCREMENT Count Index

END IF

END WHILE

This script uses a temporary counter (Count Index) to keep track of which character in the answer HotDocs is looking at. Any time the answer is repeated and HotDocs finds a space character, it removes it by concatenating the characters before and after the space character. HotDocs then makes sure that the new character it is now examining isn't a space character either. If it is not, HotDocs increments the temporary counter, moves to the next character, and repeats this process.


Full List of Expression Models

Expression | Description
Enter a Date | You can use this expression to format your dates correctly as you write computations.
Enter a Number | You can use the Enter a Number expression to format numbers correctly as you write computations. Numbers in computations and expressions must be in numeric form and cannot contain commas. If you enter a number that contains a comma, it will be removed from the value. Decimals must have one digit to the left of the decimal point, even if it is only a zero.
Enter some Text | You can use the Enter some Text expression to format a text string correctly as you write computations. When used in computations and expressions, text strings must be inside quotation marks. This expression adds those quotation marks to the text string.
Enter True or False | You can use this expression to enter a TRUE or FALSE value in a computation or expression script. True/False values must use uppercase letters.
ABSOLUTE VALUE( NUM ) | Using the ABSOLUTE VALUE expression, you can find the absolute value of a given number. You can calculate a negative number, but have it appear as a positive number.
AGE( DATE ) | The AGE( DATE ) expression produces an age, in years, by calculating the number of years between the current date (as determined by your computer’s system clock) and a date you provide in the computation script.
ANSWERED( DIALOG ) | HotDocs can determine whether a dialog has been answered using the ANSWERED expression. Even if only one variable in the dialog is answered, the expression returns a value of true.
ANSWERED( VAR ) | You can use the ANSWERED expression to determine whether a HotDocs variable has been assigned a value. If so, the expression receives the value of true.
CEILING( NUM ) | You can use the CEILING function to find the smallest integer that isn't smaller than the Number variable.
COUNT( DIALOG ) | You can find out how many sets of answers a user provides for a repeated dialog. A repeated dialog is any dialog used in a REPEAT instruction. This expression produces a number, based on each answered dialog.
COUNT( MULT_CHOICE_VAR ) | This expression counts how many options a user chooses when answering a Multiple Choice variable. The result it produces is a number.
COUNTER | You can use the COUNTER expression to keep track of the current number of repetitions of a repeated dialog. Each time a user clicks the [image] Next button at a repeated dialog and provides additional information, the value of COUNTER increases.
DATE - NUM DAYS | You can subtract any number of days from a Date variable. The result of this computation is a new date value, which can be merged into the assembled document.
DATE - NUM MONTHS | You can subtract a certain number of months from a Date variable. The result of this computation is a new date value, which can be merged into the assembled document.
DATE - NUM YEARS | You can subtract a certain number of years from a Date variable. The result of this computation is a new date value, which can be merged into the assembled document.
DATE + NUM DAYS | You can add any number of days to a Date variable. The result of this computation is a new date value, which can be merged into the assembled document.
DATE + NUM MONTHS | You can add any number of months to a Date variable. The result of this computation is a new date value, which can be merged into the assembled document.
DATE + NUM YEARS | You can add a certain number of years to a Date variable. The result of this computation is a new date value, which can be merged into the assembled document.
DATE OF( DAY, MONTH, YEAR ) | This expression finds a date value based on day, month, and year values.
DAY OF( DATE ) | This expression returns the day portion (1 to 31) of a given date.
DAY OF WEEK( DATE ) | This expression determines on which day of the week a specific date falls and converts that value to an integer.
DAYS FROM( START, FINISH ) | This expression allows you to find the number of days between two dates.

ERRORTEXT

This instruction allows you to create an error message that can appear during the interview.
EXPONENTIAL( NUM ) | An EXPONENTIAL function is a function that quickly accelerates, where the Number variable is the exponent of e (roughly 2.71828), and it can be used in calculating exponential growth.
FIRST( TEXT, NUM ) | Using this expression, you can return any number of characters starting with the first character in an answer value.
FLOOR( NUM ) | You can use the FLOOR function to find the largest integer that isn't bigger than the Number variable entered.
FORMAT( VALUE, "EXAMPLE" ) | Sometimes you may need to add a date, number, or true/false value to a text value. You can do this by formatting the date, number, or true/false value as text.
FUTURE VALUE (RATE, TERM, PAYMENT, PRESENT VALUE, TYPE)

The HotDocs financial expressions can be used in templates that work with calculating savings, loans or investment values.

If you know the rate, term, payment, present value and type of a savings scheme or loan you can use the FUTURE VALUE function to work out how much the final amount will be after interest.
INTEGER( TEXT ) | Sometimes you may have a text value that contains number characters, as in the case of a time of day value. The INTEGER expression allows you to convert those number characters into numeric values so you can perform calculations or compare them with other values.
LAST( TEXT, NUM ) | The LAST expression finds and returns a certain number of characters from the end of a text string.
LENGTH( TEXT ) | The LENGTH expression counts the number of characters—including spaces and punctuation—in a text value, such as a Text variable.
LOGARITHM( NUM ) | The LOGARITHM function will find the common logarithm of a Number variable. You can use it to find the exponent of 10 that would be needed to make the Number variable entered.
MAX( NUM, NUM ) | The MAX expression compares two number values and returns the greater of the two.
MID( TEXT, NUM, NUM ) | Like the FIRST and LAST expressions, this expression extracts a specified number of characters from within a text string.
MIN( NUM, NUM ) | The MIN expression compares two number values and returns the lesser of the two.
MONTH OF( DATE ) | This expression returns the month portion of a given date.
MONTHS FROM( DATE, DATE ) | The MONTHS FROM expression calculates the number of months between two given dates.
MULT_CHOICE=TEXT; MULT_CHOICE!=TEXT | The MULT_CHOICE = TEXT expression returns true when the user chooses a Multiple Choice option that is equal to ( = ) a given text value. If it is not equal ( != ), the expression returns false. The MULT_CHOICE != TEXT expression functions in the opposite way—testing instead to see if an answer is not equal to ( != ) a given text value.
NATURAL LOGARITHM( NUM ) | You can use the NATURAL LOGARITHM function to find the exponent of e (roughly 2.71828) that would be needed to make the Number variable entered.
NOT TRUE_FALSE | You can use the NOT TRUE_FALSE expression to find out if a True/False variable is false.
OTHER( MULT_CHOICE_VAR ) | This expression determines whether the user has chosen the Other option of a Multiple Choice variable and, if so, returns the text entered in the Other field. It can also be used to test whether the user has selected the None of the Above option.
PAYMENT (RATE, TERM, PRESENT VALUE, FUTURE VALUE, TYPE)

The HotDocs financial expressions can be used in templates that work with calculating savings, loans or investment values.

If you know the rate, term, present value, future value and type of a savings scheme or loan you can use the PAYMENT function to work out how much money needs to be paid in each payment period to reach the full amount
POSITION( TEXT, TEXT ) | The POSITION expression finds the position of a certain character or character string in a given text value. It is useful if you need to find a character you know will be in an answer but are not sure where it will appear. It returns a number value, which represents the first character.
POWER( NUM, NUM ) | The POWER expression generates a numeric value, based on a given exponent.
PRESENT VALUE (RATE, TERM, PAYMENT, FUTURE VALUE, TYPE)

The HotDocs financial expressions can be used in templates that work with calculating savings, loans or investment values.

If you know the rate, term, payment, future value and type of a savings scheme or loan you can use the PRESENT VALUE function to work out how much the investment is worth currently (i.e. how much money you would need to invest over the same amount of payment periods to equal the return)
RATE (TERM, PAYMENT, PRESENT VALUE, FUTURE VALUE, TYPE)

The HotDocs financial expressions can be used in templates that work with calculating savings, loans or investment values.

If you know the term, payment, present value, future value and type of a savings scheme or loan you can use the RATE function to work out what the interest rate is per payment period.
REMAINDER( NUM, NUM ) | The REMAINDER expression returns the remainder of a division. If the denominator is a zero, HotDocs generates a divide by zero error.
REPLACE( TEXT, TEXT, TEXT, NUM ) | This expression lets you search a string of text for a given character string and replace the results with new text.
RESULT | As you write computations, you often need HotDocs to acknowledge what the result would be at that point in the script. You can update this answer by using the RESULT expression.
ROUND( NUM, NUM ) | You can round a number value to a specified number of places.
SELECTION( MULT_CHOICE_VAR, NUM ) | This expression lets you retrieve individual options (answers) selected in a Multiple Choice variable. It returns a text value that corresponds to the defined answer (as designated by the NUM placeholder).
SPACE( TEXT, TEXT ) | This expression tests whether the variable is answered. If it is, it merges the answer, followed by a space character. If the variable is unanswered, it merges nothing ("").
SQUARE ROOT( NUM )

Finding the square root of a number means finding an answer that, when multiplied by itself, gives the original number. You can use the SQUARE ROOT function to find the square root of a Number variable.
STRIP( TEXT, TEXT, TRUE_FALSE, TRUE_FALSE ) | This expression removes a specified character or characters from the beginning or end of a text answer. By default, HotDocs removes the characters from both the beginning and the end of the text. If you want to specify just one or the other, you must use the TRUE_FALSE parameters.
SUM( COMPUTATION_VAR ) | Using the SUM expression, you can add repeated number values.
SUM( NUM_VAR ) | Using the SUM expression, you can add repeated number values.
TERM (RATE, PAYMENT, PRESENT VALUE, FUTURE VALUE, TYPE)

The HotDocs financial expressions can be used in templates that work with calculating savings, loans or investment values.

If you know the rate, payment, present value, future value and type of a savings scheme or loan you can use the TERM function to work out how many payment periods are required to reach the full amount.
TEXT CONTAINS TEXT | The TEXT CONTAINS TEXT expression determines whether the first text value contains the same text as the second value. If it does, it returns the value of true.
TEXT ENDS WITH TEXT | The TEXT ENDS WITH TEXT expression is used in a similar way to the TEXT CONTAINS TEXT expression except that HotDocs will specifically check if the first TEXT value ends with the second TEXT value.
TEXT STARTS WITH TEXT | The TEXT STARTS WITH TEXT expression is used in a similar way to the TEXT CONTAINS TEXT expression except that HotDocs will specifically check if the first TEXT value begins with the second TEXT value.
TODAY | This expression returns the current date, according to your computer’s system clock.
TRIM( TEXT ) | You can use the TRIM function to remove any white space characters from the beginning and end of a Text variable.
TRUNCATE( NUM, NUM ) | You can truncate a decimal number a specified number of places after a decimal point.
UNANSWERED | This expression removes an assigned value from a variable. It is used most often with the SET VAR TO VALUE instruction.
UNION( MULT_CHOICE, MULT_CHOICE ) | This expression creates a single list of all unique options (answers) that have been selected across two Multiple Choice variables.
VALUE( VAR, EXPRESSION ) | This expression returns a default value for the variable type if the variable is unanswered. If the variable is answered, the value is the answer the user specifies
YEAR OF( DATE ) | You can use this expression model to find the year portion of a given date.
YEARS FROM( DATE, DATE ) | This expression calculates the number of years between two given dates.
ZERO( NUM_VAR ) | This expression returns the value of zero only if a Number variable is unanswered. If the Number variable is answered, the value is the answer the user specifies.


Enter a Date

You can use this expression to format your dates correctly as you write computations.

To use the expression, drag the Enter a Date expression into the Script or Expression field. The Enter a Date dialog appears where you can type a date into the field, or you can use the pop-up calendar to select a date. When you click OK, HotDocs inserts the date at the cursor position in the correct format, for example, 3 JUN 1990.


Enter a Number

You can use the Enter a Number expression to format numbers correctly as you write computations. Numbers in computations and expressions must be in numeric form and cannot contain commas. If you enter a number that contains a comma, it will be removed from the value. Decimals must have one digit to the left of the decimal point, even if it is only a zero.

To use the expression, drag the Enter a Number expression into the Script or Expression field. The Enter a Number dialog box appears. Enter a number and click OK. The correctly formatted number is inserted at the cursor position.


Enter some Text

You can use the Enter some Text expression to format a text string correctly as you write computations. When used in computations and expressions, text strings must be inside quotation marks. This expression adds those quotation marks to the text string.

To use the expression, drag the Enter some Text expression into the Script or Expression field. The Enter some Text dialog box appears. Enter some text and click OK. HotDocs inserts that text—in quotation marks—at the cursor position.


Enter True or False

You can use this expression to enter a TRUE or FALSE value in a computation or expression script. True/False values must use uppercase letters.

To use the expression, drag the Enter True or False expression into the Script or Expression field. The Enter True or False dialog box appears. Click either True or False. The keyword you choose is inserted in all capital letters at the cursor position.


ABSOLUTE VALUE( NUM )

Placeholder | Tooltip | Replace With
NUM | n: Number | A number value for which you want the absolute value returned. Can be a Number variable or a fixed number value.

Returns a Number value

Using the ABSOLUTE VALUE expression, you can find the absolute value of a given number. You can calculate a negative number, but have it appear as a positive number.

For example, you may need to send a notice to a client about an account balance. Not knowing whether it will be a positive or negative balance, you would create the computation Absolute Value of Final Balance, which would return a positive expression, regardless. The computation script is:

ABSOLUTE VALUE( Final Balance )

Once you have created the computation, you can use an IF/ELSE expression to merge the desired text with the correct value in the document:

«IF Final Balance < 0»

Your account is $«Absolute Value of Final Balance» overdrawn.

«ELSE»

You have $«Absolute Value of Final Balance» in your account.

«END IF»


AGE( DATE )

Placeholder | Tooltip | Replace With
DATE | d: Date | A date value, which you want to check against the current date. This can be a Date variable or a fixed date value.

Returns a Number value

The AGE( DATE ) expression produces an age, in years, by calculating the number of years between the current date (as determined by your computer’s system clock) and a date you provide in the computation script.

For example, the following script determines the age of the user based on his or her birth date:

AGE( Birth Date )

In the following conditional script, HotDocs determines whether the client is under the age of 18. If so, the Parent-Guardian Information dialog is asked. If the client is over the age of 18, no dialogs are asked.

IF AGE( Birth Date ) < 18

ASK Parent-Guardian Information

END IF


ANSWERED( DIALOG )

Placeholder | Tooltip | Replace With
DIALOG | d: Dialog | A dialog name

Returns a True/False value

HotDocs can determine whether a dialog has been answered using the ANSWERED expression. Even if only one variable in the dialog is answered, the expression returns a value of true.

Let's suppose you have a dialog that gathers information about a decedent (Decedent Information). From within this dialog, a user could open an inserted dialog that asks questions about the decedent's assets (Decedent's Assets). Later in the template, you could ask additional questions based on whether these dialogs have been answered:

IF ANSWERED( Decedent Information ) AND ANSWERED( Decedent's Assets )

ASK Asset Distribution Information

END IF


ANSWERED( VAR )

Placeholder | Tooltip | Replace With
VAR | v: Variable | A variable

Returns a True/False value

You can use the ANSWERED expression to determine whether a HotDocs variable has been assigned a value. If so, the expression receives the value of true.

If you are testing whether a user has ANSWERED a variable, you must make sure the variable is presented to the user using a custom dialog. Using the ANSWERED( VAR ) expression alone will not automatically force HotDocs to display the variable for the user.

For example, you may place a variable for the second line of an address (Client Address 2) in a custom dialog; however, not all users will provide information for that variable. In the template text, you can surround Client Address 2 with an IF expression that merges that variable into the document—only if the user answers it:

«Client Name»

«Client Address 1»

«IF ANSWERED( Client Address 2 )»

«Client Address 2»

«END IF»

«Client City», «Client State» «Client ZIP»

In this script, the ANSWERED expression is used with an IF expression to insert or remove Client Address 2, based on whether the user has provided that information. (Without it, the default unanswered text, ***Client Address 2***, would be inserted in the assembled document.)

Even if a user chooses not to answer a variable that has been tested using the ANSWERED expression, HotDocs will still warn that it is unanswered. If you don't want a warning to appear, clear Warn when unanswered at the Advanced tab of the Variable Editor. (Control How HotDocs Processes a Variable.)


CEILING( NUM )

Placeholder | Tooltip | Replace With
NUM | n: Number | A number value, such as a Number variable.

Returns a Number value

You can use the CEILING function to find the smallest integer that isn't smaller than the Number variable, for example:

CEILING( 84.2 ) = 85


COUNT( DIALOG )

Placeholder | Tooltip | Replace With
DIALOG | dlg: Dialog | A dialog name

Returns a Number value

You can find out how many sets of answers a user provides for a repeated dialog. A repeated dialog is any dialog used in a REPEAT instruction. This expression produces a number, based on each answered dialog.

The following example determines if there is more than one fiduciary. If there is, certain prefixes and plural abbreviations are added to the fiduciary title so the paragraph is structured correctly.

I appoint «REPEAT Fiduciary Information:a, b, and c»«Fiduciary Name:LIKE THIS»«END REPEAT» as «IF COUNT( Fiduciary Information ) > 1»Co-«Fiduciary Title»s«ELSE»«Fiduciary Title»«END IF».

This expression uses the COUNT instruction to determine if Fiduciary Information is answered more than once. If it is, the Co- prefix is inserted before Fiduciary Title, and the plural s is inserted at the end of the variable. For example, in the assembled document, the answer may be inserted as Co-Executors or Co-Personal Representatives.

The difference between COUNT and COUNTER is that COUNT counts the number of repetitions in a list, while COUNTER gives you the number of the current repetition.


COUNT( MULT_CHOICE_VAR )

Placeholder | Tooltip | Replace With
MULT_CHOICE_VAR | m: Multiple Choice Variable | A Multiple Choice variable with the Select option set to All That Apply

Returns a Number value

This expression counts how many options a user chooses when answering a Multiple Choice variable. The result it produces is a number.

For example, suppose the user wants to generate a list of cities in which an author plans to make appearances. There might be one—or many—depending on the schedule. HotDocs can merge the correct term—city or cities—into the document once it knows how many cities were selected from the Multiple Choice variable:

IF COUNT( Publicity Tour City ) = 1

"city"

ELSE IF COUNT( Publicity Tour City ) > 1

"cities"

END IF


COUNTER

Returns a Number value

You can use the COUNTER expression to keep track of the current number of repetitions of a repeated dialog. Each time a user clicks the [image] Next button at a repeated dialog and provides additional information, the value of COUNTER increases.

For example, a user may want to create a word processor table that contains a numbered list of clients:

«REPEAT Client Information»

«COUNTER». «Client Name»

«END REPEAT»

In the example above, Client Information repeats the Client Name variable. Each time a user enters a different client, COUNTER is incremented and merged into the assembled document. For example:

1. John TeNgaio

2. Erica Nees

3. Lisa Alvey

4. Jonathan Rainwater

HotDocs also uses COUNTER as a way to compare two incrementing number values. For example, perhaps you want to list the last child named in a repeated dialog:

""

REPEAT Children Information

ASCEND Child Birth Date

IF COUNTER = COUNT( Children Information )

RESULT + "The youngest child is " + Child Name

END IF

END REPEAT

In this computation script, HotDocs first sets the value of the computation to nothing. It then processes the REPEAT instruction, sorting the children based on their birth dates. It uses COUNTER to determine when the last answer in the dialog is given (by comparing it to the COUNT of the dialog), and then merges the name of the youngest child in the list into the document.

The difference between COUNT and COUNTER is that COUNT counts the number of repetitions in a list, while COUNTER gives you the number of the current repetition.


DATE - NUM DAYS

Placeholder | Replace With
DATE | A date value, such as a Date variable
NUM | A number value

Returns a Date value

You can subtract any number of days from a Date variable. The result of this computation is a new date value, which can be merged into the assembled document.

For example, this computation calculates the date the books need to arrive at the warehouse before they can be shipped:

Shipping Date - 14 DAYS


DATE - NUM MONTHS

Placeholder | Replace With
DATE | A date value, such as a Date variable
NUM | A number value

Returns a Date value

You can subtract a certain number of months from a Date variable. The result of this computation is a new date value, which can be merged into the assembled document.

In the following example, HotDocs subtracts four months from the Shipping Date and inserts the new date:

Shipping Date - 4 MONTHS


DATE - NUM YEARS

Placeholder | Replace With
DATE | A date value, such as a Date variable
NUM | A number value

Returns a Date value

You can subtract a certain number of years from a Date variable. The result of this computation is a new date value, which can be merged into the assembled document.

For example, this computation subtracts two years from Marriage Date:

Marriage Date - 2 YEARS


DATE + NUM DAYS

Placeholder | Replace With
DATE | A date value, such as a Date variable
NUM | A number value

Returns a Date value

You can add any number of days to a Date variable. The result of this computation is a new date value, which can be merged into the assembled document.

For example, this computation script adds 90 days to the Date variable, Purchase Date:

Purchase Date + 90 DAYS


DATE + NUM MONTHS

Placeholder | Replace With
DATE | A date value, such as a Date variable
NUM | A number value

Returns a Date value

You can add any number of months to a Date variable. The result of this computation is a new date value, which can be merged into the assembled document.

For example, this computation determines what the date will be six months from the date the document is assembled:

TODAY + 6 MONTHS


DATE + NUM YEARS

Placeholder | Replace With
DATE | A date value, such as a Date variable
NUM | A number value

Returns a Date value

You can add a certain number of years to a Date variable. The result of this computation is a new date value, which can be merged into the assembled document.

In this script, HotDocs adds 30 years to the date the loan originated:

Loan Origination Date + 30 YEARS


DATE OF( NUM, NUM, NUM )

Placeholder | Tooltip | Replace With
NUM | day: Number | A number value representing the day of the month (from 1 to 31)
NUM | month: Number | A number value representing the month (from 1 to 12)
NUM | year: Number | A number value representing the year (should be four digits)

Returns a Date value

This expression finds a date value based on day, month, and year values.

You can use this expression to compare a date the user gives with another date, such as a cut-off date for when an employee had to be hired to qualify for a yearly bonus:

IF Hire Date <= DATE OF ( 15, 8, YEAR OF( TODAY ) )

Employee Name + " qualifies for the annual bonus."

END IF

HotDocs uses an IF instruction to compare Hire Date with August 15 of the current year. If the comparison returns a true value, the employee qualifies for the bonus.

Suppose, in this next example, a new employee qualifies for a benefits package on the first day of the second month of employment—regardless of what day the employee was hired during the first month of employment. You can calculate that date with the DATE OF expression:

DATE OF ( 1, MONTH OF( Hire Date + 1 MONTHS ), YEAR OF( Hire Date + 1 MONTHS ))

The first parameter in the expression, 1, tells HotDocs to specify the first day of the month. The second parameter identifies the month of the hire date and adds one month. The third parameter determines the year of the hire date (plus one month).


DAY OF( DATE )

Placeholder | Tooltip | Replace With
DATE | d: Date | A date value

Returns a Number value

This expression returns the day portion (1 to 31) of a given date.

The following computation is used to determine when a new employee can begin accruing vacation days. If the employee is hired on the first day of the month, he or she immediately begins accruing time off. Otherwise, he or she begins accruing at the beginning of the next month:

IF DAY OF ( Hire Date ) = 1

SET Start Accruing Date TO Hire Date

ELSE

SET Start Accruing Date TO DATE OF( 1, MONTH OF( Hire Date + 1 MONTHS ), YEAR OF( Hire Date + 1 MONTHS ) )

END IF


DAY OF WEEK( DATE )

Placeholder | Tooltip | Replace With
DATE | d: Date | A Date variable

Returns a Number value

This expression determines on which day of the week a specific date falls and converts that value to an integer.

These integers are as follows:

Sunday = 1

Monday = 2

Tuesday = 3

Wednesday = 4

Thursday = 5

Friday = 6

Saturday = 7

For example, perhaps you want to determine whether a payment due date falls on a Saturday or Sunday. If it does, HotDocs moves the payment due date to the following Monday. The following script shows how this works:

IF DAY OF WEEK( Payment Date ) = 7

Payment Date + 2 DAYS

ELSE IF DAY OF WEEK( Payment Date ) = 1

Payment Date + 1 DAYS

ELSE

Payment Date

END IF


DAYS FROM( DATE, DATE )

Placeholder | Tooltip | Replace With
DATE | start: Date | A date value, such as a Date variable
DATE | finish: Date | A date value, such as a Date variable. (These can be in any order.)

Returns a Number value

This expression allows you to find the number of days between two dates.

In the following example, a buyer has 60 days to make a payment on an account balance. If the buyer has miss ed the payment deadline, HotDocs merges a warning into the document:

IF DAYS FROM( Purchase Date, TODAY ) > 60

"Your account is past due."

ELSE

"Your account is current. Thank you."

END IF

This example uses an IF/ELSE IF expression to determine the text that must be inserted.


ERRORTEXT

Returns a Text value

ERRORTEXT can only be used in a dialog script.

Use the ERRORTEXT expression to create an error message that appears when the error condition you specify occurs during an interview. If a user provides information that triggers the error message, the user must correct the error before HotDocs enables access to the next dialog.

If you make the ERRORTEXT expression conditional, the error message appears both as a popup, and at the top of the dialog, accompanied by a red error symbol. If you do not make the ERRORTEXT expression conditional, as soon as the user clicks the dialog, the error message appears and displays continuously at the top of the dialog. In this case, there is no accompanying popup.

You can make the error conditional by adding an IF instruction to the script. You could, for example, warn users when they type in a forbidden answer.

Say you work for a delivery company that does not deliver to certain areas of the United States, you could use an ERRORTEXT expression to warn customers when they type the name of a state that is outside of your delivery area. Your dialog script might look something like this:

IF state = "Hawaii" Or state = "Alaska"

SET ERRORTEXT TO "Unfortunately we do not deliver to «state»"

END IF

If a customer types either "Hawaii" or "Alaska," the error message appears and they must change their answer before continuing with the interview.

HotDocs blocks the user from continuing to the next dialog, because HotDocs handles an ERRORTEXT expression like a required variable. You can use this feature to generate error messages if the user leaves a necessary question unanswered in an interview.

In a similar scenario to the example given above, suppose your delivery company needs to make sure that customers type the name of a country when filling out their address. Your script, to alert the user when they leave the country field blank, might look something like this:

IF !ANSWERED (Country)

SET ERRORTEXT TO "Country is a required field"

END IF

If a customer does not type the name of a country before trying to move to the next dialog, the error message appears. An Input Error icon also appears in the interview outline until the user provides an acceptable value for this variable.

In your ERRORTEXT message, it may be helpful to include information for users on how they can meet the conditions needed to complete the dialog and continue with the interview.

Although current and past versions of HotDocs Developer allow the user to click Finish on an Interview Template than contains unanswered required variables or ERRORTEXT variables which have an incorrect answer in them, this behavior will be changed in the future so your templates should not rely on it.


EXPONENTIAL( NUM )

Placeholder | Tooltip | Replace With
NUM | n: Number | A number value, such as a Number variable.

Returns a Number value

An EXPONENTIAL function is a function that quickly accelerates, where the Number variable is the exponent of e (roughly 2.71828), and it can be used in calculating exponential growth.

Example:

EXPONENTIAL( NUM ) = e NUM

EXPONENTIAL( 3 ) = e 3

EXPONENTIAL( 3 ) = 20.0855369231877


FIRST( TEXT, NUM )

Placeholder | Tooltip | Replace With
TEXT | in: Text | A text value, such as a Text variable, from which the specified number of characters will be returned. This can be a fixed text value, inside quotation marks.
NUM | count: Number | A number value, such as a Number variable or a fixed number value. It specifies the number of characters you want returned.

Returns a Text value

Using this expression, you can return any number of characters starting with the first character in an answer value.

The following computation looks at the client’s first, middle, and last names and returns only the first character from each of these variables. When merged together, these characters create the client’s initials:

FIRST( Client First Name, 1 ) + FIRST( Client Middle Name, 1 ) + FIRST( Client Last Name, 1 )

In the following example, the first four characters of a client’s last name are merged with a case number to create a file number.

FIRST( Client Last Name, 4 ) + Case Number


FLOOR( NUM )

Placeholder | Tooltip | Replace With
NUM | n: Number | A number value, such as a Number variable.

Returns a Number value

You can use the FLOOR function to find the largest integer that isn't bigger than the Number variable entered, for example:

FLOOR( 23.7 ) = 23


FORMAT( VALUE, "EXAMPLE" )

Placeholder | Tooltip | Replace With
VALUE | v: Value | Any Number, Date, or True/False variable
"EXAMPLE" | example: Text | A format example (in quotation marks) you want used with the value. Must be in a format HotDocs can recognize.

Returns a Text value

Sometimes you may need to add a date, number, or true/false value to a text value. You can do this by formatting the date, number, or true/false value as text.

For example, perhaps you want to create a list of items with their associated monetary values. Because these two values are different in nature, they cannot be added together without first representing the number value as a text value:

""

REPEAT Purchase Information

RESULT + Item Name + ", " + FORMAT( Item Amount, "$9,999.00" ) + "

"

END REPEAT

In this script, HotDocs first sets the computation value to nothing. Then HotDocs repeats Purchase information and then places the answers for both Item Name and Item Amount (which is formatted to appear as a text value) in the same text string, separated by a comma. If Purchase Information is answered more than once, HotDocs manually inserts a hard return (as shown before the END REPEAT) to create a column of amounts.


FUTURE VALUE (Rate, Term, Payment, Present Value, Type)

Placeholder | Tooltip | Replace With
Rate | rate: Number | A number variable representing the interest rate per payment period.
Term | term: Number | A number variable representing the total number of payment periods.
Payment | payment: Number | A number variable representing the payment made in each payment period.
Present Value (optional) | [present value: Number] | A number variable representing the current value of the future amount. Optional. Default is 0.
Type (optional) | [type: Number] | A number variable in which you can enter the number 0 or 1. 0 meaning payments are due at the end of the payment period and 1 meaning payments are due at the beginning of the payment period. Optional. Default is 0.

Returns a Number value

The HotDocs financial expressions can be used in templates that work with calculating savings, loans or investment values.

If you know the rate, term, payment, present value and type of a savings scheme or loan you can use the FUTURE VALUE function to work out how much the final amount will be after interest.

For example, if you have an annual rate of 7.5% over 3 years and you pay $100 a month then you can work out the future value by using the following figures:

Rate: 0.00625 (0.075/12 to find the monthly rate)

Term: 36 (amount of months in 3 years)

Payment: -100

Present Value: 0

Type: 0

Future Value = 4,023.1381682

This function works in much same way as the FV(rate, nper, pmt, pv, type) function does in Mircosoft Excel. For more information on that function you can see the Microsoft Office help for FV.

See also:

  • RATE (Term, Payment, Present Value, Future Value, Type)
  • TERM (Rate, Payment, Present Value, Future Value, Type)
  • PAYMENT (Rate, Term, Present Value, Future Value, Type)
  • PRESENT VALUE (Rate, Term, Payment, Future Value, Type)


INTEGER( TEXT )

Placeholder | Tooltip | Replace With
TEXT | t: Text | A text value, such as a Text variable

Returns a Number value

Sometimes you may have a text value that contains number characters, as in the case of a time of day value. The INTEGER expression allows you to convert those number characters into numeric values so you can perform calculations or compare them with other values.

INTEGER searches the beginning of a text string for number characters and converts those it finds to numeric values. When it encounters a non-number character (such as a letter or punctuation mark) it stops processing the instruction.

For example, if you tried to find the integer of the word cat, the INTEGER expression would return 0 (zero) since there are no number characters in cat. However, if you used INTEGER on the text value 12:30, it would return the number value 12 since those characters are numbers. (As explained earlier, it stops processing when it reaches a punctuation mark, which in this case is a colon.)

One of the main uses for the INTEGER expression is to compare time values. In the following computation, HotDocs is attempting to determine if a given time value falls after 5:30 P.M. Because time values are text values, the Text variable, Call Time, must first be converted to an integer before it can be used in the comparison:

IF Call Time CONTAINS "p"

INTEGER( Call Time ) + ( INTEGER( MID( Call Time, 1 + POSITION( Call Time, ":" ), 2 ) ) /60 ) > 5.5

ELSE

INTEGER( Call Time ) + ( INTEGER( MID( Call Time, 1 + POSITION( Call Time, ":" ), 2 ) ) /60 ) > 17.5

END IF

In this script, Call Time is a Text variable with a 24-hour or 12-hour time pattern (99:99 or 99:99 A.M.). HotDocs first determines if Call Time is in the afternoon (P.M.). If it is, the script uses the INTEGER expression to convert all the digit characters up to the first non-digit character (the colon) into a numeric value. This number represents the hours portion of the total time. Using the MID expression to locate the two digit characters after the colon, it also converts these characters into an integer and divides the value by 60. This number represents the minutes portion of the total time. These two numbers are added together, and if the result is greater than 5.5 (the equivalent of 5:30), the result is true. If the result is not greater than 5.5, the result is false.

The second portion of the script (after the ELSE expression) performs the same functions on a non-afternoon time value—that is, one that is either in 24-hour format or in the morning (A.M.).


LAST( TEXT, NUM )

Placeholder | Tooltip | Replace With
TEXT | in: Text | A text value, such as a Text variable, from which the specified number of characters will be returned. This can be a fixed text value, inside quotation marks.
NUM | count: Number | A number value, such as a Number variable or a fixed number value. It specifies the number of characters you want returned.

Returns a Text value

The LAST expression finds and returns a certain number of characters from the end of a text string.

For example, the following text computation returns the last four digits of a Social Security number:

LAST( Social Security Number, 4 )

In the next example, the user wants to make the answer to Item Type plural. Using the LAST expression, HotDocs checks to see if the last letter in the value is a specific letter. If so, HotDocs inserts the correct plural suffix.

IF LAST( Item Type, 1 ) = "s" OR LAST( Item Type, 1 ) = "z"

Item Type + "es"

ELSE

Item Type + "s"

END IF

This example script does not take into consideration words that end in “y” or “x” or any other letter that would cause yet a different result. It is only shown here in its most basic form to demonstrate how the LAST expression functions.


LENGTH( TEXT )

Placeholder | Tooltip | Replace With
TEXT | t: Text | A text value, such as a Text variable. HotDocs counts the characters in this value and assigns a numeric value.

Returns a Number value

The LENGTH expression counts the number of characters—including spaces and punctuation—in a text value, such as a Text variable.

For example, let’s say you want a user to add a descriptive paragraph about the novel he or she has just reviewed. If the description is brief, you’d like to keep it in the same paragraph as the lead-in sentence. However, if the user has much to say about the novel, you would like to start a new paragraph:

«IF LENGTH( Plot Description ) <= 150»

The novel's plot description is as follows: «Plot Description»

«ELSE»

The novel's plot description is as follows:

«Plot Description»

«END IF»


LOGARITHM( NUM )

Placeholder | Tooltip | Replace With
NUM | n: Number | A number value, such as a Number variable.

Returns a Number value

The LOGARITHM function will find the common logarithm of a Number variable. You can use it to find the exponent of 10 that would be needed to make the Number variable entered, for example:

NUM = 10 LOGARITHM( NUM )

1000= 10 3

LOGARITHM ( 1000 ) = 3


MAX( NUM, NUM )

Placeholder | Tooltip | Replace With
NUM | n1: Number | A number value, such as a Number variable
NUM | n2: Number | A number value, such as a Number variable (These values can be in any order.)

Returns a Number value

The MAX expression compares two number values and returns the greater of the two.

In this example, HotDocs returns the value of either the Monthly Salary or the Monthly Expenses, depending on which is the greater value:

MAX( Monthly Salary, Monthly Expenses )


MID( TEXT, NUM, NUM )

Placeholder | Tooltip | Replace With
TEXT | in: Text | A text value, such as a Text variable, from which the specified number of characters will be returned. This can be a fixed text value, inside quotation marks.
NUM | start at: Number | A number value, such as a Number variable or a number you type. This number specifies where HotDocs starts "returning" characters.
NUM | count: Number | A number value, such as a Number variable or a number you type. It specifies the number of characters you want returned.

Returns a Text value

Like the FIRST and LAST expressions, this expression extracts a specified number of characters from within a text string.

For example, a form template may require that the text variable, Telephone Number (with the telephone number pattern), be split into three pre-formatted fields—the area code, the prefix, and the number. In the following example, three different computations would be scripted and inserted into the different fields as follows:

MID( Telephone Number, 2, 3 )

MID( Telephone Number, 7, 3 )

LAST( Telephone Number, 4 )

The first computation, which you would place in the area code field, tells HotDocs to include three characters, starting with the second character (this takes into consideration the opening parenthesis.)

The second computation (the prefix field) starts at the seventh character (again, taking into account the parentheses and space characters between the area code and the prefix), and inserts the next three characters.

The third expression, which uses the LAST expression, returns the last four digits of the phone number by counting backwards from the last character.


MIN( NUM, NUM )

Placeholder | Tooltip | Replace With
NUM | n1: Number | A number value, such as a Number variable
NUM | n2: Number | A number value, such as a Number variable. (These values can be in any order.)

Returns a Number value

The MIN expression compares two number values and returns the lesser of the two.

In the following number computation, the expression compares the two values, Shipping Costs and Labor Costs, and returns the lesser of the two values:

MIN( Shipping Costs, Labor Costs )


MONTH OF( DATE )

Placeholder | Tooltip | Replace With
DATE | d: Date | A date value, such as a Date variable

Returns a Number value

This expression returns the month portion of a given date.

For example, in the following script, a new employee has temporary status until the end of his or her third month with the company. HotDocs uses the MONTH OF expression to specify which month that is:

DATE OF( 1, MONTH OF ( Hire Date + 3 MONTHS ), YEAR OF ( Hire Date + 3 MONTHS ) ) - 1 DAYS

In this example, HotDocs finds the first day of the fourth month of employment. HotDocs then subtracts one day to reveal the last day of the third month—either the 28th, 29th, 30th or 31st—depending on the month. It then inserts the new date into the document.


MONTHS FROM( DATE, DATE )

Placeholder | Tooltip | Replace With
DATE | start: Date | A date value, such as a Date variable
DATE | finish: Date | A date value, such as a Date variable. (These values can be in any order.)

Returns a Number value

The MONTHS FROM expression calculates the number of months between two given dates.

The following example finds the number of months between the judgment date and today—in months:

MONTHS FROM( Judgment Date, TODAY )


MULT_CHOICE=TEXT; MULT_CHOICE!=TEXT

Placeholder | Replace With
MULT_CHOICE | A Multiple Choice variable
TEXT | A text value that is either equal to ( = ) or not equal to ( != ) one of the options in the given Multiple Choice variable, inside quotation marks.

Returns a Number value

The MULT_CHOICE = TEXT expression returns true when the user chooses a Multiple Choice option that is equal to ( = ) a given text value. If it is not equal ( != ), the expression returns false. The MULT_CHOICE != TEXT expression functions in the opposite way—testing instead to see if an answer is not equal to ( != ) a given text value.

In the following True/False expression, if the user chooses Credit Card as the payment method, HotDocs asks the user for the credit card information:

IF Method of Payment = "Credit Card"

ASK Credit Card Information

END IF

In the next expression, if Credit Card is not chosen as a method of payment, HotDocs inserts a template which can gather alternate payment information about the user:

IF Method of Payment != "Credit Card"

INSERT "Alt payment method.docx"

END IF

When writing this script, you can use the auto-complete functionality to access your list of Multiple Choice options. Specifically, press Ctrl+Spacebar (after you enter the operator) to display a list of the different Multiple Choice options. See Use the Script Editor for full details on using auto-complete as you write scripts.


NATURAL LOGARITHM( NUM )

Placeholder | Tooltip | Replace With
NUM | n: Number | A number value, such as a Number variable.

Returns a Number value

You can use the NATURAL LOGARITHM function to find the exponent of e (roughly 2.71828) that would be needed to make the Number variable entered, for example:

NUM = e NATURAL LOGARITHM( NUM )

1000 = e 6.90775527898214

NATURAL LOGARITHM( 1000 ) = 6.90775527898214


NOT TRUE_FALSE

Placeholder | Replace With
TRUE_FALSE | A true/false value, such as a variable or expression that results in true or false.

Returns a Number value

You can use the NOT TRUE_FALSE expression to find out if a True/False variable is false.

In the following script, HotDocs asks whether the user is a United States citizen. If the user is not, HotDocs asks the user for Visa information:

«IF NOT US Citizen»

«ASK Visa Information»

«END IF»


OTHER( MULT_CHOICE_VAR )

Placeholder | Tooltip | Replace With
MULT_CHOICE | m: Multiple Choice Variable | A Multiple Choice variable that has either the Other option specified, or the None of the Above option specified

Returns a Text value

This expression determines whether the user has chosen the Other option of a Multiple Choice variable and, if so, returns the text entered in the Other field. It can also be used to test whether the user has selected the None of the Above option.

For example, a user is given a list of lending agents from which to choose. If the user doesn’t see the correct name on the list, he or she can select Other and specify the correct name. HotDocs then asks for the city in which the lending agent operates, as shown in the following script:

IF Lending Agent = OTHER( Lending Agent )

ASK Lending Agent City

END IF

In this next example, you want to create a list of company representatives. However, if the user doesn't select a company representative, you want the text No representative selected merged.

""

IF OTHER (Company Representative ) = "None of the Above"

"No representative selected"

ELSE FORMAT (Company Representative, "a, b, and c")

END IF


PAYMENT (Rate, Term, Present Value, Future Value, Type)

Placeholder | Tooltip | Replace With
Rate | rate: Number | A number variable representing the interest rate per payment period.
Term | term: Number | A number variable representing the total number of payment periods.
Present Value | present value: Number | A number variable representing the current value of the future amount.
Future Value (optional) | [future value: Number] | A number variable representing the value after the last payment period. Optional. Default is 0.
Type (optional) | [type: Number] | A number variable in which you can enter the number 0 or 1. 0 meaning payments are due at the end of the payment period and 1 meaning payments are due at the beginning of the payment period. Optional. Default is 0.

Returns a Number value

The HotDocs financial expressions can be used in templates that work with calculating savings, loans or investment values.

If you know the rate, term, present value, future value and type of a savings scheme or loan you can use the PAYMENT function to work out how much money needs to be paid in each payment period to reach the full amount.

For example, if you have an annual rate of 7.5% over 3 years and you know that the future value is $4,023.1381682 then you can work out the monthly payment by using the following figures:

Rate: 0.00625 (0.075/12 to find the monthly rate)

Term: 36 (amount of months in 3 years)

Present Value: 0

Future Value: 4,023.1381682

Type: 0

Payment = -100

This function works in much same way as the PMT(rate, nper, pv, fv, type) function does in Mircosoft Excel. For more information on that function you can see the Microsoft Office help for PMT.

See also:

  • RATE (Term, Payment, Present Value, Future Value, Type)
  • TERM (Rate, Payment, Present Value, Future Value, Type)
  • PRESENT VALUE (Rate, Term, Payment, Future Value, Type)
  • FUTURE VALUE (Rate, Term, Payment, Present Value, Type)


POSITION( TEXT, TEXT, TRUE_FALSE )

Placeholder | Tooltip | Replace With
TEXT | in: Text | A text value, such as a Text variable
TEXT | search for: Text | The character or character string for which you want to search
TRUE_FALSE (optional) | [last instance: True/False] | A True/False variable where False indicates HotDocs should start looking for the search value at the left (beginning) of the text and True indicates HotDocs should start from the right (end). Optional. Default is FALSE.

Returns a Number value

The POSITION expression finds the position of a certain character or character string in a given text value. It is useful if you need to find a character you know will be in an answer but are not sure where it will appear. It returns a number value, which represents the first character.

The following script finds the hyphen in the variable, Case Number, and returns a number value, representing its numeric position in that given text string.

POSITION( Case Number, "-" )

In the next example, the POSITION expression is used as part of a larger computation to test whether a given time falls after 5:30 P.M. POSITION locates the colon (:) in the time value so HotDocs can process the text before and after the colon to find the correct result:

IF Call Time CONTAINS "p"

INTEGER( Call Time ) + ( INTEGER( MID( Call Time, 1 + POSITION( Call Time, ":"), 2 ) ) /60 ) > 5.5

ELSE

INTEGER( Call Time ) + ( INTEGER( MID( Call Time, 1 + POSITION( Call Time, ":" ), 2 ) ) /60 ) > 17.5

END IF

This script first determines if the value of Call Time is in the afternoon (P.M.). If it is, the script uses the POSITION expression to locate the first non-digit character (the colon) so the INTEGER expression can convert all of the digit characters leading up to it into a numeric value.

Once identified, this number represents the hours portion of the total time. Using the MID expression to locate the two digit characters after the colon, it also converts these characters into an integer and divides the value by 60. This number represents the minutes portion of the total time. The hours and minutes are added together, and if the result is greater than 5.5 (the equivalent of 5:30), the result is true. If the result is not greater than 5.5, the result is false.

The second portion of the script (after the ELSE expression) performs the same functions on a non-afternoon time value—that is, one that is either in 24-hour format or in the morning (A.M.).


POWER( NUM, NUM )

Placeholder | Tooltip | Replace With
NUM | base: Number | A number value, such as a Number variable, to be raised to a power
NUM | exponent: Number | The exponent (or number that indicates the operation of repeated multiplication)

Returns a Number value

The POWER expression generates a numeric value, based on a given exponent.

For example, say you want to calculate the future value of an investment:

POWER( ( 1 + Annual Rate of Return ), Number of Years ) * Amount Invested

HotDocs adds 1 to Annual Rate of Return and then raises it to the power of Number of Years. It then multiplies that number by Amount Invested.


PRESENT VALUE (Rate, Term, Payment, Future Value, Type)

Placeholder | Tooltip | Replace With
Rate | rate: Number | A number variable representing the interest rate per payment period.
Term | term: Number | A number variable representing the total number of payment periods.
Payment | payment: Number | A number variable representing the payment made in each payment period.
Future Value (optional) | [future value: Number] | A number variable representing the value after the last payment period. Optional. Default is 0.
Type (optional) | [type: Number] | A number variable in which you can enter the number 0 or 1. 0 meaning payments are due at the end of the payment period and 1 meaning payments are due at the beginning of the payment period. Optional. Default is 0.

Returns a Number value

The HotDocs financial expressions can be used in templates that work with calculating savings, loans or investment values.

If you know the rate, term, payment, future value and type of a savings scheme or loan you can use the PRESENT VALUE function to work out how much the investment is worth currently (i.e. how much money you would need to invest over the same amount of payment periods to equal the return)

For example, if you have an annual rate of 7.5% over 3 years, paying $100 a month and you know that the future value is $4,023.1381682 then you can work out the present value by using the following figures:

Rate: 0.00625 (0.075/12 to find the monthly rate)

Term: 36 (amount of months in 3 years)

Payment: -100

Future Value: 4,023.1381682

Type: 0

Present Value = 0

This function works in much same way as the PV(rate, nper, pmt, fv, type) function does in Mircosoft Excel. For more information on that function you can see the Microsoft Office help for PV.

See also:

  • RATE (Term, Payment, Present Value, Future Value, Type)
  • TERM (Rate, Payment, Present Value, Future Value, Type)
  • PAYMENT (Rate, Term, Present Value, Future Value, Type)
  • FUTURE VALUE (Rate, Term, Payment, Present Value, Type)


RATE (Term, Payment, Present Value, Future Value, Type)

Placeholder | Tooltip | Replace With
Term | term: Number | A number variable representing the total number of payment periods.
Payment | payment: Number | A number variable representing the payment made in each payment period.
Present Value | present value: Number | A number variable representing the current value of the future amount.
Future Value (optional) | [future value: Number] | A number variable representing the value after the last payment period. Optional. Default is 0.
Type (optional) | [type: Number] | A number variable in which you can enter the number 0 or 1. 0 meaning payments are due at the end of the payment period and 1 meaning payments are due at the beginning of the payment period. Optional. Default is 0.

Returns a Number value

The HotDocs financial expressions can be used in templates that work with calculating savings, loans or investment values.

If you know the term, payment, present value, future value and type of a savings scheme or loan you can use the RATE function to work out what the interest rate is per payment period.

For example, if you are paying $100 a month over 3 years and you know that the future value is $4,023.1381682 then you can work out the rate by using the following figures:

Term: 36 (amount of months in 3 years)

Payment: -100

Present Value: 0

Future Value: 4,023.1381682

Type: 0

Rate = 0.00625 (7.5% per annum)

This function works in much same way as the RATE(nper, pmt, pv, fv, type, guess) function does in Mircosoft Excel. For more information on that function you can see the Microsoft Office help for RATE.

See also:

  • TERM (Rate, Payment, Present Value, Future Value, Type)
  • PAYMENT (Rate, Term, Present Value, Future Value, Type)
  • PRESENT VALUE (Rate, Term, Payment, Future Value, Type)
  • FUTURE VALUE (Rate, Term, Payment, Present Value, Type)


REMAINDER( NUM, NUM )

Placeholder | Tooltip | Replace With
NUM | dividend: Number | A number value, such as a Number variable, to be divided (a numerator)
NUM | divisor: Number | A number value, such as a Number variable, by which to divide (a denominator)

Returns a Number value

The REMAINDER expression returns the remainder of a division. If the denominator is a zero, HotDocs generates a divide by zero error.

In this basic example, HotDocs divides 10 by 3. The remainder of that division is 1:

REMAINDER( 10, 3 )

In this next example, a user enters a time value in number format (such as 6 hours). However, using the REMAINDER expression (as well as TRUNCATE and ROUND), HotDocs causes the value to appear in hours:minutes format:

FORMAT( TRUNCATE ( Number of Hours, 0 ), "9" ) + ":" +

FORMAT( ROUND ( 60 * REMAINDER( Number of Hours, 1 ), 0 ), "09" )

This script takes the value of Number of Hours, which may have a decimal value, and truncates it to a whole number. Then, using the REMAINDER expression, Number of Hours is divided by 1 and the remainder of the division is multiplied by 60 (as in 60 minutes). HotDocs then rounds that value and brings these two values together in a string, separated by a colon. The value is then formatted correctly.


REPLACE( TEXT, TEXT, TEXT, NUM )

Placeholder | Tooltip | Replace With
TEXT | in: Text | The name of a Text variable or the string of characters you need to search
TEXT | search for: Text | The text for which you are searching, which may include the following special characters: \\ -- backslash character \h -- non-breaking hyphen \l -- line break \p -- paragraph mark \s -- non-breaking space \t -- tab
TEXT | replace with: Text | The text you want to use as a replacement, which may include the following special characters: \\ -- backslash character \h -- non-breaking hyphen \l -- line break \p -- paragraph mark \s -- non-breaking space \t -- tab
NUM (optional) | [replace count: Number] | Controls the number of times the character is replaced For example, if no number is specified, all found instances will be replaced; however, if you include a 1 as a parameter, only the first found instance will be replaced. Optional. Default is <all>.

Returns a Text value

This expression lets you search a string of text for a given character string and replace the results with new text.

For example, perhaps you want to take the information in an address block (which will most likely appear as separate lines) and display it as a single line, with each "part" separated by a comma. The following script removes all line breaks ( \l ) from the Text variable, Multi-Line Address, replaces them with a comma and space, and then SETs that result to the Text variable Single-Line Address:

SET Single-Line Address TO REPLACE(Multi-Line Address, "\l", ", ")


RESULT

Returns a Date, Number, Text or True/False value

As you write computations, you often need HotDocs to acknowledge what the result would be at that point in the script. You can update this answer by using the RESULT expression.

For example, let’s suppose you are creating a list of editors. You want to combine Editor First Name TE and Editor Last Name TE as well as the literal text Editor:. You must use RESULT to force HotDocs to acknowledge the result of the computation before you add the next item to the text string:

""

REPEAT Editor Information

RESULT + Editor First Name + " " + Editor Last Name + ", Editor" + "

"

END REPEAT

In this computation, the RESULT expression returns the value of Editor First Name and adds it to the value of Editor Last Name. The RESULT expression updates the list each time a new editor is added to the list. If no RESULT expression were used, HotDocs would merge just the first name entered in the list.


ROUND( NUM, NUM )

Placeholder | Tooltip | Replace With
NUM | n: Number | A number value, such as a Number variable, to be rounded
NUM (optional) | [to places: Number] | A number value that indicates the number of places (0-7) to the right of the decimal point after which the number will be rounded. Optional. Default is 0.

Returns a Number value

You can round a number value to a specified number of places.

The following example looks at the first two digits after the decimal point and rounds the value based on the third digit. (The resulting value is 5.93.)

ROUND( 5.9274, 2 )


SELECTION( MULT_CHOICE_VAR, NUM )

Placeholder | Tooltip | Replace With
MULT_CHOICE | m: Multiple Choice Variable | A Multiple Choice variable
NUM | index: Number | A number value that indicates which selected option to return

Returns a Text value

This expression lets you retrieve individual options (answers) selected in a Multiple Choice variable. It returns a text value that corresponds to the defined answer (as designated by the NUM placeholder).

In the following example, you want to generate a list of employees that have various different work projects they need to complete. Multiple employees may work on one individual project. Once you have this list, you want to generate a work list report for each employee on the list.

To accomplish this, you first repeat a dialog (Employee List) that asks which employees are supposed to work on a given assignment (using the Multiple Choice variable, Employee Names). As HotDocs repeats this list, the UNION expression adds each selected, original name from each repetition to a new Multiple Choice variable, Unique List.

Once all of the unique answers have been added to Unique List, HotDocs then uses the SELECTION expression to retrieve each individual answer from Unique List. The result of the script merges these names in a report.

ERASE Unique List

REPEAT Employee List

SET Unique List TO UNION(Unique List, Employee Names )

END REPEAT

ERASE Project Participant

SET Index TO 1

WHILE SELECTION(Unique List, Index ) != ""

SET Project Participant[Index] TO SELECTION(Unique List, Index )

INCREMENT Index

END WHILE


SPACE( TEXT, TEXT )

Placeholder | Tooltip | Replace With
TEXT | t: Text | A Text variable or other expression that produces a text result
TEXT (optional) | [append: Text] | A character or text string that can be used in place of the space character. You can include the following special characters in your search: \\ -- backslash character \h -- non-breaking hyphen \l -- line break \p -- paragraph mark \s -- non-breaking space \t -- tab Optional. Default is [space].

Returns a Text value

This expression tests whether the variable is answered. If it is, it merges the answer, followed by a space character. If the variable is unanswered, it merges nothing ("").

For example, perhaps you need to merge a client's full name. Some clients, however, do not have a middle name. You can create a script that includes this middle name (if it's provided), followed by a space. If no middle name is given, nothing will be merged.

Client First Name + " " + SPACE(Client Middle Name) + Client Last Name

Sometimes you may want to merge a character other than a space. The second optional parameter for this expression allows you to specify what this character should be.

In the following example, the script uses the SPACE expression to determine if each of the variables in the address block are answered. If so, it merges the answer to the variable, followed by a line break character (rather than a space character). This merges each "part" of the address on its own line.

SPACE(Address Line 1, "\l") +

SPACE(Address Line 2, "\l") +

SPACE(City, ",") + SPACE(State) + SPACE(Zip Code)


SQUARE ROOT( NUM )

Placeholder | Tooltip | Replace With
NUM | n: Number | A number value, such as a Number variable.

Returns a Number value

Finding the square root of a number means finding an answer that, when multiplied by itself, gives the original number. You can use the SQUARE ROOT function to find the square root of a Number variable, for example:

SQUARE ROOT( 64 ) = 8


STRIP( TEXT, TEXT, TRUE_FALSE, TRUE_FALSE )

Placeholder | Tooltip | Replace With
TEXT | t: Text | The name of a Text variable, or the string of characters you need to search
TEXT | characters: Text | The character or string of characters for which you want to search. You can strip any alphanumeric characters from a text string, including the following special characters: (Make sure you include the backslash.) \\ -- backslash character \h -- non-breaking hyphen \l -- line break \p -- paragraph mark \s -- non-breaking space \t -- tab
TRUE_FALSE (optional) | [at beginning: True/False] | The value of TRUE if characters should be stripped from the beginning of the text. Optional. Default is TRUE.
TRUE_FALSE (optional) | [at end: True/False] | The value of TRUE if characters should be stripped from the end of the text. Optional. Default is TRUE.

Returns a Text value

This expression removes a specified character or characters from the beginning or end of a text answer. By default, HotDocs removes the characters from both the beginning and the end of the text. If you want to specify just one or the other, you must use the TRUE_FALSE parameters.

For example, perhaps you want to remove punctuation or space characters from the end of an answer (because the punctuation is already included in the document text). The following script will help you accomplish this:

SET Product Description TO STRIP(Product Description, " !.,?", FALSE, TRUE)

Because the FALSE and TRUE parameters are used, HotDocs strips the characters from the end of the answer (TRUE) and not the beginning (FALSE).

TRIM( TEXT ) is equivalent to STRIP( TEXT, "\t\", TRUE, TRUE ). See TRIM( TEXT ) for more information.


SUM( COMPUTATION_VAR )

Placeholder | Tooltip | Replace With
COMPUTATION_VAR | c: Computation Variable | A repeated Computation variable

Returns a Number value

Using the SUM( COMPUTATION_VAR ) expression, you can add computation values that have been repeated.

For example, let's say you have a repeated dialog that contains three variables—Item Name, Item Amount, and Item Quantity. For each line item, you create a fourth variable, a computation called Total Amount that multiplies Item Amount by the number of items the user purchases (or Item Quantity). You can then add all of the Total Amount values and receive one sum total:

SUM( Total Amount )

In order for SUM(COMPUTATION_VAR) to work properly in a template, the script that actually calculates the sum (for example, the REPEAT instruction) must be processed before the variable containing the SUM expression is asked.

Also, when using DOCX or RTF templates, headers or footers are always processed before the rest of the template text. This means that if you are using SUM(COMPUTATION_VAR) in a header or footer, the script that calculates the sum must be asked in the header or footer.


SUM( NUM_VAR )

Placeholder | Tooltip | Replace With
NUM_VAR | n: Number | A repeated Number variable

Returns a Number value

Using the SUM expression, you can add repeated number values.

In this computation script, HotDocs totals the values of the repeated Number variable Monthly Payment:

SUM( Monthly Payment )

In the next example, HotDocs then takes the total monthly payments the user is making and compares it to the user’s monthly income. If the monthly payments are greater than 36 percent of the monthly income, the loan application is rejected:

SUM( Monthly Payment ) > ( Monthly Income * 0.36 )


TERM (Rate, Payment, Present Value, Future Value, Type)

Placeholder | Tooltip | Replace With
Rate | rate: Number | A number variable representing the interest rate per payment period.
Payment | payment: Number | A number variable representing the payment made in each payment period.
Present Value | present value: Number | A number variable representing the current value of the future amount.
Future Value (optional) | [future value: Number] | A number variable representing the value after the last payment period. Optional. Default is 0.
Type (optional) | [type: Number] | A number variable in which you can enter the number 0 or 1. 0 meaning payments are due at the end of the payment period and 1 meaning payments are due at the beginning of the payment period. Optional. Default is 0.

Returns a Number value

The HotDocs financial expressions can be used in templates that work with calculating savings, loans or investment values.

If you know the rate, payment, present value, future value and type of a savings scheme or loan you can use the TERM function to work out how many payment periods are required to reach the full amount.

For example, if you have an annual rate of 7.5% paying $100 a month and you know that the future value is $4,023.1381682 then you can work out how many months you will need to reach that amount by using the following figures:

Rate: 0.00625 (0.075/12 to find the monthly rate)

Payment: -100

Present Value: 0

Future Value: 4,023.1381682

Type: 0

Term = 36

This function works in much same way as the NPER(rate, pmt, pv, fv, type) function does in Mircosoft Excel. For more information on that function you can see the Microsoft Office help for NPER.

See also:

  • RATE (Term, Payment, Present Value, Future Value, Type)
  • PAYMENT (Rate, Term, Present Value, Future Value, Type)
  • PRESENT VALUE (Rate, Term, Payment, Future Value, Type)
  • FUTURE VALUE (Rate, Term, Payment, Present Value, Type)


TEXT CONTAINS TEXT

Placeholder | Replace With
TEXT | A text value, such as a Text variable
TEXT | A text value, such as a Text variable. Any text you type must be in quotation marks.

Returns a True/False value

The TEXT CONTAINS TEXT expression determines whether the first text value contains the same text as the second value. If it does, it returns the value of true.

In this example, some states in the United States are officially recognized as “commonwealth” states. In the following script, HotDocs examines the answer the user provides for the variable State Name to see if the user has listed one of these states. If so, HotDocs attaches the correct designation to the merged answer:

IF "massachusetts virginia kentucky pennsylvania" CONTAINS State Name

"The Commonwealth of «State Name»"

ELSE

"The State of «State Name»"

END IF

At first glance, this computation may seem backward. You may think you would test State Name to see if it contains any of the commonwealths listed in the text string (for example, IF State Name CONTAINS "massachusetts virginia kentucky pennsylvania"). However, if you used that method, the answer the user assigns to State Name TE would have to contain everything between the quotation marks—"massachusetts virginia kentucky pennsylvania"—and you would never produce a true statement. Of course, you could test State Name against each individual commonwealth (for example, IF State Name CONTAINS "massachusetts" OR IF State Name CONTAINS "virginia" and so forth), but by "switching" the values for the placeholders and placing all of the commonwealths in one text string, you eliminate a lot of repetitive typing.

Also see TEXT STARTS WITH TEXT and TEXT ENDS WITH TEXT for similar functions.


TEXT ENDS WITH TEXT

Placeholder | Replace With
TEXT | A text value, such as a Text variable
TEXT | A text value, such as a Text variable. Any text you type must be in quotation marks.

Returns a True/False value

The TEXT ENDS WITH TEXT expression is used in a similar way to the TEXT CONTAINS TEXT expression except that HotDocs will specifically check if the first TEXT value ends with the second TEXT value.

See also TEXT STARTS WITH TEXT.


TEXT STARTS WITH TEXT

Placeholder | Replace With
TEXT | A text value, such as a Text variable
TEXT | A text value, such as a Text variable. Any text you type must be in quotation marks.

Returns a True/False value

The TEXT STARTS WITH TEXT expression is used in a similar way to the TEXT CONTAINS TEXT expression except that HotDocs will specifically check if the first TEXT value begins with the second TEXT value.

See also TEXT ENDS WITH TEXT.


TODAY

Returns a Date value

This expression returns the current date, according to your computer’s system clock.

For example, this computation script figures out the number of days between the day the user purchased the item and today’s date (or the date the user assembles the document.)

DAYS FROM( Purchase Date, TODAY )

You also can create a Date variable called TODAY. See Create a Date Variable that Inserts the Current Date.


TRIM( TEXT )

Placeholder | Tooltip | Replace With
TEXT | t: Text | A text value, such as a Text variable.

Returns a Text value

You can use the TRIM function to remove any white space characters from the beginning and end of a Text variable, for example:

The client, Mary Rogers, has approved...

would be returned as:

The client, Mary Rogers, has approved...

TRIM( TEXT ) is equivalent to STRIP( TEXT, " \t\l", TRUE, TRUE ). See STRIP( TEXT, TEXT, TRUE_FALSE, TRUE_FALSE ) for more information.


TRUNCATE( NUM, NUM )

Placeholder | Tooltip | Replace With
NUM | n: Number | A number value, such as a Number variable
NUM (optional) | [to places: Number] | A number value specifying the number of places (0-7) to the right of the decimal point at which to truncate the number. Optional. Default is 0.

Returns a Number value

You can truncate a decimal number a specified number of places after a decimal point.

For example, the following script truncates the number 5.9375 to include only the first two digits after the decimal point. The truncated value is 5.93:

TRUNCATE( 5.9375, 2 )

In the next example, however, a Computation variable tests if the value of Rent Amount includes cents. The variable is then formatted to eliminate the text AND NO CENTS from being merged when the variable contains only a whole number:

IF Rent Amount = TRUNCATE( Rent Amount, 0 )

FORMAT( Rent Amount, "NINE DOLLARS" )

ELSE

FORMAT( Rent Amount, "NINE DOLLARS AND TWELVE CENTS" )

END IF

Specifically, this computation compares the actual value of Rent Amount against its truncated value. If the values are equal, HotDocs formats the answer to exclude the text, AND TWELVE CENTS. Otherwise it includes the text in the format.

The difference between the TRUNCATE and the ROUND expressions is that TRUNCATE simply "cuts off" a number at a specified digit, while ROUND actually rounds a number up or down, based on where you want the number rounded.


UNANSWERED

This expression removes an assigned value from a variable. It is used most often with the SET VAR TO VALUE instruction:

SET Property Value TO UNANSWERED

If you use this instruction, do not allow the user to change the answer by asking the variable in the interview. Because HotDocs can potentially reprocess the interview several times, the answer the user enters will always be replaced with the UNANSWERED value. Only use this value if you want a variable to be unanswered in the assembled document.

Do not confuse the value of UNANSWERED with that of NOT ANSWERED. UNANSWERED is an actual value assigned to a variable, while NOT ANSWERED (or !ANSWERED) is used to determine whether a value has been assigned.


UNION( MULT_CHOICE, MULT_CHOICE )

Placeholder | Tooltip | Replace With
MULT_CHOICE | m1: Multiple Choice Variable | A Multiple Choice variable
MULT_CHOICE | m2: Multiple Choice Variable | A Multiple Choice variable

Returns a Multiple Choice value

This expression creates a single list of all unique options (answers) that have been selected across two Multiple Choice variables.

In the following example, you want to generate a list of employees that have various different work projects they need to complete. Multiple employees may work on one individual project. Once you have this list, you want to generate a work list report for each employee on the list.

To accomplish this, you first repeat a dialog (Employee List) that asks which employees are supposed to work on a given assignment (using the Multiple Choice variable, Employee Names). As HotDocs repeats this list, the UNION expression adds each selected, original name from each repetition to a new Multiple Choice variable, Unique List.

Once all of the unique answers have been added to Unique List, HotDocs then uses the SELECTION expression to retrieve each individual answer from Unique List. The result of the script merges these names in a report.

ERASE Unique List

REPEAT Employee List

SET Unique List TO UNION( Unique List, Employee Names )

END REPEAT

ERASE Project Participant

SET Index TO 1

WHILE SELECTION( Unique List, Index ) != ""

SET Project Participant[Index] TO SELECTION( Unique List, Index)

INCREMENT Index

END WHILE


VALUE( VAR, EXPRESSION )

Placeholder | Tooltip | Replace With
VAR | v: Variable | The name of a variable
EXPRESSION (optional) | [default: Value] | The specific value you want to assign to the variable if the user leaves it unanswered. Otherwise, HotDocs will use one of the following default values: "" for Text variables 0 for Number variables 1 JAN 1800 for Date variables FALSE for True/False variables "" for Multiple Choice variables

Returns a Date, Number, Text or True/False value

This expression returns a default value for the variable type if the variable is unanswered. If the variable is answered, the value is the answer the user specifies.

For example, users will sometimes purposely not answer a question in the interview. However, all variables must be answered or the script will fail. Using VALUE assigns an answer (albeit a default one) so that the script or expression can be processed correctly and still return a value.

In the following example, suppose you need to calculate a sum. However, one of the variables in the calculation, Sales Tax, may not be required in order to produce the result. Since the variable may be left unanswered, you can use the VALUE expression to assign a default value of 0 to the variable so that the script can be processed correctly.

The optional EXPRESSION placeholder allows you specify the value that should be returned if the user leaves the question unanswered. Otherwise, HotDocs will use the default value, shown in the table, above.

Services Cost + Product Cost + VALUE( Sales Tax )


YEAR OF( DATE )

Placeholder | Tooltip | Replace With
DATE | d: Date | A date value, such as a Date variable

Returns a Number value

You can use this expression model to find the year portion of a given date.

For example, in the following script, a new employee has temporary status until the end of his or her third month with the company. HotDocs uses the YEAR OF expression to specify the year:

DATE OF( 1, MONTH OF( Hire Date + 3 MONTHS ), YEAR OF( Hire Date + 3 MONTHS ) ) - 1 DAYS

In this example, HotDocs finds the first day of the fourth month of employment. HotDocs then subtracts one day to reveal the last day of the third month—either the 28th, 29th, 30th or 31st—depending on the month. It then merges the new date into the document.


YEARS FROM( DATE, DATE )

Placeholder | Tooltip | Replace With
DATE | start: Date | A date value, such as a Date variable
DATE | finish: Date | A date value, such as a Date variable (These values can be in any order.)

Returns a Number value

This expression calculates the number of years between two given dates.

In the following example, the YEARS FROM expression finds the client’s age at the time of the hearing:

YEARS FROM( Hearing Date, Birth Date )

In this next example, the expression determines whether an employee has worked at the company for 25 years or more. If the employee has, HotDocs merges a paragraph into the document with details of a retirement party:

«IF YEARS FROM( Hire Date, Retirement Date ) >= 25» We would like to honor you at a retirement party on «Party Date» at «Party Time» at «Party Location».

«END IF»


ZERO( NUM_VAR )

Placeholder | Tooltip | Replace With
NUM | n: Number | A Number variable

Returns a Number value

This expression returns the value of zero only if a Number variable is unanswered. If the Number variable is answered, the value is the answer the user specifies.

For example, users will sometimes leave a Number variable blank instead of entering 0. If the Number variable is then used in a Computation variable, because it is unanswered, the computation will not be processed. The ZERO expression ensures the variable is assigned a value so the computation can return a value.

In this example, the ZERO expression is used in the Computation variable Invoice Total to return 0 if the Number variable Shipping Charge is unanswered.

Total Price + ZERO( Shipping Charge )

You can suggest default answers for unanswered variables of other types. See VALUE( VAR, EXPRESSION ) for details.


Automatically Assign Answers to a Variable

Variables normally get their values from the answers users enter during an interview, but sometimes you may want to assign an answer to a variable instead of allowing the user to specify the answer.

For example, a document might include the address of the client and, in another place, the address of the client’s spouse. Once the client’s address has been entered by the user, you could use a SET instruction to automatically fill in the same address for the spouse, since it will be the same.

SET instructions are inserted using a Computation variable, which you can insert in the template where you want the SET instruction to take effect.

When you set a variable to a value, you should clear the Save in answer file option for the variable (Advanced tab of the variable editor). That way, when HotDocs builds the interview, the answer can be set without prompting the user to save the answer file. (A changed answer file warning like this could be puzzling to users, especially if users don't add or change any answers in the interview.)

To set a variable to a value

  1. Create a Computation variable. (See Customize a Computation Variable.)
  2. From the Instruction models list, drag the SET VAR TO VALUE instruction into the Script field.
  3. Drag a variable you want to receive the new answer from the Variables list onto the VAR placeholder.
  4. Replace the VALUE placeholder with the answer you are assigning to the variable. You can do this by dragging a variable name from the Variables list, by dragging another instruction or expression into the Script field, or by entering an actual value. (See Values in SET Instructions for more details about these different types of values.)
  5. Click OK after the placeholders have been replaced with actual values.

You should never SET a variable's value and then cause the variable to be asked later in the template. If you do this, the value assigned by the SET instruction will always overwrite users' answers. If you want to suggest an answer for users but allow them to change it, use the DEFAULT instruction. (See DEFAULT VAR TO VALUE instruction model and Differences Between SET and DEFAULT Instructions.)

To set two or more options for a Multiple Choice variable, separate each option with a vertical bar (for example, SET MC Variable TO "Option1|Option2|Option3").

If you intend to SET values for all the variables in a repeated dialog, you should make sure the Trim endmost iterations whose answers are grayed or hidden option is turned off for that dialog. Otherwise the dialog’s COUNT and/or the number of repetitions that show up in the interview outline may be unpredictable.


Values in SET Instructions

You can set a variable to three kinds of values—a fixed value, another variable's value, and a value created by an expression. Be sure the variable and the value are the same type—set a Text variable to a text value, a Number variable to a number value, and so forth.

Fixed Values

A fixed value is a number, a date, a string of text, or TRUE or FALSE that is typed into the SET instruction. For example:

SET Receiving Office TO "Ridgefield"

SET Maximum Weight TO 5000

SET Client is Married TO TRUE

SET Property Items TO "Furniture|Automobiles"

Be sure to follow the rules for entering fixed values—for example, text must be in quotation marks and numbers cannot include commas. See Understand the HotDocs Scripting Language for an explanation.

Variables

You can set a variable to the value of another variable. That way, the user supplies the answer. For example:

SET Receiving Office TO Customer City

Expressions

You can use an expression to produce the value for a SET instruction. For example:

SET Total Weight of Shipment TO (Weight of One Unit * Number of Units) + (Weight of Pallet * (Number of Units / 12))


Use SET Instructions to Help Write Computations

Sometimes a SET instruction makes a computation easier to write. When there’s a long expression that is used in the computation more than once, set a variable to the expression and then use the variable wherever you need the expression after that in the computation.

For example, you might create a variable like Total Weight of Shipment just for use within the computation—it might not be used anywhere else in the template. In the following script, the SET instruction (the first instruction in the script) assigns the value of an entire expression to the variable. You can then use the variable elsewhere in the computation instead of writing the expression again:

SET Total Weight of Shipment TO (Weight of One Unit * Number of Units) + (Weight of Pallet * (Number of Units / 12))

IF Total Weight of Shipment > 10000

"Peoria Warehouse"

ELSE IF Total Weight of Shipment > 5000

"South Chicago Warehouse"

ELSE IF Total Weight of Shipment > 200

"Chicago Office Warehouse"

ELSE

"Local Office"

END IF


Differences Between SET and DEFAULT Instructions

Both the SET instruction and the DEFAULT instruction assign answers to variables. However, there are differences between the way the two instructions operate in a script. These differences are outlined in the following table:

SET Instruction | DEFAULT Instruction
Sets the value of a variable each time the instruction is processed, even if the variable is already answered. You should never SET a variable's value and then cause the variable to be asked later in the template. If you do this, the value assigned by the SET instruction will always overwrite the user's answer. If you want to suggest an answer for a user but give them the chance to change the answer, use the DEFAULT instruction. | Sets the value of a variable the first time the instruction is processed and if the variable is unanswered. (If the variable is already answered, the DEFAULT instruction has no effect.)
When the instruction is processed, causes HotDocs to prompt the user to save the answer file. (To avoid warnings like this, clear the Save in answer file option for the variable (Advanced tab of the Variable Editor).) | When the instruction is processed, does not cause HotDocs to prompt the user to save the answer file.

If you intend to SET values for all the variables in a repeated dialog, you should make sure the Trim endmost iterations whose answers are grayed or hidden option is turned off for that dialog. Otherwise the dialog’s COUNT and/or the number of repetitions that show up in the interview outline may be unpredictable.


Introduction: Link Templates to a Database

Each time you use a text or form template to assemble a document, HotDocs prompts you for the information the template requires. Once you have answered the questions, HotDocs merges your answers and carries out your instructions to produce the finished, assembled document.

There are three ways to provide HotDocs with the information it needs during document assembly. You can use any (or a combination) of these methods:

  1. Enter the information manually.
  2. Retrieve the information from an answer file (or answer source, such as an Outlook Contacts list).
  3. Retrieve the information from a database using a database component.

The last option, which requires you to create a database component, allows you to use answers from a database during document assembly. That way, information from a company data store or other database-driven program, such as some case managers, can also be used to assemble a HotDocs document.

Before you can retrieve answers from a database, you must first set up a connection to your database from within a HotDocs template. Then, once the connection is specified, you can link variables in your template to fields in a database table. Finally, you can specify several options that control the scope of the records from which the user chooses and how this data appears to them during the interview.

For a more technical explanation of how database components works, see Understand Database Connectivity.


Use Supported Databases

Supported Databases

The following is a list of database programs and servers (and their corresponding OLE DB providers) with which the HotDocs has been tested and is certified to work. These databases include:

  • Microsoft Access (Microsoft.Jet.OLEDB)
  • Microsoft SQL Server (SQLOLEDB)
  • Oracle (It is strongly recommended that you use the Oracle Provider for OLE DB (OraOLEDB) instead of the Microsoft OLE DB Provider for Oracle (MSDAORA).)
  • Any ODBC level 1-compliant database (using the Microsoft OLE DB provider for ODBC (MSDASQL))

HotDocs may also function with other OLE DB providers, as long as the following conditions are met: 1) The OLE DB provider must accept plain-text command strings, 2) the OLE DB provider must return rowsets (ADO Recordsets) as the result of commands—not records and/or streams, and 3) the database must reside in a location accessible by HotDocs. OLE DB providers that expose data in individual Rows and/or Fields (but not Rowsets) will not work. Please keep in mind that these are recommended guidelines and meeting these guidelines does not necessarily mean your provider will work with HotDocs.

Providers.ini

If you are able to establish a connection to a database using an OLE DB provider, but are having trouble accessing certain data types (most noticeably dates), you can use a file called Providers.ini, which supplies HotDocs with information specific to each OLE DB provider it accesses. This file augments information not provided by the database and supersedes HotDocs' own defaults or information which may have been provided by the database.

The Providers.ini file was installed and saved to the HotDocs program folder at the time HotDocs was installed. You can edit its contents using any text editor. It contains a header explaining the file's syntax and the possible options which can be specified there. HotDocs queries each OLE DB provider it uses for as much of this information as possible, but it is possible the information is not supplied. If this is the case, you must create an entry for the OLE DB provider in Providers.ini. (Examples for doing this are included in the file itself.)

HotDocs needs to know certain details about how to build database commands for a given OLE DB provider. Among these are:

  • How the database expects dates to be formatted.
  • How dates are delimited.
  • How database literals (table and column names) that contain spaces are delimited.
  • How schema and/or catalog names are separated from table names.


Understand Database Connectivity

HotDocs uses ActiveX Data Objects (or ADO) as the primary means of communicating with databases. ADO allows greater flexibility in the types of databases you can access and gives you greater control over how you extract information from a database.

In order to connect HotDocs to a database using an ADO connection, you must link your template to the database using an OLE DB provider. An OLE DB provider acts as a "translator" between HotDocs and the database, telling the two how to interpret the information that is being passed from the database to the template. Many database programs and/or clients include their own native OLE DB providers, but if you are using a database for which no provider is available, you can use an ODBC driver for your database and the OLE DB provider for ODBC. An ODBC-type connection allows you to connect to the database using an ODBC DSN (data source name), which associates a database driver with the database itself. This help file includes instructions for setting up both types of connections—see Create a Database Component Using ADO or Create a Database Component Using ODBC. (For additional information on ADO connections and data link properties, please either refer to the Windows system help or refer to the help files installed with your particular database program.)

Once the connection to the database is made, HotDocs must know what information to retrieve from the database. You do this by linking variables in the template to fields in a database table or view. Optionally, you can set up filtering and sorting options and designate other custom options that change how records are retrieved from the database.

To perform these various tasks, you can use the features available in the Database Editor, which is a component-editing dialog box like those used to edit other components. However, if you have experience writing database commands, you can specify an option that will allow you to define these filters, etc. using your own command text. Be aware, however, that writing custom commands requires you to have experience using the query language (SQL or other database query language) required by your specific database program. Because of the large number of databases (and potential language variants) little effort is made in this help file to teach this. This help file does contain, however, some general guidelines to help you write your custom commands. (See Use a Custom Command to Retrieve Data from a Database.)

If you are converting database components created in HotDocs 5 to the latest HotDocs format, you should consider changing the type of connection you are using to use an OLE DB provider for the specific database program, rather than the OLE DB provider for ODBC. For information, see Convert ODBC-based Connections to ADO.


At a Glance: The Database Editor

After creating a New Database Component at the Component Manager, HotDocs will open the Database Editor at the Properties tab. From here you can set up the connection string and enter the required information. To set more database options such as field mapping and filters use the tabs at the top of the window.

In the first text field A you can enter a name for your new database component, in the second field B you can enter a title for your database, and in the third field C you can enter a prompt to appear with your database.

Below these text fields are two drop down menus. In the menu on the left D you can select what the connection properties will be defined by. You can choose from the following three options:

  • an ADO connection string
  • a Microsoft Data Link (.uld) file
  • an OBDC Data Source Name

ADO connections require you to specify an OLE DB provider while Microsoft Data Link connections require the connection information to be stored in a separate file. Finally, an ODBC connection requires you to specify an OLE DB provider for ODBC. (ODBC connections require you to create and use a data source for your database application.)

In the menu on the right E you can choose the command type for your database: simple or User-defined (SQL or custom). If you choose a simple connection, HotDocs will build the connection string for you based on the options you select when you specify the OLE DB provider. If you choose a user-defined connection, you must specify all the information yourself in the Connection string box.

Depending on what option you choose from then connection properties menu D you will have different options below. The image above shows the options available for setting up an ADO connection string. You can type the connection string straight into the text field F or click the [image] Edit button to open the Data Link Properties dialog box. Once you have a connection string you can save it as a Microsoft Data Link file by clicking the [image] Save button.

If you select a Microsoft Data Link (.uld) file from the Connection Properties menu then the options below change (see image above). You can either type in the location of the Microsoft Data Link file straight in the field or use the [image] Open button to navigate to the file.

If you select an OBDC Data Source Name from the Connection Properties menu then the options below change (see image above). You can then select an option from the ODBC Data Source Name menu: dBASE files, Excel files or MS Access Database.

At the bottom of every set of options is a check box to allow database write-back. Tick this box to save any changes you make in HotDocs back to the original database you have linked to.

To learn more about using the database editor follow the links below:

  • Understand Database Connectivity
  • Create a Database Component Using ADO
  • Create a Database Component Using ODBC
  • Save ADO Connection Information in a Separate File
  • Convert ODBC-based Connections to ADO
  • Connect to Microsoft Excel using the Database Component
  • Edit a Database Component
  • Link Variables to Database Fields
  • Remember Selected Records
  • Save Changed Answers Back to the Database
  • Change Database Component Properties
  • Limit the Number of Database Records from Which a User Chooses
  • Sort Records in a Database Table
  • Select Related Database Records


At a Glance: The Data Link Properties dialog box

After opening the Database Editor from the Component Manager and clicking the [image] Edit Connection String button you will see the Data Link Properties dialog box. From here you can select the OLE DB Provider you would like to use for the Database Component. Once you have selected, clicking the Next button will take you to a set of options specific to each choice.

Clicking the Help button on this page will take you to the Microsoft Data Link Help file where you can find more detailed help instructions.

To learn more about setting the options for data link properties follow the links below:

  • Create a Database Component Using ADO
  • Save ADO Connection Information in a Separate File
  • Convert ODBC-based Connections to ADO
  • Specify a User Name and Password for a Database


Create a Database Component Using ADO

In order for programs such as HotDocs to communicate with certain database programs, the database must understand the command HotDocs issues to retrieve data from it. Likewise, HotDocs must understand how to work with the data that is retrieved from the database. One way this is accomplished is by using a data presentation layer known as ActiveX Data Objects, or ADO. ADO allows HotDocs to communicate with a wide range of sources using OLE DB providers for each specific database program. The OLE DB provider acts as a translator between the specific database and HotDocs—it reads information from the database and tells HotDocs how to interpret the data so HotDocs can use it.

That said, in order to connect with a database, you must tell HotDocs to which database you want it to connect. This requires you to create at least one database component for your template, which is where information about the connection is stored—including information about the OLE DB provider you are using, the name of the database, and any security information that is required to access data in the database. Once you have created the database component and assigned a name to it, you must define a connection string, which is what HotDocs will use to connect to the database. This string contains information about the OLE DB provider, the location of the actual database file or server, and any other information needed to establish the connection.

To create a database component

  1. At the template you want to connect to the database, click the [image] Component Manager button. The Component Manager window appears.
  2. Click the Components drop-down button and select Databases from the list. The list changes to show only database components.
  3. Click the [image] New Component button. HotDocs displays the Database Editor.
  4. Type a name for the component in the Component name field.
  5. Optionally, perform the following tasks:
    • In the Title field, enter a title for the database component. The title will be used in the interview outline and dialog title bar.
    • In the Prompt field, type the information about the database table you want the user to see. This information will appear above the database table in the assembly window. (See Create a Prompt for a Variable.)
    • Click the Resource tab and provide a resource option. A resource helps the user know what type of answer to select. (See Add Resource Information to a Variable or Dialog.)
  6. At the Properties tab of the Database Editor, click the Connection properties are defined by drop-down button and choose an ADO connection string.
  7. Click the [image] Edit button next to the Connection string field. The Data Link Properties dialog box appears.

The Data Link Properties dialog box is a standard Windows dialog box designed to set up a connection string. If you have specific questions about items in this dialog box, click the Help button located in the lower-right corner of the dialog box.

  8. Select the OLE DB provider you need from the list of providers. For example:
    • If you are using a Microsoft Access database, select the Microsoft Jet 4.0 provider.
    • If you are using a SQL Server, select the Microsoft Provider for SQL Server.
    • If you are using an Oracle database, select the Oracle Provider for OLE DB.
    • For all other integrations, refer to the documentation for your specific database for help in identifying the correct provider.
  9. Click Next. HotDocs displays the Connection tab of the Data Link Properties dialog box.
  10. Depending on which OLE DB provider you selected, enter the required information about the data source to which you are linking, including selecting the actual database file.
  11. When finished entering this information, click OK. The Database Editor appears again, showing the ADO connection string that will link your template to the database. (This connection string is encrypted when it is saved in the component file, but it will always appear in the Database Editor as plain text.)
  12. Click the Field Map tab. The window changes to show how fields in the table will be linked to variables in the template.
  13. At the Table name drop-down list, select the table to which you want to connect. The information from that table appears in the Field Name column.

Once you have created the database component and associated a table with it, you must link variables in the template to fields in the database table. (See Link Variables to Database Fields). You also must designate a unique field in the table as the key field, which will allow HotDocs to remember which record the user selects during assembly. (See Remember Selected Records.)

Database connections in earlier versions of HotDocs were maintained using a data presentation layer known as ODBC, or Open Database Connectivity. The ADO-based connection in HotDocs 11 allows you to continue using ODBC by using the OLE DB provider for ODBC, rather than a native OLE DB provider for the specific database. Maintaining this type of connection may be useful when a native OLE DB provider may either be incompatible or unavailable for you to use. (See Create a Database Component Using ODBC.) However, it is recommended that, where possible, you update all existing ODBC-based connections to use a native OLE DB provider for the database program you are using. (See Convert ODBC-based Connections to ADO.)

You can save ADO connection information in a Microsoft Data Link (.UDL) file. This may be useful if you plan to distribute your templates and databases to users whose systems may not be configured the same as yours. Because the connection information is saved in a file separate from the component file, it will make it easier for users without component-editing capabilities to update their connections. See Save ADO Connection Information in a Separate File for details.

If your connection to the database requires you to enter a user name, password, or other options, you can enter them at the Options tab of the Database Editor instead of including them in the connection string. See Specify a User Name and Password for a Database.


Create a Database Component Using ODBC

In order for programs such as HotDocs to communicate with certain database programs, the database must understand the command HotDocs issues to retrieve data from it. Likewise, HotDocs must understand how to work with the data that gets retrieved from the database. This is accomplished by using a data presentation layer known as ADO, or ActiveX Data Objects. The functionality behind ADO allows HotDocs to communicate with a wide range of database programs using OLE DB providers for each specific database program. In essence, an OLE DB provider acts as a translator between the specific database and HotDocs—it reads information from the database and tells HotDocs how to interpret the data so HotDocs can use it.

Many database programs and/or clients include their own native OLE DB provider (see Create a Database Component Using ADO), but in some situations, an OLE DB provider may either be incompatible or unavailable for you to use. (Click here for a list of supported databases.) In such situations, you can use the OLE DB provider for ODBC (Open Database Connectivity). This type of provider allows you to link your template to the database using an ODBC data source.

To connect to a database using the OLE DB provider for ODBC, you must first make sure you have a database driver installed that is compliant with ODBC Level One or higher standards. Drivers are often installed when you install the database program. If the driver you need is not installed, you should contact the database program provider.

Once you know the correct driver is installed, you must create a data source, which sets up a connection between the database driver and the database so that you can retrieve information from it. You can create one data source to associate a single driver with several database tables, as long as the tables are associated with one database.

Then, once you set up the data source, you must create a database component that uses your data source. HotDocs will use the data source to link to the database table that contains your information. You can use Component Manager to create a database component.

To create an ODBC data source and link it to a database component

  1. Click Start > Settings > Control Panel > Administrative Tools > Data Sources (ODBC). The ODBC Data Source Administrator dialog box appears.
  2. With the Data Source Administrator dialog box displayed (and the User DSN or System DSN tab selected), click Add. The Create New Data Source dialog box appears.
  3. Select the driver you need and click Finish. The ODBC Setup dialog box appears.
  4. Type a unique name for the data source in the Data Source Name field.
  5. If the ODBC Setup dialog box includes database version options, select the version you are using.
  6. Specify the database (or the folder containing the database tables) you want to use. The procedure varies depending on the driver you selected.
  7. At the ODBC Setup dialog box, click OK to return to the Data Source Administrator dialog box. The new data source is added to the list of data sources.
  8. Click OK at the Data Source Administrator dialog box and close the Control Panel window (if it's open).
  9. Open the template you want to connect to the database. (See Edit a Template.)
  10. Click the [image] Component Manager button in the HotDocs toolbar. The Component Manager window appears.
  11. Click the Components drop-down button and select Databases from the list. The list changes to show only database components.
  12. Click the [image] New Component button. HotDocs displays the Database Editor.
  13. Type a name for the component in the Component name field.
  14. Optionally, perform the following tasks:
    • In the Title field, enter a title for the database component. The title will be used in the interview outline and dialog title bar.
    • In the Prompt field, type the information about the database table you want the user to see. This information will appear above the database table in the assembly window. (See Create a Prompt for a Variable.)
    • Click the Resource tab and provide a resource option. A resource helps the user know what type answer to select. (See Add Resource Information to a Variable or Dialog.)
  15. From the Connection properties are defined by drop-down list, select an ODBC data source.
  16. From the ODBC Data Source Name (DSN) drop-down list, select the name of the data source you created earlier.
  17. Click the Field Map tab. The window changes to show how fields in the table will be mapped to variables in the template.
  18. At the Table name drop-down list, select the name of the table you want to use. The information from that table appears in the Field Name column.

Once you have created the database component and associated a table with it, you must link variables in the template to fields in the database table. (See Link Variables to Database Fields). You also must designate a unique field in the table as the key field, which will allow HotDocs to remember which record the user selects during assembly. (See Remember Selected Records.)

If your connection to the database requires you to enter a user name, password, or other options you do not wish to include in the ODBC data source, you can enter them at the Options tab of the Database Editor. See Specify a User Name and Password for a Database.

In order for HotDocs to remember which records your users have selected during assembly, you must assign a key field. For information on doing this, see Remember Selected Records.


Save ADO Connection Information in a Separate File

You can save ADO connection information in a Microsoft Data Link (.UDL) file. When you do this, HotDocs will look in this file (rather than the component file) for the connection information when it tries to access the database. This is useful if you plan to redistribute the template set to users who may need to edit the connection information, for example, because their database is located in a different folder or on a different server than the one you used to develop the template. Otherwise, storing this information in the component file would make it impossible for HotDocs Player users (who have no component-editing capabilities) to make the required changes.

To save an ADO connection string

  1. Using the Database Editor, define the ADO-based connection string. (See Create a Database Component Using ADO.)
  2. When finished, click the [image] Save button next to the Connection string field. The Save Microsoft Data Link File dialog box appears.
  3. Specify the location where you want to save the file, type a name for it, and click Save. The file is created.
  4. At the Database Editor, click the Connection properties are defined by drop-down button and select a Microsoft Data Link (.udl) file.
  5. Click the [image] Open button next to the Microsoft Data Link file field and locate the data link file. The component now looks in this separate file for connection information.

To edit a data link file, you or your user can double-click the file in Windows Explorer and make the changes in the Data Link Properties dialog box.

Microsoft Data Link (.UDL) files are plain text files. If you use a data link file to store your connection information, you should be sure sensitive information, such as database user names and passwords, are not specified in the UDL file. Specify this information in the database component instead, where it will be safely encrypted. See Specify a User Name and Password for a Database for details.


Convert ODBC-based Connections to ADO

Database connections created in earlier versions of HotDocs were driven by ODBC connectivity, which required you to specify an ODBC data source name in your database component.

Now, when you connect to a database using HotDocs 11, the primary means of connection is ADO. (See Introduction: Link Templates to a Database.) This means that when you convert database components created in earlier versions of HotDocs, HotDocs updates the connection to use the OLE DB provider for ODBC. This allows you to continue to use an ODBC data source, even though the primary mode of connection is ADO. While this type of connection is fully supported, performance of the database component may improve if you change your connection to use a native OLE DB provider for the database you are using.

If your database does not have a native OLE DB provider or if the OLE DB provider does not work, you should continue to use your existing data source, or the data source you created for HotDocs previously. During the conversion, HotDocs automatically selects the OLE DB provider for ODBC drivers and maintains its connection to your data source. You should not have to do anything to update your connection information.

You can change the type of connection by editing the database component, and, provided HotDocs can successfully communicate with the new OLE DB provider, it will maintain all the other properties of the connection—including links between the variables and fields and any filters you have created.

To change an ODBC connection to ADO

  1. Convert the template to HotDocs 11 format by editing it. (See Edit a Template.) (You can do this by clicking Start > Programs > HotDocs 11 > HotDocs. Once the template library appears, you can either add your earlier HotDocs template to the library, or you can open an entire library of earlier HotDocs templates using HotDocs 11. See Add Templates and Other Files to a Library or Open a Library for instructions.)
  2. Once the template is converted to HotDocs 11 format, open the existing database component for editing. (See Edit a Database Component.) The Database Editor appears.
  3. At the Properties tab of the Database Editor, click the Connection properties are defined by drop-down button and select an ADO connection string.
  4. Click the [image] Edit button next to the Connection string field. The Data Link Properties dialog box appears.
  5. Select the provider that corresponds to your database program. (If you are using a Microsoft Access database, select the Microsoft Jet 4.0 provider. If you are using a SQL Server, select the Microsoft Provider for SQL Server. If you are using an Oracle database, select the Oracle Provider for OLE DB. For all other integrations, refer to the documentation for your specific database for help in identifying the correct provider.)
  6. Click Next. The Connection tab of the Data Link Properties dialog box appears.
  7. Specify the correct database information, following the on-screen instructions provided for your specific provider and click OK. The Database Editor appears again. Once the new connection information is specified, HotDocs should maintain all existing properties of the component.
  8. Check the different properties of the database component (such as field mappings and database options) and then click OK to close the Database Editor.


Connect to Microsoft Excel using the Database Component

You can use Microsoft Excel as a readable data source in HotDocs Developer.

HotDocs does not support writebacks to Excel.

To connect to Microsoft Excel using the Database Component

  1. Open an Excel document to use as a data source.
  2. In the Excel document, define Names and Ranges for the data you wish to appear in the HotDocs interview. For example:

In this example, the Name of the entire range of cells is EmployeeDetails. This Name appears as the name of the database table in HotDocs. The column headings EmployeeID, FirstName, Surname appear as the column headings in the database table. The data underneath the column headings appears as data in the table.

For more details on defining Names and Ranges in Excel, see the Excel help file.

  3. Create a new ODBC Data Source for Excel. Navigate to Administrative Tools > Data Sources (ODBC) > User DSN. Click Add. The Create New Data Source wizard appears.

If you are using a 64-bit operating system, you must create a 32-bit DSN. To do this, run the 32-bit version of the ODBC Data Source Administrator, which you can find in C:\Windows\SysWoW64\Odbcad32.exe. For more information, see http://msdn.microsoft.com/en-us/library/ms712362.aspx

  4. Select the required Microsoft Excel driver from the driver list. Click Finish. The ODBC Microsoft Excel Setup dialog appears.
  5. In the dialog, enter a new Data Source Name and Description. Click the Select Workbook button and navigate to the Excel document from Step 1. Click OK. Click OK to close the Excel Setup dialog. Close the ODBC Data Source Administrator dialog.
  6. Open HotDocs. Right-click on the template in which you wish the Excel data to appear and select Component Manager.
  7. In the Component Manager, create a new Database component. In the Database Component Editor:
    • Enter a Component name
    • In the Connection Properties are defined by drop-down list, select an ODBC data source.
    • In the Command type drop-down list, select Simple.
    • In the ODBC Data Source Name (DSN) drop-down list, select the Data Source created in Step 4.
    • Navigate to the Field Map tab. In the Table name drop-down list, select the required table. Link HotDocs variables to the required database columns and make any other changes to the database component.
    • Click Test. An interview window appears displaying the new database component. Check the correct data appears in the component. Once you are finished, close the interview window.
    • Click OK to save and close the database component. Close the component manager.

An ADO data source can also be used to connect to Excel. See Create a Database Component Using ADO for more details on using ADO data sources.


Edit a Database Component

You can edit database components using Component Manager.

To edit a database component

  1. At the template, click the [image] Component Manager button. The Component Manager window appears. (See Open and Close Component Manager.)
  2. Select the database component from the list of components and click the [image] Edit Component button. The Database Editor appears. (To show only database components in the variable list, click the Components drop-down button and select Databases.)
  3. Make changes to the component as necessary. For example, you can:
    • Link variables in your template to fields in the database table. (See Link Variables to Database Fields.)
    • Create a filter to control the number of records that will be retrieved from the database table. (See Limit the Number of Database Records from Which a User Chooses.)
    • Sort the data into logical lists for the end user. (See Sort Records in a Database Table.)
    • Cause HotDocs to remember which records you have selected for subsequent assemblies. (See Remember Selected Records.)
    • Specify other database component properties. (See Change Database Component Properties.)

In order for HotDocs to remember which records your users have selected during assembly, you must assign a key field. For information on doing this, see Remember Selected Records.


Link Variables to Database Fields

Once you connect your template to a database, you can select a table in the database and link its fields to variables in your template. These links allow HotDocs to retrieve information from the database table each time the template is used to assemble a document.

When linking variables to fields, data types must match. For example, if the field type is text, you must link to either a Text variable or a Multiple Choice variable (since Multiple Choice variables are text values).

During assembly, HotDocs processes a template from top to bottom. When HotDocs encounters a variable that you have linked to a field in a database table, HotDocs first checks to see whether the list of records for that database table has been displayed yet. If it has not, HotDocs displays it so the user can select one or more records.

Database components are designed to link to only one database table. That means that even though you may see several tables listed in the Table name drop-down list, you can choose only one table for the component.

To create links between variables and database fields

  1. Open the database component you want to link to the database table. (See Edit a Database Component.) The Database Editor appears.
  2. Click the Field Map tab. The window changes to show the fields in the table as well as the variables in the template.
  3. In the Linked Variable column, click the drop-down button that corresponds to the database field to which you want to link.
  4. Select the variable.
  5. Optionally, to show both linked and unlinked variables in the Linked Variable drop-down lists, clear Show unlinked variables only. Be aware, however, that if you select a variable that is already linked, HotDocs will unlink it in order to link it to the new field. Each variable in the template can be linked to only one field at a time. (In these lists, HotDocs uses brackets to show the variable is linked, for example, [Employee Name].)
  6. Repeat this process for every variable that can be answered using data from the database table.

In order for HotDocs to remember which records your users have selected during assembly, you must assign a key field. For information on doing this, see Remember Selected Records.

In HotDocs, NULL values retrieved from a database are considered unanswered while empty string values ("") are considered answered, but empty.

When HotDocs queries the database, it retrieves every record from the table, displays them for the user, and then disconnects from the database. Because of this, you should use a filter on your database component to minimize the number of records that are initially retrieved. (If filtering is not an option but you still want to avoid retrieving all records at once, you can click the Options tab of the Database Editor and clear Use disconnected (client) record set. Be aware, however, that clearing this option can impact the speed with which the user can scroll through and filter large data sets. It also prohibits the user from sorting the data.) (See Choose a Database Cursor for more details.)


Remember Selected Records

During assembly, when HotDocs connects to a database, it displays a table of records. Once a user selects a record and moves to another dialog, HotDocs can remember from where in the database table the record was selected so that if the user revisits the table during the interview, the user can see his or her selection.

For HotDocs to operate this way, you must make one of the fields in the database component the key field. A key field contains information that is unique to a record—for example, an invoice number or a customer identification number. Without a key field, HotDocs has no way to remember from where in the table the record was retrieved and therefore, cannot retain this information once the user moves to a new dialog. This may be confusing to a user who reviews a database record selection—even though answers may appear in the assembled document, the interview shows that no record has been selected.

Selecting a key field also makes it easier to reuse an answer file that contains selected database records, for the reasons explained above.

If you are connecting to a database table using a native OLE DB provider, HotDocs recognizes key fields and automatically assigns them in the database component. (You can always choose a different key field, if necessary.) However, HotDocs does not recognize existing key fields when you connect to the database using the OLE DB provider for ODBC, or when your database component is connected to a database view. You must manually identify the key using the Database Editor.

The field you designate as the key field must always have a non-null value. This applies even in cases where you are defining multiple key fields—if you specify multiple key columns (because no single column uniquely identifies each row), then none of the columns you select should be nullable.

To identify a field as a key field

  1. Open the database component for editing. (See Edit a Database Component.) The Database Editor appears.
  2. Click the Field Map tab. The window changes to show a list of database fields and their related template variables.
  3. In the Key column, select the field next to the field you want to designate as the key.

If you think you may need an exact replica of a document assembled from a template that includes a database component, be sure to save a copy of the document. If you try to reassemble the document later, even if you use the same answer file, the document may not come out exactly the same because the information stored in the connected database may have changed.

If no single field in the table or view can uniquely identify a selected record, choose multiple keys, making sure the combination of information in those fields will be unique for every record.


Save Changed Answers Back to the Database

When linking variables in your template to fields in a database, you can allow users to edit answers that are retrieved from the database. At times, you may want to save changes the user makes back to the database. To allow this, you can select an option for the database component that allows answers to be saved back to the database record. HotDocs can either always save the answer back to the database, or it can allow the user to choose whether the answer should be saved back. If changes should never be saved back to the database, you can disallow write-back for a specific variable.

Changed answers are saved back to the database when the user saves the answer file.

To save changes back to a database record

  1. Open the database component for editing. (See Edit a Database Component.) The Database Editor appears.
  2. Click the Properties tab. The window changes to show the main properties of the database component.
  3. Select Allow database write-back.
  4. Click the Field Map tab. The mapping spreadsheet appears. By default, all linked variables are set to never allow write-back.
  5. For each variable's answer you want to save back to the database, click the Write-back drop-down button and choose the option you need:
    • Never keeps the answer from being written back to the database if it is changed.
    • Always always writes the answer back to the database if it is changed. The user will not be notified or prompted of the change.
    • Ask displays a dialog box that lets the user decide if the changed answer should be written back to the database.
  6. Close the database component.
  7. In the Component Manager add a new dialog component.
  8. Add the variables, that you applied the write-back settings to in step five, to the new dialog component.
  9. Name the dialog and close the dialog component editor.
  10. In your template add an ASK instruction for the new dialog to have it appear in the interview. This will give you the opportunity to edit the answers retrieved for the write-back.
  11. When finishing an interview, the user will need to save the answer file in order for these answers to be saved back to the database.

To allow users to change answers retrieved from the database, select Treat linked variables as asked: Never at the Options tab of the Database Editor.

The write-back is only available for existing recording in the database and cannot be used to add new records.


Change Database Component Properties

You can change certain properties of a database component. These properties control the way information is retrieved from a database, as well as how the user is able to select which answers will be used in the document.

Database component properties allow you to:

  • Let users select multiple records.
  • Let users sort and filter records.
  • Automatically select records for the user.
  • Control which variables are asked in the interview, even if the database answers them.
  • Specify user names and passwords for accessing information in the database.

To change database component properties

  1. Open a database component for editing. (See Edit a Database Component.) The Database Editor appears.
  2. Click the Options tab. The window changes to show several component options.
  3. Make changes as explained in the following table:
To | Do This
Allow the user to choose two or more records during assembly | Select Allow multiple selections. (Make sure the variables in the template are included in a REPEAT Database instruction so that all the answers can be merged correctly.) (See Generate a List of Records in an Assembled Document.)
Force HotDocs to merge a list of filtered answers from a database into the document without allowing the user to make the selection | Select Automatically select all filtered records. (See Merge Filtered Records into the Document Automatically.)
Have HotDocs check the database for new or updated data each time you assemble the document | Select Automatically refresh linked answers. (See Cause HotDocs to Update Selected Records Between Assemblies.)
Have HotDocs retrieve data from a database and then disconnect from it | Select Use disconnected (client) record set. (See Choose a Database Cursor.)
Give users the ability to sort columns in the database table in ascending or descending order | Select Allow sorting by end user. Users can then, during assembly, click column headings in the table and have the records sort in alphanumeric order. They can also control the order records will be merged into the assembled document.
Give users the ability to limit the number of records that appear in the table | Select Allow filtering by end user. This level of filtering does not affect any filters you have used to retrieve the data from the database—it only affects the records the user is viewing at the assembly window.
Change the way HotDocs treats variables that may potentially be answered by the database | Click the Treat linked variables as asked drop-down button and select one of the following options: Always (HotDocs considers linked variables as always asked—it will not ask them, even if the database does not contain an answer), Never (HotDocs considers linked variables as never asked—it will ask them, even if the database contains an answer), or Only if Answered from Database (HotDocs asks a linked variable if no answer for the variable exists in the database). (See Ask Variables Already Answered by the Database.)
Specify a user name and password so that information can be retrieved from the database | Type the user name and password in the User name and Password fields, respectively. This information is encrypted and saved in the component file. (See Specify a User Name and Password for a Database.)

In order for HotDocs to remember which records your users have selected during assembly, you must assign a key field. For information on doing this, see Remember Selected Records.


Use a Custom Command to Retrieve Data from a Database

Instead of linking variables to fields using HotDocs field mapping, advanced template developers or database administrators can link variables to a database using a custom command. A custom command lets you extract exactly the data you need from the database. It also may allow you to connect HotDocs to an OLE DB provider representing a non-traditional or non-relational data source.

In order to write a custom command, you must be familiar with the text command syntax of the particular OLE DB provider you are using for the database component. For most relational databases, this is SQL, or at least some variation of SQL. Some OLE DB providers also accept commands in a language or syntax other than SQL. In all cases, HotDocs should work with any OLE DB provider that accepts text commands which return recordsets. HotDocs, however, does not work with OLE DB providers that return records or streams. (Click here for a list of supported databases.)

You write a custom command at the Command tab of the Database Editor. (Instructions for getting this tab are included below.) This tab lists all the variables in the template to which you can refer in your command. The only modification HotDocs makes to the command string as it passes it through to the database is the substitution of answers for any HotDocs fields it finds in the command.

As you add HotDocs components to a custom command string, keep the following in mind:

  • Custom commands should be written so that the returned recordset always has the same number of columns with the same column names.
  • Only HotDocs fields that merge variable answers are permitted. Other fields (such as HotDocs scripting or instructions) will not work in database commands.
  • When true/false values are merged into a command, an example format is required. When date values are merged into a command, an example format is recommended.
  • For HotDocs variables to be mapped to database fields at design-time, HotDocs must execute the custom command to determine what the column names and types are that it returns. Because no answers are available to merge at design-time, HotDocs uses the following guidelines to prepare the command for execution at design-time:
    • If the merge field is a Text variable, Multiple Choice variable or text computation, the merge field is simply replaced by an empty text string.
    • If the merge field is a Number variable or number computation, it is replaced by a zero (0) when the command is issued. If the merge field is a True/False variable or a true/false computation, it is replaced by the false portion of its example format.
    • If the merge field is a Date variable or date computation, it is replaced by its example format if one is specified; if no format is specified, it is replaced by a generic date in the format expected by the OLE DB provider, as specified in the file Providers.ini. (Click here for more information.)

While it might be possible to merge a text computation that would vary the number of columns, or the column names or types, that were returned by a command, doing so will prevent HotDocs from properly linking those fields to HotDocs variables. Therefore, HotDocs answers merged into custom commands should only be used to limit or order the results, not to change the scope of the command.

To create a database component using a custom command

  1. Open the database component for editing. (See Edit a Database Component.) The Database Editor appears.
  2. From the Command type drop-down list (found on the Properties tab), select User-defined (SQL or custom).
  3. Click the Command tab and type the custom command, following the guidelines outlined earlier. Use the command to retrieve the fields from the table. (Click here for an example of a custom command.)

Once the command script is correct and HotDocs has executed the command, the contents of the Field Map tab are updated to show both the fields in the database and the variables in the template. You can then link your variables to fields. See Link Variables to Database Fields.


Choose Which Database Fields Appear During Assembly

By default, when you connect your database component to a database table, HotDocs automatically selects every displayable field in the table for display during assembly, even if some of the fields aren't directly linked to variables in the template. (HotDocs automatically omits fields which cannot easily be displayed, such as binary fields.) However, you can choose to display only certain fields.

Also, you can change the order of the database columns as well as the widths of the columns.

To display only selected fields

  1. Open the database component for editing. (See Edit a Database Component.) The Database Editor appears.
  2. Click the Field Map tab. The window changes to show the options for linking template variables to database fields.
  3. In the Display column, clear the check boxes next to the fields you don't want to appear during assembly. Notice the fields are removed from the list of fields in the Field display order list.
  4. Complete any of the following tasks:
To | Do This
Change the order in which the columns are presented | In the Field display order field, select a field name and drag it to a different location.
Make the column widths larger than the space taken by the field name | Enter the number of units in the Width column. This number must be larger than the number of characters in the column name.
Make the column widths larger than the space taken by the field name | Click Test. HotDocs displays the database table in the test assembly window.

If you are using a custom command, you control the order fields appear in the table using the command script—not by rearranging fields in the Field display order field. See Use a Custom Command to Retrieve Data from a Database for details.

In order for HotDocs to remember which records your users have selected during assembly, you must assign a key field. For information on doing this, see Remember Selected Records.

When specifying the column width, please note that one unit is about equal to the width of the character 5.


Cause HotDocs to Update Selected Records Between Assemblies

You can select an option that allows answers retrieved from a database to be current when it is merged into an assembled document. This allows data in a table to be updated without the user having to manually re-select the record or do something else that causes HotDocs to update the connection.

This update happens whenever a user starts a new assembly and then views the database selection dialog. However, if answers in the underlying database change during the interview, those changes will not be reflected in the interview or the document. When this option is cleared (which it is, by default), linked answers will only be updated when the user makes some change to the database table—for example adding, removing, or moving a selected row. Additionally, the data is updated when the database returns nothing or only one record, or when the database component has the Automatically select all filtered records option selected.

To update selected records between assemblies

  1. Open the existing database component for editing. (See Edit a Database Component.) The Database Editor appears.
  2. Click the Options tab. The window changes to show several options for the component.
  3. Select Automatically refresh linked answers.


Limit the Number of Database Records from Which a User Chooses

By default, when HotDocs presents a table of records for the user, every record in the table is displayed. Depending on the size of the table, this may mean the table with which the user is working may be very large. You can limit the number of records that appear, however, by filtering the list of records to include only those relevant to the user.

For example, if you are retrieving customer information from a database, you can create a filter that displays only those customers located in a particular state.

A filter is created by setting up one or more comparisons between the value in a database field and a variable or other value. Only the records that meet the comparison(s) will be displayed.

To filter certain records from the database table

  1. Open the database component for editing. (See Edit a Database Component.) The Database Editor appears.
  2. Click the Sort & Filter tab. The window changes to show sorting and filtering options.
  3. Click the Filter by Field drop-down button and select the database field you want to use as a filter.
  4. Click the Comparison drop-down button and select the type of comparison operator you want to use.
  5. Click the Compared to drop-down button and select a value to which you want to compare the field. (This list of values matches the data type of the field you are using as a filter. If you selected IS EMPTY or IS NOT EMPTY as a comparison operator, you do not need to select a value here.)
  6. Optionally, include another condition for the filter by selecting AND or OR from the first drop-down list of the second row and completing the condition, just as you did earlier.

Each filter can have up to five comparison conditions, with each condition connected to the preceding condition by the keyword AND or OR. When two conditions are connected by AND, they both must return true in order for a record to be selected. If two conditions are connected by OR, only one of the conditions must be true in order for a record to be selected. If the filter has multiple conditions, some connected by AND and others by OR, the conditions connected by AND will be required first, followed by the conditions connected by OR.

  7. Optionally, click Test to test the filter. You will see a list of records as it will be presented to the user during assembly. (See Test Individual Variables.)

In addition to creating a filter yourself, you can allow the user to create his or her own filter during assembly. Filtering options will appear in the interview for the user to select. To do this, select Allow filtering by end user at the Options tab.

You can use a variable in a filter when you want to make the filter dependent on information the user enters during assembly. For example, you could create a filter to display only those customers located in a particular state, and users could specify different states each time they assemble a document.

If you have used multiple filters, you can remove all of them by clicking Clear All Filters. To remove a single filter, click that specific filter's Field drop-down button and select the blank line at the top.

If you are filtering a repeated database component, you can also assign filtering instructions at the REPEAT Field dialog box. For information about doing this, see Tips on Filtering and Sorting Repeated Database Components.


Specify a User Name and Password for a Database

Some databases require users to provide a user name and password before connecting to the database. If this is the case for your database, you can provide the information at the Options tab of the Database Editor. Connection strings, user names, and passwords are saved and encrypted in the component file (for safety purposes).

To specify a user name and password at the Options tab of the Database Editor

  1. Open the database component for editing. (See Edit a Database Component.) The Database Editor appears.
  2. Click the Options tab. The window changes to show several database component options.
  3. In the Connection Options group, type the user name in the User name field.
  4. Type the password in the Password field.

You can choose to store the username and password in the connection string (by entering them at the Data Link Properties dialog box). However, ADO connection strings are always displayed in plain text in the Database Editor, so anyone with component editing capabilities will be able to view the database password in plain text. (Passwords entered at the Options tab of the Database Editor are masked, though.)

If you must supply a database password for an Access database, you specify it at the All tab of the Data Link Properties dialog box. (You can access this dialog box by clicking the [image] Edit button at the Properties tab of the Database Editor.)


Sort Records in a Database Table

To make it easier for users to find records in the database table, you can sort the records by any field in the table, either in ascending (A to Z, 1 to 9) or descending (Z to A, 9 to 1) order. You can also sort a list at two levels. For example, you could sort a client list first by state and then within the state by city.

You can also specify an option that allows users to sort the records during the interview. They can sort on any field in the table and have the contents arranged in ascending or descending order (as described above).

To sort the records for the user

  1. Open the database component for editing. (See Edit a Database Component.) The Database Editor appears.
  2. Click the Sort & Filter tab. The window changes to show sorting and filtering options.
  3. Click the first Sort by drop-down button and select the field on which you want to sort.
  4. Click the second Sort by drop-down button and select Ascending or Descending.
  5. Optionally, to sort on a second level, select a field at the Then by drop-down list and then choose Ascending or Descending.

You can let users sort their own records. To allow this, select Allow sorting by end user at the Options tab of the Database Editor.


Generate a List of Records in an Assembled Document

By default, users can merge answers from one selected database record during assembly. However, there may be times when choosing multiple records would be necessary, for example, to produce a list of answers in a document.

To generate a list of answers that are retrieved from a database, you must repeat the database component that will provide the answers. You must also specify a database component property that allows the user to select multiple records from the table.

To assemble a single document that contains a list of records

  1. Select the text (including variables, instructions, and so forth) you want repeated using information from different records and click the [image] REPEAT Field button. The REPEAT Field dialog box appears.
  2. Select REPEAT Database.
  3. Click the Database drop-down button and select the database component you want to use.
  4. Click the [image] Edit Component button to open the database component for editing. The Database Editor appears.
  5. Click the Options tab and select Allow multiple selections.
  6. Click OK at the Database Editor. The REPEAT Field dialog box appears again.
  7. Optionally, click Show Advanced and choose sorting or filtering options. (See Tips on Filtering and Sorting Repeated Database Components for information about doing this.)
  8. Click OK. The REPEAT instruction is inserted into the template.


Tips on Filtering and Sorting Repeated Database Components

When you REPEAT a database component, you can specify filtering and sorting instructions at two places—at the Database Editor and at the REPEAT Field dialog box. Generally speaking, instructions specified at the Database Editor control how the database table appears during the interview, while instructions specified at the REPEAT Field dialog box control how the data is merged into the assembled document. The following discusses in greater detail these relationships.

Filtering Repeated Database Components

When you assign a filter at the Database Editor (at the Sort & Filter tab), you are limiting the records from which the user may choose during the interview. When you assign a filter at the REPEAT Field dialog box, however, you are limiting the answers that are actually merged into the assembled document.

In most situations, assigning a filter at the database component should be adequate. One situation where it might be useful to create an additional filter at the REPEAT Field dialog box is if you want the user to select answers from one table but you want the answers merged into different lists in the document.

Sorting Repeated Database Components

Similarly, when you assign sorting instructions at the Database Editor (at the Sort & Filter tab), HotDocs forces the records in the table to appear in that order during the interview. If you also select Allow sorting by end user at the Options tab of the Database Editor, the table initially is presented to users using your sorting order, but users can then sort the records how they want. If users select multiple records, they can then rearrange the order the answers are merged into the assembled document.

When you assign sorting instructions at the REPEAT Field dialog box, HotDocs will merge the answers into the assembled document in the order you specify.

Where possible, you should always use the Database Editor to assign sorting instructions for a repeated database. One situation where it might be useful to assign sorting instructions at the REPEAT Field dialog box would be if you need to insert a list of answers at multiple places in the document but need the list to be arranged differently in each location. For example, perhaps in one location, you would need the list to be sorted based on Invoice Number, but in another place the list needs to be sorted by Company Name. You could use the sorting instructions at the REPEAT Field dialog box to help you create these different lists. Make sure, however, that you clear Allow sorting by end user at the Options tab of the Database Editor.


Merge Filtered Records into the Document Automatically

You can have HotDocs automatically select all filtered records and set the linked repeated variables accordingly. This can be useful if you've designed a filter to automatically retrieve this information from the database and you don't need the user to make any selections.

To merge all filtered records into the document during assembly

  1. Repeat the variables you want answered by the database. (See Generate a List of Records in an Assembled Document.)
  2. Open the database component for editing. (See Edit a Database Component.) The Database Editor appears.
  3. Click the Options tab. The window changes to show several database component options.
  4. Select Allow multiple selections and then select Automatically select all filtered records.

Now, when your user assembles a document, any records that meet the filter condition are automatically selected and used to set linked variables—the table of records will not appear during assembly.


Ask Variables Already Answered by the Database

When variables in a template are answered using data from a database, HotDocs considers the variables to be answered and, by default, won't ask them again. You can, however, have HotDocs ask the variables, even though answers have already been provided. This may be useful if you want the user to review or change the answers supplied by the database. Then, if you choose to allow it, users can save any changes they've made to the data back to the database. (See Save Changed Answers Back to the Database for details.)

Similarly, if a variable requires an answer, but no answer for the variable exists in the database, HotDocs can ask the variable and allow the user to provide the answer.

To control which linked variables are asked during the interview

  1. Open the database component for editing. (See Edit a Database Component.) The Database Editor appears.
  2. Click the Options tab. The window changes to show several database component options.
  3. Click the Treat linked variables as asked drop-down button and select one of the following options:
    • Choose Never to have HotDocs never consider linked variables as asked—it will ask them elsewhere in the interview, even if the database contains an answer.
    • Choose Always to have HotDocs always consider linked variables as asked—it will not ask them elsewhere in the interview, even if the database does not contain an answer.
    • Choose Only if Answered from Database to have HotDocs ask a linked variable if no answer for the variable exists in the database.


Select Related Database Records

Sometimes your template may link to more than one database table. If both tables have at least one field in common (for example, both tables have a field named CLIENT_ID), you can create a filter based on this association that will allow users, during assembly, to select a record from one table and have the corresponding records from the other table automatically selected. (This common field is sometimes referred to as a foreign key.)

For example, perhaps you want to assemble an invoice letter for a specific client whose payment is past due. Specifically, you want to select an unpaid invoice record from the INVOICE table and automatically have the associated information about the client selected from the CLIENT table. This data should then be merged into the assembled document. To do this, you must create both database components, link the fields in each table to variables in the template, and assign a filter to the CLIENT table. The filter uses the value of CUSTOMER_ID (which has already been answered by the INVOICE table) and returns the record from the CLIENT table that matches that value.

To select related records in another table

  1. Create database components for two tables in your database. (See Create a Database Component Using ADO and Link Variables to Database Fields.)
  2. Open the database component for the database table from which you want the user to choose a record. (See Edit a Database Component.)
  3. Click the Field Map tab and link the related (or common) field to a variable in the template.

If no variable exists, create it by clicking the Linked Variable cell and then clicking the [image] New Component button. HotDocs automatically creates a variable that matches—as closely as possible—the properties of the field. The variable is created, but not inserted into the template, and the field is linked to it.

  4. Open the other database component for editing. (This is the database from which you want to select related records.) The Database Editor appears.
  5. Click the Sort & Filter tab. The window changes to show sorting and filtering options.
  6. Click the Filter by Field drop-down button and select the related field.
  7. Click the Comparison drop-down button and select EQUAL from the list of comparison operators.
  8. Click the Compared to drop-down button and select the variable that corresponds to the related fields.
  9. At each Database Editor, click OK to close both windows

If you are retrieving answers from multiple records, you can have HotDocs automatically select all the records that meet the filtered condition and merge them into the document. To do this, open the database component that contains the filter (this is the database component you don't want displayed during assembly) and select Automatically select all filtered records. (See Merge Filtered Records into the Document Automatically for more details on using this option.)

See Custom Command Sample for an example of a custom command that actually joins two database tables.


Control When Your Record Selection Screen Appears

When HotDocs creates an interview for the user, it reads through the template and displays dialogs based on the fields it finds in the template text. If a field contains a variable that is linked to a database component, HotDocs displays the record selection screen of that database component instead.

If you want the record selection screen to appear at a certain place in the template, you can insert an ASK Database instruction into the text of the template where you want the database table to be displayed.

To insert an ASK Database instruction

  1. Position the cursor at the point in the template where you want the table to be asked (for example, at the top of the template).
  2. Click the [image] ASK Field button. The ASK Field dialog box appears.
  3. Select ASK Database.
  4. Select a database table from the Database drop-down list, or click the [image] Edit Component button to create a new database component. (See Create a Database Component Using ADO and Link Variables to Database Fields.)
  5. Click OK. The ASK Database instruction is inserted in the template.

You can group several ASK instructions in one computation script and use that computation to control the order questions are asked in the interview. (See Put ASK Instructions in a Computation Variable.)


Choose a Database Cursor

When HotDocs connects to the database and identifies the information it needs to retrieve, it uses what is called a cursor. Just as a cursor in a word processor document allows you to move around and select text in a document, a database cursor allows HotDocs to scroll through and select records from a database table.

A database component can use one of two types of cursors when retrieving data from a database table: client cursors and server cursors. By default, HotDocs uses a client cursor; however, you can choose to have it use a server cursor. The following is a discussion about the advantages of each.

Client Cursors

A client cursor retrieves all the data in the result set (possibly across the network) to the user's machine, and manipulates the data there. The advantages of this are:

  • End users will have fast scrolling and full ability to change sort order.
  • The data is only pulled across the network one time.
  • Server resources (connections) are freed as soon as the data is retrieved. No server connection is maintained while the user is interacting with the database component, selecting records. This has minimal impact on server resources.

The primary disadvantage of client cursors is that for very large result sets, the initial loading of the data across a network consumes bandwidth and can be time consuming. That is why, in HotDocs, it is recommended that you always use filters to minimize the size of the result sets from which users will choose. (See Limit the Number of Database Records from Which a User Chooses.)

Server Cursors

Unlike a client cursor, a server cursor opens the connection to the database and leaves it open until the user leaves the database selection dialog. This may be desirable in a few circumstances, such as when a large result set is required and the initial performance of a client cursor is prohibitive. However, the disadvantages of a server cursor are:

  • User scrolling can be slower, as only the displayed data is retrieved from the database at one time.
  • A connection to the database server must be maintained the whole time the user is selecting records from the database. Also, network traffic may be impacted if the user scrolls through the data repetitively.
  • The user cannot change the sort order of the displayed results.
  • If the user applies filters to very large result sets, performance and network bandwidth usage can be negatively impacted.

If you're accessing a database that is located on your local machine, there may not be a huge performance difference between client and server cursors. The biggest difference in this case is that server cursors will not allow you to change the sort order of the data you are viewing during the interview.

Because of these limitations, it is recommended you use client cursors—unless you have a specific reason to choose otherwise.

Once you decide which type of cursor best fits your needs, you can specify this option at the Options tab of the Database Editor.

To specify which type of cursor you will use

  1. Open the existing database component for editing. (See Edit a Database Component.) The Database Editor appears.
  2. Click the Options tab. The window changes to show several options for the component.
  3. Choose one of the following options:
    • Select Use disconnected (client) record set to use a client cursor.
    • Clear Use disconnected (client) record set to use a server cursor.


Introduction: Dot Codes

Working with Plain Text

When working with plain text, either in variable prompts, dialog element text, plain-text resources, or in answers generated by computation scripts, you frequently want to assign font properties to the text, such as bolding, italicizing, and underlining. Additionally, you may want to punctuate and capitalize characters in plain text as well as insert special characters, such as hyphens and other punctuation marks.

To format text, insert dot code fields in your prompts, text, or scripts. During assembly, these dot codes will be processed and will apply whatever formatting you specify to the text.

Unfortunately, dot codes that format answer text in a form document cannot be processed because the text is in plain-text format and cannot allow formatting, such as bold and italics. To explain, think of when you've worked on a plain-text document in Notepad. You can insert characters like line breaks, section symbols, and punctuation in a Notepad document, but you cannot make character-level formatting changes. HotDocs uses this same plain text in form document answers. Dot codes that insert characters (such as line breaks, section symbols, and so forth), however, are processed without any problems in forms.

Punctuating Non-Repeated Lists

Dot codes can also be used to merge punctuation for non-repeated lists in the template. Using a series of dot codes, you can define the punctuation mark that should be used to separate items in the list as well as define the conjunction (for, and, nor, but, or, yet, so) used for the list. This is useful when you have separate answers that are being merged conditionally in list format.

Full List of Dot Codes

The following tables list all of the dot codes that are available in HotDocs:

Character Format:

Name | Dot Code | What it Does
Bold | «.b»/«.be» | Applies bold formatting to the enclosed word or group of words
Hidden | «.h»/«.he» | Applies the hidden text property to a word or group of words The dot code «.h»/«.he» is not allowed in prompts, dialog titles, or resources.
Italic | «.i»/«.ie» | Applies italic formatting to a word or group of words
Strike-through | «.x»/«.xe» | Crosses out a word or group of words
Underline | «.u»/«.ue» | Applies underline formatting to a word or group of words
Size | «.z»/«.ze» | Increases or decreases the font size for a word or group of words by a specified percentage. The dot code «.z +Size» is a percent increase in the current size. The dot code, «.z -Size» is a percent decrease in the current size. (When you select this option, HotDocs displays a dialog box asking you to specify these properties.)
All Caps | «.a»/«.ae» | Capitalizes every letter in the selected text
Capitalize Letter | «.c» | Capitalizes the word immediately following the code
Leading Caps | «.l»/«.le» | Capitalizes the first letter of each word in the enclosed text
Small Caps | «.s»/«.se» | Capitalizes each lowercase letter in the enclosed text and displays them at a smaller font size. For example, "The Quick Brown Fox" would be come "THE QUICK BROWN FOX". The dot code «.s»/«.se» is only fully supported in JavaScript interviews. In Silverlight interview all text is capitalized and displayed at the smaller font size, including existing capital letters. In desktop interviews this dot code has no effect.

Character Insertion:

Name | Dot Code | What it Does
An | «.an» | Inserts a or an, depending on whether the word that follows begins with a consonant or a vowel
Left Apostrophe | «.la» | Inserts a left apostrophe
Right Apostrophe | «.ra» | Inserts a right apostrophe
Left Quote | «.lq» | Inserts a left quotation mark
Right Quote | «.rq» | Inserts a right quotation mark
Paragraph Symbol | «.ps» | Inserts a paragraph character
Section Symbol | «.ss» | Inserts a section symbol character
Tab Character | «.tc» | Inserts a tab character
Line Break | «.lb» | Inserts a line break
Paragraph Mark | «.pm» | Inserts a paragraph mark
Page Break | «.pb» | Inserts a page break
Non-breaking Space | «.ns» | Inserts a non-breaking space character
Non-breaking Hyphen | «.nh» | Inserts a non-breaking hyphen character
Optional Hyphen | «.oh» | Inserts an optional hyphen character

Sentence Punctuation:

Name | Dot Code | What it Does
Period | «.» | Inserts a period if no other punctuation precedes it
Colon | «:» | Inserts a colon if no other punctuation precedes it
Exclamation Mark | «!» | Inserts an exclamation point if no other punctuation precedes it
Question Mark | «?» | Inserts a question mark if no other punctuation precedes it
Comma | «,» | Inserts a comma if no other punctuation precedes it
Semicolon | «;» | Inserts a semicolon if no other punctuation precedes it

List Punctuation:

Name | Dot Code | What it Does
Punctuation Setup | «.p "style"»«.pe» | Identifies the beginning of a punctuated list and assigns the punctuation format to it. The closing dot code identifies where the punctuated list ends.
Punctuation Item | «.p» | Used within the Punctuation Setup and identifies where the punctuation character should be inserted

Web Link:

Name | Dot Code | What It Does
Web Link Dot Code | «.w "URL"»/«.we» | Inserts a Web link Enter the link text between the two dot codes


Change Font Properties of Text

Dot codes that change the character format (bold, italic, font size, etc.) do not work in prompts for True/False and Multiple Choice variables that are set to appear as buttons or check boxes.

Frequently, you use a computation script to generate an answer that must be merged in the document. Because answers generated by a computation script are in plain text (which can't be formatted at the Script Editor), you can insert formatting dot codes in the plain text. These dot codes will be processed and the formatting will be applied once the answer is merged in the document.

Additionally, you can use dot codes to assign formatting to variable prompts and dialog element text. This allows questions in the interview to be formatted according to your needs. Specifically, using dot codes, you can apply font properties (such as bolding and italicizing) to answers. You can also specify font sizes and capitalization.

When formatting sections of text using dot codes, you must first highlight the text you are formatting before you assign the dot code. This surrounds the text with beginning and ending codes that instruct HotDocs where the formatting starts and stops. Additionally, when you insert multiple dot codes for a single block of text, the codes must be nested, meaning the first opening dot code you assign must be the last closing dot code. For example, this is an example of «.b»«.i»nesting«.ie»«.be».

To apply formatting to plain text

  1. Either edit a Computation variable (See Customize a Computation Variable), or edit a prompt or dialog element text (see Create a Prompt for a Variable and Add Text to Your Dialogs).
  2. Highlight the text you want to format and right-click. A shortcut menu appears.
  3. Choose Character Format > Format (where Format represents one of the dot codes described in the following table). (WordPerfect users: To insert the dot codes, manually type the codes as you see them in the table below.)
Dot Code | What It Does
«.b» (Bold) «.be» (Bold End) | Applies bold formatting to a word or group of words.
«.h» (Hidden) «.he» (Hidden End) The hidden property is not supported in WordPerfect templates. | Applies the hidden text property to a word or group of words.
«.i» (Italics) «.ie» (Italics End) | Applies italic formatting to a word or group of words.
«.u» (Underline) «.ue» (Underline End | Applies underline formatting to a word or group of words.
«.x» (Strike-through) «.xe» (Strike-through End) | Crosses out a word or group of words.
«.z» (Font size) «.ze» (Font size End) The font size options are not supported in WordPerfect templates. | Increases or decreases the font size for a word or group of words by a specified percentage. The dot code, «.z +Size», is a percent increase in the current size. The dot code, «.z -Size» is a percent decrease in the current size. (When you select this option, HotDocs displays a dialog box asking you to specify these properties.)

The following is an example of a computation script that uses dot codes. The account status is bolded:

IF DAYS FROM( Purchase Date, TODAY ) > 60

"Your account is «.b»past due«.be»."

ELSE

"Your account is «.b»current«.be». Thank you."

END IF

Likewise, this is an example of a variable's plain-text resource that uses dot codes. Here, the name of a required form is italicized:

To get free service of the court's orders without paying a fee, you must fill out and file the «.i»Request and Order for Free Service of Restraining Order«.ie».

When you type double angle brackets (<< >>), HotDocs converts them to chevrons (« »). You can manually enter the dot code by typing the brackets with the format code between them.


Insert a Web Link in a Prompt or Dialog Text Element

Home > Using Dot Codes > Insert a Web Link

Insert a Web Link

You can use a Web link dot code («.w "URL"»/«.we») to add a Web address to a variable prompt or dialog element text. The user will be able to click this link during the interview and a separate browser window (displaying the specified Web page) will appear.

To include a Web address in a prompt or dialog text element

  1. Edit a prompt or dialog text element. (see Create a Prompt for a Variable and Add Text to Your Dialogs.)
  2. Place your cursor where you want the link to appear and right-click. A shortcut menu appears.
  3. Choose Web Link. The Web Link dialog box appears.
  4. In the URL field, enter the complete Web address for the page you want the hyperlink to open. (Make sure the URL is entered correctly. Include http:// or https:// or ftp://, depending on what type of URL it is.)
  5. Enter the text you want the user to see for the link in the Link text field.

To include a Web address in the document text

Using a .docx template you can also insert a Web link into the body text of a document and have it work as a hyperlink after assembly.

  1. Open a .docx template for editing. (see Edit a Template.)
  2. Select the text you wish to use as the link text for the Web Link and right-click. A shortcut menu appears.
  3. Select Character Formatting and then Web Link. The Web Link dialog box appears.
  4. In the URL field, enter the complete Web address for the page you want the hyperlink to open. (Make sure the URL is entered correctly. Include http:// or https:// or ftp://, depending on what type of URL it is.)

Before creating the Web link, you can select existing text in the prompt or dialog element text and that text will be used as the Link text.

If you don't know the exact URL for the Web page, click the [image] Browse Web button next the URL field to search for the Web page.

You can include a link that opens an e-mail message rather than a Web address. To do this, enter mailto:, followed by the email address you want included, in the URL box. (For example, enter mailto:publications@hotdocs.com.)


Add Punctuation and Capitalization to Sentences

Sometimes you need answers in the assembled document to be capitalized and punctuated correctly, but you can't anticipate how users will enter the answer. To ensure text in the document is correct, you can use dot codes to merge the correct capitalization and punctuation.

For example, say the user enters a description but doesn't include the end punctuation in the answer. Using a dot code, you can merge the punctuation in the document if the user doesn't. (If the user does include the punctuation, the dot code won't merge anything.) The following script demonstrates this:

The property, which is located at «Property Address», is described as «Property Description»«.»

To add punctuation and capitalization dot codes

  1. Either edit a Computation variable (See Customize a Computation Variable), or insert your cursor in the template text where you want to insert the dot code.
  2. To insert a punctuation mark, right-click to display the shortcut menu and choose Sentence Punctuation > Punctuation Mark (where Punctuation Mark represents one of the dot codes described in the following table. (WordPerfect users: To insert the dot codes, manually type the codes as you see them in the table below.)
Dot Code | What It Does
«.» | Inserts a period if no other punctuation precedes it.
«,» | Inserts a comma if no other punctuation precedes it.
«;» | Inserts a semicolon if no other punctuation precedes it.
«:» | Inserts a colon if no other punctuation precedes it.
«!» | Inserts an exclamation point if no other punctuation precedes it.
«?» | Inserts a question mark if no other punctuation precedes it.
  3. To change the capitalization of text, right-click to display the shortcut menu and choose Character Format > Capitalization (where Capitalization represents one of the dot codes described in the following table:
Dot Code | What It Does
«.a» (All Caps) «.ae» (All Caps End) | Capitalizes every letter in the selected text.
«.c» (Capitalize Letter) | Capitalizes the first letter of the word immediately following the code.
«.l» (Leading Caps) «.le» (Leading Caps End) | Capitalizes the first letter of each word in the selected text.
«.s» (Small Caps) «.se» (Small Caps End) | Capitalizes each letter in the selected text and displays the text at a smaller font size.

When you type double angle brackets (<< >>), HotDocs converts them to chevrons (« »). You can manually enter the dot code by typing the brackets with the format code between them.


Insert Characters in Text Strings

When working with plain text in both computation results and in variable prompts, dialog element text, and resources, you frequently need to insert a character not typically supported by the plain-text character set. Using dot codes, you can insert these characters so that when the answer is merged in the document, the dot codes are processed and the sentence is punctuated correctly.

For example, if you are merging a literal text string in a computation script and the text needs smart quotation marks (and not straight quotation marks), you can insert the dot codes that merge the correct marks.

To insert special characters in plain text

  1. Either edit a Computation variable (See Customize a Computation Variable) or edit a prompt or dialog text element. (see Create a Prompt for a Variable and Add Text to Your Dialogs.)
  2. Place your cursor where you want the character and right-click. A shortcut menu appears.
  3. Choose Character Insertion > Character (where Character represents one of the dot codes described in the following table). (WordPerfect users: To insert the dot codes, manually type the codes as you see them in the table below.)
Dot Code | What It Does
«.an» (An) | Inserts a or an, depending on whether the word that follows begins with a consonant or a vowel. For example: «Employee Name», «.an»«Job Title» becomes Jack Carey, a paralegal or Bonnie Millet, an attorney
«.la» (Left Apostrophe) «.ra» (Right Apostrophe) | Inserts a left or right apostrophe.
«.lq» (Left Quote) «.rq» (Right Quote) | Inserts a left or right quotation mark.
«.ps» (Paragraph Symbol ¶) | Inserts a paragraph character.
«.ss» (Section Symbol §) | Inserts a section symbol character.
«.tc» (Tab Character) | Inserts a tab character.
«.lb» (Line Break) | Inserts a line break.
«.pm» (Paragraph Mark) | Inserts a paragraph end.
«.pb» (Page Break) | Inserts a page break.
«.ns» (Non-breaking Space) | Inserts a non-breaking space character.
«.nh» (Non-breaking Hyphen) | Inserts a non-breaking hyphen character.
«.oh» (Optional Hyphen) | Inserts an optional hyphen character.

When you type double angle brackets (<< >>), HotDocs converts them to chevrons (« »). You can manually enter the dot code by typing the brackets with the format code between them.


Punctuate Non-Repeated Lists of Answers

Sometimes you create lists of answers in a template without using a REPEAT instruction. Often, you need a way to punctuate the list, depending on answers that are merged. For example, say you need to list the client name, the client's spouse's name (if the client is married), and the children's names (if there are children). Such a list could look like this in the assembled document:

The client's family consists of Tim Anderson, spouse Lori Anderson, and children Jessica Anderson, Aubrey Anderson, and Lance Anderson.

However, not all clients will be married, nor will all clients have children. Because of this, you need some way to punctuate the sentence, based on which answers are added to the list. You can accomplish this using a series of dot codes that punctuate a sentence (including adding a conjunction between items in the list), depending on where answers are merged in the document.

To punctuate a non-repeated list

  1. Edit the template. (See Edit a Template.)
  2. In the template text where you want to merge the list punctuation, right-click and choose List Punctuation > Punctuation from the Word shortcut menu (where Punctuation represents the mark you want to insert, based on the following table). (WordPerfect users: To insert the dot codes, manually type the codes as you see them in the table below.)
Dot Code | What It Does
«.p "style"» (Punctuation Format) | Identifies the beginning of a punctuated list and assigns the punctuation format.
«.p» (Punctuation) | Identifies the spot where punctuation character should be inserted.
«.pe» (Punctuation End) | Identifies the end of the punctuated list.

The following is an example of how punctuation dot codes are used in the text of a template. The first dot code («.p "a, b, and c"») indicates the start of the list (and specifies the punctuation and conjunction that should be used). Each item that is added to the list is marked by a punctuation code («.p») which indicates where the punctuation mark should be merged. The end punctuation mark («.pe») indicates the end of the list:

«.p "a, b, and c"»The client's family consists of «Client Name»«.p»«IF Client is Married»spouse «Spouse Name»«.p»«END IF»«IF Client Has Children»children «REPEAT Children:a, b, and c»«Child Name»«END REPEAT»«.p»«END IF»«.pe».

In this example, there are really two lists—first, the list of family members (client, spouse, and children) and then second, the list of individual children. While dot codes are used to punctuate this first list, the repeat format for the REPEAT instruction punctuates the list of children. However, you can use dot codes to punctuate the items in a REPEAT instruction, as well. The following script demonstrates how to nest these dot codes:

«.p "a, b, and c"»The client's family consists of «Client Name»«.p»«IF Client is Married»spouse «Spouse Name»«.p»«END IF»«IF Client Has Children»«.p "a, b, and c"»children «REPEAT Children»«Child Name»«.p»«END REPEAT»«.pe»«.p»«END IF»«.pe».


Introduction: Test HotDocs Templates

Test Variables, Scripts, and Dialogs

As you create variables and computation scripts in your templates, you can test them to make sure they produce the desired result. Likewise, you can test dialogs to see how the information will be presented to users during document assembly.

As you test these different components, HotDocs displays the HotDocs test assembly window. If you find that you must edit the variable, script, or dialog, you can leave the assembly window open, bring the component editor to the front, and make the required changes. Then, to continue testing, you can click the Update button to review your changes. (Note, however, that these changes aren't saved to the component file until you click OK or Save at the component editor.)

Test Assemble Documents

At any point during template development, you can test all or part of the template to make sure it is assembling correctly. Test assembling a document can help you pinpoint trouble spots in the template without requiring you to close the template and assemble it from the library.

When you test assemble a document, HotDocs displays the same HotDocs assembly window users will see. At any time during test assembly, you can return to the template, make the desired changes, and test assemble the document again. The test assembly window will adjust to show your changes.

Use the Test Panel

To help you test, you can use the HotDocs Test Panel. This feature lets you examine variable usage, including whether variables referenced in the interview are actually used in the document (and vice versa). Features of the Test Panel also let you check to make sure you've properly asked variables and set values for variables in the template. Finally, during a test assembly, you can link from the Document Preview tab of the test assembly window back to a specific place in the template.

Resolve Problems in a Template or Script

As you test, you may find problems with your automation. For example, HotDocs may display a syntax error or warning you must fix before the template or script can be properly tested. To help you resolve syntax errors, HotDocs displays error messages that contain information about the specific error as well as a command for going to the error in the template.

Additionally, perhaps a test assembly produces a result you don't expect. To help you step through a template or script in order to determine why you're receiving unexpected results, HotDocs provides the HotDocs Debugger.


Test Individual Variables

When you’re creating a variable or an IF instruction, you can test it to see if it’s working the way you want. Even if the variable is linked to a custom dialog, HotDocs still tests it individually. You can test variables by clicking the Test button at the variable editor.

To test a variable or True/False expression

  1. Edit a variable or IF instruction. (See Edit a Variable or Edit an IF Instruction or Expression.)
  2. Click Test at the variable editor. HotDocs displays a test assembly window.
  3. Enter an answer for the variable.
  4. Optionally, if you assigned a resource to the variable, view the Resource pane. (The Resource pane appears below the dialog pane. If it is not visible, select it at the View menu.)
  5. Click the Result tab to see the answer that would be merged in the assembled document.
  6. Optionally, place your cursor in the answer field and click the [image] Edit Component button in the assembly window toolbar. The variable editor comes to the front so you can make changes. Click Update to update the window. To permanently save the changes, click OK at the variable editor. (See Simultaneously Edit a Template and Test Assemble a Document.)
  7. Click Close (File menu) to close the test assembly window.

You can save your test answers in a test answer file. See Use a Test Answer File.

You can have HotDocs arrange the test assembly window with other open windows. Adjust the height of the test assembly window and then click the [image] Arrange button.


Test a Computation Script

Often, as you write calculations or scripts, you want to make sure they produce the desired result. You can test computations and scripts as you write them. When you do this, HotDocs displays a test dialog in an interview where you can enter the information that is needed to produce a result.

To test a script

  1. At the Computation Editor, enter your computation or script.
  2. When finished, click Test. HotDocs displays a test assembly window.
  3. Enter any required information and click the Result tab. HotDocs displays the computed answer.
  4. (Optional) To further edit the variable, leave the test assembly window open and return to the Computation Editor to make the changes. Click Update at the Computation Editor to update the test assembly window. To permanently save the changes, click OK at the Computation Editor.
  5. Click File, then Close to close the test assembly window.

You can save your test answers in a test answer file.

When you test a computation script, if HotDocs finds any syntax errors in the script, it displays a warning message and then places your cursor as close to the error as possible in the Script box. You must fix the error before HotDocs allows you to save the script.

You can have HotDocs arrange the test assembly window with other open windows. Adjust the height of the test assembly window and then click the [image] Arrange button.


Test a Custom Dialog

You can test a custom dialog to see how the dialog contents will appear during an interview, including any scripting you may have assigned. When you test assemble a dialog, HotDocs displays a test assembly window so you can see the dialog exactly as the user will see it.

To test a custom dialog

  1. Edit the dialog you want to test. (See Edit a Custom Dialog.)
  2. At the dialog, click Test. HotDocs opens a test assembly window, which shows the different components of the dialog you are editing.
  3. Make sure variable prompts, dialog elements, and check boxes appear correctly.
  4. Optionally, select the dialog icon in the interview outline and click the [image] Edit Component button in the assembly window toolbar. The Dialog Editor comes to the front so you can make changes. Click Update to update the window. To permanently save changes, click OK at the Dialog Editor. (See Simultaneously Edit a Template and Test Assemble a Document.)
  5. If you've created a dialog script, type information in the answer fields to make sure the script is updating the dialog correctly.

You can save your test answers in a test answer file. See Use a Test Answer File.

You can have HotDocs arrange the test assembly window with other open windows. Adjust the height of the test assembly window and then click the [image] Arrange button.


Test Assemble a Document

When you’re automating a template, you can test assemble it at any time to see if the document assembles the way you want. When testing a text document, you can test assemble all or just part of it. When testing a form template, you can test using direct-fill mode as well as using an interview (if one has been specified).

To test assemble a text template

  1. At the template, click the [image] Assemble button. HotDocs opens a test assembly window.
  2. Answer questions as they are presented.
  3. Click the Document Preview tab to see the assembled document, just as the user will.
  4. Choose Close (File menu) to close the test assembly window, or switch windows to return to the template.

To test assemble a form template

  1. At the form template, click the [image] Assemble button. HotDocs opens a test assembly window.
  2. If you have created a custom interview, you can view the template's variables and dialogs in the left pane (or interview outline) and the corresponding answer fields in the right pane (or dialog pane). Answer questions as they are presented.
  3. Click the Form Document tab to see the assembled document, just as the user will.
  4. Optionally, click or tab through the fields in the Form Document tab to fill the form directly.
  5. Choose Close (File menu) to close the test assembly window, or switch windows to return to the template.

You can save your test answers in a test answer file. See Use a Test Answer File.

As you complete the interview, you can move between dialogs by clicking dialog icons in the interview outline, by clicking the Next or Previous buttons in the navigation bar, or by pressing Alt+N or Alt+P.

To test a template for online assembly, press the Shift key while clicking the [image] Test Assemble button. (See View an Interview in a Web Browser.)

You can have HotDocs arrange the test assembly window with other open windows. Adjust the height of the test assembly window and then click the [image] Arrange button.

When you test assemble a document from a template, if HotDocs finds any syntax errors in the template, it displays a warning message, which allows you to go to the place in the template where the error occurs. You must fix the error before HotDocs will let you continue. (See Understand and Resolve Syntax Errors in a Template or Script.)

In Microsoft Word, you can also test assemble a document either by clicking on the HotDocs drop-down menu in the HotDocs toolbar and choosing Test Assemble, or by right-clicking in the template and choosing Test Assemble from the shortcut menu.

If you receive an error message that includes a field number, you can quickly go to that field in the template. To do this, click the [image] Go To Field command. See Go to a Specific Field in the Template for details.


Use a Test Answer File

As you test variables, scripts, dialogs, and templates, you can save the answers you use in a special test answer file. When you do this, these answers will be used each time you test, and you will not be prompted to save answers at the end of each test.

To save your answers in a special test answer file

  1. Test assemble a variable, dialog, or template by entering answers for each question.
  2. When finished, close the assembly window. HotDocs asks if you want to save your answers.
  3. Click Save or Save As. The Save Answer File dialog box appears.
  4. In the File name field, type Test Answer File.
  5. In the Title field, enter a title or accept the suggestion HotDocs makes.
  6. Click OK.

Now, whenever you test assemble in HotDocs, this answer file will be used and you will not be prompted to save your answers. To use a different answer file, click either the [image] New Answers button or the [image] Open Answers button in the test assembly window toolbar. If you use an existing answer file other than Test Answer File, HotDocs will use this answer file for each test assembly, but you will be prompted to save any changes you have made to the file when you close the assembly window.


Simultaneously Edit a Template and Test Assemble a Document

You can test a variable, dialog, or script to make sure the information is being processed correctly. When you don't get the results you expect, you can leave the test assembly window open as you make the necessary changes at the component editor for the component you are testing. You can then click the Update button and HotDocs refreshes the assembly window to show your changes. Changes aren't saved to the component file until you click OK at the component editor.

To update the contents of a test assembly window with changes

  1. At the template you are editing, test assemble a variable, dialog, computation script, or template.
  2. Place your cursor in an answer field (or select a dialog in the interview outline) and click the [image] Edit Component button. HotDocs displays the component editor for that specific component.
  3. Make any desired changes to a component or the template text and click Update. HotDocs makes the changes in the test assembly window.
  4. Repeat this process until you see the desired result.
  5. When you are finished, close the test assembly window and click OK at the component editor. The changes are saved to the component file.

You can have HotDocs arrange the test assembly window with other open windows. Adjust the height of the test assembly window and then click the [image] Arrange button.


Understand and Resolve Syntax Errors in a Template or Script

When HotDocs encounters a component or instruction in a template or script that it doesn't recognize or understand, it generates and displays a syntax error message. This message lists the component or components HotDocs was processing when it encountered the error and allows you to go directly to that point in the template or script so you can fix the problem. (See Understand the HotDocs Scripting Language.)

Errors may be caused by:

  • Unrecognized variable names: Any references to variables or other components must have a corresponding component in the component file. For example, you cannot refer to the Text variable Employee Name in the template unless there is Text variable in the component file named Employee Name. This includes using unrecognized variable names in prompts, dialog element text, scripts, and so forth.
  • Incomplete instructions: IF and REPEAT instructions used in the template or a script must have corresponding END IF and END REPEAT instructions. If HotDocs cannot find these instructions, it generates a syntax error when you assemble the document. (This includes test assembling from the template development window.) (You can have HotDocs match opening instructions with closing instructions. See Match Opening Instructions with Closing Instructions.)
  • Syntax errors in a script or expression: Writing scripts in HotDocs requires you to use a specific "language" that HotDocs can recognize and then process. If you use the language incorrectly, or if you use words that are not part of the language, you will receive an error when you try to save your work.

HotDocs reports syntax errors when you try to test assemble a document and when you try to save a script that contains syntactical errors:

  • When a syntax error occurs in a template, HotDocs displays a warning message that describes the error and displays the processing stack for the error. The stack shows, starting from the bottom, the components HotDocs was processing when it found the error. The Field denotes the variable or instruction field in the template where the error occurred, while Position denotes the character position within the field or script.
  • To resolve such a syntax error, select an entry in the processing stack and click Go To Error. (Usually, you should select the topmost entry in the stack.) HotDocs takes you to the reference point so you can make the change. (When you click Go To Error, HotDocs continues to display the error message in a pop-up window, which you can leave open until you have corrected the error. When finished, click Close at the message box.)

You can click the [image] Go to Field button in the HotDocs toolbar to quickly move to a variable or instruction field containing an error.

  • When a syntax error occurs in a script, HotDocs displays an error message and then moves the cursor as close to the error in the script as it can.

For more information on writing scripts, see Understand the HotDocs Scripting Language, Introduction: Instruction and Expression Models, and Customize a Computation Variable.


Introduction: Debugging Templates

When test assembling templates, you may find that some scripting or automation in your template isn’t producing the result you expect. Perhaps you have created a computation script that is producing an answer you think is wrong. To help you troubleshoot situations like this, you can test your templates, resources, or scripts in Debug mode. You do this by inserting a DEBUG instruction in the template, resource, or script you think may be causing the unexpected result. Then, you test it using an answer file. When HotDocs processes the DEBUG instruction, it brings up the HotDocs Debugger so you can step through the script line by line, examining the components and any answers that may be causing the problem. The Debugger allows you to observe how a script is being processed or how a document is being assembled.

While debugging your templates, resources, or scripts, there are several options you can use to help you diagnose the problem. For example, you can add variables to a “watch list,” which allows you to track how answers to certain variables change depending on how other questions are answered in the interview.

The Debugger also displays the processing stack which shows, starting from the bottom, the templates and components HotDocs is processing at the field or line you are currently examining. For example, if you are debugging a computation script in an inserted template, the processing stack would include the name of the parent template, the name of the inserted template, and the name of the Computation variable. Viewing the stack can help you understand what part of the interview you’re viewing as well as provide the path for how you got to it.

You can use the information you gather from debugging to correct problems with automation.


At a Glance: The Debugger Window

At a Glance Debugger Window

After inserting a DEBUG instruction in your template or script you can view the Debugger Window by clicking the [image] Test Assemble button on the HotDocs ribbon and then the [image] Debug button at the Assembly Window toolbar.

At the top of the Debugger Window is the Debugger toolbar A where you can find the following options:

  • Step Into: Causes the Debugger to step into the current field or line of script to show how HotDocs has processed it using the answers you have provided.
  • Step Over: Causes the HotDocs Debugger to not step through any computation or subtemplate referenced in the field unless it encounters another DEBUG instruction.
  • Step Out: Causes the HotDocs Debugger to move you out of the current level of debugging and move you to the next item on the processing stack.
  • Continue: Instructs HotDocs to continue processing the interview until it either finds another explicit DEBUG instruction (which will cause the Debugger to appear again) or it finishes processing.
  • Stop: Causes the HotDocs Debugger to close and returns you to the test assembly window. Also causes HotDocs to disable the Debugger. To enable it again, click the Enable Debugging button.
  • Help: Opens the relevant page of the HotDocs Help File.

Below that is the preview pane B where you can see HotDocs Step through the template or script and highlight in red the variable you are currently viewing. The bottom half of the window C can display the Default Watch List, Custom Watch List, or Processing Stack depending on which tab D is selected.

To learn more about using the debugger window follow the links below:

  • Introduction: Debugging Templates
  • Insert Debugging Instructions in Templates and Scripts
  • Step Through a Template or Script


Insert Debugging Instructions in Templates and Scripts

To debug your template or script, you must first insert a DEBUG instruction in the template, resource, or script. Then, you must test assemble the template (or test the resource or script). Finally, you must enable debugging in the test assembly window.

To debug your template or script using a certain set of answers, first test assemble the template using those answers and then save your answers in a test answer file. (See Use a Test Answer File.) Once you have done this, then complete the steps below.

You can insert a DEBUG instruction:

  • In a text template.
  • In a form template.
  • In a script.
  • In a resource.

To insert a DEBUG instruction

  1. Open the text or form template for editing. (See Edit a Template.)
  2. Complete the following steps, depending on where you need to insert the DEBUG instruction:
    • If you are inserting a DEBUG instruction in a text template, place your cursor where you want to begin debugging. Click the HotDocs menu and choose Other Field from the list of options. Choose DEBUG from the Field type drop-down list . Click OK.

For WordPerfect Users: The HotDocs menu does not appear in WordPerfect. To insert a debug statement, manually type «DEBUG» into the template.

    • If you are inserting a DEBUG instruction in a form template, create a field on the form where you want to begin debugging. Select the field and click the [image] Field Properties button. In the Variable field, type DEBUG. (Close the Field Properties dialog box when you are finished.)
    • If you are inserting a DEBUG instruction in a script, edit the computation or dialog whose script you want to debug. Insert the DEBUG instruction at the place in the script where you want to begin debugging.
    • If you are inserting a DEBUG instruction in a resource, edit the component whose resource you want to debug. Insert the «DEBUG» instruction at the place in the resource text where to want to begin debugging.
  3. Click the [image] Test Assemble button. (If debugging a resource or script, click the Test button.) The test assembly window appears, along with the HotDocs Debugger window, which stops at the field following the DEBUG instruction. (If the Debugger window does not appear, make sure debugging is enabled by clicking the [image] Enable Debugging button in the assembly window toolbar.)
  4. Step through the template, resource, or script using the Debugger. (See Step Through a Template or Script.)


Step Through a Template or Script

Once you have inserted a DEBUG instruction in a script, a resource, or in the template, you can begin stepping through the template, resource, or script to determine where your automation is causing unexpected results. The HotDocs Debugger includes several options for doing this.

Before debugging, however, you should understand how HotDocs processes the template, resource, or script:

When you first test assemble a template, resource, or script, HotDocs processes (or runs through) the entire template, resource, or script to create the interview, which it displays in the test assembly window. As you answer questions in the interview, some answers may cause HotDocs to reprocess the script so it can update the interview. (For example, answering a true/false question may gray or ungray other variables in a dialog. In order for these changes to happen, HotDocs must reprocess the template.) Depending on the complexity of your template, HotDocs may reprocess the template, resource, or script many times during a test assembly.

During a test, if HotDocs encounters a DEBUG instruction, it displays the HotDocs Debugger, which simply shows you how the template, resource, or script is being processed at that specific field or line using any answers that have been entered. This allows you to see how variables and instructions are being used to manipulate text in the document or data in the script or resource. Such analysis will help you understand why you may be seeing unexpected results in your test.

At any time, you can close the Debugger and return to the test assembly window. However, as long as you are in debugging mode, any time HotDocs processes a DEBUG instruction, the HotDocs Debugger will be redisplayed. This will happen each time you make a change to answers in the interview that cause it to be reprocessed.

Debugging mode happens when you have a DEBUG instruction in your script or template and the [image] Enable Debugging button is selected (pressed down) at the test assembly window.

To debug your template, resource, or script using a certain set of answers, first test assemble and then save your answers in a test answer file. (See Use a Test Answer File.) Then debug your template. (See Insert Debugging Instructions in Templates and Scripts.)

To step through a template or script

  1. Insert a DEBUG instruction in the script, resource or template and then test assemble the template. (See Insert Debugging Instructions in Templates and Scripts.)
  2. When the HotDocs Debugger window appears, complete any of the following tasks:
To | Do This
Understand why the Debugger window is showing | Read the explanation at the top of the tabbed pane.
Examine either each field in the template or each line in the script Click [image] Step Into. The Debugger steps into that field or line to show how HotDocs has processed it using the answers you have provided, specifically:
  • If you are in an INSERT instruction, the Debugger will step into the inserted clause, clause library, or template and show you how that file is being processed.
  • If you are in a Computation variable field, the Debugger will step into the computation and show you how the script is being processed.
  • If you are in a regular (non-computed) variable field, the Debugger will move you to the next field or line.

As you step into components and instructions, you will notice that you are adding these levels of processing to the processing stack (which is a sequential list of templates and components you are processing).
Ignore a field or line in a script Click [image] Step Over. The Debugger will not step through any computations or subtemplates referenced in the field unless it encounters another explicit DEBUG instruction.

For example, if you step over a computation field but the computation script includes a DEBUG instruction, HotDocs will stop at the DEBUG instruction in the computation script.
Move to the next item on the processing stack Click [image] Step Out. The Debugger will move you out of the current level of debugging and move you to the next item down on the processing stack (which is a sequential list of templates and components you are processing).

For example, if you are debugging a computation in an inserted template, clicking [image] Step Out will move you out of the computation and back to the inserted template. If you click [image] Step Out again, the Debugger will return you to the parent template.
Stop processing any current DEBUG instructions Click [image] Continue. HotDocs continues processing the interview until it either finds another explicit DEBUG instruction (which will cause the Debugger to appear again) or it finishes processing the template.

Changing answers in the interview may cause HotDocs to reprocess the interview, thus triggering another debug session. To keep this from happening, close the Debugger window and either remove the DEBUG instruction from the template or script, or disable the Debugger. (To do this, click the [image] Enable Debugging button in the test assembly window toolbar.)
Cancel the debugging session Click [image] Stop. HotDocs closes the Debugger window and disables the Debugger. You are returned to the test assembly window.

You can start the Debugger again by clicking the [image] Enable Debugging button in the test assembly window toolbar.
View the current field or line of script and any answers used in processing it Click the Default Watch List tab, which shows a list of variables referenced in the field or script as well as any answers for the variables.

As HotDocs processes REPEAT instructions, it displays the value for the current iteration (or index) in the Answer column. As you step through the REPEAT instruction, you can watch the Debugger increment this index. The Debugger also displays the REPEAT COUNTER.
Track the answers for specific variables as the Debugger steps through the interview or script | Click the Custom Watch List tab. See Add Variables to the Debugger Watch List for details.
View the processing stack, or path of execution Click the Processing Stack tab.

The processing stack shows the sequential list of templates and components you are processing as well as the reason why a certain template or component was added to the stack. This can help you determine how HotDocs came to be processing the current field or line. As you step into components, those components are added to the top of the stack.
Keep HotDocs from debugging the template or script without removing the DEBUG instruction | Click [image] Stop at the Debugger window. This closes and disables the Debugger window. (To start another debugging session, click the [image] Enable Debugging button. HotDocs reprocesses the interview or script, which forces HotDocs to process the DEBUG instruction, thus causing the Debugger to open again.)


At a Glance: The Add or Remove Variables dialog box

After clicking the Custom Watch List tab at the Debugger window, right click and select Add or Remove Variables, then the Add or Remove Variables dialog box appear. Using this dialog you can edit which variables are on your watch list.

At the top of the left hand side of the dialog is a drop-down list A, from this you can select the type of variables that will appear in the variable list B below.

To add a variable to the watch list you first click on it in the variable list then click the arrow button C in the center. To remove a variable from the watch list you click on it in the watch list D and click the arrow in the center to move it back.

You can also search the variable list using the Find field E at the bottom of the dialog.

To learn more about using the watch list follow the links below:

  • Add Variables to the Debugger Watch List


Add Variables to the Debugger Watch List

You can have the Debugger monitor how answers to specific variables change as you step through the interview or script. You do this by adding variables to a custom watch list.

When you add variables to the watch list, they will be associated with the list until you manually remove them. Also, the custom watch list contains variables for only the current component file. In other words, if you are debugging a template that has an inserted template, you can actually have two watch lists—one for variables in the parent template and one for variables in the inserted template.

To add variables to a watch list

  1. At the Debugger window, click the Custom Watch List tab. The tab changes to show the list of specific variables you want to watch.
  2. In the Watch pane, right-click and choose Add or Remove Variables from the shortcut menu. The Add or Remove Variables dialog box appears, showing a list of all the variables in the current component file. (You can filter this list by clicking the Variables drop-down button and choosing a variable type.)
  3. Select a variable and click the [image] Add Variables button. The variable is added to the Variables to watch list.
  4. Add as many variables as you want to monitor and click OK when you are finished. The variables are added to the Custom Watch List tab.

To remove a variable from the custom watch list, select the variable and click the [image] Remove Variables button. You can also select a variable at the Watch pane, right-click, and choose Remove Selected Variable from the shortcut menu.


Introduction: Use the Test Panel

You can display logistical information about the template you are testing in the Test Panel. This includes viewing a list of variables that are asked in the interview but not used in the document (and vice versa), and identifying situations where you've improperly asked or set variable values. Finally, it includes linking from the Document Preview tab of the assembly window back to a specific place in a Microsoft Word template.

Once you open the Test Panel, you can leave it displayed as you work in the test assembly window. Changes you make in the interview are automatically reflected in the Test Panel.


Validate Variable Usage in a Template

One key to good template automation is making sure the variables asked in the interview are both relevant to the interview and to the document. Specifically, you must ensure you're not asking questions in the interview that aren't used in the document, and vice versa. If such a situation exists, the interview and/or document may be incorrect.

You can use the Test Panel to examine which variables are asked in the interview (but not used in the document) as well as see which variables are not asked in the interview but are used in the document.

Variables listed in these tables appear based on the current answer set. For example, if a variable is included in conditional text and the condition has not yet been resolved, that variable will appear in the Variables asked in interview but not referred to in document list. Additionally, if a variable is merged in the document but it is set to Don't ask automatically and it's not specifically asked in a dialog, it will appear in the Variables referred to in document but not asked in interview list.

You can use this tool with both text and form templates.

To view variable usage

  1. Test assemble the document. (See Test Assemble a Document.)
  2. At the test assembly window, click the [image] Test Panel button. The Test Panel window appears.
  3. Click the Variable Usage tab. The view changes to show the validation options.
  4. Select Enable variable usage tracking. This generates the variable lists.
  5. Review the usage lists and make any necessary corrections to the template or interview script.
  6. Optionally, to review the variable's properties, including seeing which dialog links to it, double-click the variable.


At a Glance: The Test Panel Window

When test assembling a document you can open the Test Panel window by clicking on the [image] Test Panel button of the Assembly window tool bar. When it opens you will see the Variable Usage tab.

At the top of the tab you have a check box A that you can click to enable variable usage tracking to see if there are any issues with the variables that have or haven't been included in the interview.

The first list of variables B will show any variables that are in the interview but have not been used in the document, making them unnecessary questions. The second list of variables C will show any variables that are in the document but have not been asked in the interview, meaning they will remain unanswered on the final assembled document.

At the top of the dialog there are two other tabs next to Variable Usage. You can click on the Warning tab to view a list of warnings in the interview and go to them, you can also set options on what causes HotDocs to generate a warning.

You can click on the Go To Template tab to choose whether or not to enable the go to template function.

To learn more about using the test panel window follow the links below:

  • Introduction: Use the Test Panel
  • Validate Variable Usage in a Template
  • Check Interviews for Improper Scripting
  • Move From the Document to the Template During Testing


Check Interviews for Improper Scripting

When assembling documents in HotDocs, HotDocs displays an interview outline in the assembly window. This outline is dynamic, in that as users enter answers, HotDocs processes the answers and updates the outline as necessary. Because of this, some scripting may cause the interview to process incorrectly.

Potential problems include SET instructions that have been used incorrectly, and variables that have been asked or referred to incorrectly. During testing, HotDocs identifies these problems and displays the relevant warnings in the Warnings tab of the Test Panel. You can go directly from a warning to the problem in the template and make changes.

Many of these warnings pertain to variables being asked incorrectly in the interview. To understand the circumstances under which a variable or dialog is asked, it is important to note that when the Ask automatically property is selected for a variable, HotDocs will ask the variable 1) when the answer is used (for example, tested in an IF instruction or merged into text) and 2) when the variable hasn't been asked before in the interview, either by itself or as part of a dialog. Additionally, a dialog is asked automatically when 1) the dialog has not been asked before in the interview and 2) when a variable to which the dialog is linked is asked automatically. Also, a dialog will be asked automatically when it is used in a REPEAT instruction.

See Warnings Tab Descriptions for a description of each warning.

To test a template for correctly produced interviews

  1. At the template you are editing, click the [image] Test Assemble button. HotDocs displays the test assembly window.
  2. Answer questions in a way that causes the interview to update differently based on your answers.
  3. Click the [image] Test Panel button. The Test Panel window appears.
  4. Click the Warnings tab. HotDocs displays a window that contains items for which you can check, as well as a list of actual problems that were found when HotDocs processed the interview.
  5. Select a warning from the Warnings in interview list and click Go to Warning. HotDocs takes you to the place in the template where the potential problem exists. If the problem is in a component, HotDocs opens the component editor so you can make the changes.

If you receive an error that includes a field number, you can quickly go to that specific field in the template by clicking the [image] Go To Field button in the HotDocs Edit toolbar. See Go to a Specific Field in the Template for details.


Move From the Document to the Template During Testing

The Go to Template command is supported in Microsoft Word templates only.

When you are test assembling a document, you sometimes need to return to the template to see how automation in the template affects the portion of the assembled document you are reviewing. Rather than manually search for that section of text in the template, you can use the Go To Template command in the Test Panel to move from a specific place in the assembled test document to the template.

When using this command, you must test assemble the entire document. The command will not work properly if you test assemble just a portion of the template.

To go to a specific location in the template from the test assembly window

  1. Test assemble the document. (See Test Assemble a Document.)
  2. At the test assembly window, click the [image] Test Panel button. The Test Panel window appears.
  3. Click the Go to Template tab. The view changes to show the options available.
  4. Select Enable Go to Template.
  5. Click the Document Preview tab to view the assembled document.
  6. Place your cursor in the document where you want to review the corresponding automation and click Go to Template. The template window comes to the front and inserts your cursor at the specified location.

Selecting Enable Go to Template inserts several hidden field markers in the assembled document that allow HotDocs to find the correct location in the template when you click Go to Template. (To see these markers, you can right-click in the assembled document and choose Show Codes.) If you send a test assembled document to Word with this option enabled, the field markers will appear (albeit hidden) in the new Word document. If you don't want these hidden markers in the document, clear this option before sending the document to Word. (Of course, these markers will not appear in a document assembled regularly.)


Introduction: Publish HotDocs Templates

Publishing is a convenient way to distribute template files to others. When you publish a template, the related files (component files, clause library files, and so forth) are automatically compressed with the template file into one file.

There are four types of files you can publish, including:

  • Standard template files. You can publish a regular template file and copy all the related files to the correct location. You can also apply protection options to the files.
  • Auto-install files. You can publish a template or template set that, when accessed by the user, creates a new library of templates or updates an existing library for the user.
  • Auto-assemble files. You can publish a template or template set that will automatically assemble when the user accesses the file.
  • HotDocs Server files. You can publish the files needed to assemble documents using HotDocs Server.

All of these files can be uploaded to a Web server using your own custom uploading method. (See Introduction: Upload HotDocs Files to a Web Server.)

The HotDocs publishing process offers several ways for you to protect your published files. Also, at the end of the process, you can save your publishing preferences in a HotDocs publish settings (.HDP) file. These files are saved to your HotDocs Publish folder and can be used the next time you publish your templates.


At a Glance: Publishing Options (The Publishing Wizard)

After opening [image] Publishing Wizard from the toolbar (or Tools menu) in your HotDocs Library you will be presented with a series of dialogs containing different options for publishing templates and template sets.

In the Publishing Options Dialog you will first be able to choose from a list of 6 options A:

  • Standard Templates: Publishes the selected templates as standard template files. The template and component files will be copied to the same folder and protected with any protection options you select.
  • Individual auto-install files (HDI): Compresses and publishes the selected template, related files, and HotDocs library as individual auto-install (HDI) files. When HotDocs is passed an auto-install file and the library already exists in the library folder, HotDocs either updates the existing content or creates new library entries with the contents of the .HDI.
  • Individual auto-assemble files (HDA): Compresses and publishes the selected template or templates as individual auto-assemble (HDA) files. When HotDocs is passed an auto-assemble file, it "unpacks" all the files and starts assembling. When it finishes, HotDocs deletes the files.
  • Template set in a single auto-install file (HDI): Compresses and publishes multiple templates, related files, and HotDocs library as an auto-install (HDI) file. When HotDocs is passed an auto-install file and the library already exists in the library folder, HotDocs either updates the existing content or creates new library entries with the contents of the .HDI.
  • Template set in a single auto-assemble file (HDA): Compresses and publishes multiple templates as one auto-assemble (HDA) file. When HotDocs is passed an auto-assemble file, it decompresses all the files and starts assembling each document as if the user had selected multiple templates at the library. When it finishes, HotDocs deletes the files.
  • Template files for use with HotDocs Server: Publishes the HotDocs Server files required for assembling a template on a server. The files generated include the template file (.WPT, .HPT, .DOCX, or .RTF), the component file (.CMP), the template manifest (.manifest.xml), and any additional files (typically graphics) as necessary. Before publishing, you must enable the template for use with HotDocs Server. To do this, make the change at Component File Properties.

Below this list are two check boxes B. Check the first box to have HotDocs include templates used in INSERT and ASSEMBLE instructions and check the second box to make the published files compatible with HotDocs 2006-2008.

Next there is a text field C where you can enter the file path for the folder where you would like to save the published templates. You can click on the arrow at the right of the field to see a drop down list of recently used folders or you can use the [image] Browse button to the right to navigate to the folder you need.

Below this is a drop-down list D where you can choose a web destination if you are uploading the published files to the web. You can also use the [image] Edit Web Destination button to the right to open the Web Destination dialog box and select a new URL.

At the bottom left of this dialog is the Load Settings button E. If you click on this you can navigate to previously saved publishing settings (see Save Publishing Settings).

You can move along to the next dialog by clicking the Next button.

To learn more about publishing options follow the links below:

  • Introduction: Publish HotDocs Templates
  • Publish a Template as a Standard File
  • Publish Templates as Auto-Assemble Files (HDA)
  • Publish Templates as Auto-Install Files (HDI)
  • Publish Templates For Use With HotDocs Server


At a Glance: Published Template Set (The Publishing Wizard)

After opening [image] Publishing Wizard from the toolbar (or Tools menu) in your HotDocs Library you will be presented with a series of dialogs containing different options for publishing templates and template sets.

In the Published Template Set dialog you can select options for saving your published library.

In the top text field A you need to type in a name for the published file and in the bottom text field B you need to type in a title for the template set.

You can move along to the next dialog by clicking the Next button.

To learn more about publishing template sets by following the links below:

  • Publish Templates as Auto-Assemble Files (HDA)
  • Publish Templates as Auto-Install Files (HDI)
  • Automatically Update Published Template Sets


Publish a Template as a Standard File

You can publish a template as a standard template file to distribute among other users, including other users who will access it from the Internet or intranet. (See Upload Templates to a Web Server.) Publishing a template ensures that all associated files are copied to the same folder. It also allows you to protect the files.

You can also publish multiple template files as standard files; however, when you publish multiple templates, they will not be grouped as a set (as they are if you publish an auto-install or auto-assemble file.)

Additionally, you can publish your templates for use with HotDocs 2006-2008. This allows you to keep your templates backwards compatible. If you select this option, HotDocs opens and saves the component file in that version.

To publish templates as standard template files

  1. At the HotDocs library, select the template or templates you want to publish and click the [image] Publishing Wizard button. The Publishing Wizard dialog box appears, displaying the Publishing Options information.
  2. Select Standard template files from the Publish as group.
  3. If your template contains any INSERT or ASSEMBLE instructions, select Include templates used in INSERT and ASSEMBLE instructions.
  4. If you want to make the published template(s) compatible with HotDocs 2006-2008, select Make published files compatible with HotDocs 2006-2008.
  5. Click the [image] Browse button next to the Local folder for published files field to specify the folder where you want HotDocs to save the published files.
  6. Optionally, if you plan to upload the published files, click the [image] Edit button next to the Web destination for published files field and specify the URL of the server to which you want to upload. (When HotDocs finishes publishing the templates, it will start the uploading process. See Introduction: Upload HotDocs Files to a Web Server.)
  7. Click Next. The File Security dialog box appears.
  8. Optionally, specify any security options and click Next. (See Protect Published Files for details.) The Additional Files dialog box appears.
  9. If you want to include additional files (such as resource files), click Add Files, then select the desired files. (See Add Additional Files to a Published Set for details.)
  10. Click Finish. HotDocs publishes your files and returns you to the HotDocs library.

If you publish multiple template sets, you can save the settings you specify during the publishing process so that the next time you publish, the options are already specified. (See Save Publishing Settings.)

Once these files are published to this temporary folder, you should move them to a more permanent location. If you publish additional templates or other files that use the same file names, HotDocs will overwrite the previously published files.


Publish Templates as Auto-Assemble Files (HDA)

A HotDocs auto-assemble (.HDA) file is a compressed file containing a template and its related files (component files, clause library files, and so forth.) When you assemble an auto-assemble file, HotDocs copies the template and related files into a temporary folder, then begins assembling. After assembly finishes, HotDocs deletes the files in the temporary folder. This is useful if you are distributing templates on the Internet, an intranet, or on a network and you don’t want users to have copies on their local drives. (See Introduction: Upload HotDocs Files to a Web Server.)

If you select multiple library items to publish, you can either publish each item as its own auto-assemble file, or you can group items together in a template set. When an auto-assemble file contains a group of templates, assembly proceeds as if the user had selected multiple templates for assembly at the HotDocs library window.

Additionally, you can publish your templates for use with HotDocs 2006-2008. This allows you to keep your templates backwards compatible. If you select this option, HotDocs opens and saves the component file in that version.

To assemble an auto-assemble file, you can either pass the file to HotDocs using a command-line option, or you can add the auto-assemble file to a HotDocs library. If users access an auto-assemble file while browsing the Internet or an intranet, the browser will start HotDocs and pass it the auto-assemble file. If you are using a Web browser other than Internet Explorer, you may need to register HotDocs to work with the Web browser. (See Register HotDocs to Work with Web Browsers.)

To publish templates as auto-assemble files

  1. At the HotDocs library, select the template or templates you want to publish and click the [image] Publishing Wizard button. The Publishing Wizard dialog box appears, showing the Publishing Options information.
  2. Select one of the following from the Publish as group:
    • Individual auto-assemble files (HDA)
    • Template set in a single auto-assemble file (HDA)
  3. If your template contains any INSERT or ASSEMBLE instructions, select Include templates used in INSERT and ASSEMBLE instructions.
  4. If you want to make the published template(s) compatible with HotDocs 2006s-2008, select Make published files compatible with HotDocs 2006-2008.
  5. Click the [image] Browse button next to the Local folder for published files field to specify the folder where you want HotDocs to save the published files.
  6. Optionally, if you plan to upload the published files, click the [image] Edit button next to the Web destination for published files field and specify the URL of the server to which you want to upload. (When HotDocs finishes publishing the templates, it will start the uploading process. See Introduction: Upload HotDocs Files to a Web Server.)
  7. Click Next. The File Security dialog box appears.
  8. Optionally, specify any security options and click Next. (See Protect Published Files for details.)(If publishing individual auto-assemble files, skip to step 9.)
  9. Enter a name for the HDA file in the File name for published HDA file field, and then enter a title for the file in the Template set title field.
  10. Click Next. The Additional Files dialog box appears.
  11. If you want to include additional files (such as resource files), click Add Files, then select the desired files. (See Add Additional Files to a Published Set for details.)
  12. Click Finish. HotDocs publishes your files and returns you to the HotDocs library.

If you publish multiple template sets, you can save the settings you specify during the publishing process so that the next time you publish, the options are already specified. (See Save Publishing Settings.)

Once these files are published to this temporary folder, you should move them to a more permanent location. If you publish additional templates or other files that use the same file names, HotDocs will overwrite the previously published files.


At a Glance: Auto Install Target Library (The Publishing Wizard)

After opening [image] Publishing Wizard from the toolbar (or Tools menu) in your HotDocs Library you will be presented with a series of dialogs containing different options for publishing templates and template sets.

In the Auto-Install Target Library dialog you can select options for saving your published library.

In the first text field A you can enter a file name for the library, in the second field B you can enter a title for the library (this will appear at the top of the template list in the when the library is opened). In the third field C you can enter an optional description of the library.

Below the text fields is a series of three check boxes D. Check the first box to over-write an existing library title or description, check the second box to update the library items without installing the templates and check the third box to install the templates for read-only access.

You can move along to the next dialog by clicking the Next button.

To learn more about setting options for the auto-install target library follow the links below:

  • Publish Templates as Auto-Install Files (HDI)
  • Create an HDI File for a CD-based Template Set


Publish Templates as Auto-Install Files (HDI)

A HotDocs auto-install (.HDI) file is a compressed file containing a library and one or more templates and their related files (component file, clause library file, and so forth). Auto-install files are a convenient way to distribute template sets to users, especially sets that must be updated periodically.

When you create an auto-install file, you specify a library file name. The first three characters of the file name are automatically assigned the characters, PUB, which sets a reference path keyword for the library. The first time a user installs a template set with that library file name, HotDocs suggests to the user that the library for the templates be installed in the Template Sets folder or the user's Libraries folder. HotDocs then asks where the templates should be installed. Any subsequent template sets with that same library file name will automatically get installed to the same folders. The paths for the templates in the library will appear as ^library file name\library file name\template file name.

If you select multiple library items to publish, you can either publish each item as its own HDI file, or you can group items together in a template set.

Additionally, you can publish your templates for use with HotDocs 2006-2008. This allows you to keep your templates backwards compatible. If you select this option, HotDocs opens and saves the component file in that version.

To assemble an auto-install file, you can either pass the file to HotDocs using a command-line option, or you can add the auto-install file to a HotDocs library using the Install Templates command (File menu at the HotDocs library). If users open an auto-install file from the Internet or an intranet, the browser will start HotDocs and pass it the file.

When HotDocs is passed an auto-install file, it installs a library, which contains the templates you published. If the library already exists, HotDocs updates it, overwriting existing library items and adding new items. If the library doesn't already exist, HotDocs creates it.

To publish templates as HotDocs auto-install files

  1. At the HotDocs library, select the template or templates you want to publish and click the [image] Publishing Wizard button. The Publishing Wizard dialog box appears, displaying the Publishing Options information.
  2. Select one of the following from the Publish as group:
    • Individual auto-install files (HDI)
    • Template set in a single auto-install file (HDI)
  3. If your template contains any INSERT or ASSEMBLE instructions, select Include templates used in INSERT and ASSEMBLE instructions.
  4. If you want to make the published template(s) compatible with HotDocs 2006-2008, select Make published files compatible with HotDocs 2006-2008.
  5. Click the [image] Browse button next to the Local folder for published files field to specify the folder where you want HotDocs to save the published files.
  6. Optionally, if you plan to upload the published files, click the [image] Edit button next to the Web destination for published files field and specify the URL of the server to which you want to upload. (When HotDocs finishes publishing the templates, it will start the uploading process. See Introduction: Upload HotDocs Files to a Web Server.)
  7. Click Next. The File Security dialog box appears.
  8. Optionally, specify any security options and click Next. (See Protect Published Files.) (If publishing individual auto-install files, skip to step 9.)
  9. At the Published Template Set dialog box, enter a name for the HDI file in the File name for published HDI file field, and then enter a title for the file in the Template set title field.
  10. Click Next. The Auto-Install Target Library dialog box appears.
  11. Enter a library file name, title, and optional description for the library that will be created and select any of the following options:
    • Update library title and description even if library already exists updates the current library title and description to match the information in the library that is being installed.
    • Update library items without installing templates points the items in the library to templates on a CD. (The templates on the CD must be saved in a first-level folder with the same name as the library base file name (including PUB).)
    • Install templates for read-only access installs the templates as read-only, which prohibits users from editing them.
  12. Click Next. If you’re publishing a template set in a single auto-install file, the Target Library Shortcut dialog box appears. (If you’re publishing individual auto-install files, skip to step 13.)
  13. Optionally, select Install a shortcut in the user's Start menu and specify any shortcut options. (See Create a Shortcut for an Auto-Install Library.)
  14. Click Next. The Additional Files dialog box appears.
  15. If you want to include additional files (such as resource files), click Add Files, then select the desired files. (See Add Additional Files to a Published Set for details.)
  16. Click Finish. HotDocs publishes your files and returns you to the HotDocs library.

Once these files are published to this temporary folder, you should move them to a more permanent location. If you publish additional templates or other files that use the same file names, HotDocs will overwrite the previously published files.

When installing templates for read-only access, you should understand that this option simply marks the files as read-only, so feasibly, users could change the file properties and then edit the templates, as long as they have HotDocs Developer. To keep users from editing the template, specify the Lock Component Files option at the File Security dialog box.

When updating an existing published template set that is in binary format, if you use any foreign characters in any of the properties of the template set, HotDocs will convert the existing library to XML format so that it can display the characters.

When updating the library, HotDocs looks to see if each item in the auto-install file’s library exists in the user’s library. If folder and template titles don't match, HotDocs adds new items instead of updating existing items.

If you give your libraries file names that are unique to your company or product, you will reduce the chance of another publisher creating a template set with the same name.

If you publish multiple template sets, you can save the settings you specify during the publishing process so that the next time you publish, the options are already specified. (See Save Publishing Settings.)

You can have a custom splash screen appear when the user launches the library created by the auto-install file. (See Use a Custom Library Splash Screen.)


At a Glance: File Security (The Publishing Wizard)

After opening [image] Publishing Wizard from the toolbar (or Tools menu) in your HotDocs Library you will be presented with a series of dialogs containing different options for publishing templates and template sets.

In the File Security dialog you can select the security options for your published library.

In the first check box A you can choose to lock the component files of the published templates to prevent editing and in the second check box B you can choose to set an expiration date for the component files.

If you tick the third check box C to register component files then the password field below ungrays and you can enter the password for the publisher key file. (You should have received this password from the HotDocs Corporation publisher key administrator who gave you the publisher key file.)

If you tick the fourth check box D to choose to password protect the published files you can specify the password you would like the user to enter in the password field below. This is the same when you tick the fifth check box E to password protect documents sent to Microsoft Word

You can move along to the next dialog by clicking the Next button.

To learn more about setting options for your file security follow the links below:

  • Publish a Template as a Standard File
  • Publish Templates as Auto-Assemble Files (HDA)
  • Publish Templates as Auto-Install Files (HDI)
  • Protect Published Files
  • Publish and Register Templates for Use With HotDocs Player


At a Glance: Component File Expiration (The Publishing Wizard)

After opening [image] Publishing Wizard from the toolbar (or Tools menu) in your HotDocs Library you will be presented with a series of dialogs containing different options for publishing templates and template sets.

If you choose to set an expiration date for your component files in the File Security dialog then the Next button would take you to the Content File Expiration dialog where you can set these options.

In the first text field A you can type the expiration date you would like to give the component files, or you can click on the [image] Calendar button to the right of the text field to select a date.

Below this text field are two number fields. In the first field B you can use the arrows or type a number to set the amount of days prior to the expiration date HotDocs will display the expiration message to warn the user. In the second field C you can use the arrows or type a number to set the amount of days after the expiration date that the user will still be able to use the templates.

In the large text field D you can type in an expiration message that the user will see along side the HotDocs warning showing the expiry date. By default, when a user attempts to use a template that is either going to expire or has already expired, HotDocs automatically displays a warning message that gives these details, including the expiration date. You can include additional information that will appear in this message box -- for example, contact information for obtaining an updated template or template set.

You can move along to the next dialog by clicking the Next button.

To learn more about setting the component file expiration options follow the link below:

  • Protect Published Files


Protect Published Files

During the publishing process, you can specify options that control users' access to the files, set expiration dates for the files, and assign passwords to them.

To protect published files

  1. At the File Security dialog box of the Publishing Wizard, select the desired protection options:
    • Lock component files to prevent editing assigns an encrypted password to the component file, which keeps the user from editing it.
    • Set expiration date for component files makes the published templates usable only until a certain date. Selecting this option causes the Component File Expiration dialog box to appear when you click Next. (See Step 2 for details.)
    • Register component files allows you to register templates for commercial use with HotDocs Player. (To do this, you must obtain a special publisher key (.HDK) file from your HotDocs sales representative. Once this file is obtained (including a password to use it), the publisher key must be copied to the HotDocs program folder. Then, when you publish your template set, these options will be available. The resulting published set can be used with Player. See Publish and Register Templates for Use With HotDocs Player.)

If your users upgrade to HotDocs Developer and then attempt to edit any published templates you have registered, those templates will no longer work with HotDocs Player. To prevent users from modifying component files, and thus unregistering them, you should lock the component files. (See above.)

    • Password protect published files requires users to enter a password before assembling the auto-assemble file or installing the auto-install file. You specify this password in the Password field.
    • Password protect documents sent to Microsoft Word requires users to unprotect the document before modifying assembled documents that have been sent to Microsoft Word. (They do this by entering the password you used to publish the file.) (This can include documents that were assembled from WordPerfect templates.) You specify this password in the Password field.
  2. If you selected Set expiration date for component files, the Component File Expiration dialog box appears. Select the desired expiration options:
    • Expiration date lets you specify the date on which you want the files to expire. Type the date in the field, or click the calendar icon next to the field to select the date.
    • Warning period lets you warn users that their files are about to expire. Click the up or down arrows to specify the number of days this warning will appear before the template actually expires and can no longer be used.
    • Extension period lets users continue to use the files for a specified amount of time after the template or template set has expired. Click the up or down arrows to specify the number of days.
    • Expiration message lets you include a custom message about the files that are set to expire. Enter your message in the text field. (HotDocs automatically includes information about the expiration date.)


Publish and Register Templates for Use With HotDocs Player

You can register your templates so they can be used with HotDocs Player. To do this, you must first obtain a publishing license. You will then receive a publishing key file (register.hdk), which allows you to register your templates for use with HotDocs Player. Registration happens during the publishing process. A publishing license also allows you to redistribute HotDocs Player at no cost to your users.

To publish your templates for use with HotDocs Player

  1. Copy Register.hdk to the HotDocs program folder (for example, C:\Program Files\HotDocs).
  2. At the template library, select the templates you want to publish and click the [image] Publishing Wizard button.
  3. At the Publishing Options page of the wizard, enter all the required information for the template set you are publishing and click Next. The File Security page appears.
  4. Select Register component files and enter the password for the publisher key file in the Password field. (You should have received this password from the HotDocs Corporation publisher key administrator who gave you the publisher key file.)
  5. Continue with the publishing process

Your templates are now registered and can be used with HotDocs Player.


At a Glance: Target Library Short-Cut (The Publishing Wizard)

After opening [image] Publishing Wizard from the toolbar (or Tools menu) in your HotDocs Library you will be presented with a series of dialogs containing different options for publishing templates and template sets.

In the Target Library Shortcut dialog you can select options for creating a shortcut for your published library.

You can choose to install a shortcut to the published library in the users Start menu by ticking the check box A at the top of the dialog. This ungrays the rest of the options.

Ticking the second check box B will have HotDocs ask the user to confirm which folder in the Start menu should contain the shortcut.

To choose a custom icon for the shortcut you can type the icon file path into the text field C or use the [image] Browse button to navigate to the file you would like to use.

In the next text field D you can enter a name for the folder that will contain the library shortcut and in the last text field E you can type in the label for the shortcut.

You can move along to the next dialog by clicking the Next button.

To learn more about creating a target library shortcut follow the links below:

  • Publish Templates as Auto-Install Files (HDI)
  • Create a Shortcut for an Auto-Install Library


Create a Shortcut for an Auto-Install Library

When you publish a template set in a single auto-install file, you can have HotDocs create a shortcut in the user's Start menu. The shortcut is created when the user installs the file, and, depending on the options you specify, the user can specify the exact location for the shortcut. You can also include your own custom icon that will be used when the shortcut is created.

To add a shortcut (including a custom icon) to the Start menu

  1. At the Target Library Shortcut dialog box (which appears during the publishing of a template set in a single auto-install file), select Install a shortcut in the user's Start menu.
  2. Optionally, select any of the following options:
    • Select Prompt for which folder should contain the shortcut to have HotDocs prompt users to specify where the shortcut will be placed.
    • Click the [image] Browse button next to the Icon to use field and locate the icon (.ICO) file you want to assign to the library. (If you leave this field empty, HotDocs will use a default icon.)
    • Type a name in the Folder to contain shortcut field. HotDocs will create a folder in the Start > Program Files menu using this name, and will save the shortcut there. (If you don't specify a name, HotDocs creates the shortcut in the HotDocs program folder.)
    • Type a shortcut name in the Label for shortcut field. The label is what identifies the shortcut in the Start menu.
  3. Click Next and finish the publishing process.


Create an HDI File for a CD-based Template Set

If you are distributing a template set on CD and you want the templates to stay on the CD instead of being installed, you can create an auto-install file that will create the template set library on the user’s computer and point the library entries to the templates on the CD.

Users can install the library by clicking Install Templates (File menu at the HotDocs library window) and selecting the .HDI file.

To create an auto-install file for a CD-based template set

  1. Publish the template set in a single .HDI file. (See Publish Templates as Auto-Install Files (HDI).)
  2. At the Auto-Install Target Library dialog box, note the library file name (you will need this name in Step 4), and select Update library items without installing templates.
  3. Finish publishing the template as you normally would.
  4. When you put the templates and their associated files on the CD, put them in a first-level folder with the same name as the library base file name (including PUB) you specified in Step 2. Make sure all associated files and all inserted files are included on the CD.


At a Glance: Additional Files (The Publishing Wizard)

After opening [image] Publishing Wizard from the toolbar (or Tools menu) in your HotDocs Library you will be presented with a series of dialogs containing different options for publishing templates and template sets.

In the Additional Files dialog you can add extra files that need to be published with the library.

In the main part of this dialog A you will see a list of any additional files already added to your library. To add or remove files you can use the buttons B at the bottom left of this field. For example, this can include a product splash screen bitmap you want to associate with an auto-install file.

As this is the last page of the Publishing Wizard you will see at the bottom left of the dialog is the Save Settings button C. You can click on this to save the options you have been selecting as a HotDocs Publish Settings File so you can use it in the future to save time when publishing the same or similar libraries.

You can end the Publishing Wizard and start to publish the files by clicking the Finish button.

To learn more about adding additional files follow the links below:

  • Publish a Template as a Standard File
  • Publish Templates as Auto-Assemble Files (HDA)
  • Publish Templates as Auto-Install Files (HDI)
  • Add Files to a Published Set
  • Save Publishing Settings
  • Use a Custom Library Splash Screen


Add Files to a Published Set

As you are publishing templates and template sets, you may want to include additional files, such as answer files, resource files, or bitmap files used for custom library splash screens. You can include any of these files by adding them at the Additional Files dialog box.

To add files to a published template set

  1. Publish your templates or your template set. (See Publish a Template as a Standard File, Publish Templates as Auto-Assemble Files (HDA), or Publish Templates as Auto-Install Files (HDI).)
  2. At the Additional Files dialog box, click Add Files. The Select Additional File(s) dialog box appears.
  3. Browse to the folder that contains your additional files, select the files, and click Select. HotDocs lists the files in the field.
  4. Optionally, select a file and click Remove Files to remove a file from the list.
  5. Click Finish to finish the publishing process.


Save Publishing Settings

Any options you select during the publishing process can be saved to a published settings (.HDP) file and used again the next time you publish a template or set of templates.

To save the settings you used during publishing

  1. Publish your templates or your template set. (See Publish a Template as a Standard File, Publish Templates as Auto-Assemble Files (HDA), or Publish Templates as Auto-Install Files (HDI).)
  2. Before clicking Finish at the Additional Files dialog box, click Save Settings. HotDocs displays the Save Publish Settings As dialog box.
  3. Type a name for the file in the File name field. HotDocs adds the extension .HDP to the file.
  4. Click Save. The file is saved to the HotDocs Publish folder.

To use the publish settings file, at the first dialog box of the Publishing Wizard, Publishing Options, click Load Settings. The Load Publish Settings dialog box appears. Select the publish settings (.HDP) file and click Load.


Use a Custom Library Splash Screen

You can attach a custom splash screen to any HotDocs library. The splash screen is displayed each time the library is opened. Template set publishers use library splash screens to identify ownership of or contributors to the templates in a library.

To attach a splash screen to a library

  1. Create a bitmap file (.BMP) of your splash screen, then save it with the same base name as your published library name. For example, the splash screen for the published library with the file name PUBBusiness.hdl would be PUBBusiness.bmp.
  2. Save the splash screen file to the same folder as the library file to which you want it associated. (If you are publishing an auto-install file, add the file at the Additional Files dialog box of the Publishing Wizard.)

When a user opens a library by clicking the [image] HotDocs button in the word processor toolbar, no splash screens are displayed.


Automatically Update Published Template Sets

For complete information on automatically updating your published template sets through HotDocs, see the HotDocs API section of the HotDocs Knowledge Base.

When you publish a template set, you can distribute a HotDocs update catalog (.HCAT) file along with your templates. HotDocs uses this file to automatically check for updates and notify users when updates are available for your template set. Catalog files contain a link to an RSS document ("feed") on your organization's Web server, which lists all of the available updates. When you need to update the template set, you add an item to the RSS document and users see the update the next time HotDocs checks the RSS feed.

To use this feature, you must create an update catalog (.HCAT) file that you distribute to each user and an update document (RSS feed) that you host on your Web server.

HotDocs Update Catalog Files

A HotDocs update catalog file is an XML file that contains information about the template set to be updated. The following table lists the main elements of a catalog file:

Element | Description
formatversion | A number that indicates the catalog file format. Currently, the only recognized value is 1, but future versions of HotDocs may support additional values.
feedurl | A URL for the update document (RSS feed). For example, http://www.yourcompany.com/update.rss.
checkinterval | The number of days between each update check. If the interval is 0, HotDocs will check for updates every time it starts.
publishdate | The date on which the template set was published. When HotDocs reads the RSS feed, it ignores any updates published prior to this date. The date must be in the following format: Sun, 03 Jun 1990 00:00:00 GMT.
title | The title of the template set. For example, Hobble Creek Real Estate Forms.
password | The password required to install HotDocs Auto-Install (.HDI) files for your template set. When HotDocs installs an update that requires a password, it uses the password found in this property. (If you set this property, you should use the same password each time you create an .HDI file to update your template set.)
enabled | Indicates whether HotDocs should check for updates for this template set (true) or not (false). Users can change this value at HotDocs Options (Tools > Options > Template Set Updates).

In addition to these elements, catalog files contain three lists of update items: notinstalleditems, discardeditems, and installeditems. HotDocs populates these lists and keeps them up to date automatically as it reads the RSS feed specified in the feedurl element. When you create an update catalog file for distribution with a template set, these lists are normally empty.

The following example shows the contents of a typical update catalog file without any updates.

Example HotDocs Update Catalog File

You can distribute the update catalog file in two ways. If you publish your template set as a HotDocs Auto-Install (.HDI) file, you can include the .HCAT file in the list of additional files. When HotDocs installs the template set, it automatically copies the .HCAT file to the Catalog Files folder specified in the user's HotDocs Options (Tools > Options > File Locations > Catalog Files). You can also manually copy the .HCAT file to the user's Catalog Files folder.

HotDocs must have read/write access to the .HCAT file. If HotDocs cannot access the folder or catalog file, the catalog file will be ignored.

HotDocs Update RSS Document

A HotDocs update RSS document is an XML file that conforms (with a few exceptions) to the RSS 2.0 specifications. It contains one channel with the following required elements:

Element | Description
title | The title of the template set. For example, Hobble Creek Real Estate Forms.
link | A URL for the template set. It may be a Web site that contains information about your company or template set. (HotDocs does not currently use this element, but it is included to conform to the RSS specifications.)
description | A description of the template set. (HotDocs does not currently use this element, but it is included to conform to the RSS specifications.)

The RSS channel also includes a list of individual update items, which contain the following elements:

Element | Description
title | The title of the update item. For example, if you update your template set monthly, the title may include the month in which the update is released. If the update fixes a problem with a particular template, the title may include the name of the template.
link | The URL for the update item. For file updates, this is the URL for a HotDocs Auto-Install (.HDI) file. For message updates, this is either the URL for a Web site you want users to visit, or it can be empty if you just want to display a simple message (see the description element below).
description | A description of the update item. If a message update does not include a link, HotDocs displays this description when the user applies the update.
guid | A string that uniquely identifies this update item. This must be different for each update item within your template set.
category | The type of item update. It can be one of the following two values: File Update: Installs an .HDI file. Message: Displays a message or links to a Web page.
pubDate | The date on which the update item was published. When HotDocs reads the RSS document, it ignores any items with a publication date earlier than the publication date in the .HCAT file. The date must be in the following format: Sun, 03 Jun 1990 00:00:00 GMT.

You can also indicate if an item is required, which means that end users cannot discard (hide) the update. HotDocs does not force users to install the update, but it will appear in the list of updates every time HotDocs checks for updates until it has been installed. To make an update item required, add required="true" to the item tag (e.g., <item required="true">).

The following example shows an RSS document with three update items.

Example RSS Document


HotDocs Server Overview

HotDocs Server is the server-based version of HotDocs that allows HotDocs interviews (data-gathering sessions) to be displayed by a standard Web browser and documents to be generated (assembled) on the web server, without requiring any special software to be installed on an end-user's computer. Generally speaking, when a user goes to your Web site and initiates assembly of a document, a request is made to the HotDocs Server engine, which is running on the server. HotDocs Server then sends an interview back to the user's browser, where it appears as part of a Web page. Once the required information has been entered, the user clicks a button that posts the answers (in XML format) back to HotDocs Server, where they can be merged into assembled documents..

The following diagram shows the assembly process:

The benefit of creating a Web application using HotDocs Server is that end users do not need HotDocs installed on their computers, since the interview is presented in a Web browser and document assembly happens on the server. For example, your human resources department may integrate its forms into its intranet site using HotDocs Server. Employees would then go to the intranet site, select which form to fill out, provide the required information, and then submit the form to the appropriate human resources representative—all from within a Web browser. Depending on project requirements, employees may also print copies of assembled documents, save copies of assembled documents to their hard drives, or (if the intranet site facilitates it) simply store assembled documents or answer files directly in the intranet app.

HotDocs Server may also be used to generate a document without an interactive interview. Likewise, HotDocs browser interviews may be used to gather information for storage or later use without immediate assembly of any documents at all.

HotDocs Server vs. Desktop HotDocs

The HotDocs family of products includes both desktop- and server-based products. The primary desktop-based product, HotDocs Developer, is used for creating HotDocs templates. HotDocs Server, on the other hand, is used only for running templates; it cannot be used to create them. Another difference between Server and desktop HotDocs is the user interface: desktop editions of HotDocs include word processor and other integrations for creating templates, and the "HotDocs Library" for managing templates, answer files, and more. The user interface presented directly by HotDocs Server, at least from an end user's perspective, is limited to displaying interviews in the Web browser. All other interaction with the user is accomplished by a custom host application, which you must build and maintain. The advantage with this approach is that you can expose your users to only as much user interface as they need to perform their document assembly tasks.

Despite their differences, desktop HotDocs still plays an important role in relation to HotDocs Server: it is the tool used to create (and help test) all content (templates) that will eventually be deployed in HotDocs Server.

If you plan to primarily develop templates for HotDocs Server then you can use the HotDocs Options to enable every newly created template for HotDocs Server by default.


Features Not Allowed in HotDocs Server Templates

Home > Publishing Templates > Publishing HotDocs Server Templates > Features Not Allowed in HotDocs Server Templates

Template Features Not Allowed in HotDocs Server or Cloud Services Interviews

There are some template building features that are specific to HotDocs Server and HotDocs Cloud Services. Other features work differently in desktop interviews than in Server and Cloud Services. The following template features are NOT compatible with browser-based deployments. Using any one of these features in a template prevents you from uploading that template to HotDocs Server or HotDocs Cloud Services. (An error message appears when you try to test the template in a browser or enable the template for use with Cloud Services or HotDocs Server.)

There are workarounds available for some of the disallowed features below.

Feature | Description
Clauses and clause libraries | Although clauses and clause libraries are not supported in HotDocs Server, you can use inserted templates to achieve similar results. For example, you can use the answer for a True/False variable to determine when to insert a template into the assembled document.
INSERT instructions used in Interview Templates | HotDocs Server cannot process INSERT instructions in Interview Templates.
LANGUAGE instructions used in expressions | LANGUAGE instructions are not allowed when used as part of an expression. However, you can merge the instruction directly in the template.
Personal Information variables | Personal Information variables require access to the Current User key of the Windows registry. Since HotDocs Server cannot access the user's registry, this feature is not allowed.
ANSWER FILE NAME variables | The ANSWER FILE NAME variable is used to merge the name of the answer file used in the assembled document. Because of the differences in the way server-based versions of HotDocs work with answer files, this is not allowed.
Database components | Database components created using HotDocs Developer cannot be used in HotDocs Server templates deployed to HotDocs Server or Cloud Services.
PLAY "MACRO" instructions | This instruction plays a word processor macro after the document is assembled and either sent to the word processor, printed, or saved. Playing a macro requires access to a word processor, and since HotDocs Server assembles documents outside of the word processor, it cannot play macros.
Application link dialog elements and EXECUTE instructions | These instructions are used to start other applications on the user's computer. However, they are not allowed in HotDocs Server templates.
Automatic Paragraph Numbering | In JavaScript and Silverlight interviews, you cannot use PN numbering (e.g., «PN1». What is your name?) to automatically number the prompts. You can still use PN numbering in the text of the template itself.
Bookmarks | Bookmarks that have been inserted into a document by Word or WordPerfect cannot be used with HotDocs server.


Features That Work Differently in HotDocs Server Interviews

Home > Publishing Templates > Publishing HotDocs Server Templates > Features That Work Differently in HotDocs Server Interviews

Features that Work Differently in Desktop Interviews than in Server and Cloud Services Interviews

The following template features are allowed in templates deployed on HotDocs Server or HotDocs Cloud Services; however, they work differently in desktop interviews than in browser-based interviews. In some cases, the end result may be the same, but the difference between the desktop and browser interview user interfaces require you to change how you implement some features. There are also some features that are ignored when they are used in templates enabled for HotDocs Server (browser-based) deployment. Unlike those features not supported in browser-based interviews, the features listed below do not cause any errors.

Feature | Description
Answer sources | In desktop HotDocs, you can specify an answer source (a list of answers from which a user can select one) for a dialog. Users open the list when answering a question in a dialog and pick an existing answer, instead of entering one manually. However, when presenting interviews in a web browser, only "CURRENT ANSWER FILE" answer sources are supported; others are ignored (the Select button does not appear on the dialog).
Automatically selecting a Multiple Choice option when the variable is unanswered | In HotDocs Developer, at the Multiple Choice Variable Editor, you can click the Options tab and specify which option should be automatically selected if the variable is unanswered when displayed. Although these "default" options are ignored in browser-based interviews, you can still achieve the same results by using the DEFAULT instruction in your template.
Text patterns | Text patterns are supported in both desktop and browser-based interviews, but the way answers are formatted as they are entered during the interview is slightly different in each version.
Example formats | HotDocs fields embedded in variable prompts, dialog element text, resource text, etc., within browser interviews, do not yet support the full range of format examples supported by desktop HotDocs. If a format example is encountered that is not recognized, the variable's answer will be merged using a reasonable default format.
Rows to display | If you alter the amount of spreadsheet Rows to display in the interview, at the Dialog Editor, the change will not be carried over to the browser-based interview after publishing.
Web link dialog elements | You can use Web link dialog element to add a button to a dialog that links to a database. However, this works only in browser-based interviews. Web links that launch such databases do not appear in desktop interviews.
Image dialog elements The following restrictions apply to images displayed in dialogs:

  • .JPG and .PNG images are supported in all browser-based interviews. In addition, JavaScript interviews allow .GIF images. Browser interviews do not support .BMP images.

  • Some rare PNG files (gray scale and 64-bit true color) may not be supported in Silverlight interviews.
Resources for variables and dialogs Browser-based interviews only support Plain Text and URL resources. All other resource types (HTML Help, Windows Help, Folio Infobase, Custom Program) are ignored. (No resource is displayed for the dialog or variable.) In addition, browser-based interviews display all URL resources as hyperlinks that open up separate windows; the actual Web page does not appear in the resource pane.

Interviews intended to be displayed on an Ipad should note that when the resource pane is activated the on-screen keyboard will be closed.
End of Interview dialog | HotDocs browser-based interviews do not include an End of Interview dialog. Selecting Hide End of Interview dialog at the Component File Properties dialog box (Assembly tab) has no effect on a browser-based interview.
Question and Answer summaries | Selecting Use variable names in summaries at the Component File Properties dialog box (Assembly tab) has no effect on a browser-based interview. (Browser-based interviews do not have an option for creating Question summaries, and Answer summaries always use variable prompts.)
"TypeHere" bookmarks | Since HotDocs Server and Cloud Services do not send assembled documents to the word processor, selecting Move to the "TypeHere" bookmark at the Component File Properties dialog box (Assembly tab) is not applicable.
Prevent users from using an answer file to assemble a document | Since answer file selection and processing is handled by your host application, the Do not use answer files option at the Component File Properties dialog box (Assembly tab) does not affect browser-based interviews.
Max WHILE iterations | HotDocs Server and Cloud Services do not honor the Maximum WHILE iterations value specified at the Component File Properties dialog box (Assembly tab). (You should be careful not to create an infinite WHILE loop in your templates.)
Max processing stack depth | HotDocs Server and Cloud Services do not honor the Maximum processing stack depth value specified at the Component File Properties dialog box (Assembly tab). (You should be careful to avoid infinitely recursing (processing) a computation.)
Accelerator keys in variable prompts | In desktop interviews, you can make a character in a variable prompt an accelerator key by typing an ampersand (&) character immediately before the letter you want as an accelerator. Browser-based interviews correctly remove the ampersand when the prompt is displayed in the interview, but does not make the following character an accelerator key.
SUM( COMPUTATION_VAR ) expression | Using the SUM( COMPUTATION_VAR) expression to display information during the interview is not supported. You can use this expression as part of the text in the assembled document, but not in a dialog script or dialog element.
Dot Codes The following dot codes are not supported in Silverlight interviews:

  • «.tc»: Tab character dot codes are ignored.

  • «.oh»: An optional hyphen is treated like a normal hyphen.

  • «.pb» and «.pm»: Page break and paragraph mark dot codes are both treated like line breaks.

  • «.w "URL"»/«.we»: New line characters, strike-through, and underline formatting is ignored within the text of a Web link.
Automatic Prompt Alignment | In Silverlight interviews, automatic prompt alignment works differently than it does in JavaScript or desktop interviews.
ASK NONE script in Interview computations | As well as not being asked in the interview, variables that have been included in the ASK NONE script in desktop HotDocs will be marked as having already been asked so any subsequent attempts to ASK them in the interview script will not work. This is not the case in browser interviews where ASK NONE will allow these variables to be asked again later in the interview script.
SPAN Instructions | When HotDocs assembles a template which contains a SPAN instruction, it checks the answer file to see if it contains an answer for that SPAN component. If there is an answer, the text within the SPAN instruction is replaced by the text in the answer file. This works whether you are assembling a document on the desktop or from a browser-based interview. The difference, however, is that desktop interviews provide an interface at the Document Preview tab where you can edit the text within a SPAN instruction. In browser-based interviews, there is no such user interface for editing SPAN text, which puts the usefulness of SPAN instructions into question in this case.


Enable Templates for Use With HotDocs Server

If you plan to primarily develop templates for HotDocs Server then you can use the HotDocs Options to enable every newly created template for HotDocs Server by default.

To enable templates for use with HotDocs Server

  1. Open the template's component file for editing and click the [image] Component File Properties button. The Component File Properties dialog box appears.
  2. Click the HotDocs Server tab and select Enable template for use with HotDocs Server.
  3. Select any of the following options:
Option | Description
Interview outline initially showing | This option causes the interview outline (list of dialogs in the interview) to appear when the interview is first displayed.
Allow user to hide/show interview outline | This option lets users show and hide the interview outline as needed.
Resource pane initially showing | This option causes the resource pane, which shows helpful information about questions in the interview, to appear when the interview is first displayed.
Allow user to hide/show resource pane | This option lets users show and hide the resource pane as needed.
Instant Update initially ON | This option causes HotDocs Server to automatically update the entire interview as users enter or change answers. If this option is turned off, HotDocs will only update the interview as needed. (Some complex interviews may require Instant Update to be turned off or response time may be slow.) The Instant Update option applies only to JavaScript interviews. In Silverlight, interviews are always instantly updated.
Allow user to turn Instant Update on/off | This option lets users control how frequently HotDocs updates the interview.
Single-page interview initially ON | This option causes the interview to appear as a single page when the interview is first displayed.
Allow user to turn single-page interview on/off | This option lets users switch between normal and single-page interviews.

When a template is enabled for use with HotDocs Server, HotDocs warns you if you try to use a feature that is not allowed in a HotDocs Server template. In addition, HotDocs Server-enabled templates can be tested in a Web browser to ensure that the interview appears as intended.

To view a JavaScript or Silverlight browser interview, use the Template > Test in Browser command at the library window. You can also view a JavaScript-based interview by pressing the Shift key as you click the [image] Assemble button. To view the interview using Silverlight, press the Ctrl key as you click the [image] Assemble button. (This also works while editing a template; you can press either the Shift key or the Ctrl key as you click the [image] Test Assemble button in your word processor or HotDocs Automator.)

It is recommended that template names are kept to less than 52 characters and don't use non-ASCII characters. This will reduce the possibility of the template name causing errors if it is enabled for use with HotDocs Server.

'/', '\', and '?' cannot be included in the template name when you are creating a template package for use in a HotDocs Cloud Services direct interview.


View an Interview in a Web Browser

Home > Publishing Templates > Publishing HotDocs Server Templates > View an Interview in a Web Browser

Viewing an Interview in a Web Browser

When you test assemble a template you plan to use with HotDocs Server, you can display the interview in a Web browser. This allows you to test its functionality and view its overall appearance.

Templates containing instructions to assemble another template (for example, «ASSEMBLE SomeTemplateName.rtf”») do not work when you use Test In Browser; however they do work when actually run in an independent browser instance.

To view an interview in a Web browser

  1. At the HotDocs library window, select a template and ensure it is enabled for use with HotDocs Server. (See Enable Templates for Use with HotDocs Server.)
  2. Select one of the following options from the Template > Test in Browser menu:
    • JavaScript: Displays a traditional JavaScript-based interview in a browser window.

Starting with HotDocs 11.1 JavaScript interviews have a slightly altered layout. You can minimize the Interview Outline to the left of the window and the Resource Pane to the right of the window. You can view either panel by clicking on the side bar and causing it to expand. You can click the arrow button on the top right of the panels to keep them open while you enter answers.

    • Silverlight: Displays a Silverlight-based interview in a browser window. Unlike the traditional JavaScript-based interviews where the interview logic is written in an interpreted language (JavaScript), Silverlight-based interviews are compiled to machine code, which makes them much quicker at processing and updating answers (this is especially noticeable in long, complex interviews).

The Silverlight option is only enabled if you have the Microsoft Silverlight Runtime and SDK installed on your computer.

  3. HotDocs displays the Answer File dialog box.
  4. Select an answer file and click OK. A browser window appears and displays the interview.
  5. Type any answers and click [image] Finish. HotDocs closes the browser window and displays the assembled document in your default word processor or HotDocs Filler (for form documents).

You can also view a JavaScript-based interview by pressing the Shift key as you click the [image] Assemble button. To view the interview using Silverlight, press the Ctrl key as you click the [image] Assemble button. (This also works while editing a template; you can press either the Shift key or the Ctrl key as you click the [image] Test Assemble button in your word processor or HotDocs Automator.)

'/', '\', and '?' cannot be included in the template name when you are creating a template package for use in a HotDocs Cloud Services direct interview.


Publish Templates For Use With HotDocs Server

To publish and upload templates for use with HotDocs Server

  1. At the HotDocs library, select the template or templates you want to publish and click the [image] Publishing Wizard button. The Publishing Wizard dialog box appears, displaying the Publishing Options information.
  2. Select Template files for use with HotDocs Server from the Publish as group
  3. Click the Browse button next to the Local folder for published files field to specify the folder where you want HotDocs to save the published files. (Once these files are published to this temporary folder, you should move them to a more permanent location. If you publish additional templates or other files that use the same file names, HotDocs will overwrite the previously published files.)
  4. Choose how you want to upload the templates to the server:
    • Automatically: Click the Edit button next to the Web destination for published files field to display the Web Destination dialog box where you can specify the URL and description ("friendly name") of the Publishing Form Page on the server to which you want to upload the files.
    • Manually: Leave the Web destination for published files field empty.
  5. Click Next. The Additional Files dialog box appears.
  6. Select any additional files you want to include with your published templates, and then click Finish. HotDocs finishes publishing your templates.

If you chose to automatically upload the templates, the Publishing Form Page appears where you can enter additional information about the templates you are uploading, and then upload that information and the templates to the server using the Publishing Destination Page.

If you chose to manually upload the templates, move the files from the Local folder for published files to the server. You can use an FTP client or other application, such as Microsoft FrontPage.

When a template is published for use with HotDocs Server, HotDocs creates an additional file required by HotDocs Server: the template manifest file (.manifest.xml). This file lists all of the variables used in a given template, as well as the dependencies the template has on other files.

If you upload the template automatically using the Publishing Wizard, these files are also uploaded to the server automatically. If you manually upload your template, you must remember to copy these files to the server.

'/', '\', and '?' cannot be included in the template name when you are creating a template package for use in a HotDocs Cloud Services direct interview.


What is a Publishing Form Page?

The Publishing Form Page contains an HTML form. With this form, you can provide fields or other options for the template developer to add more information about the files being uploaded, such as template titles and descriptions. You must follow certain criteria when creating the HTML form:

  • The form must use the POST method and its encoding must be multipart/form-data. (HotDocs 2007 or earlier required that the form be named HotDocsPubForm, but this is no longer required.)
  • Previously, the form ACTION was required to include an absolute URL path to the location on the server where you want to send the files, but starting with HotDocs 2008 Professional Edition, this is no longer a requirement.
  • Any Select/Option fields (or drop-down/list/combo boxes) must have a VALUE attribute assigned. For example: <option value="choice1">choice1</option>.

Once the template developer provides the necessary information in this form, he or she submits the form and HotDocs adds the information to the published files. All the information is then uploaded (using HTTP POST) to the server. The following is sample code for the Publishing Form Page.

Example:

<form method="POST"

name="HotDocsPubForm" action="http://www.company.com/hotdocsuploadproc.asp" enctype="multipart/form-data">

Template Name: <input type="text" name="textinput" size="65">

<br>

Template Desc: <textarea rows="2" name="textareaDesc" cols="55">

Template Description

</textarea><br>

<select size="1" name="dropdownbox">

<option value="choice1">choice1</option>

<option value="choice2">choice2</option>

</select>

<input type="submit" value="Submit">

</form>


What is a Publishing Destination Page?

After the uploading process is complete, the Publishing Destination Page appears. This page accepts the HTTP POST from the Publishing Form Page and processes it by completing the actions specified by your project.

Once the information has been received on the server, the files from the upload must be decoded and handled. Several components are available to help with this process, including the Dundas Upload control, distributed by Dundas Software. The following is sample code for the Publishing Destination Page using the Dundas Upload control.

Example:

<%

dim dund

Set dund = Server.CreateObject("Dundas.Upload.2")

dund.SaveToMemory

response.Write "Data from form<hr>"

dim objUploadedForm

For Each objUploadedForm in dund.Form

Response.Write objUploadedForm.tagname & "="

Response.Write objUploadedForm.Value & "<br>"

Next

response.Write "<br>Files from HotDocs<hr>"

dim objUploadedFile

dim filename

dim filen

dund.ImpersonateUser "username","password"

For Each objFile in dund.Files

filen = dund.GetFileName (objFile.OriginalPath )

filename = "c:\inetpub\companyname\temp\" &

objFile.SaveAs filename

Response.Write "<a ref='http://www.company.com/temp/"

Response.Write filen &"'>"

Response.Write objFile.TagName

Response.Write "=" & objFile.OriginalPath

Response.Write " : Size = " & objFile.Size

Response.Write "</a><br>"

Next

dund.ImpersonationTerminate

set dund = nothing

%>


Overview: Upload HotDocs Files to a HotDocs Cloud Services Host Application

Overview: Upload HotDocs Files to a HotDocs Cloud Services host application

HotDocs Cloud Services is an online "software-as-a-service" (SaaS) implementation of HotDocs that enables you to provide HotDocs interview A series of dialogs, each containing one or more questions which HotDocs generates from the variables you add to your template. The template's user must answer the questions in the interview before HotDocs can assemble a custom document. You can view the interview by clicking the Interview tab of the assembly window. The left pane of the assembly window displays an outline of the interview. As the user answers questions, the outline tracks the user's progress through the interview.s to end users through a web browser (without requiring you to install your own HotDocs Server). To deliver interviews, you fist upload your templates to a web application hosting HotDocs Cloud Services. Such a web application is called a HotDocs host application A (usually third-party) web application that "hosts" HotDocs Server or Cloud Services features on the back end to present interviews to end users in a web browser. A host application enables template (and related file) uploading and storage, as well as interview generation and presentation, final document assembly, and answer file handling and storage.. HotDocs provides an "off-the-shelf" host application in HotDocs Document Services; however, anyone can build their own host application to leverage Cloud Services for delivering interviews to end users.

In order to upload HotDocs templates, URLs, or any other needed files for use with a Cloud Services host application, HotDocs Developer 10.2 and above includes an upload plugin to upload templates from a desktop template library to a host application.


Enabling a Template for Uploading to Cloud Services

If you want to enable a template for uploading to Cloud Services, you have two options:

  • You can use the Component Manager to access the component file's properties
  • You can use the Test in Browser feature.

Enabling a Template for Upload Using the Component Manager

You can enable a template from the HotDocs Server tab of the Component Files Property dialog.

To enable a template for uploading using the component manager:

  1. Open your template library in HotDocs Developer, select the template you want to upload to Cloud Services; then in the toolbar at the top of HotDocs Developer, click the Component Manger button.

  2. On the left of the Component Manager, click the Component Files Properties button.

  3. Click the HotDocs Server tab and select Enable template for use with HotDocs Server.

For a description of the various options made available when you enable the template, see the At a Glance document.

Enabling a Template for Upload Using Test in Browser

You can enable a template using the Test in Browser method by right-clicking a template.

To enable a template for uploading using test in browser:

  1. In the HotDocs library, right-click a template; then click Test in Browser before clicking either JavaScript or Silverlight.
  2. On the message that appears, click Enable; then on the Answer File dialog, click Cancel.

    If the template has already been enabled, the Enable window does not appear; click Cancel.


Adding an Expiration Date to a Template for Use with Cloud Services

This option is only available for Cloud Services when uploading from HotDocs Developer 11 and above.

If you want to add an expiration date to a template that you intend to upload for use with Cloud Services, you need to use the Publishing Wizard.

To add an expiration date to a template for uploading to cloud services:

  1. Open your template library in HotDocs Developer and select the template or templates you want to publish; then in the toolbar at the top of HotDocs Developer, click the Publishing Wizard Publishing Wizard button.
  2. From the Publish as pane, select Standard template files.
  3. Next to the Local folder for published files box, click Browse to specify a temporary folder where you want HotDocs to save the published files.

    This cannot be the folder where the template is located, or the Publishing Wizard throws an error. You should further note that copying or republishing files to the same location while using the same file names overwrites the previously published files (which can cause problems, particularly if you overwrite your source template with a new one with an expiration date attached). For best practice, follow the sub steps below:

    1. Close the Publishing Wizard, then on the Properties tab of HotDocs Developer click the URL link that appears below File Path.
    2. In the Windows Explorer instance that appears, right-click in the file area and select New > Folder.
    3. Rename the new folder With Expiration Date; then double-click the With Expiration Date folder.
    4. At the top of Windows Explorer, copy the file path for the With Expiration Date folder.
    5. In HotDocs Developer select the template or templates you want to publish; then in the toolbar at the top of HotDocs Developer click the Publishing Wizard Publishing Wizard button.
    6. From the Publish as pane, select Standard template files.
    7. Paste the path into the Local folder for published files text box; then click Next.
  4. Under File Security, select: Set expiration date for component files; then click Next.
  5. To the right of the Expiration date field, click the calendar icon, choose an expiration date; then click OK.
  6. If you want to include a warning or extension period, use the arrows to choose a value. If you want to provide an expiration message, type one in the Expiration message field; then click Next.
  7. If you want to include any additional files in your template, click Add Files, locate the files (by browsing), and click Select before clicking Finish; otherwise, click Finish directly.
  8. When publication is finished, click OK.

  9. Open the temporary folder into which you published the template above; then at the top of Windows Explorer, copy the file path to that folder.

  10. Next, HotDocs Developer, right-click the top element in your library; then click Add Folder.

  11. In the Title text box, type With Expiration Date; then add any description you want and click OK.

  12. Ensure the With Expiration Date folder you just created is open; then right-click the folder and select Add Item.

  13. Paste the path you previously copied from Windows Explorer into the File name text box; then click the Browse button before double-clicking the With Expiration Date folder.

  14. Click the Files of type drop-down arrow and select All Files; then double-click the template you wish to upload before clicking OK.

  15. Next, enable the template for uploading to a Document Services (or a host application site) by doing the following:

    1. In the With Expiration Date folder of your HotDocs library, right-click the template you just added; then click Test in Browser before clicking either JavaScript or Silverlight.
    2. On the message that appears, click Enable; then on the Answer File dialog, click Cancel.

      If this template has already been enabled, the Enable window does not appear; click Cancel.

  16. Return to the library, right-click the template you just enabled; then click Upload before clicking the name of the upload site to which you want to upload the template package.

If the an error message is thrown stating "The Component File Has No Computation Designated as Its Interview," see the Error Handling section below.

Error Handling: "The Component File Has No Computation Designated as Its Interview" Error Message

  1. On the error message, click OK.
  2. Select the template in the With Expiration Date folder, then in the tool bar at the top of Developer, click Component Manager.
  3. On the left of the Component Manager, click the Component Files Properties button.
  4. Click the Interview tab; then select Use custom interview.
  5. Click the Interview component drop-down arrow; then choose the computation component you want to use, or create a new computation component by clicking the Edit Component button.
  6. Click OK; then close the Component Manager and retry uploading your template.


Publishing and Uploading Templates for Use with Cloud Services

Home > Publishing Templates > Publishing Templates for HotDocs Cloud Services > Publishing and Uploading Templates for Use with Cloud Services

Publishing and Uploading Templates and Other Files for Use with Cloud Services

Before you can upload a template package you need to have an upload page in your host application.

Publishing a template is a seamless part of the process for uploading a template for use with Cloud Services. With the release of HotDocs 11, publishing a template means that a template package is both created and uploaded in a single operation.

You can publish and upload a template either to Document Services (an off-the-shelf host application) or to a third party host application web server. All you need is the URL of the destination and the credentials to access the server.

To publish and upload a template for use with cloud services:

  1. Ensure you have enabled your template for uploading.

You do not need to enable non-template files (such as a PDF) or URLs prior to publishing them.

  2. In the left hand (library) column of HotDocs Developer, right-click a template; then click Upload > Edit Upload Sites. If you have not yet added the site to which you want to upload your template, perform the sub steps that follow, otherwise proceed to the next primary step.

If you are using HotDocs Document Services you will need to download the configuration file from your site, see the Document Services help file for more information.

    1. Click Add; then type the Site Name of the host application site (whether Document Services, or a third party) and the corresponding URL location.
    2. Click OK; then click Close.
  3. Right-click the template (or other file) you want to upload; then click Upload before clicking the name of the upload site to which you want to upload the template package.
  4. Follow the instructions on the upload page that appears.


Using the Upload Plug-in to Save Template Packages Locally

If you decide you want to use a different method (say FTP) than an upload page to move your templates to a host application server or the Document Services server, you can still create a template package using the upload plug-in. You have two options for doing so, each with different advantages. You can:

  1. Save a template package in the same directory as the template. This has the following advantages:

    • Saving locally is an option on the Upload menu.

    • The template package has the same base file name as the template, but has a .hdpkg (HotDocs Package) file extension. This, and the fact that package save location is in the same folder as where the template is stored make it clear which template the template package is associated with.
  2. Save your template packages to a "local upload site." The has the advantage of producing the same output as when a package is uploaded to a host application web server.

Saving a Template Package in the Same Directory as the Template

When you want to save a template package locally, the simplest solution is to use the Save Locally option on the right-click Upload menu to save the template package in the same folder as the template.

To save a template package in the same directory as the template:

  1. In the left hand (library) column of HotDocs Developer, right-click a template; then click Upload > Save Locally.
  2. On the Save Locally page, you can click the down arrow to see the file names of the files in the template package just created. When you are finished, click Save Locally.
  3. To view the template package at its saved location, on the Properties tab of HotDocs Developer, click the link under File path and locate the template package. The template package has the same base file name as the template, but has a .hdpkg (HotDocs Package) file extension.

Saving a Template Package to a "Local" Upload Site

When you want to save a template package locally, but you want the same output as when you create a package to upload to a host application web server, you can save the package to a local upload site.

To save your template package to a local upload site:

  1. In the left hand (library) column of HotDocs Developer, right-click a template; then click Upload > Edit Upload Sites.
  2. Click Add; then type a Site Name for your local storage area.
  3. In the URL field, type the full path of an existing local directory (or shared network directory) where you want to save your template packages.
  4. Click OK; then click Close.
  5. Enable a template for uploading to your local upload site by doing the following:
    1. Right-click a template; then click Test in Browser before clicking either JavaScript or Silverlight.
    2. On the message that appears, click Enable; then on the Answer File dialog, click Cancel.

If this template has already been enabled, the Enable window does not appear; click Cancel.

  6. Right-click the template you just enabled; then click Upload before clicking the name of your local upload site.
  7. On the HotDocs Upload page, you can click the down arrow to see the file names of the files in the template package just created. When you are finished, click Upload; then click OK.
  8. To view the template package at its saved location, open Windows Explorer and navigate to your local upload site. The template package has a .pkg file extension, and the manifest has a .xml extension. Both have the same GUID as their base file name.


Overview: Upload HotDocs Template Files to the HotDocs Hub

The HotDocs Hub is a suite of off-the-shelf components providing commonly needed features for HotDocs integrations. You can deploy the Hub in the cloud or locally (on-premise). The Hub suite comprises of:

  • Template Hub – storage, organization, and permissions for HotDocs Templates
  • User Hub – authentication and authorisation for accessing HotDocs resources
  • Interview Service – Interview generation using templates stored in the Template Hub

HotDocs Hub Upload Plugin

To upload templates to the Template Hub, you need to download and install the HotDocs Hub Upload Plugin. Once this has installed you then need to configure the plugin to upload to your Template Hub and add your authorization credentials. You can now use HotDocs Developer to upload templates.


Uploading Templates Using the HotDocs Hub Plugin

To upload a template to HotDocs Hub you need to use the HotDocs Hub Plugin.

To upload a template using the HotDocs Hub plugin

You can only upload 20 templates simultaneously from HotDocs Developer. If you choose to upload more than 20 templates at one time, HotDocs opens the Templates Upload page in a new browser window and allows you to upload the templates you selected in batches of 20.

  1. Open HotDocs Developer.
  2. In the Library, right-click a template.
  3. From the drop-down menu, select Upload to HotDocs Hub.
  4. Select the name of the server to which the Template will be uploaded, e.g. HotDocs Hub (this is the public facing name you choose when you installed the HotDocs Hub).
  5. Click Upload. The web browser opens the Template Upload page of the HotDocs Hub.
  6. Select the template(s) to upload from the Templates List.
  7. Optional: you can set a Forward Publishing Date for the Templates.
  8. Click either:
    • Upload Selected – upload only the selected templates
    • Upload All Templates – upload all templates in the list
  9. Navigate to the Templates section; you can now see the new template in the Templates list.


Introduction: Upload HotDocs Files to a Web Server

You can upload HotDocs template files to a Web server. These include standard template files, auto-assemble files, auto-install files, and HotDocs Server files. You can do this by creating a custom Web publishing method, which allows you to use an HTML form to upload your template files. This method also allows you to specify and gather metadata about the files, such as titles and descriptions, before uploading the files to the server. This information can be integrated with a database or used with other custom programs or Web designs.


Cloud Services Overview

HotDocs Cloud Services is the cloud-based version of HotDocs that allows HotDocs interviews (data-gathering sessions) to be displayed by a standard Web browser and documents to be generated (assembled) in the cloud, without requiring any special software to be installed on an end-user's computer. Generally speaking, when a user goes to your Web site and initiates assembly of a document, a request is made to HotDocs Cloud Services, which is running in the cloud. Cloud Services then sends an interview back to the user's browser, where it appears as part of a Web page. Once the required information has been entered, the user clicks a button that posts the answers (in XML format) back to HotDocs Cloud Services, where they can be merged into assembled documents.

The following diagram shows the assembly process:

The benefit of integrating a Web application with HotDocs Cloud Services is that end users do not need HotDocs installed on their computers, since the interview is presented in a Web browser and document assembly happens on the server. For example, your human resources department may integrate its forms into its intranet site using HotDocs Cloud Services. Employees would then go to the intranet site, select which form to fill out, provide the required information, and then submit the form to the appropriate human resources representative—all from within a Web browser. Depending on project requirements, employees may also print copies of assembled documents, save copies of assembled documents to their hard drives, or (if the intranet site facilitates it) simply store assembled documents or answer files directly in the intranet app.

HotDocs Cloud Services may also be used to generate a document without an interactive interview. Likewise, HotDocs browser interviews may be used to gather information for storage or later use without immediate assembly of any documents at all.

HotDocs Cloud Services vs. Desktop HotDocs

The HotDocs family of products includes both desktop- and server-based products. The primary desktop-based product, HotDocs Developer, is used for creating HotDocs templates. Cloud Services, on the other hand, is used only for running templates; it cannot be used to create them. Another difference between Cloud Services and desktop HotDocs is the user interface: desktop editions of HotDocs include word processor and other integrations for creating templates, and the "HotDocs Library" for managing templates, answer files, and more. The user interface presented by Cloud Services, at least from an end user's perspective, is limited to displaying interviews in the Web browser. All other interaction with the user is accomplished by a custom host application, which you must build and maintain. The advantage with this approach is that you can expose your users to only as much user interface as they need to perform their document assembly tasks.

Despite their differences, desktop HotDocs still plays an important role in relation to HotDocs Cloud Services: it is the tool used to create (and help test) all content (templates) that will eventually be deployed in Cloud Services.


Create Custom HTML Documents for Template Uploading

Once you publish your templates or template sets, you can upload the files to a Web server. This may be useful if you are developing templates for HotDocs Server, or if you want to make your templates available on an Internet or intranet site.

Since Web servers are configured to handle data exchange differently, you must customize the uploading process to meet your own needs. This requires you (or your Web server administrator) to create a custom HTML form, called the Publishing Form Page. This form can gather information about the user, the template set, or any other information required by your project.

Once this form has been created, the template developer can specify its URL as a destination for the upload. (This is done at the Publishing Options dialog box of the Publishing Wizard.) When the publishing process finishes, the form appears and template developers can provide the information required to complete the uploading process. Then, once they have provided the information and submitted the form, HotDocs posts that information, along with the template or template set, to the server.

As the information and the files are uploaded to the server, the server must know how to manipulate the data being sent from HotDocs. This requires you to create a second HTML document, called the Publishing Destination Page. This page contains scripting that can accept the HTTP POST from the Publishing Form Page. It should then process the data and files contained in the upload by entering metadata about the templates in a database, and then by copying the published files to the correct server locations, or by performing any other number of services your project requires.

During the publishing process, HotDocs logs a report about the uploading process. This report may be useful if you experience problems uploading your templates. To view this report, open 0hdUploadDebug.htm, located in the Local Settings\Temp folder (for example, C:\Documents and Settings\<username>\Local Settings\Temp\0hdUploadDebug.htm).

Publishing Form Page

The Publishing Form Page contains an HTML form. With this form, you can provide fields or other options for the template developer to add more information about the files being uploaded, such as template titles and descriptions.

You must follow certain criteria when creating the HTML form. First, you must name the form HotDocsPubForm. Second, the form ACTION must include an absolute URL path to the location on the server where you want to send the files. Last, any Select/Option fields (or drop-down/list/combo boxes) must have a VALUE attribute assigned, for example:

<option value="Option Text">Select the option</option>

Once the template developer provides the necessary information in this form, he or she submits the form and HotDocs adds the information to the published files. All the information is then uploaded (using HTTP POST) to the server.

Click here for an example of a Publishing Form Page.

Publishing Destination Page

After the uploading process is complete, the Publishing Destination page appears. This page accepts the HTTP POST from the Publishing Form page and then processes it by completing the actions specified by your project.

Once the information has been received on the server, the files from the upload must be decoded and handled. Several components are available to help with this process, including the Dundas Upload control, distributed by Dundas Software.

Click here for an example of Publishing Destination Page. (This page uses the Dundas Upload control.)


At a Glance: The Web Destination dialog box

Clicking on the [image] Edit button in the in the Publishing Options dialog of the Publishing Wizard will open the Web Destination dialog box.

You can type the URL of the website you would like to upload your published files to in the first field A or click the [image] Browse button to navigate to the site.

Then in the second field B you can type a Friendly Name for the URL that will help you to identify it.

To learn more about uploading templates to the web click the link below:

  • Upload Templates to a Web Server


Upload Templates to a Web Server

Once you finish publishing templates and template sets, you can upload the published files to a Web server. This might be useful if you are publishing templates to be used with HotDocs Server, or if you want your users to access files from an Internet or intranet site.

To upload template files to a Web server

  1. Publish your templates or your template set. (See Publish a Template as a Standard File, Publish Templates as Auto-Assemble Files (HDA), or Publish Templates as Auto-Install Files (HDI).)
  2. At the Publishing Options dialog box, click the [image] Edit button. The Web Destination dialog box appears.
  3. Type an absolute URL in the URL field, or click the [image] Browse button to locate the URL.
  4. Type a description of the Web site in the Friendly name field, and click OK.
  5. HotDocs displays the Publishing Options dialog box again, where you can complete the publishing process.

When HotDocs finishes publishing your templates, it displays your customized Web page where you can enter additional information about the templates you are uploading. Provide the information required by your organization and submit it. That information, along with your templates, are uploaded to the server.

In order for template uploading to work, you must create two HTML pages to handle the data you are uploading. (See Create Custom HTML Documents For Template Uploading.)


Introduction: Upload HotDocs Answer Files

You can specify options that let users upload the answers they use to assemble documents. You must designate a destination URL and provide a resource at that URL, such as a CGI script or HotDocs Server server, to process the answers.

HotDocs answers are not uploaded in a HotDocs answer file, they are uploaded as a single block of data using the HTTP POST method. The server receiving the data sees it as a POST submission from an HTML form.

A CGI script receiving the data should do three things:

  • Get the size of the incoming data block from the CONTENT_LENGTH environment variable.
  • Read that number of characters from standard input.
  • Parse the data to extract the HotDocs answers.

This section does not provide the details of writing a CGI script or other program to process the answers. It does, however, tell you how to enable answer uploading for a template. It also provides the information you need to parse the uploaded data and extract the HotDocs answers.


Specify Options to Upload Answers

You can allow users to upload answers they use with certain templates to a Web server. To do this, you must specify uploading options at each template's component file.

If you plan on uploading answers, make sure your templates don’t contain variables with names longer than 30 characters. HotDocs uploads the variable name along with the answer, and it can only upload 30 characters for the variable name.

To enable users to upload answers for a template

  1. Edit the template's component file using Component Manager. (See Open and Close Component Manager.) The Component Manager window appears.
  2. Click the [image] Properties button. The Component File Properties dialog box appears.
  3. Click the Answer Upload tab.
  4. Type the URL of the Web page to which you want the answers uploaded in the Upload URL field.
  5. Type a description of the page to which the URL points in the Friendly name field.
  6. Optionally, select Upload answers without asking to force the answers to always be uploaded, according to the instructions you have specified.

When users assemble documents that have answer uploading enabled, at the end of document assembly, HotDocs will either prompt them to upload their answers, or it will upload the answers automatically (depending on whether you select Upload answers without asking). If users choose to upload their answers later, they can select Upload Answers from the Tools menu of the HotDocs library.


Handle Data in Uploaded Answers

This topic covers information on writing the CGI script or other program to process the answers. It contains the information needed to parse the data to extract the HotDocs answers, which are uploaded as a single block of data using the HTTP POST method. The server receiving the data sees it as a POST submission from an HTML form.

Format of Answers

The answers are uploaded in a single string of data, with each answer separated from the next by an ampersand, like this:

Answer1&Answer2&Answer3

The answers are not necessarily in the order in which they were input during document assembly.

Each answer is in the format Name=Value. This results in a data block, like this:

Name1=Value1&Name2=Value2&Name3=Value3

The format for answer names and values is URL-encoded text, with numbers being represented by text. For example, the number 25 would be represented by the characters 2 and 5. (For more information on URL-encoded text, see URL-encoded Text.)

The ampersand character that separates HotDocs answers and the equal sign that separates names and values are not URL-encoded. The script needs to use these characters to delimit the answers, names, and values before it decodes the names and values.

Answer Names

All answer names are 31 characters long. (Names for repeated answers are longer, however. See Names of Repeated Answers.) The first character of the name is a capital letter code indicating the value type of the answer value (which is always URL-encoded text). This value type corresponds to the variable type of the HotDocs variable that gathered the answer.

Code | Value
T | Text
N | Number
D | Date
B | True/False (Boolean)
M | Multiple Choice

The other 30 characters of the answer name are the variable name of the variable that gathered the answer. If the variable’s name is shorter than 30 characters, space characters are appended to the name to bring the total to 30.

The template developer needs to give you the complete answer names (value type code plus variable name).

Answer Values

The format of an answer value depends on the value type of the answer, as specified by the value type code in the answer name.

Type | Format
Text | Any text
Number | Number characters with an optional decimal point
Date | dd mm yyyy (fixed length of 10 characters)
True/False | Either TRUE or FALSE
Multiple Choice | Sections of text separated by vertical bars (for example, No Pets|Covered Parking|AC)

Answer File History

Every collection of HotDocs answers uploaded to an Internet resource has an Answer File History answer. This answer contains the name of the template used to gather the answers and the date and time it was used. The answer name is:

T(ANSWER FILE HISTORY)

The answer value is a text string in the following format:

template_name : month_name, day, four_digit_year, hh:mm

The time is the local time of the machine on which the template was used and is expressed in 24-hour format. The following is an example of an Answer File History answer (after URL-decoding):

T(ANSWER FILE HISTORY) =MyTemplate : April 9, 2002, 18:15

You can use HotDocs Server to process uploaded answers. Click here for an example of an ASP page that processes uploaded answers using HotDocs Server. (Contact your HotDocs sales representative for information on obtaining a HotDocs Server license.)

When the upload answers script executes and the server encounters an error, it sends an error report back to HotDocs. This error report is saved in a file called uploadOutput.htm. It is usually stored in your default temporary folder.


Introduction: Create HotDocs Models

As you draft documents for your clients, you frequently modify existing documents by replacing the changeable text in the document (such as names, dates, and figures) with the current client’s information. This process can be time-consuming and error-prone, especially because you must go through this process for each new client or matter.

One way you can solve this problem is to create a HotDocs template from the document. This process requires someone with HotDocs knowledge to replace changeable text with variables, conditions, and scripts. Depending on how complex the template is, sometimes the automated template can be difficult for non-HotDocs developers to read and understand.

Another option is to instead create a HotDocs Model. HotDocs Models are ideal for subject matter experts who want to review a template without having to learn or install HotDocs on their local machine. The variable and instructions are clearly visible in the document text and can be color-coded to differentiate between types (see Apply Color to Markup). This makes the entire template process easily accessible for the non-HotDocs user and allows them to edit the HotDocs Model before passing it back to their HotDocs developer.

Once you have a HotDocs Model, you can use it with HotDocs to generate documents for your clients. If you are using HotDocs Developer, you can also convert your HotDocs Models to HotDocs template format so they can be added to your collection of templates.

For example, say you have a will that could include different provisions for different inheritance scenarios. Some provisions should be included if you're drafting a will for one type of client, but those same provisions should be left out for other types of clients. With a HotDocs Model, you keep all of the different text variations in a single document, rather than storing the text in separate documents. Then you can mark up the document so that only the correct versions are used, depending on answers the user gives.

As you mark up the HotDocs Model directly in Microsoft Word, your documents must be in DOCX, DOC or RTF format.


Basic Markup

A HotDocs Model is an exemplar document used as the basis for drafting documents of the same type for specific clients. The markup used in HotDocs Models to identify text that varies from one client to another provides an unambiguous description of how a HotDocs Model should be used to draft client-specific documents.

This topic describes only the basics of Markup. For a complete description, see the section of this help file entitled "Creating Full HotDocs Models".

The process of marking up a HotDocs Model can be broken into several steps, as follows:

  1. Mark Variable Text
  2. Mark Conditional Text
  3. Mark Repeated Text
  4. Mark Special Characters
  5. Hide Markup Clutter
  6. Apply Color to Markup

Next Topic


Mark Variable Text

You can replace names, dates, amounts, and other variable text throughout a document with variable fields. A variable field consists of a name and type, separated by a semicolon and enclosed in square brackets. For example, the document text:

The client, Jane Doe, hereby rescinds all previous claims.

is marked up as:

The client, [ClientName;te], hereby rescinds all previous claims.

In this example, ClientName is the variable name and te (which stands for text) is the type.

Variable names:

  • Can include letters, numbers, and underscores but they cannot contain spaces or other special characters.
  • Are case-sensitive (meaning that GiftAmount and giftamount are different names).
  • Must not be composed entirely of capital letters.
  • Must be 50 characters or less in length.

In general, a variable name consists of at least two words that identify the subject and the aspect of the field. Best practice is to capitalize the first letter of each word in a variable name, regardless of its part of speech. Some examples:

ClientCity | Client is the subject and City is the aspect.
ClientZipCode | Client is the subject and ZipCode is the aspect.
AgreementEffectiveDate | Agreement is the subject and EffectiveDate is the aspect.
TermOfAgreement | Agreement is the subject and TermOf is the aspect.

Variable field types are specified using the first two letters of the word that represents the type:

  • te for text fields
  • nu for number fields
  • da for date fields

When no type is specified in a field (for example, [ClientName]), text is assumed as the type.

Variable fields may optionally include a format following the field type. For example, if you want the client’s name to be inserted into the document in all uppercase letters, use:

The client, [ClientName;te;format=upper], hereby rescinds all previous claims.

Such markup would produce the following in a completed document:

The client, ANNA JAMES, hereby rescinds all previous claims.

In the example field above, notice the semicolon between the field type and the word format. Two commonly used formats are:

  • upper forces alphabetic characters to uppercase
  • alpha spells out a number instead of using digits

For a complete list of Markup formats, see Format Answers in the Document.


Mark Conditional Text

Text in a document is conditional if it is included only when certain conditions are met. To mark conditional text, enclose the text in square brackets. Immediately following the opening bracket, type the word if followed by a colon. After the colon, type a condition name followed by another colon. For example:

[if:ClientIsMarried:I give to my spouse all interest in property, both real and personal, including buildings, fixtures and improvements to such property.]

A condition name is an affirmative statement specifying the conditions under which the conditional text is included in the document. All of the rules that apply to variable field names apply to condition names.

When conditional text consists of a complete paragraph, it is usually desirable to include the paragraph mark as part of the conditional text. To do this, type the closing bracket after the paragraph mark, such that it appears at the beginning of the following paragraph. For example:

My name is [ClientName;te].

[if:ClientIsMarried:I am married to [SpouseName;te].

][if:ClientHasChildren:My children are [image] [ChildrenNamesAndBirthdates;te].

]Except as specifically noted in this document …

Conditional text fields may be “nested” within other conditional text fields. For example:

[if:ClientIsMarried:I give to my spouse all interest in property, both real and personal, including buildings

[if:GiftsIncludeFixtures:, fixtures,] and improvements to the property.]

Conditional text fields may include one or more alternatives, only one of which will be included in the final document. To specify alternatives, introduce each alternative with a forward slash (/) character followed by elseif or else. Use elseif if the alternative is conditional. Use else if the alternative is conditionless, meaning that it is included in the final document when no other alternative is included.

Here is an example showing several conditional alternatives followed by a conditionless alternative:

I, [ClientName;te;format=upper], direct my personal representative to see that my body is [if:ClientToBeBuried:buried in the [ClientBurialCemetery;te]/elseif:ClientToBeCremated: cremated and my ashes scattered whithersoever my personal representative shall direct/elseif:ClientBodyToMedicine:donated to [ClientBodyInstitution;te]/else:disposed of as my personal representative shall direct].

A conditionless alternative (else) is not required, but if present, it must follow all conditional alternatives.

When a HotDocs Model includes large sections of conditional text or nested conditional text, it can be difficult to find the beginning and ending of conditional text fields. If you have installed the HotDocs Markup Tools, use the Select Field button to easily see where the conditional text field begins and ends. (Click once to select or highlight the immediate condition, and click twice to view the entire condition.)


Mark Repeated Text

Repeated text is text that can appear in a document two or more times in succession. Repeated text can consist of anything from a few words to an entire paragraph. To mark repeated text, enclose a single instance of the text in square brackets. Immediately following the opening bracket, type the word repeat followed by a colon (:). After the colon, type a repeat dialog name followed by a semi-colon and the list of variables or text you want included in the repeat instruction, separated by forward slashes.

The following is an example of repeated in-line text:

My children are: [repeat:ChildList;format="a; b; and c";contents=ChildName/ChildBirthDate:[ChildName], born [ChildBirthDate;da]].

In this example, the entire paragraph is repeated:

Specific Gifts

[repeat:SpecificGiftList;contents=SpecificGiftRecipientRelationship/SpecificGiftRecipientName/SpecificGiftItem: To my [SpecificGiftRecipientRelationship], [SpecificGiftRecipientName], I give [SpecificGiftItem].

]

Best practice for a repeat dialog is to have the dialog name consist of at least two words, the first of which identifies the subject of the list and to use the word "List" as the second part of a repeat dialog name, although this is not mandatory. In the example above the repeat dialog name is "SpecificGiftsList" where "SpecificGifts" is the subject and "List" is used to help remind the user that this is a repeated dialog. All of the rules that apply to variable names apply to repeat dialog names.


Mark Special Characters

As you are marking up your document, you may come across characters in your document text that also have a purpose in Markup. Specifically, Markup attaches special meaning to square bracket, forward slash, and backslash characters. If any of these characters are to appear as literal text in the final document, they must be marked in the HotDocs Model to show that they are just text, rather than part of the Markup.

To mark a special character, type a backslash before it in the document. So:

  • [ is marked as \[
  • ] is marked as \]
  • / is marked as \/
  • \is marked as \\

For example, this text in a HotDocs Model:

For a complete description, see H:\\Publications\\Complete Description.doc \[revised 2006\]

appears like this in the final document:

For a complete description, see H:\Publications\Complete Description.doc [revised 2006]

Here are two reasons for marking special characters in HotDocs Models: First, macros used to manipulate Markup in HotDocs Models rely on the proper use of special characters. Unmarked special characters appear to be part of the Markup, causing incorrect macro behavior. Second, document drafting applications (such as HotDocs) that accept HotDocs Models as input cannot operate properly if special characters are not marked.


Hide Markup Clutter

To make a HotDocs Model easier to read, you can hide the type and format information for variable fields and the condition information for conditional text fields. With this “clutter” hidden, this conditional example:

I, [ClientName;te;format=upper], direct my personal representative to see that my body is [if:ClientToBeBuried:buried in the [ClientBurialCemetery;te]/elseif:ClientToBeCremated: cremated and my ashes scattered whithersoever my personal representative shall direct/elseif:ClientBodyToMedicine:donated to [ClientBodyInstitution;te]/else:disposed of as my personal representative shall direct].

becomes:

I, [ClientName], direct my personal representative to see that my body is [buried in the [ClientBurialCemetery]/cremated and my ashes scattered whithersoever my personal representative shall direct/donated to [ClientBodyInstitution]/disposed of as my personal representative shall direct].

Notice that in variable fields, markup from the colon up to the closing bracket is hidden. In conditional text fields, markup after the opening bracket or forward slash up to the first character of the document text is hidden.

To hide markup clutter using the built-in features of Word, select (or highlight) the text to be hidden, choose Format on the Word menu bar, choose Font in the drop-down menu, and select Hidden. To show hidden markup clutter for review or editing, click the Show/Hide ¶ button on the Word toolbar.

If you have installed the HotDocs Markup Tools, you can first click the [image] Apply Clutter button on the toolbar to apply the hidden attribute to markup clutter across the entire HotDocs Model. Then, to easily show or re-hide the clutter you have hidden, click the [image] Hide/Show Clutter button.

Using the [image] Hide/Show Clutter button instead of Show/Hide ¶ has the advantage that it shows hidden markup clutter without showing Word formatting marks which can make the HotDocs Model difficult to read.


Apply Color to Markup

HotDocs Models often use blue to identify variable fields, green to identify conditional text fields, and maroon to identify repeat fields. While color is not mandatory, it is much easier to see markup in a HotDocs Model when color has been applied.

To apply color using the built-in features of Word, select (or highlight) the text to be colored, choose Format on the Word menu bar, choose Font in the drop-down menu, and select the font color. Or, after selecting text, click the Font Color button on the Word toolbar.

If you have installed the HotDocs Markup Tools, you can click the [image] Apply Color button on the HotDocs Markup Toolbar to apply the standard markup colors used in this document to all variable fields and conditional text fields in a HotDocs Model.

Previous Topic


Identify a HotDocs Model

A HotDocs Model is one in which the text of the document changes, depending on the user. Frequently, a HotDocs Model also contains variations of text, which you can change, add, or remove, depending on the user. Examples of HotDocs Models include wills, legal filings, real estate contracts, and so forth.

For example, say you have a will that could include different provisions for different inheritance scenarios. Some provisions should be included if you're drafting a will for one type of client, but those same provisions should be left out for other types of clients. With a HotDocs Model, you keep all of the different text variations in a single document, rather than storing the text in separate documents. Then you can markup the document so that only the correct versions are used, depending on answers the user gives.

You mark up HotDocs Models directly in Microsoft Word so your documents must be in DOCX, DOC, or RTF format.

The Markup described in this help file requires the use of square bracket, forward slash, and backslash characters. If a HotDocs Model includes any of these special characters, you must mark them to show they are intended to appear as literal text in the document rather than as markup characters. See Mark Special Characters for instructions on doing this.

Next Topic


Mark Special Characters

As you are marking up your document, you may come across characters in your document text that also have a purpose in Markup. Specifically, Markup attaches special meaning to square bracket, forward slash, and backslash characters. If any of these characters are to appear as literal text in the final document, they must be marked in the HotDocs Model to show that they are just text, rather than part of the Markup.

To mark a special character, type a backslash before it in the document. So:

[ is marked as \[

] is marked as \]

/ is marked as \/

\ is marked as \\

For example, this text in a HotDocs Model:

For a complete description, see H:\\Publications\\Complete Description.doc \[revised 2006\]

appears like this in the final document:

For a complete description, see H:\Publications\Complete Description.doc [revised 2006]

Here are two reasons for marking special characters in HotDocs Models: First, macros used to manipulate Markup in HotDocs Models rely on the proper use of special characters. Unmarked special characters appear to be part of the Markup, causing incorrect macro behavior. Second, document drafting applications (such as HotDocs) that accept HotDocs Models as input cannot operate properly if special characters are not marked.


Rules for Naming Variable Fields

As you name your variables, you must follow these rules:

  • Names can include letters, numbers, and underscores but they cannot contain spaces or other special characters.
  • Names must begin with a letter.
  • Names are case-sensitive (meaning that GiftAmount and giftamount are two different names).
  • Names must not be composed entirely of capital letters.
  • Names must be 50 characters or less in length.

By default, when you mark up a HotDocs Model, you are required to follow the naming rules described above—particularly by using only letters, numbers, and underscores in field names. If you haven't followed these rules, when you attempt to draft or assemble a HotDocs Model, HotDocs will generate an error message and stop the assembly process. When automating templates in HotDocs, however, you can include spaces and non-alphanumeric characters in variable names. This discrepancy between naming standards becomes problematic when you convert a HotDocs Template to a HotDocs Model and then try to assemble the HotDocs Model. In order to remain compatible, you can define a setting either in HotDocs Options or in the HotDocs Model that allows you to use non-standard names (or names that have spaces and non-alphabetic characters) for fields. See Define Settings for a HotDocs Model for details.

A variable field name typically consists of at least two words that identify the subject and the aspect of the field. Some examples are:

ClientCity | Client is the subject and City is the aspect.
ClientZipCode | Client is the subject and ZipCode is the aspect.
AgreementEffectiveDate | Agreement is the subject and EffectiveDate is the aspect.
TermOfAgreement | Agreement is the subject and TermOf is the aspect.

While you can use any scheme you choose for naming variables, it’s recommended that you capitalize the first letter of each word in a variable field name, regardless of its part of speech, as is shown in the examples above. One reason for doing this is because during a HotDocs interview, HotDocs displays the questions from the document so the user can answer them. If no prompt is specified for a variable in the markup, HotDocs can generate default prompts based on this scheme, adding spaces where each word is capitalized. So, for example, the variable field ClientName will automatically be assigned the prompt Client name.


Steps for Creating a HotDocs Model

The following instructions define, in simple terms, the steps you go through to create a HotDocs Model. The instructions include links to topics that describe the process in further detail.

The basic steps for creating a HotDocs Model include:

  • Marking variable fields.
  • Marking conditional text.
  • Marking repeated text.
  • Grouping variables in dialogs and creating an interview.

To create a HotDocs Model with variable fields

  1. Open the document in Microsoft Word.
  2. Identify the text that will change, depending on the user. For example, find all names, dates, descriptions, and so forth.
  3. Replace the text with variable fields. For example, replace all references to the client’s name with a markup field, like [ClientName;te]. (See Mark Variable Text.)

You can use Word's Find and Replace feature to find multiple instances of the same word in the document.

  4. Specify any additional information about the variables in tables at the end of the document. (See Define Field Properties.)

To mark conditional text in the document

  1. Identify the sections of the document that are conditional.
  2. Mark these sections using any combination of IF, Else IF, or Else fields. (See Mark Conditional Text.)
  3. Optionally, hide the conditions in the fields to make the markup easier to read. (See Manage Markup Fields in the Document.)

To mark repeated text in the document

  1. Identify the sections of the document that must be repeated.
  2. Mark these sections using REPEAT fields. (See Mark Repeated Text.)
  3. Define the dialogs for the variable fields you need repeated. (Make sure you also define repeat styles for the dialogs.) (See Group Variables in Dialogs.)
  4. Optionally, hide the repeat field properties to make the markup easier to read. (See Manage Markup Fields in the Document.)

To group variables into dialogs

  1. In the tables section of the document, create a Dialogs table.
  2. List the variables you want included in each dialog, in the order you want the variables asked, in the Contents column of the table.
  3. Optionally, create an Interview table and define the order you want the dialogs asked in the interview. (See Define the Order of Dialogs in the Interview.)

Once your documents are marked up, you can either assemble them using HotDocs, or you can convert them to HotDocs template format. For instructions on doing this, please see Create HotDocs Template from Model or Assemble a HotDocs Model.

You can also define settings that control how the HotDocs Model is assembled. For details, see Define Settings for a HotDocs Model.

For examples of how to mark up a HotDocs Model, see Simple Markup Example (Contract), Simple Markup Example (Agreement), and Complex Markup Example with Tables (Last Will and Testament).


Mark Variable Text

When marking up a HotDocs Model, you can identify text that changes in the document, depending on the user. If you are careful to use the Markup described in this help file, you can convert a HotDocs Model to HotDocs template format, or you can assemble the document directly in HotDocs, while still maintaining a reviewable copy of the document.

As you mark up the HotDocs Model, you replace names, dates, amounts, and other client-specific or matter-specific text with variable fields.

There are six different field types:

Field Property | Name Description
text (or te) | Used for text fields
number (or nu) | Used for number fields (monetary amounts, figures, etc.)
date (or da) | Used for date fields
true/false (or tf) | Used for true/false fields (text that is represented by yes/no or true/false answers, or text that is merged whether a condition is true or false)
multiple choice (or mc) | Used for predefined options, such as gender. (See Customize a Multiple Choice Variable for other information about multiple choice fields.)
computation (or co) | Used for computation fields (values that are calculated, etc.)

Variable field types can be specified using either the full type name (like text, number, date, true/false, multiple choice, and computation) or the first two letters of the word that represents the type (like te, nu, da, tf, mc, and co, respectively). Field types are case-insensitive, but it is recommended you specify them using lowercase letters.

See Rules for Naming Variable Fields for an explanation of how to name your variables

At its most basic, a variable field should include a name and a field type; however, it can also include other properties, such as a format that defines how the answer should appear in the final document.

A field is enclosed in square brackets. The field name appears first, followed immediately by a semicolon and then the field type. Any other properties you need to assign to the field may appear after the type and must be separated by semi-colons. (You can also define these properties in a variable table. See Define Field Properties for details.)

For example, the following text:

The client, JANE DOE, hereby rescinds all previous claims.

would be marked like this:

The client, [ClientName;te;format=upper], hereby rescinds all previous claims.

In this example, ClientName is the variable field name and te (which stands for text) is the type. The format should be upper (which stands for uppercase).

You can assign additional properties to a field. For a list of these properties, see Define Field Properties.

See Simple Markup Example (Contract), Simple Markup Example (Agreement), and Complex Markup Example with Tables (Last Will and Testament) for examples of how to mark up a HotDocs Model.


Format Answers in the Document

As you mark up the HotDocs Model, you may want an answer to appear in a special format. For example, you may want to spell out a number (twenty-five vs. 25) or you may want to use the long form of a date (such as 14th day of March, 2007). To do this, you can assign a format property to a variable. When the document is assembled, the answer will be formatted according to the markup.

To format an answer, you first define the format property, followed by an equal sign and the specific format you want to use.

For example, the following marked up date:

[AgreementDate;da;format="dth day of Mn, YYYY"]

would merge the following answer in the document:

6th day of November, 2008

The type of format you assign depends on the type of markup field you're inserting. See the tables below to view the available formats:

Text Formats

Property Name | Description | Defined As | How It Formats the Answer
upper | All letters upper case | format=upper | THIS IS THE ANSWER.
lower | All letters lower case | format=lower | this is the answer.
title | First letter of each word uppercase | format=title | This Is The Answer.
sentence | First letter of first word upper case | format=sentence | This is the answer.

The sentence format capitalizes the first letter of the first word in the answer, regardless of the answer's placement in the paragraph or document.

Number Formats

Property Name | Description | Defined As | How It Formats the Answer
alpha | Case-sensitive, spelled out number | format=alpha format=Alpha format=Alpha | nine Nine NINE
ordinal | Case-sensitive, spelled out ordinal number | format=ordinal format=Ordinal format=ORDINAL | ninth Ninth NINTH
09 | Number including a leading 0 if the user enters one in the answer | format=09 | 04 78
9 | Simple numeral | format=9 | 98 7,952
9 1/8 | Fraction | format="9 1/8" | 2 1/4
9,999.00 | Monetary amount with cents (even if no cents are entered) | format=9,999.00 | 9,216.00 9,216.92
9.9 | Whole numeral with optional decimal places | format=9.9 | 87.1254
9999 | Numeral with no thousands separator | format=9999 | 12875
9th | Ordinal number | format=9th | 23rd
Nine Dollars and Twelve cents | Spelled out monetary amount | format=Nine Dollars and Twelve cents | Five Dollars and Thirty-Six Cents
ninth | Spelled out ordinal number | format=ninth format=Ninth format=NINTH | thirteenth Thirteenth THIRTEENTH

Date Formats

HotDocs 2008 and Earlier Users

Property Name | Description | Defined as | How It Formats the Answer
d | Numeric day | format=d | 1
m | Numeric month | format=m | 1
y | Numeric year (4 digits) | format=y | 2008
dd | Two-digit numeric day | format=dd | 01
mm | Two-digit numeric month | format=mm | 01
yy | Two-digit numeric year | format=yy | 08
yyyy | Four-digit numeric year | format=yyyy | 2008
dth | Case-sensitive, numeric ordinal day | format=dth format=dTH | 1st 1ST
dy | Case-sensitive, spelled out day | format=dy format=Dy format=DY | first First FIRST
mn | Case-sensitive, spelled out month | format=mn format=Mn format=MN | january January JANUARY
yr | Case-sensitive, spelled out year | format=yr format=Yr format=YR | two thousand eight Two Thousand Eight TWO THOUSAND EIGHT
wd | Case-sensitive, spelled out weekday | format=wd format=Wd format=WD | monday Monday MONDAY
mnt | Case-sensitive month abbreviation | format=mnt format=Mnt format=MNT | jan Jan JAN
wdy | Case-sensitive weekday abbreviation | format=wdy format=Wdy format=WDY | mon Mon MON

HotDocs 2009 and Later Users

Property Name | Description | Defined as | How It Formats the Answer
d | Numeric day | format=d | 1
dd | Two-digit numeric day | format=dd | 01
ddd | Case-sensitive weekday abbreviation | format=ddd format=Ddd format=DDD | mon Mon MON
dddd | Case-sensitive spelled-out weekday | format=dddd format=Dddd format=DDDD | monday Monday MONDAY
dth | Case-sensitive numeric ordinal day | format=dth format=dTH | 1st 1ST
dy | Case-sensitive spelled-out day | format=dy format=Dy format=DY | first First FIRST
m | Numeric month | format=m | 1
mm | Two-digit numeric month | format=mm | 01
mmm | Case-sensitive month abbreviation | format=mmm format=Mmm format=MMM | jan Jan JAN
mmmm | Case-sensitive spelled-out month | format=mmmm format=Mmmm format=MMMM | january January JANUARY
y | Numeric year | format=y | 2009
yy | Two-digit numeric year | format=yy | 09
yyyy | Four-digit numeric year | format=yyyy | 2009
yr | Case-sensitive spelled-out year | format=yr format=Yr format=YR | two thousand nine Two Thousand Nine TWO THOUSAND NINE

True/False Formats

Property Name | Description | Defined as | How It Formats the Answer
true/false | If the answer is true, merges text to the left of the forward slash; if false, merges the text to the right of the slash | format="true/false" | True text False text
yes/no | If the answer is true, merges text to the left of the forward slash; if false, merges the text to the right of the slash | format="yes/no" | True text False text
truetext/falsetext | If the answer is true, merges text to the left of the forward slash; if false, merges the text to the right of the slash | format="truetext/falsetext" | True text False text

List Formats

Property Name | Description | Defined as | How It Formats the Answer
a, and b | Comma after the first in the series, even if there are only two items in the series | format=a, and b | apples, and oranges
a, b | Leaves out the conjunction | format=a, b | apples, oranges, cherries
a, b and c | Leaves out the comma before the final item in the series; items in list are not capitalized | format=a, b and c | apples, oranges and cherries
A, b and c | Leaves out the comma before the final item in the series; first item in list is capitalized | format=A, b and c | Apples, oranges and cherries
A, B and C | Leaves out the comma before the final item in the series; items are capitalized | format=A, B and C | Apples, Oranges and Cherries
A, B AND C | Leaves out the comma before the final item in the series; items are capitalized; conjunction is upper case | format=A, B AND C | Apples, Oranges AND Cherries
a, b or c | Uses the conjunction or to separate items in the list | format=a, b or c | apples, oranges or cherries
a, b, and c | Includes the last comma in the series | format=a, b, and c | apples, oranges, and cherries
a; b; and c | Uses semi-colons to separate items in the list | format=a; b; and c | apples; oranges; and cherries


Define Field Properties

When marking up a document, there are two aspects of the markup you must be aware of—how the answer will appear in the final document and how the answer will appear in the HotDocs interview used to create the final document. You can define these properties in two different places—directly in the field or in properties tables at the end of the document.

This topic includes the following sections:

  • Creating Properties Tables for Storing Properties
  • Specifying How Answers Are Merged in the Final Document
  • Specifying How Questions Appear During the Interview

Creating Properties Tables for Storing Properties

When assigning multiple properties to a variable, rather than include the properties directly in the field, you can include them in a properties table. Using a properties table lets you specify multiple properties for each of your variables without cluttering the actual text of the document.

Properties tables are Word tables that are located at the end of the document, after a special [EndDocument] marker. While you can format the look of the table any way you choose (for example, by making text in the table bold or by shading cells), the actual content of the table must be organized a specific way:

  • The first row of the table must identify the variable type. (In the example below, this is Text Variables.) Nothing else should be specified in this row.
  • The second row of the table lists the most common properties you assign to all your variables (for example, prompts). This row must include the Name column, but all other columns are optional and can represent the properties you assign most frequently to your variables. If there are more properties for some variables than can be displayed reasonably in the table, you can include an Additional column, where you list the additional properties. (Separate the properties in this column using a semi-colon.)
  • The third and all following rows list the individual variables with their associated property values.

Properties are separated by semi-colons. Properties are identified in name/value pair combinations. For example, if you want to create a number variable, you would define the following properties:

format=9,999.00;currency=$;decimal=2

When you use variable tables, you must specify the place in the document where the document text ends and the tables begin. You do this using the [EndDocument] field marker. It appears after the last section of document text but before the first variable table.

Here is an example of an [EndDocument] marker, followed by a variable table:

[EndDocument]

TEXT VARIABLES

Name | Title | Prompt | Additional
EmployeeName | Name of Employee | Enter the employee's name | format=upper; resource="All employees must submit to a background check to verify their eligibility to work for Hobble Creek Publishing."
JobTitle | Job Title | Enter the employee's job title |
JobDescription | Job Description | Complete the following sentence: Job duties shall include: | height=3

When you assemble the HotDocs Model using HotDocs (or when you create a HotDocs template from the HotDocs Model), HotDocs looks for variable tables and uses the information in them to create and set properties for HotDocs variables. If no tables are found, HotDocs uses the properties defined in the markup fields of the document.

See Complex Markup Example with Tables (Last Will and Testament) for an example of a HotDocs Model that uses variable tables.

Specify How Answers Are Merged in the Final Document

You can assign properties to a variable that will affect how a user’s answer will appear in the final document. For example, you can assign a format for the answer (such as uppercase or spelled out), whether the answer should break across lines of text or not, and how the field should look if the user chooses not to answer it, just to name a few.

These properties can be defined in one of two places—in the variable field (described just below) or in a properties table (described earlier).

Properties are separated by semi-colons and are identified in name/value pair combinations. For example, the following would represent a text variable and how it should be formatted in the document:

[ClientName;te;format=upper;nonbreak=yes]

Specifically, this markup field will merge the client's name in uppercase, and it will be non-breaking (meaning the name won't break across lines in the document).

When a property is assigned at the field level, it will apply to that field only. If a property is defined in a table, it will be used for all variable references. Where a property is defined both in the field and in a table, the field-level property will take precedence.

The following table describes all of the available field properties with their associated names and values. Default property values are in parentheses. When a property is not specified in a variable field, the default value is assumed. You can include as many properties as necessary, as long as you separate each property with a semi-colon.

Property Name | Description | Value
type | This specifies the variable type | (text) or (te) number or nu date or da true/false or tf multiple choice or mc computation or co
format (text fields) | This is the format for text fields, including text variables, multiple choice variables, and computation variables that produce a text answer. It specifies how the answer will be formatted in the final document. | (none) When you don't specify a format, text is formatted as the user enters it. upper lower title sentence
format (number fields) | This is the format for number fields, including number variables and computation variables that produce a number answer. It specifies how the answer will be formatted in the final document. | (none) 9,999.00 Nine 9th etc.
format (date fields) | This is the format for date fields, including date variables and computation variables that produce a date answer. It specifies how the answer will be formatted in the final document. | (none) d/m/yy dd/mm/yyyy Mn, D, Y etc.
format (true/false fields) | This is the format for true/false fields, including true/false variables and computation variables that result in true/false. It specifies how the answer will be formatted in the final document. If the value is true, the text to the left of the "/" will be merged. If the value is false, the text to the right of the "/" will be merged. | (none) true/false yes/no truetext/falsetext
format (multiple choice fields) | This is the list format, which is used with multiple-select multiple choice variables. It specifies how the answer will be formatted in the final document. | For single-select options: upper lower title sentence For multiple-select options: A, B and C a; b; and c etc.
nonbreak | This property can be used to keep users' answers from breaking across lines in the final document. | (no) yes
unanswered | This property specifies the text that will be merged into the final document when the variable is unanswered. | any text
font | This property specifies the font that will be used when the user’s answer is merged into the final document. | (default font used in document) font name
comment com | This is a comment for the field. It does not affect assembly and will not be merged into the final document. It is used to make in-line notes in the document. | (none) any text

For the full value lists and explanations see Format Answers in the Document

Specify How Questions Appear During the Interview

If you assemble the document using HotDocs, the fields you create in the document will appear as questions in a HotDocs interview where you will enter your answers. As such, you can define how the questions will be formatted during this interview.

Again, properties are separated by semi-colons. They are identified in name/value pair combinations, like this:

format=9,999.00;currency=$;decimal=2

The following table describes properties common to all variable fields. Subsequent tables then discusses variable-specific properties:

Common Field Properties

Property Name | Description | Value
title | Designates an alternate name for the variable, which is used in the HotDocs interview outline. | any text
prompt | Specifies the text that guides users in knowing how to answer the question during the HotDocs interview. If you specify a prompt, it will be used as the interview "question." If you do not, HotDocs will attempt to generate a prompt based on the field name. It does this by inserting a space wherever it finds a capital letter. So, for example, the field name ClientAddress would generate the prompt Client address. | any text
resource | Provides additional help text for answering the question. This text appears in the resource pane of the HotDocs assembly window | any text
irrelevant (or irrel) | Specifies how a variable that isn't used in the document (for example, because it's conditioned and the condition resolves to false) should be treated—whether it's grayed out, hidden, or always shown. | (gray) hide show
ask | Specifies whether a variable or dialog is asked automatically during the interview. | (yes) no
save | Specifies whether the answer the user enters can be saved to an answer file at the end of an interview. | (yes) no
warn | Causes HotDocs to display a warning if the variable is left unanswered during the interview. | (yes) no

Text Fields

Property Name | Description | Value
height | Determines the height of the answer field that appears in the interview, allowing it to show more than a single line of text | (1) Any number between 1 and 12
maximum (or max) | Determines how many characters can be used in the answer | (as many as the user enters, up to 15,000)
pattern | Determines a specific pattern that will be used for entering the answer (such as a telephone number or time of day) | (none) (999) 999-9999 999-99-9999 etc.
enter | Determines whether a new paragraph is created when the user presses the Enter key in a multi-line field. (By default, pressing Enter simply starts a new line in the same paragraph.) | (break) paragraph

Number Fields

Property Name | Description | Value
minimum (or min) | Specifies the minimum value for the answer | (0) Any number
maximum (or max) | Specifies the maximum value for the answer | (0) Any number
decimal | Specifies the maximum value for the answer | (0) Any number between 0 and 7
currency | Specifies the maximum value for the answer | (none) $ £ € etc.

True/False Fields

Property Name | Description | Value
style | Determines whether the Yes/No prompts for the variable appear on the same line | (row) column

Multiple Choice Fields

Property Name | Description | Value
options | Specifies the options of the multiple choice variable. (You are required to include one or more options with all multiple choice variables.) | Option1/Option2/Option3
optionprompts | Specifies the text that can be used to identify the options (perhaps because the options aren't descriptive enough) | Prompt1/Prompt2/Prompt3
merge | Specifies the text that will be merged in the final document if the user chooses the correlating option during the interview | Merge1/Merge2/Merge3
optionresources | Specifies the resource text for each option you've defined | Resource1/Resource2/Resource3
select | Specifies whether the user can choose one option or multiple options | (single) multiple
other | Determines whether the user can enter an "other" option for single-select options | (no) yes
none | Determines whether the user can select a "none of the above" option for multiple-select options | (no) yes
style | Specifies how the options will be presented to users in the interview | (dropdown) (grid) column list The default option depends on whether the field is set to multiple selection or single selection.

Computation Fields

Property Name | Description | Value
script | This is the formula or calculation (written in HotDocs scripting language) that determines the value for the answer. It is a required property for computation fields. | A valid HotDocs script
merge | Specifies text that can be merged if the computation script generates a true or false value | Text This property can be used when the Computation field generates a true/false value.

Dialogs

Property Name | Description | Value
title | Specifies the text that is used to represent the dialog in the assembly window title bar and in the interview outline If you do not specify a title, HotDocs will attempt to generate a title, based on the dialog name. It does this by inserting a space wherever it finds a capital letter. So, for example, the dialog name ClientInformation would generate the title Client Information. | Any text
style | Specifies whether the dialog is asked once, as a series of dialogs, as a spreadsheet, or as a spreadsheet on the parent dialog. | (regular) repeated spreadsheet ssonparent
contents (required) | Lists the variables that are to be included in the dialog. (The order in which you list these variables will be the order they are asked in the dialog.) | Variable1/Variable2/ Variable3
group | Groups all True/False variables so they are represented either by check boxes (which allow users to choose multiple options) or option buttons (which allow users to choose only one option). | (none) single multiple
none | Specifies whether a grouped list of True/False variables includes a None of the Above option. | (no) yes
label | Specifies the text that will be used to identify the entire group of answers in a repeated list | Any text This option can only be used when the dialog's style is set to repeated
rows | Specifies the number of rows that are visible in a spreadsheet dialog. (This does not affect the number of answers a user can enter—just how many rows of the spreadsheet are visible at a given time.) | Any number This option can only be used when the dialog's style is set to Spreadsheet
prompt | Shows the prompt that will be used if the dialog is inserted in a parent dialog Any text | Any text
irrelevant | Causes the dialog to be hidden when all the variables in the dialog are inactive | (hide) show

Language Fields

Property Name | Description | Value
decimal | Indicates the character that will be used to show the decimal character in a non-English number field | Any character (usually a comma)
grouping | Indicates the character that will be used to show the thousands separator in a non-English number field | Any character (usually a period)

Insert Fields

Property Name | Description | Value
keep | When inserting another document in the parent model, lets you keep the header and/or footer from the inserted document | (none) header footer both
grouping | Indicates the character that will be used to show the thousands separator in a non-English number field | Any character (usually a period)

See Simple Markup Example (Contract), Simple Markup Example (Agreement), and Complex Markup Example with Tables (Last Will and Testament) for examples of how to mark up a HotDocs Model.

You can have HotDocs define default prompts and titles for fields in the HotDocs Model. See Define Settings for a HotDocs Model for details.


Mark Conditional Text

Text in a document is conditional if it is included only when certain conditions are met.

There are two types of conditions you use in markup—simple conditions and alternative conditions.

Marking Simple Conditions

To mark conditional text, you surround the text using opening and closing square brackets. Immediately after the opening bracket, type the word if followed by a colon. After the colon, type a condition name followed by another colon. The document text comes after this last colon.

In this example:

[if:ClientIsMarried:I give to my spouse all interest in property, both real and personal, including buildings, fixtures and improvements to the property.]

The opening bracket, followed by if:, indicates the beginning of the condition. The condition name, ClientIsMarried, is a true/false variable that has been defined in a True/False Variables table. The closing square bracket indicates the end of the conditional text.

A condition name is an affirmative statement specifying the conditions under which the conditional text is included in the document. This can be a true/false variable, a computation variable that returns a true/false value, or it can be an expression. If the condition name isn’t defined elsewhere in the document (for example, as a variable field inserted elsewhere in the document or in a True/False Variables table), HotDocs will use the condition name to create a simple true/false variable. All of the rules that apply to variable field names apply to condition names.

When conditional text consists of a complete paragraph, it is usually desirable to include the paragraph mark as part of the conditional text. To do this, type the closing bracket after the paragraph mark, such that it appears at the beginning of the following paragraph. The following example, which shows the paragraph marks, demonstrates this:

My name is [ClientName;te].

[if:ClientIsMarried:I am married to [SpouseName;te].

][if:ClientHasChildren:The names and birth dates of my children are [ChildrenNamesAndBirthdates;te].

]Except as specifically noted in this document …

Additionally, conditional text may be “nested” within other conditional text. For example:

[if:ClientIsMarried:I give to my spouse all interest in property, both real and personal, including buildings[if:GiftsIncludeFixtures:, fixtures] and improvements to the property.]

Marking Alternative Text

Conditional text may include one or more alternatives, only one of which will be included in the final document. To specify alternatives, introduce each alternative with a forward slash character (/) followed by elseif to identify a conditional alternative, or by else to identify a conditionless alternative that will be included in the document if no other alternative is included.

Here is a simple example showing a conditionless alternative:

I nominate my [if:ClientIsMale:wife/else:husband], [SpouseName;te] as my personal representative.

Here is a complex example with several conditional alternatives followed by a conditionless alternative:

I direct that my body be [if:ClientToBeBuried:buried in the [ClientBurialCemetery;te]/elseif:ClientToBeCremated:cremated and that my ashes be [ClientAshDisposition;te]/elseif:ClientBodyToMedicine:donated to [ClientBodyInstitution;te]/else:disposed of as directed by my personal representative].

A conditionless alternative (else instruction) is not required, but if you include one, it must appear after all other conditional alternatives (else if instructions).

See Simple Markup Example (Contract), Simple Markup Example (Agreement), and Complex Markup Example with Tables (Last Will and Testament) for examples of how to mark up a HotDocs Model.


Mark Repeated Text

As you mark up a document, you may need to identify sections of the document that you need to repeat. For example, if you’re inserting a list of children, you can cause any variable field (for example, [ChildName;te]) to repeat.

To do this, you surround the text in the document you want to repeat (including variable fields) with repeat field markers. A repeat field consists of an opening bracket, the repeat instruction (including the name of the dialog you want to repeat) and the text you want repeated. You must also include a closing bracket at the end of the repeatable section of text. In the field itself, you must separate the dialog name from its properties using semicolons. After the last defined property, you include a final colon.

For example:

My children are listed as follows: [repeat:Children;format=”a, b, and c”:[ChildName;te]].

Fields between the brackets are added to the repeated dialog. If you want to change the order in which they appear, you can either define the order in the Dialogs table, or you can include a Contents= property directly in the repeat field. Separate the field names using forward slashes, like this: [repeat:BequestList;contents=BeneficiaryName/BequestProperty: I give [BequestProperty;te] to [BeneficiaryName;te]. ...].

When repeating a complete paragraph, it is usually desirable to include the paragraph mark as part of the repeated text. To do this, type the closing bracket after the paragraph mark, such that it appears at the beginning of the following paragraph. For example:

[repeat:SpecificBequestInformation:I give [BequestProperty;te] to [BeneficiaryName;te]. If [BeneficiaryName;te] is not living upon my death, the specific bequest shall lapse and be distributed to my then living children.¶ ]

You can assign the following additional properties to a repeat field:

Many of these properties are described in greater detail here.

Property Name | Description | Value
name | Shows the name of the dialog you are repeating | A valid dialog name
contents | Lists the variable fields you want repeated | Variable1/Variable2/Variable3/etc.
format | Describes how HotDocs formats and punctuates a series of answers in a sentence | ("") "a, b, and c" "a; b; and c" etc.
ascend | Sorts the list, based on the specified variable, in alphanumeric (A to Z) order | A variable used in the dialog
descend | Sorts the list, based on the specified variable, in reverse alphanumeric (Z to A) order | A variable used in the dialog
filter | Lists a computation variable that limits (or filters) the list of answers you want merged in the final document | A variable used in the dialog
sortfirst | Sorts the list of items before it applies any filters you've specified | (false) true

You can sort answers in your list on two different levels by including two ascend or descend properties in the field. The first ascend/descend property will define the first level of sorting, while the second ascend/descend property defines the second level of sorting. For example, you may want to sort all states in a list in alphabetical order. You can then sort all cities within a state in alphabetical order, too.

HotDocs processes the ascend, descend, and filter properties in the order you provide. For example, if you place the ascend or descend properties before the filter property, HotDocs sorts the list of answers before the it applies the filter.

By default, HotDocs sets a repeated dialog having five or fewer variables to appear in the interview as a spreadsheet dialog with just three rows.

Using a repeat instruction in a table

HotDocs handles repeating the information in one cell of a table just like using a repeat anywhere else in the model. It consists of the repeat instruction, the dialog you want to repeat, and the variable or text you want to repeat, all enclosed in square brackets. For example the following table shows how to repeat the information in one cell of a table:

Child's Name | Child's Birth Date | Items
[ChildName;te] | [ChildBirthDate;da] | [repeat:Item_List:[Items;te]]

Repeating Rows in a Table

At times, you need to repeat a row of a table. To do this, you insert an opening field marker before the repeat instruction, but then leave off the closing field marker. This is because the end of the row signifies the end of the repeated field. For example, the following shows how to mark up a repeated table:

Child's Name | Child's Birth Date | Items
[repeat:Children:[ChildName;te] | [ChildBirthDate;da] | [Items;te]

Note there is no closing bracket after the Items field. This is because the end of the table row signifies the end of the repeat field.

Nesting Repeated Fields

You can nest repeat fields inside each other. For example, say you need to create a list of children, and then for each child, list the property items each child will inherit.

There are two steps to doing this: 1) nesting the repeat fields in the HotDocs Model, and 2) listing the nested, repeated dialog as a variable of the main dialog in the Dialogs table.

So, for example, in the document, your text would look like this:

[repeat:ChildrenInfo:To [ChildName;te], my child, I give the following items: [repeat:ItemListInfo;format=”a; b; and c”:[Item;te]].

]

The Dialogs table would look like this:

Dialogs

Name | Title | Contents | Resource | Additional
ChildrenInfo | Children Information | ChildName ItemListInfo |  | style=repeated; ascend=ChildName
ItemListInfo | Item Information | Item |  | style=ssonparent

Repeats can not be nested more than four levels deep.

The dialog ItemListInfo appears in the Contents list for ChildrenInfo. Both dialogs include a repeat style.
The property, ssonparent, stands for spreadsheet on parent. It means that HotDocs displays the dialog as a spreadsheet and embeds the spreadsheet directly in its parent dialog.

For examples of how to mark up a HotDocs Model, see Simple Markup Example (Contract), Simple Markup Example (Agreement), and Complex Markup Example with Tables (Last Will and Testament).


Other Instruction Fields for HotDocs Models

In addition to using IF and REPEAT fields in a HotDocs Model, you can use the following other instructions:

Field Property Name Title Contents
ask When HotDocs creates an interview for the user, it reads through the HotDocs Model and displays dialogs of questions based on the order it encounters markup fields in the document.

However, if you want your dialogs to appear in a different order—for instance, if you want a certain dialog to appear first, even though variables that prompt the dialog to be asked appear at the end of the document—you can use an ask field to force HotDocs to display the dialog.

 [ask:VariableName]

[if:ClientIsMarried:[ask:ClientSpouseName]]

[if:MONTHS FROM(Date of Previous Filing DA, TODAY) >= 13:[ASK Current Insurance TE]

]
default If a variable field is unanswered, a default field will set the value of a variable to a specific value. (If the variable field is already answered, the default instruction has no effect.) [default:VariableName=Value]

[default:EmployeeStatus=Temporary]
set Variable fields normally get their values from the answers users enter during an interview, but sometimes you may want to assign an answer to a variable instead of allowing the user to specify the answer.

For example, a document might include the address of the client and, in another place, the address of the client’s spouse. Once the client’s address has been entered by the user, you could use a set instruction to automatically fill in the same address for the spouse, since it will be the same.

 [set:VariableName=Value]

[set:SpouseAddress=ClientAddress]
increment/

decrement

 The increment and decrement instructions cause HotDocs to increase or decrease a number variable, usually a counter, by the value of 1. [increment:VariableName]

[decrement:VariableName]

[increment:TempNum]

[decrement:TempNum]
insert You can insert one template into another by using an insert field. For example, you might want to include boilerplate text in multiple documents, or you may want to include a set of related documents in one main HotDocs Model so users can choose the document they want.

During document assembly, when HotDocs finds an insert field, it stops assembling the main document so it can assemble the inserted document. When it finishes, it continues assembling the main document

An optional property of an insert field is keep, which can have the value of header, footer, or both.

 [insert:"FileName.docx"; keep=header]

[insert:"Provisions.docx"; keep=both]

Both the parent document and any documents referenced in the insert field must be saved to the same location.
assemble You can use an assemble field to add templates to the list of documents that should be assembled. Unlike the insert field, an assemble field adds the model to the list of assemblies (known as the assembly queue) and then waits until the main document is finished assembling before it starts assembling the new, added document. [assemble:"FileName.docx"]

[assemble:"trustdocument.docx"]

Both the parent document and any documents referenced in the assemble field must be saved to the same location.
languages You can mark up a HotDocs Model in languages other than English. To do this, you must create a language field in the document that allows HotDocs to format dates and numbers in the template so they appear correctly in the assembled document.

Optional properties of the language field include decimal, which identifies the character used as the decimal mark, and grouping, which identifies the character used as the thousands separator.

 [language:fra;decimal=',';grouping='.']
Valid language codes are:
  • dea (Austrian German)
  • des (Swiss German)
  • deu (German)
  • eng (English)
  • fra (French)
  • nld (Dutch)
  • esn (Spanish)
  • ita (Italian)
  • ptb (Brazilian Portuguese)
span Frequently, users need to edit document text once a document has been assembled. To allow this, you must mark sections of document text using span fields. Inserting span fields in a HotDocs Model allows users to edit the text of the assembled document while viewing the Document Preview tab of the assembly window. Changes made to the text can be saved in an answer file, which allows users to later reassemble the document and still have access to the changes they made.

An optional property of the span field is title.

 [span:spanName;title=SpanTitle:DocumentText ]

[span:trialPeriod: The length of [Employee Name]'s employment will be an initial term of six months, with the possibility of continuation beyond that period depending on Hobble Creek Publishing's needs and upon the employee's performance.]

Each of the above fields can also specify a comment as an additional property, for example:

[ask:VariableName;comment=put comment here]


Manage Markup Fields in the Document

As you mark up a HotDocs Model, you may want to distinguish between markers and the actual text of the document. For example, you may want to mark fields using specific colors. There are two ways to do this—by using the HotDocs Markup Tools, or by using the built-in features of Word.

Using the HotDocs Markup Authoring Tools

HotDocs Markup Tools are included as part of the HotDocs ribbon, helping you better manage the markup fields in the document. For example, you can apply color to the different fields, as well as hide field properties that aren't essential for reviewing the document. You can also use the toolbar to draft a test document, so you can see what kind of interview the document produces.

You can use the following buttons in the toolbar to complete your different tasks:

Button Name | Description
Apply Color | Applies color to the different fields in a HotDocs Model. Variable fields are colored using blue, If fields using green, and Repeat fields using maroon. Using color like this can help you distinguish between markup and the actual text of the document. (To apply color to a selection of text within the document, select the text before clicking the button.) When you click the [image] Apply Color button, the tool also applies Word's Hidden property to the text. This makes it so you can click the [image] Hide Clutter button and hide these properties. This can make the document more readable, particularly when you need to review it.
Hide Clutter Show Clutter | Hides the properties of a variable (such as formats and other styles) that aren't necessary for you to review the document. (Click here for an example.) (To hide clutter in a selection of text rather than the entire document, select the text before clicking the button.) To view the full markup language again, click [image] Show Clutter.
Select Field | Highlights the block of text merged using an IF field or a REPEAT field. This helps you identify all of the text affected by the instruction. If you click [image] Select Field once, it will select just the immediate section of the instruction (for example, the first part of a multi-part condition). If you click the button twice, it will select the entire instruction.
Draft Document | Lets you view the HotDocs interview that is created by the HotDocs Model.
Options | Lets you view whether the HotDocs Model uses an embedded component file. (When you convert a HotDocs template to a HotDocs Markup, HotDocs embeds the component file in the document so that it can retain its properties. Clicking this button helps you know if this is the case. If you want to delete the embedded component file, click Remove.) (See Convert HotDocs Templates to HotDocs Markups)
Help | Opens the HotDocs Markup Help file.

Using the Features of Microsoft Word

As you mark up the document, you may find that the number of properties you need to specify for a variable field, conditional field, or repeat field makes the field hard to read and understand, especially for someone unfamiliar with markup. You may also have a difficult time distinguishing between mark-up fields and document text. The following describes some things you can do using tools in Microsoft Word to make this process of managing your markup easier.

Keep Properties from Appearing in Markup Fields

To keep the information appearing in markup fields to a minimum, you have several options:

  • Place the field properties in hidden text: Once you have assigned all of the properties to the field, apply the hidden text property to the field property. (To do this, highlight the text you want to hide and choose Font (Format menu). At the Font dialog box, select Hidden in the Effects group.) To view the hidden text, click the Show/Hide ¶ button in the Word toolbar.
  • Place the field properties in footnotes: Once you have assigned all of the properties to the field, move the text to a footnote. (See the Microsoft Word help for instructions on creating footnotes.)
  • Place the field properties in variable tables at the end of the document: You can create tables at the end of the document where you define the properties of the variables you use in the document. See Define Field Properties for an explanation of how to do this.

Apply Color to Markup

The markup examples used in this help file use blue to identify variable fields, green to identify conditional text, and maroon to identify repeated text. While color is not mandatory, it is much easier to see markup in a HotDocs Model when color has been applied.

To apply color using the built-in features of Word, select (or highlight) the text to be colored, choose Font (Format menu), and select the font color. Or, after selecting text, use the Font Color button on the Word Formatting toolbar.


Rules and Tips for Creating a HotDocs Model

You should keep the following in mind when working with HotDocs Models:

  • Sometimes you may want to include the value from another answer in the prompt for a specific variable. To do this, make sure you include the opening and closing brackets around the variable name. For example, the following prompt Please enter [EmployeeName]'s gender, would merge the answer for the employee's name in the prompt during the interview, like this: Please enter Jane Porter's gender.
  • Markup keywords (like format, text, style, and enddocument) are case-insensitive. However, variable names (like ClientName) are case sensitive.
  • Property definitions are cumulative, meaning that if the same property is defined more than once for a given variable or dialog, the last one found in the HotDocs Model takes precedence.
  • If you do not define prompts for your variables, by default, HotDocs will attempt to create default prompts based on the field name. For example, the field name [EmployeeName] would become the prompt Employee name. (HotDocs determines where spaces should be included in the prompt based on capitalization in the field name. Because of this, you should capitalize each individual word in the field name.) See Define Settings for a HotDocs Model for details.
  • The same is true for dialog titles. If no title is specified, HotDocs will attempt to create a default title, based on the dialog name. For example, the dialog [EmployeeInformation] would use the title Employee Information. See Define Settings for a HotDocs Model for details.

Escaping Characters In Your Markup

If you need to use characters in your text that are typically reserved for the Markup specification, you can "escape" them by following these guidelines:

Properties appearing in a variable table column do not need to be escaped. The only exception is when you're listing multiple, different properties in the Additional column of the table.

  • The opening and closing square bracket ([ ]), forward slash (/), and back slash (\) characters, if used as literal characters anywhere in the HotDocs Model, must always be marked as literal. You can do this by preceding the character with a back slash character.

For example, this text in a HotDocs Model:

For a complete description, see H:\\Publications\\Complete Description.doc \[revised 2006\]

appears like this in the final document:

For a complete description, see H:\Publications\Complete Description.doc [revised 2006]

  • A forward slash (/), if used as a literal character in any list properties (such as a list of multiple choice options), must be marked as literal. You can do this by enclosing the text string in quotation marks.

For example, you would mark the following different options :

Cars/Trucks

Recreational Vehicles

Towing Trailers

Like this:

"Cars/Trucks"/Recreational Vehicles/Towing Trailers

  • Paragraph marks or line breaks, if used in any list properties (such as multiple choice options), must be enclosed in quotation marks.

For example, you would mark the following different multiple choice option prompts:

(Option 1) Cars

Trucks

(Option 2) Recreational Vehicles

(Option 3) Towing Trailers

Like this:

"Cars

Trucks"/Recreational Vehicles/Towing Trailers


Draft a Test Document

As you are marking up a HotDocs Model, you can use the [image] Draft Document button in the HotDocs Markup Tools to draft a test document. When you click this button, HotDocs starts and displays the interview and assembled document for the HotDocs Model you are working on. Being able to see the interview and document can help you make sure the markup you're using in the model creates a complete and accurate document. It also gives you the chance to review how questions appear in the interview, in case you need to define additional properties, such as formats or prompts.

To draft a test document

  1. Click the [image] Draft Document button in the HotDocs Markup Tools. A HotDocs assembly window appears.
  2. Review the questions in the interview, answering them different ways to produce different versions of your document.
  3. Review the assembled document for accuracy and completeness.

If you need to make corrections, make them in the HotDocs Model.

Once you have completed a HotDocs Model, you can add it to a HotDocs template library so it can be assembled by other HotDocs users. See Assemble a HotDocs Model for details.


Group Variables in Dialogs

If you plan to assemble HotDocs Models using HotDocs, you may find that you want variables to be grouped together during the interview. For example, you may want variables asking for information about the client (such as name, gender, birth date, and so forth) to be asked in the same group, rather than asked individually.

To group variables into dialogs, you must create a Dialogs table in the HotDocs Model. This table lists each dialog you want to use. For each dialog, you list the variables you want to include in the dialog as well as other properties you want defined for the dialog. For example, a typical Dialogs table may look like this:

DIALOGS

Name | Title | Contents | Resource | Additional
DependentData | Dependent Information | DependentExplained ChildName ChildBirthDate | Please list children in birth order, from oldest to youngest | style=repeated
ClientData | Client Information | ClientName ClientGender ClientBirthDate |  |
PropertyData | Property Information | PropertyDescription PropertyLocation PropertyValue |  | style=repeated

Sometimes you may need to add standalone text to a dialog to help the user better understand the questions that are being asked. You can do this either by typing the text directly in the Contents column (surrounding it in quotation marks) or by creating a dialog text variable.

Just as you assign properties to variables, you can assign properties to a dialog. For example, you can define a title for the dialog as well as choose a style for the dialog if it must be repeated. The following table describes these properties:

Property Name | Description | Value
name (required) | Specifies the name of the dialog. | Any valid variable name. (See Mark Variable Text for rules on naming variables.)
contents (required) | Lists the variables and dialogs that are to be included in the dialog. (The order in which you list the contents will be the order they appear in the dialog.) | Variable1/ Variable2/ Variable 3 Variables can be separated either by hard returns or by a forward slash.
title | Specifies the title of the dialog. The title is what the user will see during the interview. If you do not specify a title, HotDocs will attempt to generate a title, based on the dialog name. It does this by inserting a space wherever it finds a capital letter. So, for example, the dialog name ClientInformation would generate the title Client Information. | Any text
resource | Provides additional help text for answering all of the questions in the dialog. This text appears in the resource pane of the HotDocs assembly window. | Any text
style | Specifies whether the dialog is asked once, as a series of dialogs, as a spreadsheet, or as a spreadsheet embedded on the parent dialog. | (regular) repeated spreadsheet ssonparent
group | Lets you group True/False variables so they can appear either as option buttons (which let the user choose one of the options) or check boxes (which let the user choose multiple options). | (none) single multiple
none | Provides users with a "none of the above" option when True/False fields in the dialog are grouped. | (no) yes
label | Lets you assign a label to a dialog that is repeated as a series. The label is used to identify the top node of the repeated dialog in the interview outline. | Any text
prompt | Specifies the text that will be used to identify a child dialog on its parent. | Any text
rows | Defines the visible number of rows in a dialog that is repeated as a spreadsheet. | Any number
ask | Causes the dialog to be asked automatically in the interview. | (yes) no
irrelevant | Defines how a dialog that isn't required in the interview should be treated. For example, if a dialog contains variables that aren't used in the interview, this setting will determine whether the dialog is hidden (because it isn't necessary) or shown. | (hide) show

You can control the order dialogs are asked in the interview. See Define the Order of Dialogs in the Interview for details.


Define the Order of Dialogs in the Interview

As HotDocs processes the HotDocs Model, it displays the dialogs you have created in the order the variable fields are merged in the document. For example, if the first field in the HotDocs Model is EmployeeName, HotDocs will ask the variable EmployeeName first. If this variable is associated with a dialog, it will ask the dialog instead. It will then move to the next field in the HotDocs Model and repeat the process. (If the dialog has already been asked, it won't ask it again.)

For many, this default order for asking dialogs is adequate. However, if you want more control, you can define this sequence by creating an Interview table. The order dialogs are listed in this Interview table is the order they will be asked by HotDocs.

When defining an interview, you must account for all of the dialogs. Failure to list all of the dialogs in the Interview table will result in some questions not being asked in the interview.

An Interview table lists the dialogs in the order you want them asked. For example:

INTERVIEW

ClientData
DependentData
PropertyData


Define Settings for a HotDocs Model

When you work with HotDocs Models, you can define several settings that control how parts of the interview look and feel. For example, you can define options that let HotDocs generate default titles, prompts, and resources for variables in the HotDocs Model.

Additionally, you can select an option that allows you to use non-standard names when marking fields in the HotDocs Model. To explain, the Markup requires you to use only alphanumeric characters and underscores when naming markup fields in your HotDocs Model. However, sometimes when you're converting existing HotDocs templates to model format, variables in the template may use spaces and other special characters in the variable name. Selecting this option allows you to continue to use the template as a model without having to rename all of your variables.

The following table describes the different settings you can include in a Settings table, along with descriptions of each setting:

Property Name | Description | Value
StandardNames | Allows authors to assemble HotDocs Models or convert templates to HotDocs Model where field names include spaces and other special characters. These characters are typically not allowed in HotDocs Model authoring. When a template is converted to a HotDocs Model and it uses non-standard field names, this setting is automatically added to the Settings table and set to False. If this property isn't defined in the Settings table, HotDocs will use the property defined in HotDocs Options. (See the Allow Non-Standard Names in HotDocs Model and Rules for Naming Variable Fields for details.) | (True) False
DefaultPrompts | Generates default prompts based on field names. Prompts are used to identify the question in a dialog. For example, if a text field name is ClientName, this setting will automatically assign it the prompt of Client name. | (True) False
DefaultTitles | Generates default titles based on field names. Titles are used to describe the field when it appears as an icon in the HotDocs interview outline. For example, if a text field name is ClientName, this setting will automatically assign it the title of Client Name. | (True) False
DefaultResources | Generates resource text for markup fields based on the document text surrounding the field. This provides context for the question in the interview. | (True) False
IrrelDefault | Defines the default value (hidden, grayed, or always showing) for irrelevant variables in the interview. This option is available in HotDocs 2009 and later. | (Gray) hide show

The following is an example of how you can define a Settings table:

SETTINGS

Name | Value
StandardNames | True
DefaultPrompts | True
DefaultTitles | True
DefaultResources | False

You can also define these settings directly in the template. To do this, simply create a Settings field, like this: [Settings:StandardNames=true;DefaultPrompts=false].


Assemble a HotDocs Model

Once you have created a HotDocs Model, you can add the model to the HotDocs template library and assemble it using HotDocs.

To add the document to the library and assemble it

  1. Start HotDocs.
  2. At the template library, click the [image] Add Item button. The Add Item dialog box appears.
  3. Click the Type drop-down button and choose HotDocs Model from the list.
  4. Click the [image] Browse button next to the File name field. The Add Item File Name dialog box appears.
  5. Locate and select the HotDocs Model and click OK.
  6. Enter a title in the Title field and click OK.
  7. Once added, select the HotDocs Model in the item list and click [image] Assemble.
  8. Complete the assembly process.

By default, when HotDocs generates an interview from a HotDocs Model and displays the questions, it shows the surrounding text in the resource pane of the assembly window. This can help provide context for the question being answered. (To view the resource pane, click the [image] Dialog Resource Pane button. (You can keep resources from appearing in your interview by defining a setting in the Settings table. See Define Settings for a HotDocs Model for details.)

When you add a HotDocs Model to the template library, HotDocs appends the HotDocs Model command-line option ( /mo) to the file path. This indicates to HotDocs that this is a HotDocs Model and not just a regular Word document.


At a Glance: Export Template to Model

Home > HotDocs Models > Creating Full HotDocs Models > 4. Using the HotDocs Model in HotDocs > At a Glance: The Create HotDocs Model from Template Dialog Box

At a Glance: The Create HotDocs Model from Template Dialog Box

After clicking on Create HotDocs Model from Template in the Template menu of your HotDocs Library you will see the Create HotDocs Model from Template dialog box.

In field A you need to select the template you wish to export. The easiest way to do this is to click on the [image] Browse button to the right of field A and navigate to the template you want to export.

HotDocs will automatically fill field B with the same file name as your chosen template. If you would like to use a different file name for the HotDocs Model you can type it into field B.

If you check box C then HotDocs will put a reference to the newly created HotDocs Model into the HotDocs Library you have open. If you would not like to add the HotDocs Model to this library then make sure this box is unchecked.

Go here for more information on creating a HotDocs Model from a template.


Create HotDocs Model from Template

You can create a HotDocs Model from an existing HotDocs template. Saving templates as models allows you to share your templates with subject matter experts unfamiliar with HotDocs. As long as those experts understand (and use) the markup rules specified in this help file, they can further automate the template and use it with HotDocs User to assemble documents from it.

When you create a model from a template, HotDocs converts variable and instruction fields to markup fields. Variable and instruction properties are stored in tables at the end of the document. Component file properties are saved in an embedded component file.

Some template development features are not supported in HotDocs Models. This includes pointed component files and clause libraries.

To Create a HotDocs Model from a Template

  1. At the template library, select the template you want to export.
  2. Click Create Model from Template (Template menu). The Create HotDocs Model from Template dialog box appears.
  3. Optionally, change the name of the HotDocs Model in the HotDocs Model file name field. (By default, HotDocs appends the text .model to the file name. This helps distinguish between it and the original template file.)
  4. Optionally, select Add the new model to this library to add a reference to the model to the library. This allows you to more easily assemble the HotDocs Model using the Assemble command.
  5. Click OK. HotDocs exports the template as a model. You can further edit the model or distribute copies of it to others for review or additional markup.


At a Glance: Import Model to Template

Home > HotDocs Models > Creating Full HotDocs Models > 4. Using the HotDocs Model in HotDocs > At a Glance: The Create HotDocs Template from Model Dialog Box

At a Glance: The Create HotDocs Template from Model Dialog Box

After clicking on Create HotDocs Template from Model in the Template menu of your HotDocs Library you will see the Create HotDocs Template from Model dialog box.

In field A you need to select the HotDocs Model you wish to import. The easiest way to do this is to click on the [image] Browse button to the right of field A and navigate to the document you want to import.

HotDocs will automatically fill field B with the same file name as your chosen HotDocs Model. If you would like to use a different file name for the template you can type it into field B.

If you check box C then HotDocs will put a reference to the newly created template into the HotDocs Library you have open. If you would not like to add the template to this library then make sure this box is unchecked.

Go here for more information on creating a HotDocs template from a model.


Create HotDocs Template from Model

Once you have marked up a document, you can create a template from a HotDocs Model. Markup fields in the model are converted to variable and instruction fields. Once created, you can edit the template or assemble it.

To Create a HotDocs Template from a Model

  1. At the HotDocs library, choose Create Template from Model (Template menu). The Create HotDocs Template from Model dialog box appears.
  2. Click the [image] Browse button next to the HotDocs Model file name field and locate the HotDocs Model.
  3. Enter a file path and name for the newly created template in the HotDocs template file name field. (HotDocs automatically suggests the same name as the HotDocs Model, with the text .template appended to it.)
  4. Optionally, select Add the new template to this library. This places a reference to the template in the HotDocs library.
  5. Click OK. The template is created from the marked up HotDocs Model.


HotDocs Model Naming Standards

When marking up HotDocs Models, you must adhere to the Markup rules, which requires you to follow certain standards when naming variables and other fields in the document. Failure to follow these standards, particularly #1, may result in errors or other problems when users attempt to assemble the HotDocs Model.

Specifically:

  1. You must use only letters, digits, and underscores. You cannot use spaces or other special characters.
  2. You should use names that are at least two words.
  3. You should make one of the words in the name the "subject" word (Client, Child, etc.).
  4. You should capitalize the first letter of each word, regardless of part of speech.
  5. You must never use names that are all capitals.

If you must include spaces or special characters in your variable and other field names, you can select a HotDocs option that allows this. See Allow Non-Standard Names in HotDocs Markup.


Including HotDocs Scripting In a Model Document

Home > HotDocs Models > Creating Full HotDocs Models > 5. Including HotDocs Scripting In a HotDocs Model > Including HotDocs Scripting In a HotDocs Model

Previous Topic Next Topic

Including HotDocs Scripting In a HotDocs Model

As you mark up your HotDocs Models, you may need create scripts that perform a particular task, such as insert one model into another or perform some action based on an answer the user provides. Similarly, you may need to add up several dollar amounts, or find the number of years between two given dates. Or, you may need to search a user’s answer for a certain string of text.

To accomplish this, you must use the HotDocs scripting language, which consists of instructions, expressions, operators, and values—such as text, numbers, dates, or answers users enter. You can include scripts in your markup to help you accomplish these different tasks.

Specifically, an instruction tells HotDocs to perform some sort of function, while an expression retrieves a special value. Most instructions and expressions also include placeholders, which you must replace with a value. Possible values include text strings, number amounts, other expressions, or variables. An instruction or expression will not work until all of its placeholders are replaced.

In addition to using instructions and expressions, you can use operators to control how a script is processed. Most operators are common mathematical signs, but there are also Boolean operators such as; AND and OR, as well as comparison operators.

When creating scripts, instruction and expression keywords can either be entered in the Script column of a Computation Variables table, or as an in-line property of a computation field. Keyword names are not case sensitive, but it is recommended you enter them in lowercase. Multi-word keywords are entered as one word, capitalizing the second (and any remaining) words in the expression or instruction. For example, to determine the absolute value of a number, you would enter the keyword as absoluteValue.

Template developers automating templates in HotDocs are required to use all uppercase letters when using scripting keywords. To accommodate this difference between template development and creating HotDocs Models, you can specify a setting in the HotDocs Model that allows for uppercase letters in expression and instruction keywords. See Define Settings for a HotDocs Model.


Full List of Instruction Models

Instruction | Description
ascend var; descend var | The ascend instruction sorts lists of answers (gathered using a repeat instruction) in alphanumeric order, from 1 to 9, and from A to Z. The descend instruction sorts lists of answers from 9 to 1, and from Z to A.
ask dialog | The ask dialog instruction allows you to control the order in which dialogs appear in an interview.
ask var | Sometimes a variable needs to be asked by itself. You can use the ask var instruction so that during the interview, HotDocs displays the variable in its own default dialog.
default var to value | This instruction suggests a value for a variable if the variable is unanswered.
filter computation_var | The filter instruction filters out certain entries from a repeated list, based on conditions you specify.
format "list_format" | The format "list_format" instruction allows you to create a sentence-style list within a computation.
if expression; elseIf; else; endIf | You can make sections of a HotDocs Model conditional by using if instructions. You can also make instructions or expressions in a script conditional. A conditional section will be included only if a condition you specify is true. The elseIf instruction allows two or more conditions to be included in an if instruction. The else instruction establishes a final condition for an if instruction, specifying that if all preceding conditions are false, the following information should be included. It must be the last item of the if instruction.
increment num_var; decrement num_var | The increment and decrement instructions cause HotDocs to increase or decrease a number variable, usually a counter, by the value of 1.
insert "filename" | This instruction inserts another HotDocs Model into the document currently being assembled. When HotDocs encounters an insert instruction, it immediately processes the instruction and inserts the model into the current document. If there are variables to be answered, HotDocs presents them before finishing the interview of the main document.
language code | This instruction tells HotDocs to format numbers and dates in a particular language.
repeat dialog; endRepeat | A repeat instruction gathers lists of answers and merges them into a document.
set var to value | This instruction lets you specify a given value for a variable’s answer automatically, rather than allow the user to specify an answer. With the set instruction, you can transfer names and other values from one variable to another.
while expression; endWhile | The while expression instruction allows you to repeatedly process (or loop through) an answer or set of answers until a certain condition is met, such as a certain answer is found or a limit is reached.


Full List of Expression Models

Expression | Description
absoluteValue( num ) | Using the absolute value expression, you can find the absolute value of a given number. You can calculate a negative number, but have it appear as a positive number.
age( date ) | The age( date ) expression produces an age, in years, by calculating the number of years between the current date (as determined by your computer’s system clock) and a date you provide in the computation script.
answered ( dialog ) | HotDocs can determine whether a dialog has been answered using the answered expression. Even if only one variable in the dialog is answered, the expression returns a value of true.
answered ( var ) | You can use the answered expression to determine whether a HotDocs variable has been assigned a value. If so, the expression receives the value of true.
count( dialog ) | You can find out how many sets of answers a user provides for a repeated dialog. A repeated dialog is any dialog used in a repeat instruction. This expression produces a number, based on each answered dialog.
count( mult_choice_var ) | This expression counts how many options a user chooses when answering a Multiple Choice variable. The result it produces is a number.
counter | HotDocs uses counter as a way to compare two incrementing number values. For example, perhaps you want to list the last child named in a repeated dialog. You could create the following computation script:
date - num days | You can subtract any number of days from a Date variable. The result of this computation is a new date value, which can be merged into the assembled document.
date - num months | You can subtract a certain number of months from a Date variable. The result of this computation is a new date value, which can be merged into the assembled document.
date - num years | You can subtract a certain number of years from a Date variable. The result of this computation is a new date value, which can be merged into the assembled document.
date + num days | You can add any number of days to a Date variable. The result of this computation is a new date value, which can be merged into the assembled document.
date + num months | You can add any number of days to a Date variable. The result of this computation is a new date value, which can be merged into the assembled document.
date + num years | You can add a certain number of years to a Date variable. The result of this computation is a new date value, which can be merged into the assembled document.
dateOf( num, num, num ) | This expression finds a date value based on day, month, and year values.
dayOf( date ) | This expression returns the day portion (1 to 31) of a given date.
dayOfWeek( date ) | This expression determines on which day of the week a specific date falls and converts that value to an integer.
daysFrom( date, date ) | This expression allows you to find the number of days between two dates.
first( text, num ) | Using this expression, you can return any number of characters starting with the first character in an answer value.
format( value, "example" ) | Sometimes you may need to add a date, number, or true/false value to a text value. You can do this by formatting the date, number, or true/false value as text.
integer( text ) | Sometimes you may have a text value that contains number characters, as in the case of a time of day value. The integer expression allows you to convert those number characters into numeric values so you can perform calculations or compare them with other values.
last( text, num ) | The last expression finds and returns a certain number of characters from the end of a text string.
length( text ) | The length expression counts the number of characters—including spaces and punctuation—in a text value, such as a Text variable.
max( num, num ) | The max expression compares two number values and returns the greater of the two.
mid(text, num, num ) | Like the first and last expressions, this expression extracts a specified number of characters from within a text string.
min( num, num ) | The MIN expression compares two number values and returns the lesser of the two.
monthOf( date ) | This expression returns the month portion of a given date.
monthsFrom( date, date ) | The months from expression calculates the number of months between two given dates.
mult_choice = text; mult_choice != text | The mult_choice = text expression returns true when the user chooses a Multiple Choice option that is equal to ( = ) a given text value. If it is not equal ( != ), the expression returns false. The mult_choice != text expression functions in the opposite way—testing instead to see if an answer is not equal to (!=) a given text value.
not true_false | You can use the not true_false expression to find out if a True/False variable is false.
other( mult_choice_var ) | This expression determines whether the user has chosen the Other option of a Multiple Choice variable and, if so, returns the text entered in the Other field. It can also be used to test whether the user has selected the None of the Above option.
position( text, text ) | The position expression finds the position of a certain character or character string in a given text value. It is useful if you need to find a character you know will be in an answer but are not sure where it will appear. It returns a number value, which represents the first character.
power( num, num ) | The power expression generates a numeric value, based on a given exponent.
remainder( num, num ) | The remainder expression returns the remainder of a division. If the denominator is a zero, HotDocs generates a divide by zero error.
replace( text, text, text, num ) | This expression lets you search a string of text for a given character string and replace the results with new text.
result | As you write computations, you often need HotDocs to acknowledge what the result would be at that point in the script. You can update this answer by using the result expression.
round( num, num) | You can round a number value to a specified number of places.
selection( mult_choice_var, num) | This expression lets you retrieve individual options (answers) selected in a Multiple Choice variable. It returns a text value that corresponds to the defined answer (as designated by the num placeholder).
space( text, text ) | This expression tests whether the variable is answered. If it is, it merges the answer, followed by a space character. If the variable is unanswered, it merges nothing ("").
strip( text, text, true_false, true_false) | This expression removes a specified character or characters from the beginning or end of a text answer. By default, HotDocs removes the characters from both the beginning and the end of the text. If you want to specify just one or the other, you must use the true_false parameters.
sum( computation_var) | Using the sum expression, you can add computation values that have been repeated.
sum( num_var ) | Using the sum expression, you can add repeated number values.
text contains text | The text contains text expression determines whether the first text value contains the same text as the second value. If it does, it returns the value of true.
today | This expression returns the current date, according to your computer’s system clock.
truncate( num, num ) | You can truncate a decimal number a specified number of places after a decimal point.
unanswered | This expression removes an assigned value from a variable. It is used most often with the set instruction:
union( mult_choice, mult_choice ) | This expression creates a single list of all unique options (answers) that have been selected across two Multiple Choice variables.
value( var, expression ) | This expression returns a default value for the variable type if the variable is unanswered. If the variable is answered, the value is the answer the user specifies.
yearOf( date ) | You can use this expression model to find the year portion of a given date.
yearsFrom( date, date ) | This expression calculates the number of years between two given dates.
zero( num_var ) | This expression returns the value of zero only if a Number variable is unanswered. If the Number variable is answered, the value is the answer the user specifies.


Use Operators When Scripting

An operator is a symbol or word that causes an operation such as addition or a comparison to be performed in a computation or expression. Most operators can be used when working with both number and text values.

There are three types of operators:

  • Comparison operators: These compare two values of the same type (text, number, date, multiple choice, or true/false). They return values of true or false depending on whether the comparison is true or not.
  • Arithmetic operators: These calculate new values. Operands used in the script must be the same type. You can use the Add ( + ) operator to string together (concatenate) two text values.
  • Logical operators: These return a true/false value based on a logical comparison of their operands, both of which must be true or false.

The following tables explain how each operator works:

Comparison Operator | Description
= | The two items in the comparison are of equal value. For example: BirthDate = 17 Dec 1989 Employee Name = "Louisa Gehrig"
!= | The two items in the comparison are not of equal value. For example: if ExhibitA != true if PlaintiffGender != "Male"
< | The first item in the comparison has a lesser value than the second item. For example: AccountBalance < 9000 counter < 10
> | The first item in the comparison has a greater value than the second item. For example: DependentAge > 18
<= | The first item in the comparison is less than or equal to the second item. For example: ClientAge <= 65 counter <= 2
>= | The first item in the comparison is greater than or equal to the second item. For example: TaxedIncome >= 75000
Arithmetic Operator | Description
+ | Add the different components of the script together. For example: Value1 + Value2 ClientStreet + ", " + ClientCity + ", " + ClientState
- | Subtract the different components of the script from each other. For example: MonthlyIncome - AmountOfOwedChildSupport
* | Multiply the different components of the script. For example: PurchasePrice * 0.625
/ | Divide the different components of the script. For example: YearlySalary / 12
Logical Operator | Description
AND | The statement to the left and the statement to the right must both be true. For example: if ClientIsMarried and ClientHasChildren
OR | The statement to the left or the statement to the right must be true. For example: if ClientIsSingle or ClientIsWidowed
NOT | The two items in the comparison must not be equal to each other.

The final operator, the parentheses ( ), instructs HotDocs to perform the operation inside the parentheses first.


Simple Markup Example (Contract)

This example contains simple text, number, and date markup fields. Where an answer needs a special format, it has been marked as such. The example also contains a simple conditional statement. (To see a slightly more complex markup example, see Simple Markup Example (Agreement).)

If you're creating a text field, you do not need to include a variable property (te) in the field as HotDocs will automatically assume text as the default. With all other field types, however, you must define a field type property.

PUBLISHING CONTRACT

This Publishing Contract, by and between [EmployeeName], whose address is [EmployeeAddress], and Hobble Creek Publishing, is entered into on [AgreementDate;da].

Hobble Creek Publishing is in the business of publishing books and desires to publish [EmployeeName]'s novel entitled [NovelTitle]. [EmployeeName] desires to have [NovelTitle] published by Hobble Creek Publishing.

[EmployeeName] hereby grants to Hobble Creek Publishing the right to print, publish, distribute, and sell [NovelTitle] in the United States and Canada in various editions, including hardbound, trade paperbound, mass market paperbound, and special edition.

Hobble Creek Publishing agrees to publish [NumberOfCopies;nu] hardback copies of [NovelTitle] during its initial printing. Numbers for additional publications will be determined at a later date, based on the profitability of the initial printing.

[EmployeeName] and Hobble Creek Publishing agree that Hobble Creek Publishing shall be under no obligation to publish [NovelTitle] provided that this Contract shall be terminated. All rights granted herein to Hobble Creek Publishing shall revert to [EmployeeName] if [NovelTitle;te] is not published by [PublishingDeadline;da].

[if:NoObligationToPublish:In addition, if Hobble Creek Publishing does not publish [NovelTitle] by [PublishingDeadline;da], Hobble Creek Publishing agrees to pay [EmployeeName] $[KillFee;nu].

]

__________________________

James Tyson

Hobble Creek Publishing

__________________________

[EmployeeName]


Simple Markup Example (Agreement)

This markup example is slightly more complex than Simple Markup Example (Contract). It contains all of the variable types (text, number, date, true/false, multiple choice, and computation). All variables are fully marked using their field type.

Because this example doesn't incorporate variable tables, you'll note additional field properties for some variables, such as multiple choice options and merge text as well as a simple script for a computed field.

EMPLOYMENT AGREEMENT

This Employment Agreement, by and between Hobble Creek Publishing and [EmployeeName;te], is entered into this [AgreementDate;da;format="dth Day of Mn, YYYY"].

As of [HireDate;da], Hobble Creek Publishing employs [EmployeeName;te], and [EmployeeName;te] accepts employment, as a full-time [JobTitle;te]. Job duties shall include [JobDuties;te]. [EmployeeName;te] shall be paid $[MonthlySalary;nu] per month, which is equivalent to $[Yearly Salary;co;script=MonthlySalary * 12] per year. Salaries are paid monthly, on the last business day of the month.

[EmployeeName;te] shall be entitled to a paid annual vacation of [NumberOfVacationDays;nu;format=alpha] ([NumberOfVacationDays;nu]) days each year during the continuation of this agreement. Vacation time must be taken in the year earned. In addition to vacation time, [EmployeeName;te] may take the following paid holidays: New Year's Day, Martin Luther King, Jr., Day, President's Day, Memorial Day, Independence Day, Labor Day, Thanksgiving (plus one additional), and Christmas (plus one additional).

[if:PaidSeminarDays:In addition, [EmployeeName;te] shall be allowed [NumberOfSeminarDays;nu] days each year to attend professional meetings or seminars, provided that [EmployeeGender;mc;options=male/female;merge=he/she] plans attendance at such meetings or seminars for minimum interference with the business of Hobble Creek Publishing.

][if:TrialPeriod:The length of [EmployeeName;te]'s employment will be an initial term of six months, with the possibility of continuation beyond that period depending on Hobble Creek Publishing's needs and upon [EmployeeGender;mc;options=male/female;merge=his/her] performance.

][EmployeeName;te]'s employment with Hobble Creek Publishing is "at will." The terms of employment are subject to change at Hobble Creek Publishing's discretion with advance written notice.

_______________________________

[CompanyRepresentative;te]

Hobble Creek Publishing

_______________________________

[EmployeeName;te]


Complex Markup Example with Tables (Last Will and Testament)

The following example shows a marked up HotDocs Model that incorporates variable tables.

Colors have been used to distinguish variable fields, If fields, and Repeat fields from the rest of the document text.

To see an example of a HotDocs Model that does not use variable tables, click here.

LAST WILL AND TESTAMENT

OF

[ClientName;format=upper]

I, [ClientName;format=upper], of [ClientCityOrCounty], Washington, being of sound and disposing mind, memory, and understanding, do hereby make, publish and declare this to be my Last Will and Testament (this “Will”), hereby revoking all prior wills, codicils, or other testamentary dispositions made by me.

[if:ClientIsMarriedOrHasChildren:

ITEM ONE: IDENTIFICATION

[if:ClientIsMarried:As used in this Will, the word “spouse” refers to [SpouseName;format=upper]. ][if:ClientHasChildren:I have [NumberOfChildren;format=alpha][ClientHasOneChild;merge=child/children] living on the date of execution of this will, [repeat:ChildList;format="a, b, and c":[ChildName;format=upper]]. As used herein, the terms “child” and “children” shall refer to any of my children named herein as such and any children subsequently born to or adopted by me. As used herein, the term “my descendants” shall include all children. A person who has a relationship by or through legal adoption shall take under this will as if the person had the relationship by or through birth.]]

ITEM TWO: FUNERAL PROVISION

I direct my Personal Representative to pay my funeral expenses, including the cost of a suitable marker for my grave, the cost of cremation by a reputable funeral director, and/or the expenses of any memorial service as my Personal Representative may deem appropriate, to be paid from the principal of my residuary estate, free of any limitation or restriction imposed by law with respect to the amount thereof and without the necessity of an order of court.

ITEM THREE: PAYMENT OF TAXES

I direct that all taxes due by me, all federal and state inheritance and estate taxes due and payable by reason of my death, and all expenses of administration of my estate, shall be payable out of the principal of the rest and residue of my estate, and no one shall be required or called upon by my Personal Representative to contribute to the payment of any such taxes.

ITEM FOUR: TANGIBLE PERSONAL PROPERTY

(A) I give and bequeath all automobiles, equipment and machinery, furniture, chinaware, silverware, household furnishings, books, pictures and other similar objects, all clothing, jewelry and all other tangible personal property which I may own at the time of my death in accordance with the Personal Property Memorandum. To the extent this property is not disposed of by such writing, this property shall pass as part of my Residuary Estate.

(B) I direct that any and all expenses related to the maintenance and storage of such tangible personal property after my death, and the transportation and delivery of such property to the beneficiary or beneficiaries, shall be borne by my estate.

ITEM FIVE: DISPOSITION OF RESIDUARY ESTATE

[if:ClientIsMarried: (A) Disposition to Spouse. After the payment of all expenses of administration and other charges payable from my estate, I hereby give, devise and bequeath all the rest, residue and remainder of my estate, real, personal or mixed, wheresoever situated and howsoever acquired (my “Residuary Estate”) unto my spouse, if my spouse survives me.

(B) Disposition to Children and Descendants. If my spouse predeceases me, then my Residuary Estate shall be divided into a sufficient number of equal shares, if more than one (1), so that there shall be set apart therefrom one (1) such share for each of my children as shall survive me, and one (1) such share for the descendants (as a group) of each child of mine who predeceases me, but of whom one (1) or more descendants shall survive me. Any share of my Residuary Estate to which the descendants (as a group) of a deceased child of mine shall be entitled as hereinabove provided shall be further divided into equal shares, so that there shall be set apart therefrom one (1) such share for each child of such deceased child of mine. Subject to ITEM SEVEN of this Will, each share of my Residuary Estate shall be distributed to my respective beneficiaries free of trust.

(C) Alternate Disposition. If none of my spouse, children, or other descendants survive me, then my Residuary Estate shall be distributed, free of trust, to [repeat:BeneficiaryList;format="a, b and c":[BeneficiaryName;format=upper]].

/else: (A) After the payment of all expenses of administration and other charges payable from my estate, I hereby give, devise and bequeath all the rest, residue and remainder of my estate, real, personal or mixed, wheresoever situated and howsoever acquired (my “Residuary Estate”) [if:ClientHasChildren:to my descendants who survive me. If none of my descendants survive me, I give the remainder of my real and personal estate (hereinafter referred to as my “Residuary Estate”) ][if:BeneficiaryIsIndividual:[if:MoreThanOneBeneficiary:in equal shares ]to [repeat:BeneficiaryList;format="a, b and c":[BeneficiaryName;format=upper]]. But if [if:OneBeneficiary:[BeneficiaryGender;merge=he/she]/elseif:TwoBeneficiaries:either /else:any such individual] predeceases me leaving descendants who survive me, [if:OneBeneficiary:my Residuary Estate/else:that individual’s share] shall pass to such descendants[if:MoreThanOneBeneficiary:. If [if:TwoBeneficiaries:either/else:any] such individual predeceases me leaving no descendants who survive me, then that individual’s share shall pass [if:TwoBeneficiaries:to the other individual who survives me or, if the other individual predeceases me, then to the descendants who survive me, collectively, of that other individual/else:in equal shares to each such individual who survives me and to the descendants who survive me, collectively, of each such individual who predeceases me leaving descendants who survive me]]/else: to [BeneficiaryCharityName;format=upper], or its successor in interest].

(B) Whenever property is to be distributed to the descendants of a person (the “ancestor”), such property shall be divided into equal shares, one share for each then living descendant in the first generation below the ancestor in which at least one descendant is living, and one share for each deceased descendant in such generation who has a descendant then living. Each share created for a living descendant shall be distributed to such descendant. Each share created for a deceased descendant shall be divided and distributed according to the directions in the two preceding sentences until no property remains undistributed.

(C) A person who has a relationship by or through legal adoption shall take under this will as if the person had the relationship by or through birth.

ITEM SIX: FAILURE OF BENEFICIARIES

Any property of my estate maturing for ultimate and absolute distribution in respect to which there is no one then living and qualified to take under the foregoing provisions hereof shall be distributed to such person or persons as would have been entitled to receive my estate, and in the same proportions as they would have taken, had I died immediately following the time as of which there is no taker, intestate, unmarried, domiciled in the State of Washington, and the absolute owner of such share, portion of a share or other property then to be disposed of, as the case may be.

ITEM SEVEN: TRANSFERS TO MINORS

If any beneficiary entitled to a share of my estate under the foregoing provisions of this Will shall not have attained the age of twenty-one (21) years at the time for outright distribution of such share, then my Personal Representative shall distribute the share which such beneficiary would have been entitled to receive to such person (including any Personal Representative of mine) as my Personal Representative shall determine, to be held by such person as custodian for such beneficiary under the Washington Uniform Transfers to Minors Act until such beneficiary attains the age of twenty-one (21) years.

ITEM EIGHT: APPOINTMENT OF PERSONAL REPRESENTATIVE

(A) I hereby nominate and appoint [PersonalRepresentativeName;format=upper] to serve as Personal Representative of my estate under this, my Last Will and Testament.[if:AlternatePersonalRepresentativeNominated: If my above-named Personal Representative predeceases me, or survives me and is unable or unwilling for any reason to serve as my Personal Representative, then I hereby nominate and appoint [AlternatePersonalRepresentativeName;format=upper] to serve as my Personal Representative in his/her place and stead.]

(B) I direct that my Personal Representative herein named be excused from the necessity of giving bond.

(C) I confer upon my Personal Representative all powers necessary, proper or convenient for the preservation, management and direction of my estate, and I authorize my Personal Representative to buy, sell, assign, transfer, convey, exchange, divide, invest, reinvest, hypothecate, pledge, mortgage, borrow, lend (with or without security), lease, release, deed, grant options, compromise, arbitrate, consent to or oppose reorganizations, consolidations, mergers or partitions, select depositories for the funds of my estate and from time to time to deposit therein the funds of the estate, employ and pay counsel, and otherwise to deal with the whole or any portion of my estate, real and personal, as my said Personal Representatives may deem to be proper and advantageous to my estate, and to that end, to make contracts, deeds, conveyances, leases, releases, transfers and other instruments in writing, and to receive payment and to do all other acts and things incident thereto, all of which powers shall be exercised without the necessity of prior application to or subsequent ratification by any court.

(D) I further confer upon my Personal Representative all powers necessary, proper or convenient, without filing reports with any court, to continue, incorporate, enter into, or operate any business, whether as a stockholder, general or limited partner, sole or joint owner, or otherwise; to invest whatever assets may be needed in the business; to employ agents to operate the business; to serve in any capacity with the business; to receive reasonable compensation for such services, in addition to compensation for services as a fiduciary; and to reorganize, liquidate, merge, consolidate, or transfer the business or any part of it.

(E) It is my intention, and I hereby declare, that the mention of the above powers is not intended to be a limitation upon the exercise of other powers by my Personal Representative, but that my Personal Representative shall have all powers which my Personal Representative may deem to be necessary, proper or convenient for the advantageous administration of my estate and to carry out the purposes of this Will.

(F) My Personal Representative, while acting in good faith, shall not be liable or held responsible for any loss.

ITEM NINE: MISCELLANEOUS

(A) Governing Law. This Will shall be interpreted pursuant to the laws of the State of Washington, without regard to its conflict of laws principles.

(B) Headings. The item and paragraph headings are for convenience only, and shall have no bearing on the construction or interpretation of this Will.

(C) Severability. If any court of competent jurisdiction or any regulatory agency shall at any time invalidate any of the separate provisions of this Will, such invalidation shall not be construed as invalidating the whole of this Will, but only the separate provision or provisions in controversy. All of the remaining provisions shall be undisturbed as to their legal force and effect.

(D) Context. Gender, singular, or plural shall be interpreted as the context requires.

[if:GuardianNominated:

ITEM TEN: GUARDIAN FOR MINOR CHILDREN

In the event it becomes necessary for a guardian of person and property to be appointed for any child of mine, then I constitute and appoint [GuardianName;format=upper] to serve as guardian of the person and property of any child of mine. [if:AlternateGuardianNominated:Should [GuardianName;format=upper] fail or cease to serve, I name [AlternateGuardianName;format=upper] to be the guardian of the person and property of any child of mine. ]I request that any guardian designated herein or pursuant to the provisions hereof be allowed to qualify as such without being required to give security on any required fiduciary bond.

]

IN TESTIMONY WHEREOF, I have hereunto subscribed my name and affixed my seal this [WillExecutionDate;format="dth day of Mn, y";unans="_____ day of _______________, _____"].

_______________________________(SEAL)

[ClientName;format=upper]

The foregoing instrument was SIGNED, SEALED, PUBLISHED and DECLARED by [ClientName;format=upper], as and for [ClientGender;merge=his/her] Last Will and Testament, in the presence of the undersigned, who, at [ClientGender;merge=his/her] request, in [ClientGender;merge=his/her] presence and in the presence of each other, hereunto subscribe our names as attesting witnesses.

_______________________________

Signature of First Witness

[WillWitness1Name]

Address:

[WillWitness1Address]

_______________________________

Signature of Second Witness

[WillWitness2Name]

Address:

[WillWitness2Address][enddocument]

TEXT VARIABLES

Name | Prompt | Resource | Additional
ClientName | Client full name |  |
ClientCityOrCounty | City or county of residence (e.g., Falls City, Emory County, Sanpete County) |  |
SpouseName | Spouse full name |  | irrel=hide
ChildName | Name of child |  |
PersonalRepresentativeName | Name of personal representative |  |
AlternatePersonalRepresentativeName | Name of alternate personal representative |  |
BeneficiaryName | Name of beneficiary |  |
BeneficiaryCharityName | Name of beneficiary |  | irrel=hide
GuardianName | Name of guardian |  | irrel=hide
AlternateGuardianName | Name of guardian |  | irrel=hide
WillWitness1Name | Name of first witness |  | warn=no
WillWitness1Address | Address |  | warn=no;height=4
WillWitness2Name | Name of second witness |  | warn=no
WillWitness2Address | Address |  | warn=no;height=4

DATE VARIABLES

Name | Prompt | Resource | Additional
WillExecutionDate | Date will is executed |  | warn=no

TRUE/FALSE VARIABLES

Name | Prompt | Resource | Additional
ClientIsMarried | Is the client married? |  |
ClientHasChildren | Does the client have children? |  |
GuardianNominated | Does the client want to nominate a guardian for minor children? |  |
AlternateGuardianNominated | Does the client want to nominate an alternate guardian? |  |
AlternatePersonalRepresentativeNominated | Does the client want to nominate an alternate personal representative? |  |

MULTIPLE CHOICE VARIABLES

Name | Prompt | Resource | Options | Prompts | Additional
ClientGender | Gender of Client |  | ClientIsMale/ClientIsFemale | Male/Female |
BeneficiaryType |  |  | BeneficiaryIsIndividual/BeneficiaryIsCharity | One or more individuals/Charity | irrel=hid
BeneficiaryGender |  |  | BeneficiaryIsMale/BeneficiaryIsFemale | Male/Female | irrel=hid

COMPUTATION VARIABLES

Name | Script
ClientIsMarriedOrHasChildren | ClientIsMarried or ClientHasChildren
ClientIsMarriedAndHasChildren | ClientIsMarried and ClientHasChildren
ClientHasOneChild | count(ChildList) = 1
NumberOfChildren | count(ChildList)
BeneficiaryIsIndividual | BeneficiaryType = "BeneficiaryIsIndividual"
OneBeneficiary | count(BeneficiaryList) = 1
TwoBeneficiaries | count(BeneficiaryList) = 2
MoreThanOneBeneficiary | count(BeneficiaryList) = 1

DIALOGS

Name | Contents | Resource | Additional
ClientInformation | ClientName ClientGender ClientCityOrCounty ClientIsMarried SpouseName ClientHasChildren |  |
ChildList | ChildName |  | style=spreadsheet
PersonalRepresentativeInformation | PersonalRepresentativeName AlternatePersonalRepresentativeNominated AlternatePersonalRepresentativeName |  |
GuardianInformation | GuardianNominated GuardianName AlternateGuardianNominated AlternateGuardianName |  |
BeneficiaryInformation | "Identify here the beneficiaries who are to receive the residue of the estate" BeneficiaryType BeneficiaryCharityName " " BeneficiaryList " " BeneficiaryGender |  |
BeneficiaryList | BeneficiaryName |  | style=ssonparent; irrel=hide

INTERVIEW

ClientInformation
ChildList
BeneficiaryInformation
PersonalRepresentativeInformation
GuardianInformation
ExecutionInformation


Quick Reference—Field Types

The following table describes the different types of fields you can mark in a HotDocs Model.

Field Type Parts of the Field Examples
Variable Field Variable name

Variable type

Variable properties (optional)

 [ClientName;te;format=upper][ClientAge;nu;format=alpha ][ClientBirthDate;da;format=dd Mn, YYYY]
Conditional Text Field If / Else If / Else keyword

Variable type

Variable properties (optional)

 [if:PaidSeminarDays:Document Text][if:ClientIsMarried:Document text/elseif:ClientIsDivorced: Document text/else:Document text]
Repeated Text Field Repeat instruction

Repeat field properties (optional)

Document text you want repeated

 [repeat:ChildrenInformation; format="a, b, and c";ascend=ChildAge; filter=Minors:Document text]
Comment Field Comment instruction

Comment text

 [comment:Calculates the monthly average]
Ask Field Ask instruction

Variable name

 [ask:EmployeeStartDate]
Default Field Default instruction

Variable name

 [default:HireDate="2 Nov 2008"]
Set Field Set instruction

Variable name

 [set:MaritalStatus=Single]
Increment Field / Decrement Field Increment or Decrement instruction

Number variable name

 [increment:TempNum][decrement:TempNum]
Insert Field Insert instruction

Model file name

Keep property with header or footer value (optional)

 [insert:"healthcaredirective.docx"; keep=header]
Assemble Field Assemble instruction

Model file name

 [assemble: "healthcaredirective.docx"]
Language Field Language Instruction

Language Code

  • eng (for English)
  • deu (for German)
  • des (for Swiss German)
  • dea (for Austrian German)
  • fra (for French)
  • nld (for Dutch)
  • esn (for Spanish)
  • ita (for Italian)
  • ptb (for Brazilian Portuguese)

Decimal (optional)

Grouping (optional)

 [language:fra; decimal=','; grouping='.']
Span Field Span instruction

Title (optional)

 [span:ExclusionaryClause; title=Exclusions: Document Text ]

To apply colors to the fields in your HotDocs Model, click the [image] Apply Color button on the HotDocs Markup Tools.

You can assign a comment property to any of the above-named fields.


Quick Reference—Field Properties

The following tables describe properties you can assign to the different field types in your HotDocs Models. For a full description of each property, see Define Field Properties. Default values are in parentheses.

Text Variable Properties

Property Name | Value | Where It Can Be Used
name | text | Variable field
title | text | Variable field Variable table
prompt | text | Variable field Variable table
resource | text | Variable field Variable table
format | (none) upper lower title sentence | Variable field Variable table
nonbreak | (no) yes | Variable field Variable table
height | (0) Number between 1 and 12 By default, HotDocs displays one-line answer fields | Variable field Variable table
max | (0) Number between 1 and 15,000 By default, HotDocs lets you enter any number of characters between 1 and 15,000. | Variable field Variable table
pattern | (none) (999) 999-9999 999-99-9999 99:99 99:99am | Variable field Variable table
enter | (break) paragraph | Variable field Variable table
ask | (yes) no | Variable field Variable table
warn | (yes) no | Variable field Variable table
save | (yes) no | Variable field Variable table
irrelevant | (gray) hide show | Variable field Variable table
unanswered | Any text you enter | Variable field Variable table
font | (font used in document) Font Name | Variable field
comment | text | Variable field Variable table

Number Variables

Property Name | Value | Where It Can Be Used
name | text | Variable field
title | text | Variable field Variable table
prompt | text | Variable field Variable table
resource | text | Variable field Variable table
format | alpha ordinal 09 9 1/8 9,999.00 9.9 9999 9th IX Nine Dollars and Twelve Cents | Variable field Variable table
nonbreak | (no) yes | Variable field Variable table
minimum | (0) any number | Variable field Variable table
maximum | (0) any number | Variable field Variable table
decimal | (0) any number between 1 and 7 | Variable field Variable table
currency | ($) £ € DM Any currency (3 characters or less) | Variable field Variable table
ask | (yes) no | Variable field Variable table
warn | (yes) no | Variable field Variable table
save | (yes) no | Variable field Variable table
irrelevant | (gray) hide show | Variable field Variable table
unanswered | Any text you enter | Variable field Variable table
font | (font used in document) Font Name | Variable field
comment | text | Variable field Variable table

Date Variables

Property Name | Value | Where It Can Be Used
name | text | Variable field
title | text | Variable field Variable table
prompt | text | Variable field Variable table
resource | text | Variable field Variable table
format | d dd dth dy m mm mn mnt y yy yyyy yr wd wdy | Variable field Variable table
nonbreak | (no) yes | Variable field Variable table
ask | (yes) no | Variable field Variable table
warn | (yes) no | Variable field Variable table
save | (yes) no | Variable field Variable table
irrelevant | (gray) hide show | Variable field Variable table
unanswered | Any text you enter | Variable field Variable table
font | (font used in document) Font Name | Variable field
comment | text | Variable field Variable table

True/False Variables

Property Name | Value | Where It Can Be Used
name | text | Variable field Variable table
title | text | Variable field Variable table
prompt | text | Variable field Variable table
resource | text | Variable field Variable table
format | /x true/false x/ yes/no truetext/falsetext | Variable field Variable table
style | (row) column | Variable field Variable table
nonbreak | (no) yes | Variable field Variable table
ask | (yes) no | Variable field Variable table
warn | (yes) no | Variable field Variable table
save | (yes) no | Variable field Variable table
irrelevant | (gray) hide show | Variable field Variable table
unanswered | Any text you enter | Variable field Variable table
font | (font used in document) Font Name | Variable field
comment | text | Variable field Variable table

Multiple Choice Variables

Property Name | Value | Where It Can Be Used
name | text | Variable field
title | text | Variable field Variable table
prompt | text | Variable field Variable table
resource | text | Variable field Variable table
format (multiple-select variables) | a, and b a, b a, b and c A, b and c A, B AND C A, B and C a, b or c a, b, and c a; b; and c | Variable field Variable table
format (single-select variables) | upper lower title sentence | Variable field Variable table
options | text | Variable field Variable table
optionprompts | text | Variable field Variable table
optionresources | text | Variable field Variable table
merge | text | Variable field Variable table
select | (single) multiple | Variable field Variable table
other | (no) yes | Variable field Variable table
none | (no) yes | Variable field Variable table
style | (dropdown) (grid) column list | Variable field Variable table
nonbreak | (no) yes | Variable field Variable table
ask | (yes) no | Variable field Variable table
warn | (yes) no | Variable field Variable table
save | (yes) no | Variable field Variable table
irrelevant | (gray) hide show | Variable field Variable table
unanswered | Any text you enter | Variable field Variable table
font | (font used in document) Font Name | Variable field
comment | text | Variable field Variable table

Computation Variables

Property Name | Value | Where It Can Be Used
name | text | Variable field
script | A valid HotDocs script | Variable field Variable table
merge | text | Variable field Variable table This property can be used when the Computation field generates a true/false value.
nonbreak | (no) yes | Variable field Variable table
unanswered | Any text you enter | Variable field Variable table
font | (font used in document) Font Name | Variable field
comment | text | Variable field Variable table

Dialogs

Property Name | Value | Where It Can Be Used
name | text | Dialog table
title | text | Dialog table
resource | text | Dialog table
contents | names of variables, dialogs, and/or dialog text variables | Dialog table
group | (none) single multiple | Dialog table
style | (regular) repeated spreadsheet ssonparent | Dialog table
label | text | Dialog table
prompt | text | Dialog table
rows | (3) number | Dialog table
ask | (yes) no | Dialog table
irrelevant | (hide) show | Dialog table
none | (no) yes | Dialog table

Repeat Fields

Property Name | Value | Where It Can Be Used
name | text | Repeat field Dialog table
format | a, and b a, b a, b and c A, b and c A, B AND C A, B and C a, b or c a, b, and c a; b; and c | Repeat field Dialog table
title | text | Repeat field Dialog table
resource | text | Repeat field Dialog table
contents | names of variables, dialogs, and/or dialog text variables | Repeat field Dialog table
group | (none) single multiple | Repeat field Dialog table
style | (regular) repeated spreadsheet ssonparent | Dialog table
label | text | Repeat field Dialog table
prompt | text | Repeat field Dialog table
rows | (3) number | Repeat field Dialog table
ask | (yes) no | Repeat field Dialog table
irrelevant | (hide) show | Repeat field Dialog table
none | (no) yes | Repeat field Dialog table
ascend | VariableName | Repeat field Dialog table
descend | VariableName | Repeat field Dialog table
filter | ComputationVariableName | Repeat field Dialog table
comment | text | Repeat field Dialog table

Insert Fields

Property Name | Value | Where It Can Be Used
keep | header footer both | Insert field
comment | text | Insert field

Span Fields

Property Name | Value | Where It Can Be Used
title | text | Span field
comment | text | Span field

Language Fields

Property Name | Value | Where It Can Be Used
decimal | decimal separator character | Language field
grouping | thousands separator character | Language field


Introduction: Command-Line Options

Command-line options control the way HotDocs assembles text and form documents. You can place most options on any command line that causes HotDocs to run. They are case-sensitive and must be typed in lowercase letters. If the option requires you to include a full file path, you must enclose the file path with quotation marks (" ").

You can use command-line options in different ways, including specifying the options at the command line, at the Properties dialog box of a given template, within an ASSEMBLE instruction, and for the program file's shortcut.

Most command-line options control certain aspects of document assembly. For example, you can specify an option that always prints an assembled document once it has been sent to the word processor.

When you start HotDocs from the command line, it will continue to run, even after the processing of the command-line request is completed. To close HotDocs after it processes the command-line request, use the Exit HotDocs option.

When using multiple options on a single command line, separate each option with a space character. If the command line includes space characters, you must enclose the path in quotation marks (" ").

See Also

Full List of Command-line Options


Use Command-Line Options When Starting HotDocs

To use command-line options when starting HotDocs

  1. Choose Run from the Start menu. The Run dialog box appears.
  2. Type "C:\Program Files\hotdocs.exe" (including the quotation marks) followed by a space and the options you want in the Open field. For example:

"C:\Program Files\HotDocs\Hotdocs.exe" /tf=demoempl.docx

  3. Click OK. If HotDocs is not already running, it loads and then performs the command-line instructions. If HotDocs is already running, it performs the command-line instructions.


Use Command-Line Options when Using a Shortcut to Start HotDocs

To use command-line options when using a shortcut to start HotDocs

  1. Locate the HotDocs program file shortcut. (A shortcut is an icon on the desktop or Start menu that a user can click to quickly access a program.)
  2. Right-click the icon and select Properties from the shortcut menu. The program item's Properties dialog box appears.
  3. Select the Shortcut tab.
  4. In the Target field, enter a space after the executable (.EXE) file and type the options you want.


Use Command-Line Options within ASSEMBLE Instructions

To use command-line options within ASSEMBLE instructions

  1. Open the library you need at the HotDocs library window.
  2. Select the template with the ASSEMBLE instruction you wish to add a command-line option to, and click [image] Edit.
  3. Double click on the ASSEMBLE instruction.
  4. The Other Field dialog box will open.
  5. In the Template to assemble field, following the file name, type a space and the command-line options you want to use. For example:

Collection Letter.docx /sa


Use Command-Line Options at File Properties

To add command-line options to a library item

  1. Open a library at the HotDocs library window.
  2. Select the library item and click the [image] Properties button to open the Item Properties dialog box.
  3. In the File name field, following the file name, type a space and the command-line options you want to use. For example:

/af="C:\Documents and Settings\Username\My Documents\HotDocs\Answers\jalvey.anx"


Full List of Command-Line Options

Below is a list of all the available command-line options grouped by use. For more information on any option follow the link to its full description.

Application Control Switches

These switches are used to feed instructions to the HotDocs executable from the command line.

Option |  | Description
Mutually Exclusive* | /tf="" | The Template File option causes HotDocs to assemble a document using the specified template or clause library.
 | /ed="" | The Edit Template option causes HotDocs to edit a template using the specified template or clause library file.
 | /ha="" | The HotDocs Auto-Assemble File option causes a document to be assembled using the specified auto-assemble (.HDA) file.
 | /hi="" | The HotDocs Auto-Install File option causes the template set in the specified auto-install (.HDI) file to be installed. During this process, HotDocs prompts the user for any required information it needs to install the template library to the correct location.
/lf="" |  | The Library File option allows you to start HotDocs and open a specific library. If HotDocs is already running, it opens the library specified by the path and file name.
/ll |  | The Lock Library option locks the current library and prevents the user from editing the library or its contents. Specifically, when HotDocs is launched and the library appears, users can select templates and assemble documents from them. They can also view the answer library and change user preferences at the HotDocs Options dialog box. All other options are unavailable.
/ex |  | The Exit HotDocs option closes HotDocs when both of the following conditions are met: 1) there are no documents waiting to be assembled, and 2) all other programs are finished using HotDocs.
/db |  | The Don't Brag option stops HotDocs from displaying the splash screen when it opens.
Mutually Exclusive* | /hl | The Hide Library option causes HotDocs to assemble a document without first displaying the HotDocs template library. The user will not see the template library window at all during assembly. It is most commonly used by integrators who are using HotDocs with a third-party program and want to start an assembly without first displaying the template library window.
 | /sl | The Show Library option forces HotDocs to display the template library if it is currently not showing. This is useful if you are integrating HotDocs with another program and you have hidden the library using the Hide Library option.

Template Type Switches

When a template is referred to by HotDocs, the template type is inferred from the file name extension. However, in some cases additional information is required so HotDocs knows how to process the requested template. These mutually exclusive switches (usable in combination with the /tf="" switch, on library items, or in INSERT or ASSEMBLE instructions) help with that.

Option |  | Description
Mutually Exclusive* | /mo | The HotDocs Model command-line option indicates that the file referenced in the library is a HotDocs Model. When you select the document in the library and click Assemble, HotDocs will create an interview for the model.
 | /cl="name" | The Clause Name option is used by HotDocs to identify which clause component is associated with an item in a clause library. It is also used by HotDocs to process INSERT instructions during the assembly process. Generally speaking, developers should never have to modify this option unless they are converting clauses from one file format to another. Likewise, end users may see the Clause Name option while working with clauses at a clause library or during assembly, but should not modify it.

Answer Initialization Switches

These switches are used to initialize & define the answer set that will be used for an interview or assembly. They can be used in combination with the /tf="" switch and on library items.

Option |  | Description
/df="" |  | The Default Answer File option specifies a default answer file that is used to "seed" any answer file created during assembly. When a new answer file is created, it is automatically loaded with answers from the default answer file.
Mutually Exclusive* | /af="" | The Answer File option is useful if you want to use a specific answer file when you assemble a document. The option does two things: 1) when a template is selected for assembly, it immediately opens the specified answer file without displaying the Answer File dialog box, and 2) it sets the value for path and file name as the current answer file name to be used when answers are saved. If the specified answer file doesn't exist, it will be created when the user saves the answers
 | /na[=""] | The New Answer File option specifies a new, untitled answer file to be used when assembling a given document. This option causes HotDocs to suppress the Answer File dialog box, which normally appears before assembly. Specifying a path and file name is optional. If a file name is specified, it will be used for the new answer file. If an answer file with that same name already exists, HotDocs overwrites the existing file with the new one. If no file name is specified, HotDocs displays a Save Answer File dialog box at the end of assembly.
/ov="" |  | The Overlay Answer File option causes HotDocs to take answers from a specific answer file and overlay them in the current answer file. For example, if you have specific information about a client that can be used in assembling multiple documents, you can save just that information in an overlay answer file and then use the Overlay Answer File option to force HotDocs to use those answers when assembling a document. All answers entered during assembly (including overlaid answers) are saved to the current answer file—not the overlay answer file—thus maintaining the integrity of the overlay answer file. An overlay answer file is loaded after the regular answer file so that the answers contained therein can overlay existing answers.

Interview Behavior Switches

These switches are used to modify the default behavior of the assembly window. They can be used in combination with the /tf="" switch and on library items.

Option |  | Description
Mutually Exclusive* | /nw | The No Assembly Window option causes HotDocs to assemble a document without displaying the assembly window.
 | /ni | The No Interview option removes the Interview tab from the assembly window, and,by default, displays the assembled document in the Document Preview or Form Document tab (depending on whether you are assembling a text or form document). To present a correctly assembled document, you should specify an answer file using the Answer File option. Otherwise, the document will be assembled without any answers.
 | /fia | When a user starts assembling a template that has the Finish Interview Action command-line option applied, HotDocs will complete the action defined in HotDocs Options—either display the assembled document at the Document tab of the assembly window or send the document to the word processor or HotDocs Filler. (See Control What Happens When You Finish an Interview.)
/la |  | The Lock Answer File option prevents users from opening, closing, and saving answer files during document assembly. If it is the only option used, however, users can choose an answer file before assembly and save any answers they have entered after assembly.
/sig |  | The Start Interview Group option is used to control which questions are asked when assembling a group of related documents, specifically, it keeps questions that are already answered in one interview from being asked in subsequent interviews. It must be used with the Keep Interview Group option, which must be assigned to each subsequent template within the group.
/kig |  | The Keep Interview Group option is used to control which questions are asked when assembling a group of related documents, specifically, it keeps questions that are already answered in one interview from being asked in subsequent interviews. It must be used with the Start Interview Group option, which must be assigned to each subsequent template within the group.
/is=u |  | The Interview Scope option allows you to ask only those dialogs that contain questions not answered by an existing answer file. This may be useful, for example, if you have some answers you are retrieving from a database that you don't want the user to change. Using this option will ask only those questions that don't have answers. Cannot be used with the Start Interview Group option or the Keep Interview Group option.
/sw |  | The Suppress Unanswered Warning option keeps HotDocs from displaying the warning dialog box that appears when the user attempts to either print, save, or send the assembled document to the word processor and the assembled document still contains unanswered questions.

Answer Disposition Switches

These mutually exclusive switches can be used to dictate what happens to answers that were modified while the assembly window was open or during assembly. They can be used in combination with the /tf="" switch and on library items.

Option |  | Description
Mutually Exclusive* | /sa | The Save Answers option forces an answer file to be saved at the end of an assembly. If using an existing answer file, any answers entered during the interview will be saved automatically. If using a new, untitled answer file, HotDocs will force the user to specify an answer file name.
 | /sap | The Save Answers Prompt option, which is used in connection with an ASSEMBLE instruction, prompts the user to save an answer file after completing an interview. Regardless of whether the user uses an existing answer file during assembly, when the user finishes that assembly, HotDocs prompts to save the answers in a different file.
 | /ss | The Suggest Save option, which is used in connection with an ASSEMBLE instruction, causes HotDocs to ask users after assembly of a document has finished if they want to save answers entered during the interview in an answer file. Specifically, if the user has assembled a document and made changes to an existing answer file, HotDocs prompts to save the answers to that file. If saving a new, untitled file, HotDocs allows the user to specify the new answer file name.
 | /ssn | The Suggest Save New option, which is used in connection with an ASSEMBLE instruction, causes HotDocs to ask if answers should be saved in a new answer file after assembly of a document has finished. Regardless of whether the user is using an existing answer file during assembly, when the user finishes that assembly, HotDocs gives the user the option of saving the answers in a new answer file.
 | /da | The Discard Answers option prevents the user from saving answers after the document has been assembled. This option is useful when you know you will never want to save the answers you use with a particular template (for example, a fax cover sheet), and you don't want HotDocs to ask about saving the answers when you close the assembly window. However, the user can save the answer file during the interview.

Document Disposition Switches

These switches can be used to dictate what happens to a document after its assembly is complete. They can be used in combination with the /tf="" switch and on library items.

Option | Description
/of="" | The Output File option causes HotDocs to assemble the document and save it using the file name specified. If you are using the Answer Summary or Question Summary options, the Output File option specifies the name for either of those generated documents. This is useful if you know you want to save an assembled document every time assembly of that document finishes.
/as | The Answer Summary option is used with the Output File option to specify the path and file name for saving an answer summary. It is useful if you want a certain template to always generate an answer summary document.
/qs | The Question Summary option is used with the Output File option to specify the path and file name for saving a question summary. It is useful if you want a certain template to always generate a question summary document.
/sto | The Send to Plugin option sends the assembled document to a specified output plugin.
/stw | The Send to Word Processor option sends the assembled document to the word processor once the user closes the assembly window. This is useful if you know you always want to view the assembled document using the word processing program.

Automator/Filler Command Line Switches

These switches can be used to dictate how HotDocs will print form templates from HotDocs Automator/Filler.

Option |  | Description
/pr |  | The Print option causes HotDocs to print a copy of the assembled text or form document once the user closes the assembly window. This is useful if you know you will always need to print a copy of a specific assembled document.
/pw |  | The Print Without Dialogs option causes HotDocs to bypass the Print dialog box and print the form using the current printer. The form is printed when the user clicks the Print Document button at the assembly window.
/ps="" |  | The Paper Size option selects the specified paper size when the user prints a copy of the form template or document. The effect is the same as manually setting the page size from the Print dialog box. This option works with form templates and documents only.
/pt="" |  | The Paper Tray option causes a specified printer paper tray or manual feed option to be used when printing a form document from HotDocs Filler. Paper tray values that can be used include manual, upper, lower, and so forth. For a complete list of acceptable values, either at the assembly window or at the HotDocs Filler window, click Document Properties > Printing (File menu) and click the Paper Source drop-down button.
/pc=n |  | The Print Copies option specifies the number of copies that should be printed when the user prints the form document (type in the number of copies needed instead of the letter n). This number should appear in the Number of Copies field at the Print dialog box.
/pd |  | The Print Duplex option sets the duplex printing option for a given form document. It prints the document Double-Sided, Side-to-Side, as if that option were selected at the Printing Properties dialog box (which you can access by clicking Document Properties > Printing (File menu).) When the user prints the form document, it is printed using this option.
Mutually Exclusive* | /pa | The Print Answers Only option selects the Answers Only (Use Preprinted Form) option at the Print dialog box. Then, when the user prints the assembled form document, it prints only the form's answers and not the underlying static text. This allows you to use preprinted forms.
 | /po | The Print Form Only option selects the Form Only (Blank Form) option at the Print dialog box. Then, when the user prints the form document, it prints a blank copy of the form without answers.
 | /pb | The Print Both option selects the Form with Answers option at the Print dialog box. Then, when the user prints the form document, the current form and its answers are printed.

*Mutually exclusive switches will not show an error if used in the same command-line but will cause unpredictable behavior. We recommend you do not use these switches together.


Answer File

/af="path and file name"

The Answer File option is useful if you want to use a specific answer file when you assemble a document. The option does two things: 1) when a template is selected for assembly, it immediately opens the specified answer file without displaying the Answer File dialog box, and 2) it sets the value for path and file name as the current answer file name to be used when answers are saved. If the specified answer file doesn't exist, it will be created when the user saves the answers.

When using an existing answer file, you can retrieve an answer file from a location on a Web server by specifying a URL for the path and file name (for example, /af=http://www.yoursite.com/answers.anx). (You cannot, however, save an answer file back to the server.)

You cannot assign the Answer File (/af) option to a HotDocs Auto-Assemble file.

If using this option at the command line, include the Template File (/tf) option.


Answer Summary

/as

The Answer Summary option is used with the Output File option to specify the path and file name for saving an answer summary. It is useful if you want a certain template to always generate an answer summary document.

The Answer Summary option is normally used with the No Assembly Window and Answer File options, which cause HotDocs to automatically create and save the answer summary document without displaying the assembly window.

Answer summaries are saved in HTML format.

If using this option at the command line, include the Template File (/tf) and Output File (/of) options. If using this option at the library properties, include the Output File (/of) option.


Clause Name

/cl=clausename

The Clause Name option is used by HotDocs to identify which clause component is associated with an item in a clause library. It is also used by HotDocs to process INSERT instructions during the assembly process. Generally speaking, developers should never have to modify this option unless they are converting clauses from one file format to another. Likewise, end users may see the Clause Name option while working with clauses at a clause library or during assembly, but should not modify it.


Default Answer File

/df="path and file name"

The Default Answer File option specifies a default answer file that is used to "seed" any answer file created during assembly. When a new answer file is created, it is automatically loaded with answers from the default answer file.

When specified, it does not need to have the same file name as the template's component file, nor does it need to be saved in the same folder as the component file. However, the default answer file name should be different from the current answer file name. Also, when using an existing default answer file, you can retrieve it from a location on a Web server by specifying a URL for the path and file name (for example, /df=http://www.yoursite.com/defaultanswers.anx).

If using this option at the command line, include the Template File (/tf) option.


Discard Answers

/da

The Discard Answers option prevents the user from saving answers after the document has been assembled. This option is useful when you know you will never want to save the answers you use with a particular template (for example, a fax cover sheet), and you don't want HotDocs to ask about saving the answers when you close the assembly window. However, the user can save the answer file during the interview.

To disable all answer file usage (saving, selecting new, and so forth) during a given assembly, use the Lock Answer File (/la) option.

If using this option at the command line, include the Template File (/tf) option.


Don't Brag

/db

The Don't Brag option stops HotDocs from displaying the splash screen when it opens.


Edit Template

/ed="path and file name"

The Edit Template option causes HotDocs to edit a template using the specified template or clause library file.


Exit HotDocs

/ex

The Exit HotDocs option closes HotDocs when both of the following conditions are met: 1) there are no documents waiting to be assembled, and 2) all other programs are finished using HotDocs.


Finish Interview Action

/fia

When a user starts assembling a template that has the Finish Interview Action command-line option applied, HotDocs will complete the action defined in HotDocs Options—either display the assembled document at the Document tab of the assembly window or send the document to the word processor or HotDocs Filler. (See Control What Happens When You Finish an Interview.)

If using this option at the command line, include the Template File (/tf) and Answer File (/af) options. If using this option at the library properties, include the Answer File (/af) option.


Hide Library

/hl

The Hide Library option causes HotDocs to assemble a document without first displaying the HotDocs template library. The user will not see the template library window at all during assembly. It is most commonly used by integrators who are using HotDocs with a third-party program and want to start an assembly without first displaying the template library window. (See also Show Library.)

If using this option at the command line, include the Template File (/tf) option.


HotDocs Auto-Assemble File

/ha="path and file name"

The HotDocs Auto-Assemble File option causes a document to be assembled using the specified auto-assemble (.HDA) file.

You can also specify a URL for the path and file name (for example, /ha=http://www.yoursite.com/hdafile.hda).


HotDocs Auto-Install File

/hi="path and file name"

The HotDocs Auto-Install File option causes the template set in the specified auto-install (.HDI) file to be installed. During this process, HotDocs prompts the user for any required information it needs to install the template library to the correct location.

You can also specify a URL for the path and file name (for example, /hi=http://www.yoursite.com/hdifile.hdi). When this command is passed, HotDocs downloads the file and prompts the user for the information needed to install the template library.


HotDocs Model

/mo

The HotDocs Model command-line option indicates that the file referenced in the library is a HotDocs Model. When you select the document in the library and click Assemble, HotDocs will create an interview for the model.

See Introduction: Create HotDocs Models for more information.


Interview Scope

/is=u

The Interview Scope option allows you to ask only those dialogs that contain questions not answered by an existing answer file. This may be useful, for example, if you have some answers you are retrieving from a database that you don't want the user to change. Using this option will ask only those questions that don't have answers.

If you do not want certain variables to appear in an interview, do not include them in an explicit ASK instruction. Otherwise, HotDocs will present the variables to the user.

Cannot be used with the Start Interview Group (/sig) option or the Keep Interview Group (/kig) option.


Keep Interview Group

/kig

The Keep Interview Group option is used to control which questions are asked when assembling a group of related documents, specifically, it keeps questions that are already answered in one interview from being asked in subsequent interviews. It must be used with the Start Interview Group option, which must be assigned to each subsequent template within the group.

For example, you have three related templates that will be added to the assembly queue (Template A, Template B, and Template C). Each of these templates uses Variable A. To keep Variable A from being asked in all three interviews, you would assign the Start Interview Group option to Template A. Then you would assign the Keep Interview Group option to Templates B and C. Once the user answers Variable A, it will not be asked in any subsequent interviews.

If a template is added to the assembly queue that doesn't use either of these options, it and any subsequent templates will not be included in the interview group.


Library File

/lf="path and file name"

The Library File option allows you to start HotDocs and open a specific library. If HotDocs is already running, it opens the library specified by the path and file name.


Lock Answer File

/la

The Lock Answer File option prevents users from opening, closing, and saving answer files during document assembly. If it is the only option used, however, users can choose an answer file before assembly and save any answers they have entered after assembly.

To keep users from choosing an answer file before assembly, specify an answer file using the Answer File option. To keep them from manually saving their answers, use either the Discard Answers option or the Save Answers option.

If using this option at the command line, include the Template File (/tf) option.

Does not work in conjunction with the No Assembly Window (/nw) option.


Lock Library

/ll

The Lock Library option locks the current library and prevents the user from editing the library or its contents. Specifically, when HotDocs is launched and the library appears, users can select templates and assemble documents from them. They can also view the answer library and change user preferences at the HotDocs Options dialog box. All other options are unavailable.


New Answer File

/na[="path and file name"]

The New Answer File option specifies a new, untitled answer file to be used when assembling a given document. This option causes HotDocs to suppress the Answer File dialog box, which normally appears before assembly. Specifying a path and file name is optional. If a file name is specified, it will be used for the new answer file. If an answer file with that same name already exists, HotDocs overwrites the existing file with the new one. If no file name is specified, HotDocs displays a Save Answer File dialog box at the end of assembly.

When specifying an answer file name, you must include the file name extension .ANX.

If using this option at the command line, include the Template File (/tf) option.


No Assembly Window

/nw

The No Assembly Window option causes HotDocs to assemble a document without displaying the assembly window.

If using this option at the command line, include the Template File (/tf) and Answer File (/af) options. If using this option at the library properties, include the Answer File (/af) option.

You should also use the Output File (/of) or Send to Word Processor (/stw) option if you want HotDocs to produce a document at the end of the assembly.


No Interview

/ni

The No Interview option removes the Interview tab from the assembly window, and, by default, displays the assembled document in the Document Preview or Form Document tab (depending on whether you are assembling a text or form document). To present a correctly assembled document, you should specify an answer file using the Answer File option. Otherwise, the document will be assembled without any answers.

While viewing an assembled document that was generated using this command-line option, you cannot edit answers while viewing the Document tab.

If using this option at the command line, include the Template File (/tf) and Answer File (/af) options. If using this option at the library properties, include the Answer File (/af) option.


Output File

/of="path and file name"

The Output File option causes HotDocs to assemble the document and save it using the file name you specify. If you are using the Answer Summary or Question Summary options, the Output File option specifies the name for either of those generated documents. This is useful if you know you want to save an assembled document every time that HotDocs finishes assembling that document.

Changing the file extension on the file specified in the Output File option instructs HotDocs to convert the output file to the new file type. For example, adding the command line option /of="C:\templatename.docx" to an RTF template results in a DOCX format output file.

Since HotDocs cannot convert to all format types, we recommend that you manually test HotDocs conversion capablities for a desired format before adding the command-line option. Be aware as well that converting output files to alternate formats can sometimes cause variations in formatting and user experience.

If you use this option with the command line, be sure to include the Template File (/tf) option.

Limitations When Using /of with /nw

Normally, the file extension on the file specified in the /of command line switch instructs HotDocs to convert the assembled document to a file of that type after assembly. However, when converting to PDF, this only works when the assembly window is visible. When you hide the assembly window (by using the /nw switch), conversion to a PDF document is not supported. HotDocs does, however, save the assembled document to a file with a .PDF extension as instructed by the /of command line switch. This can be confusing if you specify “tf=template.docx /of=document.pdf” in the command line after using a /nw switch. In this case, HotDocs assembles a DOCX document from the DOCX template, but saves the DOCX document iin the file system with the filename specified by the /of switch (document.pdf). If you then double-click that file in Windows Explorer, the application mapped to the PDF file extension (usually Adobe Reader) tries to open the file but fails because the file contains a DOCX document, not a PDF document (as the file extension claims).

In cases where the assembly window is hidden by specifying the /nw switch, only native word processor file types are supported for the /of commandline switch, as follows:

Template type | Allowed output file
DOCX | DOCX
RTF | RTF, DOCX
DOT | RTF, DOCX

Work Around

A possible work around is to use Microsoft Word's PDF conversion feature to accomplish the same result, using either Word's graphical user or programming interface.


Overlay Answer File

/ov="path and file name"

The Overlay Answer File option causes HotDocs to take answers from a specific answer file and overlay them in the current answer file. For example, if you have specific information about a client that can be used in assembling multiple documents, you can save just that information in an overlay answer file and then use the Overlay Answer File option to force HotDocs to use those answers when assembling a document. All answers entered during assembly (including overlaid answers) are saved to the current answer file—not the overlay answer file—thus maintaining the integrity of the overlay answer file. An overlay answer file is loaded after the regular answer file so that the answers contained therein can overlay existing answers.

If you do not include a full path on the command-line, HotDocs will first look for the answer file in the same folder as the template. If it's not located there, HotDocs will look in the Answers folder.

You can retrieve an overlay answer file from a location on a Web server by specifying a URL for the path and file name (for example, /ov=http://www.yoursite.com/overlayanswers.anx).

If you are saving the overlay answer file to the same folder as the template, do not use the same name as the template. Otherwise, HotDocs will think the answer file is a default answer file. (See Create a Default Answer File.)

If using this option at the command line, include the Template File (/tf) option.


Paper Size

/ps=paper size

The Paper Size option selects the specified paper size when the user prints a copy of the form template or document. The effect is the same as manually setting the page size from the Print dialog box. This option works with form templates and documents only.

Paper size values that can be used include letter, legal, and so forth. For a complete list of acceptable values, either at the assembly window or at the HotDocs Filler window, click Document Properties > Printing (File menu) and click the Paper Size drop-down button. Values that include a space character must be placed inside quotation marks. You can shorten the values as long as the shortened form matches only one paper size. Paper size values are not case-sensitive.

If a paper size is specified at the Printing Properties dialog box and the Paper Size (/ps) command-line option is also used, the command-line option takes precedence.

If using this option at the command line, include the Template File (/tf) option


Paper Tray

/pt=paper tray

This option is used with form documents only.

The Paper Tray option causes a specified printer paper tray or manual feed option to be used when printing a form document from HotDocs Filler. Paper tray values that can be used include manual, upper, lower, and so forth. For a complete list of acceptable values, either at the assembly window or at the HotDocs Filler window, click Document Properties > Printing (File menu) and click the Paper Source drop-down button.

If a paper source is specified at the Printing Properties dialog box and the Paper Tray (/pt) command-line option is also used, the command-line option takes precedence.

If using this option at the command line, include the Template File (/tf) option.


Print

/pr

This option is used with form documents only

The Print option causes HotDocs to print a copy of the assembled text or form document once the user closes the assembly window. This is useful if you know you will always need to print a copy of a specific assembled document.

If using this option at the command line, include the Template File (/tf) option.


Print Answers Only

/pa

This option is used with form documents only

The Print Answers Only option selects the Answers Only (Use Preprinted Form) option at the Print dialog box. Then, when the user prints the assembled form document, it prints only the form's answers and not the underlying static text. This allows you to use preprinted forms.

If using this option at the command line, include the Template File (/tf) option.


Print Both

/pb

This option is used with form documents only

The Print Both option selects the Form with Answers option at the Print dialog box. Then, when the user prints the form document, the current form and its answers are printed.

If using this option at the command line, include the Template File (/tf) option.


Print Copies

/pc=numberofcopies

This option is used with form documents only

The Print Copies option specifies the number of copies that should be printed when the user prints the form document. This number should appear in the Number of Copies field at the Print dialog box

If using this option at the command line, include the Template File (/tf) option.


Print Duplex

/pd

This option is used with form documents only

The Print Duplex option sets the duplex printing option for a given form document. It prints the document Double-Sided, Side-to-Side, as if that option were selected at the Printing Properties dialog box (which you can access by clicking Document Properties > Printing (File menu).) When the user prints the form document, it is printed using this option.

If using this option at the command line, include the Template File (/tf) option.


Print Form Only

/po

This option is used with form documents only

The Print Form Only option selects the Form Only (Blank Form) option at the Print dialog box. Then, when the user prints the form document, it prints a blank copy of the form without answers.

If using this option at the command line, include the Template File (/tf) option.


Print Without Dialogs

/pw

This option is used with form documents only

The Print Without Dialog option causes HotDocs to bypass the Print dialog box and print the form using the current printer. The form is printed when the user clicks the Print Document button at the assembly window. .

If using this option at the command line, include the Template File (/tf) option.


Question Summary

/qs

The Question Summary option is used with the Output File option to specify the path and file name for saving a question summary. It is useful if you want a certain template to always generate a question summary document.

The Question Summary option is normally used with the No Assembly Window option, which causes HotDocs to automatically create and save the question summary document without displaying the assembly window.

Question summaries are saved in HTML format.

If using this option at the command line, include the Template File (/tf) option.


Save Answers

/sa

The Save Answers option forces an answer file to be saved at the end of an assembly. If using an existing answer file, any answers entered during the interview will be saved automatically. If using a new, untitled answer file, HotDocs will force the user to specify an answer file name.

To always force the user to save a new answer file after entering answers in an interview—even if using an existing answer file—use the Save Answers Prompt (/sap) option.

To give users the option of saving an answer file, rather than forcing them to save, use either the Suggest Save (/ss) or the Suggest Save New (/ssn) option.


Save Answers Prompt

/sap

The Save Answers Prompt option, which is used in connection with an ASSEMBLE instruction, prompts the user to save an answer file after completing an interview. Regardless of whether the user uses an existing answer file during assembly, when the user finishes that assembly, HotDocs prompts to save the answers in a different file.

To always save an answer file without prompting the user for an answer file name (unless the user is using a new answer file) use the Save Answers (/sa) option.

To give users the option of saving an answer file, rather than forcing them to save, use either the Suggest Save (/ss) or the Suggest Save New (/ssn) option.


Send to Plugin

/sto="Name of Plugin"

The Send to Plugin option sends the assembled document to a specified output plugin. The class name of the plugin is the plugin name. For example, to use a google upload plugin the command line switch would be:

/sto="HDGoogleDriveOutputPlugin"

If using this option at the command line, include the Template File (/tf) option


Send to Word Processor

/stw

The Send to Word Processor option sends the assembled document to the word processor once the user closes the assembly window. This is useful if you know you always want to view the assembled document using the word processing program.

If using this option at the command line, include the Template File (/tf) option.


Show Library

/sl

The Show Library option forces HotDocs to display the template library if it is currently not showing. This is useful if you are integrating HotDocs with another program and you have hidden the library using the Hide Library option.


Start Interview Group

/sig

The Start Interview Group option is used to control which questions are asked when assembling a group of related documents, specifically, it keeps questions that are already answered in one interview from being asked in subsequent interviews. It must be used with the Keep Interview Group option, which must be assigned to each subsequent template within the group.

For example, you have three related templates that will be added to the assembly queue (Template A, Template B, and Template C). Each of these templates uses Variable A. To keep Variable A from being asked in all three interviews, you would assign the Start Interview Group option to Template A. Then you would assign the Keep Interview Group option to Templates B and C. Once the user answers Variable A, it will not be asked in any subsequent interviews.

If a template is added to the assembly queue that doesn't use either of these options, it and any subsequent templates will not be included in the interview group.


Suggest Save

/ss

The Suggest Save option, which is used in connection with an ASSEMBLE instruction, causes HotDocs to ask users after assembly of a document has finished if they want to save answers entered during the interview in an answer file. Specifically, if the user has assembled a document and made changes to an existing answer file, HotDocs prompts to save the answers to that file. If saving a new, untitled file, HotDocs allows the user to specify the new answer file name.

If your user is using an existing answer file but you want to give the user the option of saving the answers in a new, different answer file, use the Suggest Save New (/ssn) option.

If you want to force users to save their answers after an assembly is finished, rather than give them the option, use either the Save Answers (/sa) or the Save Answers Prompt (/sap) options.


Suggest Save New

/ssn

The Suggest Save New option, which is used in connection with an ASSEMBLE instruction, causes HotDocs to ask if answers should be saved in a new answer file after assembly of a document has finished. Regardless of whether the user is using an existing answer file during assembly, when the user finishes that assembly, HotDocs gives the user the option of saving the answers in a new answer file.

If your users are using an existing answer file and you want them to save answers they have entered in that file instead of a new one, use the Suggest Save (/ss) option.

If you want to force users to save their answers after an assembly is finished, rather than give them the option, use either the Save Answers (/sa) or the Save Answers Prompt (/sap) options.


Suppress Unanswered Warning

/sw

The Suppress Unanswered Warning option keeps HotDocs from displaying the warning dialog box that appears when the user attempts to either print, save, or send the assembled document to the word processor and the assembled document still contains unanswered questions.


Template File

/tf="path and file name"

The Template File option causes HotDocs to assemble a document using the specified template or clause library.

If you want an interview template (component file) started from the Template File command line, the component file must have an INTERVIEW or STARTUP computation in it or assembly will fail.


Converting to HotDocs 11 Produces Component Name is Invalid Error

Converting to HotDocs 11.1 Produces Component Name is Invalid Error

Problem

I'm trying to convert a pre-existing template to HotDocs 11 using the Component Manager. I get a message saying that it will be converted to 11 format, so I click OK.

I get a message that states "ERROR: The component name "my component name" is invalid. A component name cannot contain..."

Solution

You need to revert to 11.0.x or earlier to address the issue. The issue is caused by using an invalid variable name. This can include using a reserved key word such as a predefined language token, or by using all UPPERCASE letters in your variable names.

Once you have reverted to 11.0.x or earlier and follow the tips on naming your variables. You should then be able to convert to 11.1 without problems.


Can't Dynamically Add Merge Text to a Multiple Choice Variable

Problem

I'm creating my Multiple Choice variables "on the fly," using the CLEAR and ADD instructions. I know I can ADD options and prompts, but can I ADD Merge Text to the variable?

Solution

Unlike options and prompts, the merge text for a Multiple Choice variable comes from another component—a Merge Text component. This means you cannot create and add merge text to a Multiple Choice variable "on the fly."


Changing the Order Questions are Asked in an Interview

Problem

I have completed automation on my template but when I test assemble it, I find that I want the questions asked in a different order than how HotDocs is asking them. Is there some way to override the order dialogs are asked?

Solution

By default, HotDocs generates this interview by asking variables as it reads them in the template. When a variable is linked to a dialog, the dialog is asked. For most templates, this default interview is sufficient. However, there may be times when you want to control the order questions are asked.

There are two ways to accomplish this: 1) Use an ASK instruction to ask a single dialog at a specific place in the interview, and 2) use an INTERVIEW computation to define the order of all dialogs in template.

For details, see Control When Your Dialogs Appear and Define a Custom Interview.


Checking the Spelling of Library Entries

Problem

How can I spell check the items in my template library?

Solution

There are no spell-checking capabilities at the template library. You can, however, copy the text of a library to a word processor and spell check it there. You must manually update entries in the library with any corrections.

To spell check your library

  1. At the template library, choose File > Export Library to > Plain Text File. The Save As dialog box appears.
  2. Specify a file name and location for the text file and click Save. The file is created.
  3. Open the plain-text file using Notepad.
  4. Select all of the text and copy it. (Press Ctrl+A to select the text, and then press Ctrl+C to copy it.)
  5. Open a new word processor document and paste the text. (Press Ctrl+V.)
  6. Use the word processor's spell checking tool. If there are spelling corrections that need to be made, return to the library and make the change. (To edit template titles, select the file and click the [image] Properties button.)


Child Dialog Always Appearing in Interview Outline Even When it Shouldn't

Problem

I have a child dialog that is always appearing in the interview, even when there are times it shouldn't. How can I make the child dialog optional?

Solution

When you add a child dialog to a parent dialog, you can group the child dialog so users can more easily specify if they want to answer it. When you group child dialogs, HotDocs places a check box or option button in front of the child dialog icon. When this check box or option button is selected, HotDocs places the child dialog in the interview outline so that its contents can be answered. Otherwise, HotDocs will treat the child dialog as if it doesn't exist—even if there are required variables in it.

If child dialogs are not grouped, each child dialog will appear in the interview outline, regardless of whether the dialog is optional to answer. If the user does not answer every question in every dialog, HotDocs will report in the End of Interview dialog that there are unanswered questions.

For instructions on grouping child dialogs, see Group Child Dialogs in a Parent Dialog.


Choosing Which Word Processor Will Be Used By Default

Problem

I have multiple word processors installed on my computer. I want to use a specific word processor for creating templates but HotDocs keeps defaulting to the other word processor. I also want to send assembled documents to one word processor, but again, HotDocs defaults to the other. How can I fix this?

Solution

You can specify which word processor you want to use when creating templates. This same word processor will be used for viewing assembled text documents. For details, see Change Your Default Word Processor.


Comparing the Contents of Two or More Component Files

Problem

I need to compare the contents of two or more component files, but I can't seem to open two different copies of Component Manager to do so. Is there some way to do this?

Solution

You can use Template Manager to simultaneously compare the contents of two or more component files. For complete instructions, see Understand Parts of Template Manager Window.


Converting WordPerfect Templates to Word

Problem

I recently switched from using WordPerfect to Microsoft Word. Can I convert my templates to Word format, and, if so, how?

Solution

You can convert your templates to Word format on a template-by-template basis, or you can convert multiple templates at once using Template Manager. (See Convert Multiple Templates to Work with HotDocs 11and Convert Templates and Clauses to Microsoft DOCX for details.)

Once converted, you should review each template carefully to make sure it still looks and works correctly.


'The Component File Cannot Be Used With This Version of HotDocs' Message Appearing

Problem

When attempting to edit a template, I get the error message, The component file cannot be used with this version of HotDocs. What does this message mean?

Solution

This message appears because you are trying to edit a newer version of a template with an older version of HotDocs. For example, you may be trying to edit a HotDocs 2009-11 version template with HotDocs 2005. Generally speaking, templates edited in the latest version of HotDocs are not backwards compatible with older versions.

If you must retain backwards compatibility with your templates, you can select a component file property that makes the template compatible with a specific version of HotDocs. If doing this, you must be careful not to use any features available in newer versions of the software, or else the template will not work with the older version. For example, dot codes are a new feature of HotDocs 2006. If you make a template containing dot codes available to HotDocs 2005 users, the template will generate errors because HotDocs 2005 has no support for dot codes.

See Compatibility of HotDocs 11 Files with Earlier Versions of HotDocs for details.


Dot Code Formatting Doesn't Seem to Work in True/False and Multiple Choice Options

Problem

Formatting dot codes (such bold, italics, and underline) assigned to Multiple Choice and True/False variable prompts don't work.

Solution

If a Multiple Choice or True/False variable prompt contains a formatting dot code and the variable is set to appear either as option buttons or check boxes, the prompt text will not be formatted. This is a known limitation of dot codes.


Editing Answer Source Records Causes Problems

Problem

I have an answer source whose records become jumbled anytime I edit records in it. Specifically, if I add a new record, some answers from other records appear in the new record. Those answers then disappear from their actual records. How can I keep this from happening?

Solution

Answer sources are associated with specific dialogs in a template. When users view the dialog during the interview, they can click a special button, which displays a list of answers that were entered during previous interview sessions. They can either select an existing set of answers or add a new set to the list.

After creating an answer source for one dialog, you can use it with other dialogs, including dialogs in other templates. However, when using an answer source with multiple dialogs, each variable must be represented in both the answer source and in each dialog. If a variable that is referenced in the answer source isn’t included in all of the dialogs that link to it (or vice-versa), answers in the answer source will get "mixed together" whenever you add, edit, or delete records.

In some situations, though, it isn’t always practical or relevant to show the user every variable—either in the dialog or in the answer source. To accommodate this, you should use the HIDE, CONCEAL, and OMIT instructions in a dialog script to manipulate these variables both in the dialogs and the answer source. Specifically, HIDE keeps a variable from appearing on the dialog, while CONCEAL keeps it from appearing in the answer source. OMIT keeps the variable from being associated with the answer source at all. Often, you must use a combination of these instructions to achieve your desired result.


Enabling Multiple Templates for Use with HotDocs Server At Once

Problem

I am automating a set of templates that I plan to use with HotDocs Server. All of these templates need to be enabled for use with Server. How do I specify this setting for all templates at once?

Solution

If you need to enable this setting for existing templates, you can use Template Manager.

To enable multiple templates for use with HotDocs Server at once

  1. At your template library, select the templates you want to enable.
  2. Click the [image] Template Manager button. The Template Manager window appears.
  3. Select the templates in the list and click the [image] Component File Properties button. The Component File Properties dialog box appears.
  4. Click the HotDocs Server tab and select Enable template for use with HotDocs Server.
  5. Select any other Server options and click OK. The selected templates are now enabled for use with Server.

You can also set this option for all new templates you create. To do this, see Enable All New Templates for Use with HotDocs Server.


Entered Answers Getting Overwritten

Problem

In HotDocs 5, I could ask a question in the interview, allow the user to answer the question, and then use a SET instruction to assign a different answer to the question later in the interview. In current HotDocs, however, the answer used in the SET instruction is always overwriting any answers entered by the user. What can I do to fix this?

Solution

Simply stated, don't automate your templates this way. Because scripting in dialogs is processed each time you answer a question in the interview, you cannot ask a variable in an interview and then later SET that variable's value to something else. In all cases, each time the interview is updated, the SET instruction value will overwrite any answers the user enters.

See Introduction: HotDocs Interviews, Automatically Assign Answers to a Variable, and Check Interviews for Improper Scripting for details.


Entering Multiple Choice Option Prompts and Merge Text

Problem

I want to enter a long prompt and merge text for a Multiple Choice variable, but there isn't much room to enter it at the Properties tab of the Multiple Choice Variable Editor. Is there some way to enter the text and be able to see it all at once?

Solution

If you need to enter lengthy prompt text or merge text, you can do so at the Options tab of the Multiple Choice Variable Editor.

To add prompt text

  1. Edit the Multiple Choice variable. (See Customize a Multiple Choice Variable.)
  2. Click the Options tab. The view changes to show different ways you can customize the multiple choice options.
  3. Click the Option drop-down button and choose the option you want to customize.
  4. Enter the prompt text in the Prompt field.
  5. Repeat steps 3 and 4 for any additional options you want to customize further.
  6. Optionally, enter longer merge text in the Default merge text field.


Fixing Warnings Listed at Warnings Tab

Problem

The HotDocs Warnings tab shows several warnings listed in it. How do I fix them?

Solution

Many of these warnings pertain to variables being asked incorrectly in the interview.

To correct the problem, select the warning in the list and click the Go to Warning button. HotDocs takes you to the script or location in the template where the error occurs so you can correct it.

The following table lists each warning, followed by a description of what it means:

Warning | Description
Variables that are set to a value and are marked "Save in answer file" | When HotDocs generates an interview outline, it processes any SET instructions and assigns answers to the variables that are set. This causes HotDocs to ask to save the answer file, even if the user doesn't enter any answers during the interview.
Variables that are set to a value and asked in the same interview You should not use a SET instruction to assign an answer to a variable and then ask the variable later in the interview. As HotDocs processes answers and rebuilds the interview, the value assigned by the SET instruction will always overwrite any answers the user provides. An example of this would be the following script:

SET TF Variable TO TRUE

... (later in the template)

ASK Dialog

(where Dialog uses the variable, TF Variable.)

In this situation, even if the user marks TF Variable as false, HotDocs will always change it back to true because of the SET instruction.

If you want to suggest an answer for a user, use the DEFAULT instruction instead of the SET instruction. If you want a variable to always have a specific answer, then SET the answer and do not ask that variable anywhere in the template.
Variables that are asked more than once in the same interview | You should not ask the same variable more than once in an interview. If you do, HotDocs will always assign the last answer you gave to the variable, no matter where it is used in the interview.
Variables that are referred to in a dialog script and are set to a value later You should not refer to a variable in a dialog script and then set that variable to a value later in the template. When HotDocs reprocesses the interview, the set value may change the appearance of the dialog—including how it presents variables to the user and how it processes the answers.

An example of this would be the following script:

SET Client TO "Husband"

ASK Husband Information

SET Client TO "Wife"

ASK Wife Information

In and of itself, this script is OK. However, Husband Information and Wife Information are dialogs that contain the following dialog element text:

The following information applies to the «Husband or Wife».

Husband or Wife is a computation that merges the literal text "husband" or "wife" into dialog element text, depending on the answer to Client.

Because HotDocs continually updates the interview, it will always use the last value resulted for this computation, which means that the dialog element text will always merge the word "wife," even if the user is viewing the Husband Information dialog. This could be confusing to the user.
Variables that are not asked when referred to but are asked later | You can refer to a variable in a template without asking the variable (by referring to the variable in an ASK NONE block or by clearing the Ask automatically option for the variable). However, if you do this, you should not ask the variable or set it to a value later in the template. Doing this will replace the answer that was used for the variable earlier in the template, thus causing an inconsistency.


Foreign Characters Are Appearing as Boxes or Question Marks in HotDocs

Problem

I am using foreign (or Unicode) characters in my template, but they are appearing as boxes or question marks.

Solution

Even though HotDocs supports Unicode characters, these characters may not appear correctly if you do not have fonts installed that can display them.

For example, say you automate your template using the Tahoma font on Windows Vista. If the template is used on an earlier operating system, some of the characters you have used may not appear correctly because those characters may not be supported in the version of Tahoma available on that operating system.

Or, perhaps you use a very specialized font for displaying symbolic characters. If your users do not have the same font installed on their computers, your text will appear as unrecognized characters—usually boxes or question marks.

Additionally, you must also be careful when assigning font styles (such as bold or italic) to international characters, as characters may not display correctly when these styles are applied.


Getting Missing END IF or Missing END REPEAT Errors

Problem

When I test assemble my template, I get a Missing END IF (or a Missing END REPEAT) error. I have a lot of different instructions in my template—how can I determine where the END instruction is missing?

Solution

The HotDocs Outliner can help you quickly locate the opening IF instruction that isn't paired with a closing instruction.

To use the HotDocs Outliner

  1. At the template, click the drop-down menu below the [image] HotDocs button, then select the [image] HotDocs Outliner button. HotDocs displays an error message saying an END instruction is missing. (This is correct.)
  2. Click on this warning and click Go to Error in Template. HotDocs highlights the opening instruction.
  3. Determine where the closing instruction should appear and merge it in the template. (You can manually create the END field, or you can copy an existing field and replace the text between the chevrons with the appropriate END instruction.)

HotDocs Outliner is supported in only Microsoft Word 2000 and later.

Two other tools can help you match opening instructions with their closing instructions. These are the [image] Match Fields tool and the [image] Label Fields tool. See Match Opening Instructions with Closing Instructions and Use Labels to Identify Instructions for details.

The only time an END instruction should not be used is when inserting a REPEAT instruction in a table. See Use a Word Processor Table to Display a List for details. In all other cases, every IF and REPEAT instruction must have a corresponding END instruction.


Hiding the End of Interview Dialog During the Interview

Problem

When assembling the document, I want the users to go from the last dialog in the interview directly to the assembled document. I don't want the End of Interview dialog to be shown. How can I keep this from appearing?

Solution

You can specify a component file property that keeps the End of Interview dialog from appearing during the interview.

To specify this property

  1. Open Component Manager.
  2. Click the [image] Component File Properties button. The Component File Properties dialog box appears.
  3. Click the Interview tab. The view changes to show interview properties.
  4. Select Hide End of Interview dialog.
  5. Click OK.

Now, whenever users assemble this template, clicking [image] Next at the last dialog will take them to the assembled document.


'HotDocs Cannot Play the Macro HD6EditTemplate.Main' Message Appearing

Problem

When attempting to edit a template, I get the error message, HotDocs cannot play the macro HDEditTemplate.Main because the macro does not exist in the original template or in a template currently loaded into Word. What does this message mean?

Several file names and locations were changed for HotDocs 10. For a list of these changes, please see New and Enhanced Features for HotDocs 10

Solution

The first thing to check is to make sure that HotDocs is putting its global macro templates in the right location, and also to make sure that Word is finding them. To do this, complete the following steps:

  1. In Windows Explorer, browse to C:\Program Files\HotDocs\Source\Word\Macros, and make a note of the file dates on the files in that folder.
  2. In HotDocs, go to Tools > Options > Word Processors > Word 2000. Make a note of the Startup Folder location and browse to that folder in Windows Explorer. (You can click the [image] Browse button next to the Startup folder field and it will open that folder in Windows Explorer.)
  3. Compare the files in the folder opened through HotDocs with the files you found in step #1 above and make sure that hd6edit.dot and hd6icon.dot match exactly. (If they don't, you need to copy the files from the "source" folder to the "startup" folder.)
  4. In Word, go to Tools > Templates and Add-ins and make sure that hd6edit.dot and hd6icon.dot are both listed and checked, which indicates that they are loaded.

Assuming these steps check out OK, another place to look is in Word's macro security settings. Although the HotDocs macros are digitally signed and should not be blocked even if you have your security set to the highest level, you could try temporarily lowering the security level to see if it makes a difference:

  • In Word, go to Tools > Macro > Security. At the Security Level tab, lower the security level to Medium or Low and then see if the macros work under one of those settings. If it doesn't make a difference, be sure to switch it back to the previous setting.

Finally, you should check to make sure that the version of hd_api.dll in your Windows system folder is the correct version:

  1. In HotDocs, go to Help > About HotDocs > Version Info. Make a note of the file version for hotdocs.exe.
  2. In Windows Explorer, browse to C:\Windows\System32 and find the file named hd_api.dll.
  3. Right-click on hd_api.dll and choose Properties from the shortcut menu.
  4. At the Version tab, check to see if the file version is the same as that of hotdocs.exe.
  5. If the versions do not match, delete the DLL file from the Windows folder and repair the HotDocs installation.


HotDocs is Creating Database File with Library File

Problem

I've noticed that there's a Microsoft Access database file saved in the same folder as my template library. This file also has the same name as my library. What is this file, and can I edit it?

Solution

When you run Template Manager, it creates a database file in the same folder as the library. This database is necessary in managing the different templates and components you are viewing in Template Manager.

You should not edit this file. If you were to inadvertently change or delete information in the database, it may corrupt your templates or make them unusable.


Incorrect formatting of multi-level list that includes HotDocs Instructions

Problem

When I assemble the document, the answers have inserted correctly but the format of the multi-level list is wrong. It looks like some of the returns are in the wrong place.

Solution

The most likely cause of this problem is an incorrect use of smart returns. You can set you default options for smart returns at the HotDocs Options dialog box.


Keeping Users from Editing Templates

Problem

I need to make templates I've automated available for assembly to several users within our office, but I don't want them to edit the templates. How can I restrict my users like this?

Solution

There are some options available for limiting use of your templates. Nearly all of the following options involve storing copies of the files to a different location (such as a network drive), separate from the folder that contains your working files:

  • Publish the template files as auto-assemble files and make the auto-assemble files available to your users. See Publish Templates as Auto-Assemble Files (HDA) .
  • Export the library to a different location and specify that the exported files be used for assembly only. See Create a New Library By Exporting Part of an Existing Library.
  • Obtain a publisher's license from HotDocs Corporation and publish the files for use with HotDocs Player. See Publish and Register Templates for Use With HotDocs Player . (Contact your HotDocs sales representative for information on acquiring a publishing license.)
  • Mark the folder where the files are stored as read-only. Mark the template files within the folder as read-only as well. (See the Windows Help file for instructions on marking folders and files as read-only.)
  • Publish the templates (as standard template files) but lock the component files. (Make sure you don't inadvertently replace your working component files with the locked component files. There is no way to recover a locked component file.) See Protect Published Files .


Limiting Visible Rows but Not Limiting Number of Answers

Problem

I want to show only a few rows of a spreadsheet dialog in my interview, but I don't want to limit the number of answers a user can enter. How can I do this?

Solution

You can control the number of rows that appear in a spreadsheet dialog. This setting has no effect on the number of rows a user can enter.

To limit the number of visible rows

  1. Edit the spreadsheet dialog. (See Edit a Custom Dialog.)
  2. In the Rows to display field, enter the number of the rows you want to be visible.
  3. Click OK.

To limit the number of answers a user can enter, use the LIMIT NUM instruction in a dialog script.


Matching Pairs of Instructions in a Computation Script

Problem

I have a complicated script that incorporates several IF and REPEAT instructions. I need to be able to see these pairings better. I know there are several tools for doing this when editing instructions in the text of the template, but I'm unsure of what's available to me when I'm in a computation script.

Solution

There are a few things you can do to match pairs of instructions while working in a computation script:

  • Click the [image] Auto Format button in the script editor toolbar. This indents scripting between instructions. Nested instructions are likewise indented, like in the following example:

  • Place your cursor in the opening or closing instruction and press Ctrl+M. HotDocs moves your cursor to the matching instruction. (You can also choose Match IF/REPEAT from the shortcut menu.)
  • Place your cursor in the opening or closing instruction and press Ctrl+Shift+M. HotDocs highlights the entire section of the instruction with which you are working. (You can also choose Select IF/REPEAT from the shortcut menu.)

For details, see Use the Script Editor.

For details on working with instructions in a text template, see Match Opening Instructions with Closing Instructions.


Merging check boxes in a Text Template

Problem

I know how to automate check boxes in my form templates, but I'm unsure of how to create check boxes in a text template.

Solution

Some fonts on your system include empty box characters, as well as box characters with an X. You simply need to conditionally insert these characters in your template. For example, if you have the Wingdings 2 font installed on your computer, you can complete the following steps to merge these characters.

To create check boxes in a text template

  1. Automate your template, including specifying the conditional instructions that will merge the correct check box. (Use placeholder characters to represent the check boxes.)
  2. Open the Windows Character Map tool. (For instructions on finding and opening this tool, refer to your Windows Help.)
  3. Click the Font drop-down button and choose Wingdings 2. The character list changes to show the different characters available to you.
  4. Locate a box with an X in it and click Select. This adds the character to the Characters to copy field.
  5. Locate a box without an X in it and click Select. This adds this character to the box as well.
  6. Click Copy.
  7. In the template, place your cursor where the check boxes should go and choose the Paste command (for example, press Ctrl+V). The characters are inserted in your template. (You may need to highlight the character and choose Wingdings 2 from the application's font menu to reapply the correct font.)

A simpler way to merge check boxes may be to place either an X character or empty space character between opening and closing brackets. For example, [X] vs. [ ].


Merging Just a Portion of a Date Instead of the Whole Date

Problem

I need to merge just the year part of a date in an answer field—not the whole date. How can I limit the answer in this way?

Solution

You can use an example format to merge just a portion of the date. The user will still enter a full date, but only a portion of it will be merged in the document.

To merge the year only

  1. Create a Date variable. (See Customize a Date Variable.)
  2. At the Format field (either at the Variable Field dialog box or at the Date Variable Editor), enter 1990.

Using example formats, you can merge a single Date variable in three separate answer fields. For example, say you are automating a form template and the date needs to appear on three separate blank lines. You can merge the same Date variable in all three blank spaces, but use different portions of a date format to control what gets merged in each blank space.

For example, in the following, you'd break the dates into three separate parts:

In the first blank space, you'd merge the Date variable with the format third. In the second blank, you would use June as the format. In the last blank, you'd use 1990 as the format.


Optional Variables Showing Up as Unanswered in Interview and Document

Problem

My template provides an option for users to enter a second address line. However, when users don't have a second address, HotDocs is merging an unanswered variable marker in the document. It's also reporting in the End of Interview dialog that some questions are unanswered. How can I keep these markers and warnings from appearing?

Solution

To keep HotDocs from merging an unanswered variable placeholder, you must insert the variable conditionally. Specifically, you must insert it only if the variable is answered. For example, the following expression in the template will merge the second address only if the user provides it:

«Client Name»

«Client Address 1»

«IF ANSWERED(Client Address 2)»«Client Address 2»«END IF»

«Client City», «Client State» «Client ZIP Code»

To keep HotDocs from warning the user that the question in the dialog is unanswered, you specify a variable property. At the Variable Editor, click the Advanced tab and clear Warn when unanswered. (See Control How HotDocs Processes a Variable.)


Punctuating a Repeated List of Answers

Problem

I have created a REPEAT instruction in my template, but when I test it, the answers all run together, for example, like Answer OneAnswer TwoAnswer Three. How can I separate these answers with the correct punctuation and conjunction?

Solution

You can assign a format to a repeated list of answers. This format separates answers with either commas or semi-colons, and it also inserts the conjunction AND or OR, depending on your needs. To assign the format, at the REPEAT Field dialog box, click the Format drop-down button and choose the punctuation style you need.

For instructions on assigning a format in a computation script, see Punctuate a List Using a Computation Variable.


Receiving 'Invalid Variable Name' Errors When Creating Components

Problem

When I create a new variable and try to save it, HotDocs displays an Invalid Variable Name error message. What am I doing wrong that causes this error to appear?

Solution

When naming variables, there are a few rules you must follow:

  • A variable name can have up to 50 characters, including letters, numbers, and some symbols.
  • The first character in a variable name must be a letter.
  • Each variable name must be unique. Even if the variables are different types, their names cannot be identical.
  • DO NOT use all uppercase letters in your variable names. Because HotDocs instruction and expression keywords use uppercase letters, you may inadvertently use a word that may someday become a keyword, which will prevent HotDocs from reading your variable name correctly. (See Introduction: Instruction and Expression Models.)
  • Do not use any of the following characters when naming your components:

    . (period)

    $ (dollar sign)

    " (quotation mark)

    : (colon)

    [ ] (brackets)

    , (comma)

    ( ) (parenthesis)

    % (percent)

  • These characters can be used only if there is a character other than a space immediately before or after it:

    + (plus)

    - (hyphen)

    * (asterisk)

    / (forward slash)

    > < (greater than and less than signs)

    >= <= (greater than or equal to and less than or equal to signs)

    = (equals)

    != (does not equal)


Reducing Template File Size

Problem

I completed automation on my template and now the template's file size is several megabytes. What can I do to reduce the file size?

Solution

Most likely the increased file size is because you've used graphics in your template. When you insert a graphic in an RTF template, Word creates an extra copy of the graphic and merges it in the file. Other causes may be invisible merge ID marks and unused property codes.

You can keep Word from storing all of this information in the template. See Using the Hidden Data Remover dialog box for details. You can also remove existing hidden data from your templates. For details, see Remove Hidden Data from Word Templates.


Renaming Components Correctly

Problem

I renamed a component in my component file, but now my template won't assemble. I keep getting 'unrecognized variable' errors.

Solution

When you rename a component, it is changed everywhere it is used in the component file. For example, renaming a variable will update all references to it in dialogs, scripts, and prompts. However, you must update references to the component in the template text itself for the template to continue to work. To do this, you may need to remove the old variable field and insert the new variable. See Rename Components in a Single Template for details.

You can use Template Manager to rename components. If you do, all references to the component—both in the component file and in the template—will be updated. See Rename Components Across Multiple Component Files for details.


Repeating a Single Variable in a Dialog

Problem

I have a dialog that contains several related variables. I want to repeat one of the variables in the dialog but not all of them. How do I do this?

Solution

To repeat a single variable in a dialog that contains other variables, you must effectively create two dialogs and then nest the repeated variable's dialog in the non-repeated dialog. Specifically:

  1. Create a dialog for all of the non-repeated variables. (See Gather Questions into a Custom Dialog.)
  2. Create a dialog for the repeated variable and assign Spreadsheet on Parent as its repeat Style. (See Choose a Presentation Style for the Repeated Dialog.)
  3. Edit the non-repeated dialog and drag the repeated dialog to its Contents list.

See Insert Dialogs Into Dialogs and Create a List Within a List for more details.


Repeating the Contents of a Single Cell in a Table

Problem

I have a table. I need to repeat the contents of a single cell. I only selected that cell when I added the repeat instruction, but when I assemble the document, HotDocs creates an entire new row for each repetition. How can I create the list in a single cell and not repeat the entire row?

Solution

To repeat the contents of one cell in a table, rather than the whole row, you need to select only the text within that cell, rather than the cell itself.

You can tell when you have just the text within the cell selected when the grey highlight looks like the left-hand image below:

To repeat the contents of a single cell, you can also create a REPEAT instruction in a computation script and then insert that Computation variable in the cell.


SET Instructions Using Dialog Elements No Longer Working

Problem

When I try to assemble a template that includes a Dialog Element with contents determined by a SET instruction, I see an error message.

Solution

You cannot use SET to determine the content of a Dialog Element. While this has never been a supported HotDocs feature it was possible to run these templates without error in earlier versions.

The suggested way to use a SET command in conjunction with a Dialog Element is by adding a text variable to the Dialog Element and then using the SET instruction, in a computation variable, to determine the contents of that text variable. For information on customizing Dialog Elements with variables see Use Variables and Scripts in Prompts, Dialog Element Text, and Resources


Test Assembling Template with ASSEMBLE Instructions

Problem

When I try to test assemble my template, the ASSEMBLE instruction in the template doesn't work.

Solution

You cannot test an ASSEMBLE instruction from within the template—you must first close the template and then assemble it from the library. See ASSEMBLE "FILENAME" for details.


Text Not Displaying Properly in Documents Assembled from Word 2007 Templates

Problem

When I assemble a document, some of the text is too far to the left; sometimes; the text is not even visible because it is too far to the left in the document.

Solution

The issue here is two fold: the existence of a smart tag in your template, and a bug in Microsoft's Open XML Format SDK. When the Open XML SDK encounters a smart tag is in the template, the SDK converts the "left" attribute of the <w:ind> to a "start" attribute. Word 2010 and above can handle the "start" attribute; however Word 2007 (which follows an older version of the DOCX specification) cannot handle the "start" attribute.

In Word 2007, since no "left" attribute is found, a default value of 0 is used. If your template also uses a large hanging indent, the assembled document's text can be so far to the left as to be completely off the page.

Removing Smart Tags

You can solve the issue described above by making sure you remove all smart tags in your template.

To remove smart tags:

  1. In Word 2007, open the template containing smart tags.

    Because later versions of Word (2010 and 2013) do not support smart tags, there is no way to remove smart tags in these later versions.

  2. At the top left corner of Word, click the Windows button.
  3. In the bottom right of the drop-down menu, click Word Options.
  4. On the left, select Add-Ins.
  5. On the Manage drop-down list, select Smart Tags; then click Go.
  6. Be sure to deselect Label text with smart tags, or after you remove smart tags, Word automatically adds smart tags again.
  7. Click Remove Smart Tags (if the document contains smart tags, the button should be enabled). All smart tags are removed.


True/False Variables Default to False on Spreadsheet Dialogs

Problem

When I include a True/False variable on a repeated dialog and set the style to Spreadsheet, the variable always defaults to False.

Solution

This is in fact expected behavior as True/False variables on Spreadsheet dialogs are primarily used as a type of check list. In the interview, when the user wants to answer false, they leave the question blank and when they wish to answer true they check the cell.


Trying to Save an Invalid Computation Script

Problem

When I try to save my Computation variable, I instead get an error message and HotDocs won't let me exit the script. I need to work on other projects, but I don't want to cancel and lose all of my work on this script.

Solution

HotDocs will not let you save an invalid computation script. However, you can 'disable' the script and save the variable. Disabling the script keeps HotDocs from trying to validate it when you save it.

There are two ways to disable a script:

  • Highlight all of the text in the script and click the [image] Comment Block button. This turns all of the text in the script into a comment, which HotDocs won't process. When you are ready to work on the script again, highlight the text and click the [image] Uncomment Block button. This enables the script once more.

Comments are descriptions or remarks about the computation script. Many developers enter comments to explain how they are using instructions and expressions in the script to achieve the result they are seeking.

  • At the beginning of the script, enter the instruction QUIT. This instructs HotDocs to not process any of the script after the instruction.


Understanding the Difference Between Multiple Choice Options and Merge Text

Problem

What is the difference between a Multiple Choice option and merge text?

Solution

There are actually three parts to a Multiple Choice variable:

  • Options: Multiple Choice options are the actual possible answers to the variable. When an option is selected, it is the value that is saved in the answer file.
  • Prompts: Prompts are the text used to describe the options. For example, if your option text isn't descriptive enough, you can enter a prompt for the option and the prompt will be used in the interview. (If you don't enter a prompt, HotDocs will use the Option text.)
  • Merge Text: Merge text is the text that gets merged in the document, based on the options the user selects. (If you don't enter Merge Text, HotDocs will merge the Option text in the document.)

See Customize a Multiple Choice Variable for details.

If you are using merge text in a computation variable, make sure you remember to use quotations around the multiple choice variable name otherwise you will be using the option text. For example using «MCVariable» will use the option text in the assembled document but using "«MCVariable»" will use the merge text.


Using DEFAULT Instruction Causes Extra Repetition

Problem

I have a DEFAULT instruction in my repeated dialog script, but it's causing an unanswered repetition to appear in my interview outline. This causes unanswered questions to appear in the document, as well. What do I do?

Solution

Do not use the DEFAULT instruction in the script of a repeated dialog unless the instruction is used in conjunction with a conditional expression or a LIMIT instruction. If you use it by itself in a repeated dialog script, it will always add an unanswered dialog to the interview, which will produce an incorrectly assembled document.

See DEFAULT VAR TO VALUE for details.


Using Headers and Footers of Inserted Templates

Problem

I have several inserted templates, each with their own defined headers and footers. However, when they are inserted in the parent template, the headers and footers are lost. How can I keep the headers and footers from being overwritten?

Solution

When working with inserted templates, you can select an option that uses the headers and footers of the inserted template when the template is merged in the main document. If the text is merged "inline" with the rest of the main document, the main document's headers override the inserted template's headers. If the inserted template is merged as a separate section of the main document, each section will use the headers defined for it. See Define Headers and Footers in Inserted Word Templates for details.


Using INSERT Instructions in a Table

Problem

I've placed an INSERT instruction in a word processor table, but when I assemble the document, the inserted text appears outside the table.

Solution

You cannot place INSERT instructions in the cell of a word processor table.


Using One Variable in Two Different Dialogs

Problem

I have a template where I need to ask one of two dialogs, based on how users answer other questions in the interview. I have one variable that needs to appear in both dialogs. How can I link the variable to both dialogs without breaking my template?

Solution

As long as only one dialog gets asked during the interview, you can associate the variable with both dialogs. To do this, however, you will need to select some dialog options. You will also need to explicitly (but conditionally) ask both dialogs.

To associate the variable with both dialogs

  1. Create the first dialog and add the required variables to it, including the variable you need to share between the two dialogs.
  2. At the Dialog Editor, click the Options tab.
  3. Clear Link variables to this dialog and click OK.
  4. Create the second dialog and add the required variables to it, including the variable you've already added to the first dialog.
  5. Either in a Computation variable or directly in the template, insert two ASK instructions—one for each dialog.
  6. Condition the ASK instructions accordingly.

See Use the Same Variable or Clause in Two or More Dialogs for more information.


Variables Not Working in Word Text Boxes

Problem

I have a text field with a variable inside of it in my Word template. However, when I assemble the document, the variable isn't processed.

Solution

You cannot insert variables inside Word text boxes. Alternatives to using text boxes may include creating a single table cell to place your variable, or implementing a frame (Word XP). Refer to Microsoft Word's help file for specifics on creating these types of boxes.


Watermark Disappearing

Problem

When I assemble my text template using HotDocs Server, my watermark disappears.

Solution

Text watermarks do not work with HotDocs Server (or any browser based services, like HotDocs Cloud Services). To compensate, you need to turn your text watermark into an image and use it in Microsoft Word as a Picture watermark.

Add a Picture Watermark to a Template

  1. Using image processing software, save the text or image you need as an image file on your computer.
  2. At the HotDocs Library, select the template you want.
  3. Click [image] Edit.
  4. On the Page Layout tab, click Watermark.
  5. Click Custom watermark.
  6. Select Picture watermark.
  7. Click Select Picture...
  8. Select the image file you saved earlier; then click Insert.
  9. Click OK.


Can't Attach Answer File or Document to Outlook 2007 E-mail Message

Problem

When I try to attach an answer file or an assembled document file to an e-mail message, HotDocs displays the following error message: "Error Sending Message. One or more unspecified errors occurred." I am using Outlook 2007.

Solution

This is an Outlook 2007 problem. It sometimes occurs when the Outlook 2007 forms cache becomes corrupt. To correct it (at least temporarily), follow these steps:

  1. In Outlook, choose Tools > Forms > Choose Form. The Choose Form dialog box appears.
  2. Click the Look In drop-down button and choose Standard Forms Library.
  3. Select one of the forms and open it.
  4. Close the form. (You don't need to make any changes.)

You may need to restart HotDocs for this to work.


Changing Unanswered Text Markers

Problem

When I leave questions in the interview unanswered, HotDocs merges asterisks in the assembled document where the answer is supposed to go. I'd rather have it insert blank lines or something else less obtrusive. Can I change this?

Solution

You can choose the unanswered marker HotDocs uses when you leave questions unanswered in the interview. For details, see Format Unanswered Variables in a Document.

The template provider may have selected a specific unanswered marker for some questions in the interview. If this is the case, these markers will override your selection.


Discerning Between Template Preview and Actual Template

Problem

When I preview the template at the Preview tab of the library or at the Document Preview tab of the assembly window, the preview looks different from the actual template or assembled document when I view it in the word processor. Why this difference in appearance?

Solution

Because of technical restrictions, HotDocs cannot display the actual word processor document in the library or at the assembly window. Instead, it uses a third-party application to render the text of the template or document.

This application depicts a Microsoft Word template or document fairly accurately because it is able to convert the text to RTF (if it's not already in RTF format). Some of the formatting may be different, but, for the most part, it is a good representation. However, because WordPerfect text can't be converted to RTF at the time the document is displayed, the application is only able to display the text in plain format—there is no formatting.

In either case, however, the actual text in the template or document is correct. And, once you edit the template in the correct word processor or send the assembled document to the word processor, the document will appear exactly as it's supposed to.


Downloading HDIs and HDAs as ZIP Files

Problem

When downloading HotDocs auto-install (.HDI) or auto-assemble files (.HDA) from a server, files are saved to disk in ZIP format. Additionally, attempting to open or run the file results in HotDocs prompting the user for a ZIP file password.

Solution

The first possible (and less likely) problem is that HDI file associations are not set up properly on the workstation. To test whether this is true, create an HDI file, close HotDocs, and then double-click the .HDI file in Windows Explorer. If HotDocs starts and then launches the installation, HDI files are properly associated. If HotDocs does not launch, the following are two solutions that should correct the problem.

  • Solution 1: See Receiving Error Messages When Launching HDAs, HDIs.
  • Solution 2: Repair your installation of HotDocs. To do this, go to Start > Settings > Control Panel > Add or Remove Programs. Select your version of HotDocs in the list of programs and click Change/Remove. When prompted to either repair or uninstall HotDocs, choose Repair and complete the installation.

The second possible (and more likely) problem occurs because Windows XP examines files being downloaded. If they appear to be in the ZIP format (which both HDI and HDA files are), then regardless of the download extension, Windows concludes they are ZIP files and applies a .ZIP file name extension. Even though you have a proper MIME type set up on your computer, Windows XP makes the change during the download.

To set the correct MIME types on the server

  1. Bring up the IIS management tool (i.e. go to Start > Programs > Administrative Tools > Internet Services Manager).
  2. Choose the Web site whose MIME types you need to change.
  3. Right-click and choose Properties from the shortcut menu.
  4. Click the HTTP Headers tab.
  5. Click the File Types button.
  6. Click the New Type button. (You will do this for both HDIs and HDAs.)
  7. Enter the following information for each file type:
Type of File | MIME Type
Auto-install (HDI) | application/x-hotdocs
Auto-assemble (HDA) | application/x-hotdocs-auto


Editing Answers in Assembled Document

Problem

When viewing the assembled document, I can't edit the answers that are merged in the document. The help file says I should be able to.

Solution

You may not be able to edit answers at the Document Preview tab for one of three reasons:

  • You are viewing a WordPerfect document. (Answer editing is not supported in WordPerfect templates and documents.)
  • The template developer has not allowed it.
  • The Highlight Fields option is turned off. To highlight fields again, click the [image] Highlight Fields button in the assembly window toolbar.


Entering a Two-Digit Year

Problem

I want to enter a two-digit year whenever I answer a date question, but HotDocs always displays the following error message: "You must enter a four-digit year".

Solution

As a safety precaution, HotDocs requires you to enter four digits when entering the year portion of a date. If you enter a two-digit date, such as 7/9/99, HotDocs responds with this message: "You must enter a four-digit year."

You can override this default option by specifying a century rollover year at the HotDocs Options dialog box. The number you enter controls how HotDocs interprets two-digit years. Two-digit years less than or equal to the number you enter are understood as 2000-century years. Two-digit years greater than the number you enter are understood as 1900-century years.

For example, if you specify a rollover value of 34, dates entered as 5/14/34 will appear as 14 May 2034. A date entered as 5/14/35 will appear as 14 May 1935.

See Control How HotDocs Handles Two-Digit and Four-Digit Years for information on setting this option.


HotDocs Skips Questions When Navigating from Child Dialog

Problem

After I answer questions in a child (or nested) dialog, I click [image] Next and HotDocs takes me to the next dialog in the interview—not back to the main-level dialog I was in originally. How can I keep this from happening?

Solution

HotDocs moves to the next dialog in the interview outline because of a default setting. Its behavior is most useful when child dialogs appear as the last item in a dialog, and, after answering questions in the child dialog, you want to move to the next dialog in the interview. However, there are times when you need to return to the parent dialog and continue answering questions in the current dialog.

If, instead, you want to return to the main-level dialog that uses the child, you can clear this default setting. At the assembly window, clear Next Dialog Follows Outline (Navigate menu).


Images Appear Incorrectly After Converting an RTF to PDF Using HotDocs Server

Problem

When RTF (or DOCX) documents are converted to the PDF format using HotDocs Server, images using a CYMK colour format are colored incorrectly in the resulting PDF document.

Solution

CMYK images are not supported for use in HotDocs templates. RGB images should be used instead.

  1. Re-save the relevant source image in a RGB color format, using appropriate image editing software.
  2. Re-insert the image into the HotDocs template.
  3. Save the template and test a RTF( or DOCX) to PDF conversion in HotDocs Server. The image should now appear correctly.


Increasing Font Size

Problem

When answering questions in the interview, the text used in the dialogs is too small or too hard to read. Can I change it?

Solution

You can change the font, size, and color of the text used in a dialog. You can also change the properties of text used in the interview outline. For details, see Customize the Look of the Dialog Pane.


Installing Support for New Word Processor

Problem

I've installed a new word processor, but when I try to use HotDocs with it, HotDocs won't recognize it.

Solution

After you have installed the new word processor, you must run the word processor at least once. This creates entries in the Windows System Registry, which HotDocs must be able to access before it can integrate with it.

Once the registry is updated with the required information, you must select the new word processor at HotDocs Options and choose to install support for it. For details, see Install Support for New Word Processors.

It is possible your new word processor isn't compatible with HotDocs. If you are unsure, please see the list of HotDocs System Requirements (see System Requirements.)


Moving Between Questions in Interview Slow

Problem

Whenever I answer a question in an interview and try to move to the next question, it seems like it takes HotDocs a long time to respond. Moving between dialogs in the interview also seems slow. What can I do to make this process faster?

Solution

In an effort to keep the assembly process up to date, HotDocs updates the dialog and the interview outline each time you enter or edit an answer in the interview. Depending on the complexity of the interview or the document, this updating may take longer than desired.

You can minimize the amount of time HotDocs takes to update the interview or document with your changes by forcing it to update only when it needs to. You do this by turning [image] Instant Update off. When instant update is off, HotDocs updates dialogs and interviews only when it needs to. For details, see Update Your Interview Outline and Document.

Template Developers: You can create a custom interview component that can greatly reduce the amount of processing required to keep the interview up to date. This can improve response time for your users. For details, see Define a Custom Interview.


Moving to the Next Dialog After Entering a Date or Number

Problem

When I answer a date or number question in an interview and then click [image] Next or [image] Previous, HotDocs doesn't move me to the next dialog. I have to click [image] Next or [image] Previous again to move to that dialog.

Solution

When you type an answer in an answer field, HotDocs sometimes reads the answer and reformats it to appear a certain way. For example, if you type February 6, 2006 in a date field, HotDocs will reformat the answer to appear as 6 Feb 2006. Sometimes this reformatting can reveal an incorrectly interpreted answer, especially if the answer you typed is ambiguous. For example, the date 05/06/2006 may either be interpreted as June 5, 2006 or as May 6, 2006.

Depending on where the reformatted answer appears in the dialog, you may not even be aware that it has been reformatted. For example, when you enter an answer in one of the first answer fields in a dialog and then move to the next field, you will most likely see that your answer has been reformatted. However, if you enter an answer in the last answer field and click [image] Next to advance to the next dialog, you may not see that the answer was reformatted.

In this situation, HotDocs keeps you in the dialog so you can review the change it has made to the format. For information on changing this default behavior, see Warn When HotDocs Reformats Date and Number Answers.


Organizing Files in the Library vs. on the Disk

Problem

I don't understand the difference between how files are organized in my library and how they are organized on disk.

Solution

A HotDocs library is simply a tool for viewing and working with the files on the disk. Specifically:

  • Files in the library are shortcuts that link to the actual files on disk (much like a desktop shortcut to an application you use frequently links to a program in your Program Files folder).
  • Files in the library can be organized into "virtual" folders. These folders do not need to match the organization of folders on the desktop.
  • Files in the library can be viewed using either the template title or the template file name. Files on disk are viewed only by file name.
  • If you manually move a file on disk, you must update the reference to the file in the library or HotDocs will not know how to find the file. To move files while keeping the reference to the file updated in the library, use the Move or Copy commands in the library.


Overriding an Answer in a Form

Problem

What happens when I override an answer in a form document?

Solution

Sometimes you need to enter an answer in a form document, but you are unable to enter that answer because of formatting restrictions on that field. (Remember, dates and numbers must be formatted a certain way for HotDocs to consider them valid.) For example, say you enter 3,000,000 as an answer to a number variable. The field, however, may not be large enough to show the whole answer without sending it to the addendum. You can override the field's format and enter 3 mill. as the answer.

Or perhaps you have a date that is appearing in one format (19 May 2006), but you want it to appear in a different format (06/19/06). You can override the field and enter the answer you need.

Overriding the format of the field allows you to enter whatever text you need in the answer field.

See Override an Answer in a Form for details on overriding form fields.

Overriding a field is like placing a sticky note over the field and writing on it—you can see what is written on the note, but HotDocs continues to use the original answer. Any other fields that use the answer, either in a calculation or a condition, will continue to do so. The original answer will likewise be saved in the answer file.


Printing Form Document is Off-Center

Problem

When I print my PDF-based form, the document appears off-center on the printed page.

Solution

This problem appears when you use Adobe Acrobat to print the document and you're using a non-PostScript printer driver.

To correct the problem, always use a PostScript printer driver.

See Print an Assembled Form Document for more details.


Printing Form Document Takes Incredibly Long Time

Problem

When printing a PDF-based form document, it takes an incredibly long time for the document to actually print. What can I do to speed up this process?

Solution

This slowness happens when you print the document through HotDocs. To print more quickly, use Adobe Acrobat or Reader to print the document. See Print an Assembled Form Document for details on selecting this preference.


Receiving Error Messages When Launching HDAs, HDIs

Problem

When attempting to run either a HotDocs Auto-Install file (HDI) or HotDocs Auto-Assemble file (HDA), HotDocs displays an error message and is unable to launch the file. The error message frequently says it cannot find hd_dispatch.exe, the application used to launch these files.

Solution

During installation, HotDocs creates certain entries in the Windows System Registry. One of these entries designates where the file hd_dispatch.exe should be found so that HDAs and HDIs can be properly run. By default, this file is usually created and registered in C:\Program Files\HotDocs. However, if you performed a custom installation and changed the program folder for HotDocs to some location other than C:\Program Files\HotDocs, this registry key was not updated with the new program files path. Because of this, HotDocs cannot run the HDA or HDI because it doesn't know where to look for hd_dispatch.exe.

To update the registry with the correct information

This workaround requires you to work in the Windows System Registry. Failure to follow these instructions carefully and entirely may result in you changing a setting that may adversely affect several other programs you use. If you are unsure of how to work with the registry, please ask your system administrator for assistance.

  1. Click Start > Run. The Run dialog box appears.
  2. In the Open field, type regedit. The Registry Editor appears.
  3. Open HKEY_CLASSES_ROOT > HotDocsHdaFile. (To update the information for an HDI file, navigate to HKEY_CLASSES_ROOT > HotDocsHdiFile.)
  4. Expand the folder so you can see its subfolders.
  5. Click the DefaultIcon folder.
  6. In the right pane, double-click (Default). The Edit String dialog box appears.
  7. Change the folder path in the Value data field so that it matches the folder where HotDocs is installed. Do not remove the ,1.
  8. Click OK.
  9. In the same subfolder (in the right pane), expand Shell > open > command.
  10. Repeat steps 6 through 8, updating the folder path so that it matches the folder where HotDocs is installed. Again, do not change the information after the file path.
  11. Remember to update the file locations for both HDAs and HDIs. See step 3 in the list above.


Restoring System Defaults to HotDocs

Problem

I've altered several default settings for HotDocs, but now I want to restore the default settings I had when I installed HotDocs. How can I do this?

Solution

HotDocs uses the Windows System Registry to store your personal preferences for working with HotDocs. If you need to restore the installation defaults, you must clear the Current User section of the HotDocs portion of the System Registry.

You must be extremely careful when working in the System Registry. Failure to follow the instructions below exactly could result in your making changes that negatively affect all of the programs on your computer. You may want to ask your system administrator for help if you are unsure of what you are doing.

To understand HotDocs installation and the changes that are made to the registry, please see Understand HotDocs Installation.

  1. At the Start menu, select Run. The Run dialog box appears.
  2. In the Open field, type regedit and click OK. The Registry Editor appears.
  3. Navigate to HKEY_CURRENT_USER > Software > HotDocs > HotDocs.
  4. Select the HotDocs subfolder and press Delete. Click Yes to confirm the deletion.
  5. Check for the registry key HKEY_CURRENT_USER > Software > LexisNexis > HotDocs 6. If it exists, proceed to Step 6. Otherwise, proceed to Step 7.
  6. Select the HotDocs 6 subfolder and press Delete. Click Yes to confirm the deletion.
  7. Close the Registry Editor.


Saving Answers During Interview

Problem

HotDocs won't let me save answers during an interview. The buttons and menu options for doing so are disabled.

Solution

If the buttons and menu options for saving an answer file are disabled, it is because the template provider has either prohibited you from saving the answer file, or because the answer file is being saved automatically. If you have specific questions, please contact the template provider.


Specifying Printing Options When Printing Text Documents

Problem

When I print my assembled text document from the assembly window, HotDocs just automatically prints the document without prompting me for any of my preferences. (I don't get a Print or Print Options dialog box.) How do I first set my preferences before printing?

Solution

To set your preferences before you print the document, you must first send the document to the word processor. Once in the word processor, choose the Print command and then specify your settings.


Understanding What Happens When Deleting Templates from the Library

Problem

What happens when you delete templates from a library?

Solution

When you select a template or folder in a HotDocs library and click the [image] Remove Items button, HotDocs asks if you want to remove just the reference to the file from the library or if you want to delete the actual files from disk, too.

If you remove just the reference from the library, that specific reference to the file is removed from the library but the actual file still exists on disk. Additionally, if the item is referenced any other place in the library or in a different library, those references still exist.

If you choose to delete the item from disk, the reference is removed from the library and the file is sent to the Recycle Bin (if working with files on your local drive) or permanently deleted (if you're working with files on a network drive).

When you remove a folder from the library, you can choose to delete just the folder (in which case, items in the folder are moved to the next highest folder), or you can choose to delete the folder along with all of the items referenced in the folder.

For details, see Remove Items from a Library.


Updating Changes Made in Word Processor Document in the Answer File, Template

Problem

I've edited text in my assembled document but neither the template nor the answer file shows these changes. How do I update these files with my changes?

Solution

Once you send an assembled document to the word processor, it becomes "disconnected" from HotDocs. If you make changes to the document, those changes will not be represented in either the template or the answer file.

To update the template with your changes, you must edit the template and make the changes there. If you do not have editing privileges, you should notify the template publisher of your recommended changes.

If you need to update answers, you must reassemble the document using the saved answer file and make your changes during the interview. Make sure you save the answer file when you are finished.


Updating Cross-References in an Assembled Document

Problem

I've assembled a document and sent it to Microsoft Word, but now the Table of Contents is outdated. How do I update these cross-references?

Solution

To update cross-references in an assembled Word document

  1. Highlight all of the text in the document (press Ctrl+A or choose Select All (Edit menu)).
  2. Press the F9 key.
  3. Select your update options and click OK. Cross-references in the document are updated.

Template Developers: You can select a component file property that automatically updates references in the document once the document is sent to the word processor. See Change Component File Properties for details.


Viewing File Names Instead of Template Titles at Library

Problem

I'm looking for a specific template in my library. I know what its file name is, but am not sure how to find it based on its title. Is there some way to display templates by their file names in the item list?

Solution

To view items in the library by file name, choose File Names (View menu). To show template titles again, choose Template Titles.

You can search a list of library items for a specific template by using the Find command. Simply select Find and then enter the text for which you are searching in the field. HotDocs will search both template titles and file names for the text you enter. Any files that contain that specific text will be displayed in the list.


Double-Clicking Doesn't Create Field as Expected

Problem

I double-clicked to create a form field, but HotDocs didn't create the field as I expected it would.

Solution

Several factors may contribute to these difficulties:

  • Insufficient surrounding features: To detect a field, HotDocs searches for surrounding features, such as lines, text, or graphics. If there are insufficient surrounding features, HotDocs may have difficulty detecting a field. In such cases, HotDocs creates a field of the default size.
  • Label text: When label text is inside the field area and there is enough space between the text and the bottom of the field area, the Detect command will extend the field up to the bottom of the label text. If you want the field to occupy the area to the left or right of the label, or if you want to include the label inside the field, you must create the field manually.
  • Field not completely visible: If part of the intended field is not visible (for example, it's scrolled out of the window), HotDocs attempts to scroll to detect the field. It is recommended that you use a zoom level such as Fit Page to Width so HotDocs can find the entire field on the screen.

If HotDocs is unable to automatically create or resize a field to the size and position you want, you must create the field manually. See Create a Form Field for details


Fixing Page Rotation Problems in PDF Templates

Problem

Pages that are rotated in a PDF document aren't rotated when I convert the PDF to template format.

Solution

Starting with the release of HotDocs 2006, page rotation is honored when creating a new template. However, you may need to update existing forms where page rotation is not honored.

To fix page rotation problems in existing PDF templates

  1. Make a back-up copy of the form.
  2. Edit the original form.
  3. Delete all of the fields on the original form.
  4. Save and close the form.
  5. Reopen the original form. The rotated pages should appear correctly.
  6. Open the back-up copy of the form and copy the fields for the non-rotated pages.
  7. Create new fields for the rotated page.
  8. Optionally, copy any printing or addendum properties from the back-up form.


Getting Errors When Automating Table in Form

Problem

When I try to group my fields in a table, I get errors that say things like Row 2 has 1 columns when it should have 3 columns. What am I doing wrong?

Solution

HotDocs expects fields in a table to appear in standard rows and columns that read from top to bottom and from left to right. When fields in a table are laid out differently, you must first define the rows and columns by specifying the field order before you try to group the fields as a table. For complete instructions on doing this, please see Merge a List of Answers in a Standard Table and Merge a List of Answers in a Nonstandard Table.


Keeping Control Field Text From Appearing on Form

Problem

I have a control field on my form template which runs a computation. When I assemble the document, the text that results from the computation script appears in the field—and I don't want it to. (For example, I want the result to go to the addendum.) How can I keep this text from appearing directly on the form?

Solution

You can keep text from being merged in a control field. To do this, you will increase the field border so that text that doesn't fit in the field will be sent to the addendum.

To keep text from appearing

  1. Select the field and click the [image] Field Properties button. The Field Properties dialog box appears.
  2. Click the Layout tab. The view changes to show options for field placement and appearance.
  3. In the Borders group, enter 1 in the Left border field.
  4. The underlying form field should turn a dark shade of green. If it does not, increase the field border until it does

See Change the Borders and Margins of a Field for complete instructions.


Modifying a Single Field in a Group

Problem

I want to change the properties of a single field in a group, but I can't seem to select the field. How do I get to the field so I can edit it?

Solution

You must first ungroup the fields and then make the changes to the field. When you are finished, regroup the fields. See Group Form Fields So Answers Can Flow From One Field to Another and Ungroup Form Fields.

Properties for field and table groupings are stored with the first field in the group. If you delete the first field in the group, you will lose these grouping properties.


Moving Form Fields Using Keyboard Takes Too Long

Problem

When working with fields in a form, I use keys on the keyboard to move them because I like the precision it affords me. However, this process, at times, takes too long. Is there some faster way to move fields using the keyboard?

Solution

To use the keyboard to move fields on the form, you can use the arrow keys. This moves the field pixel by pixel, which is useful when you want precise placement. To move the fields more quickly, press Shift as you press the arrow keys. See Move a Field on a Form for details.


Needing Characters in Answer to Appear in Individual Boxes

Problem

I have a form that requires a date be split into separate boxes—each number appearing in its own box. However, when I try to do this, all of the characters end up in the first few boxes of the form or the field overflows. How can I accomplish this?

Solution

To do this, you must group the fields and then assign a maximum number of lines and characters to the fields in the group. You may also need to assign an example format to the field. For complete instructions, see Attach a Variable to Single-Character Boxes.


No Interview When Assembling Form Document

Problem

I finished automating my form template and when I test assemble it, there isn't an interview. Instead, HotDocs just shows the Form Document tab and I have to type my answers directly in the fields. How do I get an interview for the template?

Solution

When users assemble form documents, they can provide the information in one of two ways: answering questions in an interview or typing answers directly on the document (which is called direct-fill assembly).

All forms, when first automated, are set to allow only direct-fill assembly. However, you can allow interview-based assembly by specifying an interview. The interview can be a default interview (one in which HotDocs determines the order dialogs are asked in the template) or it can be a custom interview (one in which you specify the order dialogs and variables are asked). Either way, you can designate which type of interview you want to use. For details, see Define the Interview for a Form Template.

If you want all new templates you create to use a default interview, you can specify a HotDocs option. See Automatically Generate Default Interviews for Form Templates for details.


Setting Form Properties Not Taking Effect in Existing Templates

Problem

At HotDocs Options, I've assigned several properties for how I want my form templates to look and work, but none of these settings are working in the templates I've created. How come?

Solution

Many of the properties you specify in the Form Documents section of HotDocs Options only affect new templates or fields you create. To update existing templates and fields you've already created with the settings, you must manually specify the properties while working in the template or working with the fields.


Tabbing Through Fields Sequentially in Form

Problem

When I tab through questions at the Form Document tab during a test assembly, I can't tab through the fields sequentially. Instead, HotDocs moves somewhat randomly between the fields. Is there some way I can correct this tab order?

Solution

When determining the order to ask questions in the interview, HotDocs begins with the top-left field of the form and processes all of the fields until it reaches the bottom-right field. This processing affects two things—the order questions are asked in the default interview and the order in which the user is able to tab through fields on the form.

Because of this default field ordering, sometimes you may find that the tab order during direct-fill assembly isn't working as you expect. To correct the problem, you must manually assign a tab order to the fields on the form. You do this at the Additional tab of the Field Properties dialog box. Specifically, you assign rows and/or column numbers to fields on the form. For complete details on assigning a tab order, see Change the Tab Order of Fields.


Want check box to Use Actual Check Mark

Home > Troubleshooting > HotDocs Automator > Want Check Box to Use Actual Check Mark

Want check box to Use a Tick in the form check box

Problem

I want to use an actual check mark in a form check box—not the default X character. How do I do this?

Solution

If you have symbolic fonts installed on your computer, you can 1) assign the font to the field, and 2) assign the special character to the True/False variable format.

The following steps provide two different ways of creating a tick mark using fonts.

To merge a check mark in a check box using the Symbol font

  1. On the form template, create a check box field. (See Create a check box Field.)
  2. Attach a True/False variable to the field. (See Customize a True/False Variable.)
  3. Enter the following text in the Default format field: Ö/ . (The capital O with an umlaut can be entered by pressing Alt+0214. This character represents the check mark character in the Symbol font. You may need to enter the character in a separate text editor and then copy and paste it into the Format field.)
  4. Select the field and click the [image] Field Properties button. The Field Properties dialog box appears.
  5. Change the font to Symbol. (See Change the Font Used for a Field.)

When the template is assembled, HotDocs uses the check mark √ instead of the X.

To merge a check mark in a check box using the Wingdings2 font

  1. Select the grouped check box fields and click the [image] Field Properties button.
  2. Edit the variable field properties by clicking on the [image] Variable button.
  3. Edit the output text based on variable type.
    • For a True/False variable in a single field: use a format of P/ (i.e ‘P/<space>’); this will merge the correct character only if TRUE
    • For a True/False variable in two grouped fields: use a format of P / P (i.e ‘P<space>/<space>P’); this will merge the correct characters across the two fields
    • For a Multiple Choice variable in two or more grouped fields: use the character P in each appropriate merge text field
  4. Click OK to get back to the Field Properties dialog box.
  5. Click the Font… button, set the font to Wingdings 2 and click OK.
  6. Close the Field Properties dialog box.

Your check boxes will now show the P character instead of an X.


Copyright Notice

Copyright

Copyright © AbacusNext.

All rights reserved. No part of this product may be reproduced, transmitted, transcribed, stored in a retrieval system, or translated into any language in any form by any means without the express written permission of AbacusNext.

Warranty Information

AbacusNext makes no representations or warranties with respect to the contents or use of this product and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. Information in this document is subject to change without notice and does not represent a commitment on the part of AbacusNext.

Government Use

Use, duplication, or disclosure by the Federal Government is subject to restrictions as set forth in FAR clauses 52.227—14, “Rights in Data—General”; 52.227—19, “Commercial Computer Software—Restricted Rights”; and subdivision (c)(1)(ii) of the Rights in Technical Data and Computer Software clause DFAR 252.227—7013; and the limitations set forth in the standard commercial license agreement for this software. Unpublished rights are reserved under the copyright laws of the United States.

Trademark Information

HotDocs is a registered trademark of AbacusNext. Other product names may be trademarks or registered trademarks of their respective companies.

Sample Templates and Forms

This product may include sample templates and forms. Using them may have significant legal implications and these implications may vary by governmental jurisdiction area and depending on the subject matter. Before using any sample templates and forms or adapting them for your business, you should consult with a lawyer and financial advisor.


Third-Party Software Acknowledgements

Colosseum Builders, Inc.

This product uses the image library software created by Colosseum Builders, Inc., to load, decode, draw, and print .BMP, .JPG, and .PNG files in form templates and documents.


Assembly Queue Statuses

The following table describes the different statuses of templates listed in the assembly queue:

Template Status | Description
Confirmed | The assembly queue has confirmed the location of the template and is ready to assemble it.
Assembling | HotDocs is currently assembling this document
Pending | This template is in the queue because of instructions in the template currently being assembled. After the current interview is finished, the Pending status changes to Confirmed. Template developers often include instructions within the template that HotDocs should assemble other documents. Often your answers determine whether these documents get assembled.
Complete | Assembly is finished. Complete status doesn't necessarily mean that all the questions in a template have been answered. For example, when creating a question summary, even though the assembly window opens, no questions are answered, but HotDocs still considers the assembly complete.
Error | An error has occurred, preventing the interview from being completed.


Enter Answers in International Languages

Enter Answers in International Languages

As you complete an interview, you can enter answers in any left-to-right reading language. Answers you enter will be merged into the assembled document.

Answers entered in these languages will be merged correctly anywhere the variable is used—either in the assembled document or in other questions or text used in the interview.

HotDocs supports all left-to-right reading characters in the Unicode specification. However, not all fonts installed on your computer can display these characters. If you are using a font either in the interview display or in the assembled document that cannot display these characters, they will appear as unknown characters (usually boxes or question marks). When working with international languages, always make sure you are using fonts (like Arial Unicode MS or Tahoma) that support a wide range of characters. This includes making sure other users who will be accessing your assembled documents or answer files likewise have correct fonts installed.

For more information on using international characters in HotDocs, see Use International Characters in HotDocs.


Enter List of Answers in a Series

Enter List of Answers in a Series

To enter answers in a series of dialogs

  1. At the repeated dialog, enter answers for the questions.
  2. Click the Add Another Repetition Add Another button to add another repetition of the dialog to the series. The repetition number next to the dialog icon increases each time you enter a new set of answers. (You can also press Alt+A to add new repetitions to a list.)
  3. To move to the next dialog after entering all the answers in the list, click Next Next in the navigation bar. (You can also click on the next dialog icon in the interview outline, or press Page Down or Alt+N.)

When entering a list of answers within another list of answers, you can press Alt+Left Arrow to return to the parent dialog. (You can also choose Parent Dialog from the Navigate menu.)


Enter Repeated Answers in a Spreadsheet

To enter answers in a repeated spreadsheet

  1. At an answer-gathering dialog that includes a repeated dialog formatted as a spreadsheet, click in the first spreadsheet cell and enter your answer.
  2. Press Tab to move to the next cell in the row (or use the mouse to click in the next cell) and enter your answer.
  3. Repeat this process for each answer.


HotDocs Template Development Terms and Ideas

When creating a marked up document there are some key terms and ideas you should understand, particularly if you are not a template developer.

Markup Term | Definition
Answer Field | An answer field is the place in an assembled document where answers you enter in the interview are merged. In template development, these fields are called variable fields. The template developer can assign many different properties to a variable, including a name, a title, and so forth.
Conditional Text | Some text in an assembled document should only be included under certain conditions. For example, information about the health needs of a child will only be included in a document if the client has children. In template development, conditional text is marked using IF instructions, which define the circumstances under which a paragraph is included or excluded.
Alternative Text | Sometimes there are different versions of text that should be merged in a document, depending on certain conditions. For example, maybe a client is late on making a payment. You can include specific text, depending on just how late the payment is. Like conditional text, alternative text is marked using IF instructions in template development.
Repeated Text | Frequently you need to enter two or more answers for a specific question. For example, when creating a will, you frequently need to enter more than just one beneficiary. This list of beneficiaries is called repeated text. In template development, repeated text is marked using a REPEAT instruction, which instructs HotDocs to repeat the question as many times as necessary.
Insertion Field | Sometimes the text in the assembled document comes from a separate template. This is especially common when there is boilerplate text that needs to be used in multiple documents. In template development, insertion fields are marked with INSERT instructions, which identify the file name and location of the file that will be inserted.
Editable Text | This is text in the assembled document that you can edit; however, it is not marked when viewing the document in Markup View.
Developer Comment | During template development, developers may include comments with the different types of fields they insert in a template. Comments may explain why the field is there or the conditions under which it is being used
Multiple Choice Option Text | One type of variable developers can create is a Multiple Choice variable, which provides users with predefined options. The text that is merged in the document is called merge text. In Markup View, it is simply referred to as option text.


Work with Records in a Repeated List

Work with Records in a Repeated List

To work with repeated answers

  1. Answer questions in the repeated dialog.
  2. Select the record with which you want to work. (If you are editing records in a dialog series, select the dialog icon in the interview outline. If you are editing records in a spreadsheet, click on the row you want to edit.)
  3. Use the options described in the following table to complete additional tasks:
To | Do This
Remove a specific dialog from the list of answers | Select the dialog you want to delete and either click the Delete Repetition Delete Repetition button, or choose Delete Repetition from the Edit menu.
Insert a new dialog between existing dialogs | Either click the Insert Repetition Insert Repetition button, or choose Insert Repetition from the Edit menu.
Move an existing dialog up in the list of answers | Select the dialog you want to move and click the Move Repetition Up Move Repetition Up button (located on the Edit toolbar).
Move an existing dialog down in the list of answers | Select the dialog you want to move and click the Move Repetition Down Move Repetition Down button (located on the Edit toolbar).
Sort the contents of a spreadsheet dialog in alphanumeric order | Click in the column on which you want to sort and click the Sort Sort button (located on the Edit toolbar). The Sort Spreadsheet dialog box appears where you can specify your sorting preferences. If the template developer has specified any sorting options, answers will be merged in the document using those sort options. Otherwise the sort order you specify here will be used in the assembled document.
Edit the contents of the row in a regular dialog | Click in the row you want to edit and either click the Edit Row Edit Row button, or right-click and choose Edit Row from the shortcut menu.


Document Text Editor Toolbar

While editing the text of the assembled document at the Document Text Editor, you can use any of the following options:

Save and Close | Saves your changes, closes the Document Text Editor, and merges the new text in the assembled document.
Restore Original Text | Discards any changes you've made to the text and restores the original document text.
Print | Prints a copy of the text you are editing
Undo | Undoes the most recent change to the text you are editing.
Redo | Reapplies the most recent change to the text you are editing.
Cut | Removes the selected text and saves it to the Windows Clipboard. You can then paste the text using the Paste command.
Copy | Copies the selected text and saves it to the Windows Clipboard. You can then paste the text using the Paste command.
Paste | Pastes any text saved to the Windows Clipboard at the cursor position.
Find | Displays a dialog box where you can specify the text for which you are searching.
Find Next | Searches the document for the next instance of text for which you are searching.
Find and Replace | Displays a dialog box where you can specify a text string for which you are searching, as well as text you'd like to use as a replacement
Show Ruler | Displays a ruler in the Document Text Editor toolbar.
Show Codes | Displays editing codes, such as paragraph marks, in the document.
Spell Check | Checks the spelling of text in the document.
Close Without Saving Changes | Closes the Document Text Editor without saving the changes you have made.


Save Other Document Types as PDF

Save Other Document Types as PDF

The HotDocs PDF Driver is no longer available as of version 11.2.10. You can use the Microsoft Print to PDF driver or equivalent to save a document instead.

With HotDocs, you can use the PDF printer driver to save documents not associated with HotDocs as PDF documents. Creating PDF files allows you to take advantage of features available in Adobe Acrobat.

To save other document types as PDF

  1. Open the document in a Windows program with printing capability.
  2. Select the Print command for that program.
  3. At the printing dialog box, select HotDocs PDF Driver as the printer.
  4. Optionally, click Properties and assign any properties to the document you may need.
  5. Click the Print or OK button. The Save As dialog box appears.
  6. Select a location and type a name for the new file.
  7. At the Save as type box, select PDF File (*.pdf).
  8. Optionally, select Document Settings and click the Edit button to add information about the document's title, subject, author, or search keywords.
  9. Optionally, select View Resulting PDF to open the PDF once it has been created.
  10. Click the Save button. The PDF file is created and saved to the location you specified.

Information you type in the Convert to PDF dialog box is saved as metadata embedded in the PDF-based file. HotDocs does not use this information, but other programs that work with PDF files may access this metadata. (For instance, if you open a PDF or PDF-based form template in Adobe Acrobat, you can select Document Properties (File menu) to see the values in these fields.) For form templates, the values input here will also be set in any PDF documents assembled with that template.


Troubleshoot Form Printer Problems

Troubleshoot Form Printer Problems

Some types of printers have been known to cause problems when printing a form template or document, and should be tested before use with finished products. These printers include:

  • Ink jet printers
  • Brother printers
  • 16-bit postscript printer drivers
  • DeskJet printers
  • Xerox printers
  • "All-in-one" printers (printers that include copying, scanning, printing, and faxing capabilities)

For best results, it is recommended that you use an HP LaserJet with at least two megabytes of memory.


Start and Exit HotDocs Automator

Start and Exit HotDocs Automator

To create and edit form templates, you must open HotDocs Automator. To edit saved form documents, you must start either HotDocs Filler or Automator.

To start HotDocs Automator

Complete one of the following steps:

  • At the Start menu, click Programs > HotDocs 11> HotDocs Automator. HotDocs opens an empty Automator window.
  • At the HotDocs template library, choose HotDocs Automator from the Tools menu.

To close HotDocs Automator, choose Exit (File menu). (You can also press Alt+F4.)

See Edit a Form Template for instructions on opening a template and editing it.


Remove a Variable from a Field

Remove a Variable from a Field

Once you've attached a variable to a field (see Attach a Variable to a Field), you can remove it.

To remove a variable from a field

  1. Edit a form template. (See Edit a Form Template.)
  2. Select the field whose variable you want to remove.
  3. Choose Clear Variable (Field menu). The variable is removed from the field.


Understand Bar Code Settings

Understand Bar Code Settings

When you convert an answer to a PDF417 bar code format, you can control some of the settings that are used to generate the bar code. These specifications are frequently determined by the agency to which you are submitting your form. Please check with the agency to determine which settings to specify.

  • X-Dimension (module width): The X-dimension is the width of the narrowest bar in a printed bar code. The smaller the number, the stricter the requirements are for printing the bar code. (For example, the bar code must be printed on higher quality paper, etc.)
  • Module aspect ratio: This determines the range of angles with which the bar code can be scanned. For example, when placed under the scanner, must the paper be flat and facing a single direction, or will the scanner be able to read the data regardless of how it's placed? The higher the number, the less restrictive the placement of the paper under the scanner will be.
  • Number of rows and Number of columns: These numbers control the number of rows and columns that appear in the bar code. These settings determine the width and/or height of the bar code.
  • Error level: This determines the redundancy of information in the bar code to compensate for any damage that may be done to the bar code (for example, if the paper is torn or if other marks have been made on the bar code). The higher the number, the less data can be stored in the bar code. (However, the greater the chances are that the bar code will be readable.)
  • Encoding: This setting allows answers that contain foreign characters to be encoded so they can be represented in the bar code correctly. To properly encode foreign characters, you must select UTF-8 from the drop-down list. (Choosing ANSI encodes the text in non-Unicode format, which means if you use foreign characters in the text, these characters may not appear correctly.)

Additional information about the PDF417 bar code specification can be found on the Internet.


At a Glance: The SPAN Field dialog box

A

B

After opening a template to edit, you can open the SPAN Field dialog box by clicking on the [image] SPAN Field button on the drop-down menu below the [image] HotDocs button located on the HotDocs ribbon.

In the text field A you can enter a name for your span field or select an existing component from the drop-down menu. It is recommended that you use unique names when creating Span components so that when users save edited document text in answer files, the answer won't overwrite SPAN fields in other documents. You can click the [image] Edit button B to enter more information about the SPAN Field. (See At a Glance: The Edit SPAN Field dialog box)

To learn more about the SPAN field follow the links below:

  • Introduction: Use SPAN Instructions
  • Allow Users to Edit the Text of an Assembled Document
  • Allow Users to Enter New Text in the Assembled Document


Developer Features Specific to HotDocs Server and HotDocs Cloud Services

Home > Developer Features Specific to HotDocs Server and HotDocs Cloud Services


Plan a Development Project

This section assumes you understand, at least conceptually, the template development process.

To step through each topic in this section sequentially, use the Next and Previous links at the end of each topic.

The success of any automation project is in the details. This document describes some of the details you should consider as you automate your template set.

Specifically, this group of sequential topics covers the following:

  1. Planning the project
  2. Marking up the document set
  3. Preparing to automate the templates
  4. Automating the templates
  5. Organizing the final template library
  6. Distributing the finished templates

Next Topic


General Keyboard Shortcuts

General Keyboard Shortcuts

To Do This | Press This
Display all of the options in a drop-down list | Alt+Down Arrow
Move items up or down within a list (for example, the Contents list of the Dialog Editor) | Alt+Down Arrow / Alt+Up Arrow
Edit the selected component | Ctrl+E
Create a new component | Ctrl+N
Close the open component editor and cancel your changes | Ctrl+W
Move between HotDocs windows | Alt+F6
View a shortcut menu | Shift+F10
Move between the different tabs of a window | Ctrl+Tab
Access the buttons in a toolbar (when no menu is provided) | F10
Open the HotDocs Help | F1


Keyboard Shortcuts at Component Manager

Keyboard Shortcuts at Component Manager

To Do This | Press This
Move between the different elements in Component Manager | Tab / Shift Tab
Edit the selected component | Enter
Open the Component File Properties dialog box | Alt+Enter
Insert the selected component in the template | Insert
Remove the selected component(s) from the component file | Delete
Open the Components drop-down list to view all available options | Alt+Down Arrow
Copy components between two open component files | Alt+Left Arrow / Alt+Right Arrow
Select all components in the list | Ctrl+A
Create a copy of a component (or group of components, if multiple components are selected) | Ctrl+C
Edit the currently selected component | Ctrl+E
Search each component in the list for a specific word or phrase | Ctrl+F
Search each component in the list for a specific word or phrase and replace it with a new word or phrase | Ctrl+H
Create a new component | Ctrl+N
Print a list of components and their properties | Ctrl+P
Close Component Manager | Ctrl+W or Alt+F4
Open the HotDocs Help window | F1
Rename the selected component(s) | F2
Check the spelling of text used in components | F7
Access the Component Manager toolbar | F10
Display the Component Manager shortcut menu | Shift+F10


Keyboard Shortcuts at Template Library

Keyboard Shortcuts at Template Library

To Do This | Press This
Tab between the item list and the Find options | Tab / Shift+Tab
Switch between Properties and Preview tabs | Ctrl+Tab
Assemble the currently selected template | Enter
Edit the currently selected template | Shift + Enter
Create a new template | Ctrl+Enter
Open the Item Properties dialog box for the currently selected folder or item | Alt+Enter
Remove the template from the library | Delete
Collapse and expand the currently selected folder | Left Arrow / Right Arrow
Move through items in the library list | Up Arrow / Down Arrow
Move the selected item up or down in the list | Alt+Up Arrow / Alt+Down Arrow
Copy the selected item | Ctrl+C
Create a new library | Ctrl+N
Open an existing library | Ctrl+O
Print a copy of the item list | Ctrl+P
Cut the selected item or text and place a copy of it on the Clipboard | Ctrl+X
Open the HotDocs Help file | F1
Close the template library | Alt+F4
Move focus to a different pane in the library | F6
Move between HotDocs windows | Alt+F6
Resize the pane you are currently viewing | Ctrl+F6 This option selects the split bar so you can use the arrow keys to move it. Press Enter to set the placement.
Access the library menu bar | F10
Display a shortcut menu | Shift+F10
Save a new copy of the library | F12


Keyboard Shortcuts at the Script Editor

Keyboard Shortcuts at the Script Editor

To Do This | Press This
Move through the elements in the editor | Tab / Shift+Tab
Merge a paragraph break in a script | Ctrl+Enter
Merge just the highlighted component or model in the Script field | Insert
Display an Auto Complete list of keywords and component names so you can more easily enter the correct syntax for a script | Ctrl+Space
Switch between the different tabs of the component editor | Ctrl+Tab
Highlight all of a script | Ctrl+A
Copy the highlighted script to the Clipboard | Ctrl+C
Edit the currently selected component | Ctrl+E
Search through the Script field for a specific word or phrase | Ctrl+F
Go to a specific line number or character position in the script | Ctrl+G
Search through the Script field for a specific word or phrase and replace it with a different word or phrase | Ctrl+H (Use F3 to find the next instance of text for which you are searching.)
Inserts a tab at the current location | Ctrl+I
Place comment markers before the selected text | Ctrl+K
Remove any comment markers from the selected text | Ctrl+Shift+K
Find the matching IF or REPEAT instruction (Place your cursor in the instruction before issuing the command) | Ctrl+M
Highlight a block of script starting with the opening instruction and ending with the closing instruction (Place your cursor in the instruction before issuing the command) | Ctrl+Shift+M
Create a new component | Ctrl+N
Indent the selected script text | Ctrl+T
Paste the text on the Clipboard in the script | Ctrl+V
Close the Computation Editor without saving your changes | Ctrl+W or Alt+F4
Cut the selected script and place it on the Clipboard | Ctrl+X
Reapply a change you just undid | Ctrl+Y
Undo a change | Ctrl+Z
View the help topic for a specific model in the Instruction or Expression list. | First select the model in one of the lists and then press Ctrl+F1.
View an auto-complete list of just components | F5
View an auto-complete list of just scripting keywords | Shift+F5
View a status hint for the component or keyword you are currently viewing (where your cursor is) | F7
Indent all pairs of IF and REPEAT instructions, based on their level of insertion | F8
Access the script editor toolbar | F10


Keyboard Shortcuts for a Clause Library at the Assembly Window

Keyboard Shortcuts for a Clause Library at the Assembly Window

To Do This | Press This
Move a clause from the Available list to the Selected list | Insert
Remove a clause from the Selected list | Delete
Move to the top of the clause list | Home
Move to the bottom of the clause list | End
Move the selected clause up in the Selected list | Alt+Up Arrow
Move the selected clause down in the Selected list | Alt+Down Arrow


Keyboard Shortcuts for Answer File Manager

Keyboard Shortcuts for Answer File Manager

To Do This | Press This
Tab between the item list and the Find options | Tab / Shift+Tab
Switch between Properties and Contents tabs | Ctrl+Tab
Open the Item Properties dialog box for the currently selected answer file | Alt+Enter
Remove the answer file from the library | Delete
Move the selected item up or down in the list | Alt+Up Arrow / Alt+Down Arrow
Expand or collapse a folder | Right Arrow / Left Arrow
Copy the selected answer file | Ctrl+C
Create a new answer file | Ctrl+N
Cut the selected item or text | Ctrl+X
Close Answer File Manager | Ctrl+W or Alt+F4
Switch between the answer file list and the Preview pane | F6
Resize the pane you are currently viewing | Ctrl+F6 This option selects the split bar so you can use the arrow keys to move it. Press Enter to set the placement.
Access the Answer File Manager toolbar | F10


Keyboard Shortcuts for Javascript Interviews

Keyboard Shortcuts for Javascript Interviews

Navigation bar

To Do This | Press This
Go to First dialog | Ctrl+Home
Previous Unanswered dialog | Ctrl+PgUp
Previous dialog | PgUp
Next dialog | PgDn
Next Unanswered dialog | Ctrl+PgDn
Go to Last Dialog | Ctrl+End

Spreadsheet Bar

To Do This | Press This
Edit Row | Ctrl+Enter
Insert Row | Ctrl+Insert
Delete Row | Ctrl+Del


Keyboard Shortcuts for Silverlight Interviews

Keyboard Shortcuts for Silverlight Interviews

Navigation bar

To Do This | Press This
Go to First dialog | Ctrl+Home
Previous Unanswered dialog | Ctrl+PgUp
Previous dialog | PgUp
Next dialog | PgDn
Next Unanswered dialog | Ctrl+PgDn
Go to Last Dialog | Ctrl+End

Spreadsheet Bar

To Do This | Press This
Edit Row | Ctrl+Enter
Insert Row | Ctrl+Insert
Delete Row | Ctrl+Del


Keyboard Shortcuts for the Document Preview Tab of the Assembly Window

Keyboard Shortcuts for the Document Preview Tab of the Assembly Window

To Do This | Press This
Tab through answers field in the document | Tab / Shift+Tab
Switch between tabs of the assembly window | Ctrl+Tab
Open a pop-up interview for the current answer field (Word users only) | Enter
Open the Document Text Editor for the section of editable text (Word users only) | Enter
Move through each unanswered question in the document (Word users only) | Ctrl+Down Arrow / Ctrl+Up Arrow
Move through each section of editable text (Word users only) | Ctrl+Shift+Down Arrow / Ctrl+Shift+Up Arrow
Select all of the text in the document | Ctrl+A
Copy the selected text to the Clipboard | Ctrl+C
Search through the document text for a specific word or phrase | Ctrl+F (Press F3 to find the next instance)
Move your cursor to a specific line number or character position in the document | Ctrl+G
Use a new, untitled answer file during the current interview | Ctrl+N
Open Answer File Manager | Ctrl+O
Save the current answer file | Ctrl+S
Close the assembly window | Ctrl+W or Alt+F4
Print a copy of the assembled document | Ctrl+P
Zoom in or out on the document text | Ctrl+= / Ctrl+-
Access the assembly window menu bar | F10
Send the assembled document to the word processor or HotDocs Filler | F11
Send the assembled document to the word processor or HotDocs Filler | Shift+F11
Send the assembled document to the word processor or HotDocs Filler | Ctrl+F11
Send the assembled document to the word processor or HotDocs Filler | F12


Keyboard Shortcuts for the Form Document Tab of the Assembly Window

Keyboard Shortcuts for the Form Document Tab of the Assembly Window

To Do This | Press This
Move between the different answer fields of the form document | Tab / Shift+Tab
View a pop-up interview for the selected field | Enter
View the Field Properties dialog box for the current field | Alt+Enter
Display the full list of options for a drop-down field | Alt+Down Arrow
Move between unanswered fields on the form | Ctrl+Down Arrow / Ctrl+Up Arrow
Select all of the text in a field, or, if your cursor isn't on a field, select all of the fields on the form page | Ctrl+A
Copy the selected text or fields to the Clipboard | Ctrl+C
Change the font properties of the selected field(s) | Ctrl+D
Go to a specific page in the form | Ctrl+G
Move between the fields in the document where the same answer is merged | Ctrl+M / Ctrl+Shift+M
Create a new answer file for use during the current interview | Ctrl+N
Open Answer File Manager so you can choose a different answer file for the current interview | Ctrl+O
Print a copy of the form document | Ctrl+P
Save the current answer file | Ctrl+S
Paste the contents of the Clipboard | Ctrl+V
Close the assembly window | Ctrl+W
Cut the selected text or field to the Clipboard | Ctrl+X
Zoom in or out on the form | Ctrl+= / Ctrl+-
Switch between the document pane and the resource pane | F6
Resize the pane you are currently viewing | Ctrl+F6 This option selects the split bar so you can use the arrow keys to move it. Press Enter to set the placement.
Check the spelling of answers on the form | F7
Display the page width of the form | F9
Display the full page of the form | Shift+F9
Access the assembly window menu bar | F10
Send the assembled document to HotDocs Filler | F11
Save a copy of the assembled document to disk | F12


Keyboard Shortcuts for the Interview Tab of the Assembly Window

Keyboard Shortcuts for the Interview Tab of the Assembly Window

To Do This | Press This
Tab through answer fields in a dialog | Tab / Shift+Tab
Move to the next dialog in the interview | Enter
Insert a paragraph end in a multi-line answer | Ctrl+Enter
Move to the next dialog or the previous dialog in the interview | Page Down / Page Up
Move to the next unanswered dialog or previous unanswered dialog in the interview | Ctrl+Page Down / Ctrl+Page Up
Move through each unanswered question in a dialog | Ctrl+Down Arrow / Ctrl+Up Arrow
View all answers in a drop-down list | Ctrl+Down Arrow
Display the calendar for a date field | Alt+Down Arrow
Collapse or expand dialogs in the interview outline | Left Arrow / Right Arrow
Use a new, untitled answer file during the current interview | Ctrl+N
Open Answer File Manager | Ctrl+O
Save the current answer file | Ctrl+S
Indent the text in a multi-line answer file | Ctrl+T
Close the assembly window | Ctrl+W or Alt+F4
Display the resource for a field in a pop-up window | Alt+F1
Switch between the Answer File drop-down menu, the interview outline, the dialog pane, and the resource pane | Alt+Enter
Resize the pane you are currently viewing | Ctrl+F6 This option selects the split bar so you can use the arrow keys to move it. Press Enter to set the placement.
Check the spelling of answers in the interview | F7
Access the assembly window menu bar | F10
Send the assembled document to the word processor or HotDocs Filler | F11
Copy the assembled document to the currently open word processor document | Shift+F11
Copy the assembled document to the Clipboard | Ctrl+F11
Save the assembled document to disk | F12
Performs the Finish Interview action for the current interview. This will either send the assembled document to the word processor or filler (closing the assembly window in the process), or simply switch to the Document Preview/Form Document tab. | Ctrl+F12 You can configure your Finish interview action in from the library by opening HotDocs Options > Interviews and Dialogs > End of Interview.


Installing HotDocs

Before installing HotDocs, please refer to the system requirements.

To install HotDocs

  1. Close all open programs, especially any word processors or existing versions of HotDocs you may have open.
  2. Double-click the installation program to begin the installation. If you are running a 32-bit operating system (likely for Windows 8.1) use setup.exe, if you are running a 64-bit operating system (likely for Windows 10) use setup-64.exe.
  3. Follow the on-screen prompts to complete the installation.
  4. If you need a license other than the 30 Day Trial license, contact your HotDocs representative.


System Requirements

Please note the following requirements for hardware and software:

Hardware

HotDocs recommends you use at least the minimum hardware requirements your operating system demands.

Software

Prerequisites

The setup programs include the following prerequisite installs:

  • Microsoft .NET Framework 4.6 (web install)
  • Microsoft Visual C++ 2019 Redistributable Package (x64)
  • Microsoft Visual C++ 2019 Redistributable Package (x86)
  • Microsoft VSTO 2010 Runtime (x64)
  • Microsoft VSTO 2010 Runtime
  • MSXML 6.0 SP1

These need to be installed manually if using the MSI installers.

Optional Prerequisites

Only required if using SIlverlight interviews:

  • Microsoft Silverlight 5 Runtime
  • Microsoft Silverlight 5 SDK

Runtime Libraries

  • .NET Framework 4.6.0 or higher

Operating System

  • Windows 8.1 - 32-bit and 64-bit (2013)
  • Windows 10 - 32-bit and 64-bit (2018 onward)

Word Processor

  • Microsoft Word (32-bit and 64-bit) 2007, 2010, 2013, 2016, 2019
  • Corel WordPerfect X3 (SP2), X4, X5, X6 or X7 (not X8)

Databases

If you plan to integrate HotDocs with a database A file that contains a collection of data. Template developers can map variables in templates to fields in a database table so that answers can be retrieved from it and merged in the assembled document., you must use one of the following databases:

  • Microsoft Access
  • Microsoft SQL Server
  • Oracle 8 and up

It is strongly recommended that you use the Oracle Provider for OLE DB (OraOLEDB) instead of the Microsoft OLE DB Provider for Oracle (MSDAORA)

  • Most other ODBC Short for Open Database Connectivity, it's a data presentation layer that lets HotDocs communicate with a database so HotDocs can retrieve data from it and use it to assemble a document. (See also ADO.)-compliant databases


Custom Command Sample

Custom Command Sample

The following is an example of a custom command:

SELECT Client.Company, Client.Contact, Client.Address1, Client.Address2, Client.City, Client.State_Prov, Client.Country, Client.PostalCode, Invoice.Inv_Number, Invoice.Inv_Date, Invoice.Ship_Date, Invoice.Inv_Total, Invoice.Date_Paid FROM Client INNER JOIN Invoice ON Client.ClientID = Invoice.ClientID ORDER BY Client.Company;


Component Properties

Component Properties

When working with literal text in components, you can search, search and replace, print, or spell check text used in the different properties of a given component.

Using both the [image] Find in Components and [image] Find and Replace in Components buttons, these properties are:

  • Display text (titles, prompts, etc.): Searches for text in dialog and variable titles, as well as variable prompts.
  • Merge text, patterns, and formats: Searches for the specified text string in Multiple Choice merge text groups, Text variable patterns, and variable formats.
  • Plain text resources: Searches for the specified text string inside any plain text resources for variables or dialogs.
  • Scripts: Searches for the specified text string inside quotation marks in computation and dialog scripts.
  • Variable references (Find option only): Searches for variables that are referenced in the selected variables' prompts, merge texts, and scripts.
  • Notes: Searches text specified at the Notes tab of component editors.

Using the [image] Spell Check Components button, these properties are:

  • Display text (titles, prompts, etc.): Checks the spelling of text in dialog titles and variable prompts and titles.
  • Merge text: Checks the spelling of merge text in Multiple Choice variables.
  • Plain text resources: Checks the spelling of plain text resources for variables and dialogs.
  • Scripts: Checks the spelling of text strings (inside quotation marks) in computation scripts.

Using the [image] Print Components button, these properties are:

  • Component types: Prints the type of component for the variable you are printing (for example, Text, Date, Number, True/False, Multiple Choice, Computation, and Personal Information)
  • Titles, prompts, and dialog elements: Prints each component's prompt or title, if one has been assigned. Prints dialog element text in a dialog.
  • Scripts: Prints any scripts associated with the variable or dialog.
  • Plain text resources: Prints any plain-text resources that have been assigned to the variable.
  • Notes: Prints text specified at the Notes tab of component editors.
  • All other component type-specific properties: Prints other component-specific data such as the maximum number of characters for a Text variable or the contents and script for a custom dialog.


View the Component's Status

The following icons are used to describe how components are being used in the component file. Template Manager can overlay these icons on components to help you know the status of the component—whether it is being used correctly or incorrectly:

 | Components that have a red R next to them are components that are referenced in the template (either directly or indirectly, as in the case of variables used in dialogs or Computation variables), but do not appear in the component file. Their status is Missing.
 | Components that are grayed out with an overlay of a grayed question mark are components that appear in a component file but are not referenced in the template. Their status is Unused.
(OK) | Components that are used in the component file and referenced in the template file have the OK status assigned to them. They are not represented by any special icons.


View the Template Status

The following icons are used to describe how templates are being used in the library. Template Manager overlays these icons on items in the file list to help you know the status of the file.

This symbol means HotDocs has detected a problem with the file. Usually, this means the file refers to another file that doesn't exist.
This symbol means the file listed doesn't exist.
This symbol means the file is referred to in the template using an ASSEMBLE instruction. In such cases, Template Manager adds the file to the main level of the file list so you can work with it.


Hidden Clutter Example

Hidden Clutter Example

When hiding clutter, the following text:

I, [ClientName;te;format=upper], direct my personal representative to see that my body is [if:ClientToBeBuried:buried in the [ClientBurialCemetery;te]/elseif:ClientToBeCremated: cremated and my ashes scattered whithersoever my personal representative shall direct/elseif:ClientBodyToMedicine:donated to [ClientBodyInstitution;te]/else:disposed of as my personal representative shall direct].

becomes:

I, [ClientName], direct my personal representative to see that my body is [buried in the [ClientBurialCemetery]/cremated and my ashes scattered whithersoever my personal representative shall direct/donated to [ClientBodyInstitution]/disposed of as my personal representative shall direct].

Notice that in variable fields, markup from the colon up to the closing bracket is hidden. In conditional text fields, markup after the opening bracket or forward slash up to the first character of the document text is hidden.


HotDocs Models: absoluteValue( num )

Placeholder | Replace With
num | A number value for which you want the absolute value returned. Can be a Number variable or a fixed number value.

Using the absolute value expression, you can find the absolute value of a given number. You can calculate a negative number, but have it appear as a positive number.

For example, you may need to send a notice to a client about an account balance. Not knowing whether it will be a positive or negative balance, you would create the computation AbsoluteValueOfFinalBalance, which would return a positive expression, regardless. The computation script is:

absoluteValue( FinalBalance )

Once you have created the computation, you can use an if/else expression to merge the desired text with the correct value in the document:

[if:FinalBalance < 0:Your account is $[AbsoluteValueOfFinalBalance] overdrawn./else: You have $[AbsoluteValueOfFinalBalance] in your account.

]

Back to List


HotDocs Models: age( date )

Placeholder | Replace With
date | A date value, which you want to check against the current date. This can be a Date variable or a fixed date value.

The age( date ) expression produces an age, in years, by calculating the number of years between the current date (as determined by your computer’s system clock) and a date you provide in the computation script.

For example, the following script determines the age of the user based on his or her birth date:

age( BirthDate )

In the following conditional script, HotDocs determines whether the client is under the age of 18. If so, the ParentGuardianInformation dialog is asked. If the client is over the age of 18, no dialogs are asked.

if age( BirthDate ) < 18

ask ParentGuardianInformation

endIf

Back to List


HotDocs Models: answered ( dialog )

Placeholder | Replace With
dialog | A dialog name.

HotDocs can determine whether a dialog has been answered using the answered expression. Even if only one variable in the dialog is answered, the expression returns a value of true.

Let's suppose you have a dialog that gathers information about a decedent (DecedentInformation). From within this dialog, a user could open an inserted dialog that asks questions about the decedent's assets (DecedentAssets). Later in the model, you could ask additional questions based on whether these dialogs have been answered:

if answered( DecedentInformation ) and answered ( DecedentAssets )

ask AssetDistributionInformation

endIf

Back to List


HotDocs Models: answered ( var )

Placeholder | Replace With
var | A variable.

You can use the answered expression to determine whether a HotDocs variable has been assigned a value. If so, the expression receives the value of true.

If you are testing whether a user has answered a variable, you must make sure the variable is presented to the user using a custom dialog. Using the answered expression alone will not automatically force HotDocs to display the variable for the user.

For example, you may place a variable for the second line of an address (ClientAddress2) in a custom dialog; however, not all users will provide information for that variable. In the text of the model, you can surround ClientAddress2 with an if expression that merges that variable into the document—only if the user answers it:

[ClientName;te]

[ClientAddress1;te]

[if:answered(ClientAddress2):[ClientAddress2;te]

][ClientCity;te], [ClientState;te] [ClientZip;te]

In this script, the answered expression is used with an if expression to insert or remove ClientAddress2, based on whether the user has provided that information. (Without it, the default unanswered text, ***ClientAddress2***, would be inserted in the assembled document.)

Back to List


HotDocs Models: ascend var; descend var

Placeholder | Replace With
var | A repeated variable

The ascend instruction sorts lists of answers (gathered using a repeat instruction) in alphanumeric order, from 1 to 9, and from A to Z. The descend instruction sorts lists of answers from 9 to 1, and from Z to A.

For example, the following script would insert a list of clients in alphabetical order, from A to Z. Even though it lists First Name TE first, it sorts by Last Name TE:

""

repeat ClientList

ascend LastName

result + FirstName + " " + LastName + "

"

endRepeat

The first empty set of quotation marks sets the computation value to nothing. Then, the repeated dialog, ClientList, asks for each client’s first and last name. Next, the ascend instruction sorts the list of names by last name. Finally, the result expression tells HotDocs to merge the names in the document.

Back to List


HotDocs Models: ask dialog

Placeholder | Replace With
dialog | Any dialog in the template

The ask dialog instruction allows you to control the order in which dialogs appear in an interview.

Instructions like ask are also useful when some interview questions should only be asked in certain situations. In the following example, HotDocs only asks the BuyerInformation dialog if the user is a first-time buyer:

[if:FirstTimeBuyer:[ASK:BuyerInformation]

]

In general, the ask instruction tells HotDocs to display a dialog as soon as the instruction is processed. You can create an ask field directly in the model, or use a Computation variable to ask several dialogs at once.

Back to List


HotDocs Models: ask var

Placeholder | Replace With
var | Any variable in the template

Sometimes a variable needs to be asked by itself. You can use the ask var instruction so that during the interview, HotDocs displays the variable in its own default dialog.

In the following example, an if expression evaluates if more than a year has passed since the last time the client assembled this document. If so, the CurrentInsurance variable is asked:

if monthsFrom( DateOfPreviousFiling, today ) >= 13

ask CurrentInsurance

endIF

You can include the ask var instruction directly in the model or you can define it in a Computation variable. Be aware, however, that if you insert the instruction directly in the model, you can ask only one variable, and any answers the user provides will not be merged into the document at that place.

Back to List


HotDocs Models: count( dialog )

Placeholder | Replace With
dialog | A dialog name.

You can find out how many sets of answers a user provides for a repeated dialog. A repeated dialog is any dialog used in a repeat instruction. This expression produces a number, based on each answered dialog.

The following example determines if there is more than one fiduciary. If there is, certain prefixes and plural abbreviations are added to the fiduciary title so the paragraph is structured correctly.

I appoint [repeat:FiduciaryInformation;format="a, b, and c":[FiduciaryName;te;format="LIKE THIS"]] as [if:count( FiduciaryInformation ) > 1:Co-[FiduciaryTitle;te]s/else:[FiduciaryTitle;te]].

This expression uses the count instruction to determine if FiduciaryInformation is answered more than once. If it is, the Co- prefix is inserted before FiduciaryTitle, and the plural s is inserted at the end of the variable. For example, in the assembled document, the answer may be inserted as Co-Executors or Co-Personal Representatives.

The difference between count and counter is that count counts the number of repetitions in a list, while counter gives you the number of the current repetition.

Back to List


HotDocs Models: count( mult_choice_var )

Placeholder | Replace With
mult_choice_var | A Multiple Choice variable with the Select property set to All That Apply

This expression counts how many options a user chooses when answering a Multiple Choice variable. The result it produces is a number.

For example, suppose the user wants to generate a list of cities in which an author plans to make appearances. There might be one—or many—depending on the schedule. HotDocs can merge the correct term—city or cities—into the document once it knows how many cities were selected from the Multiple Choice variable. The following computation script demonstrates this:

if count( PublicityTourCity) = 1

"city"

elseIf count(PublicityTourCity) > 1

"cities"

endIf

Back to List


HotDocs Models: counter

HotDocs uses counter as a way to compare two incrementing number values. For example, perhaps you want to list the last child named in a repeated dialog. You could create the following computation script:

""

repeat ChildrenInformation

ascend ChildBirthDate

if counter = count( ChildrenInformation )

result + "The youngest child is " + ChildName

endIf

endRepeat

In this computation script, HotDocs first sets the value of the computation to nothing. It then processes the repeat instruction, sorting the children based on their birth dates. It uses counter to determine when the last answer in the dialog is given (by comparing it to the count of the dialog), and then merges the name of the youngest child in the list into the document.

The difference between count and counter is that count counts the number of repetitions in a list, while counter gives you the number of the current repetition.

Back to List


HotDocs Models: date - num days

Placeholder | Replace With
date | A date value, such as a Date variable
num | A number value

You can subtract any number of days from a Date variable. The result of this computation is a new date value, which can be merged into the assembled document.

For example, this computation calculates the date the books need to arrive at the warehouse before they can be shipped:

ShippingDate - 14 days

Back to List


HotDocs Models: date - num months

Placeholder | Replace With
date | A date value, such as a Date variable
num | A number value

You can subtract a certain number of months from a Date variable. The result of this computation is a new date value, which can be merged into the assembled document.

In the following example, HotDocs subtracts four months from the ShippingDate and inserts the new date:

ShippingDate - 4 months

Back to List


HotDocs Models: date - num years

Placeholder | Replace With
date | A date value, such as a Date variable
num | A number value

You can subtract a certain number of years from a Date variable. The result of this computation is a new date value, which can be merged into the assembled document.

For example, this computation subtracts two years from Marriage Date DA:

MarriageDate - 2 years

Back to List


HotDocs Models: date + num days

Placeholder | Replace With
date | A date value, such as a Date variable
num | A number value

You can add any number of days to a Date variable. The result of this computation is a new date value, which can be merged into the assembled document.

For example, this computation script adds 90 days to the Date variable, PurchaseDate:

PurchaseDate + 90 days

Back to List


HotDocs Models: date + num months

Placeholder | Replace With
date | A date value, such as a Date variable
num | A number value

You can add any number of months to a Date variable. The result of this computation is a new date value, which can be merged into the assembled document.

For example, this computation determines what the date will be six months from the date the document is assembled:

today + 6 months

Back to List


HotDocs Models: date + num years

Placeholder | Replace With
date | A date value, such as a Date variable
num | A number value

You can add a certain number of years to a Date variable. The result of this computation is a new date value, which can be merged into the assembled document.

In this script, HotDocs adds 30 years to the date the loan originated:

LoanOriginationDate + 30 years

Back to List


HotDocs Models: dateOf( num, num, num )

Placeholder | Replace With
num | A number value representing the day of the month (from 1 to 31)
num | A number value representing the month (from 1 to 12)
num | A number value representing the year (should be four digits)

This expression finds a date value based on day, month, and year values.

You can use this expression to compare a date the user gives with another date, such as a cut-off date for when an employee had to be hired to qualify for a yearly bonus. The following computation script demonstrates this:

if HireDate <= dateOf( 15, 8, yearOf( today ) )

EmployeeName + " qualifies for the annual bonus."

endIf

HotDocs uses an if instruction to compare HireDate with August 15 of the current year. If the comparison returns a true value, the employee qualifies for the bonus.

Suppose, in this next example, a new employee qualifies for a benefits package on the first day of the second month of employment—regardless of what day the employee was hired during the first month of employment. You can calculate that date with the dateOf expression:

dateOf( 1, monthOf( HireDate + 1 months), yearOf( HireDate + 1 months))

The first parameter in the expression, 1, tells HotDocs to specify the first day of the month. The second parameter identifies the month of the hire date and adds one month. The third parameter determines the year of the hire date (plus one month).

Back to List


HotDocs Models: dayOf( date )

Placeholder | Replace With
date | A date value

This expression returns the day portion (1 to 31) of a given date.

The following computation is used to determine when a new employee can begin accruing vacation days. If the employee is hired on the first day of the month, he or she immediately begins accruing time off. Otherwise, he or she begins accruing at the beginning of the next month:

if dayOf( HireDate ) = 1

set StartAccruingDate to HireDate

else

set StartAccruingDate to dateOf( 1, monthOf( HireDate + 1 months), yearOf( HireDate + 1 months) )

endIf

Back to List


HotDocs Models: dayOfWeek( date )

Placeholder | Replace With
date | A date value

This expression determines on which day of the week a specific date falls and converts that value to an integer.

These integers are as follows:

Sunday = 1

Monday = 2

Tuesday = 3

Wednesday = 4

Thursday = 5

Friday = 6

Saturday = 7

For example, perhaps you want to determine whether a payment due date falls on a Saturday or Sunday. If it does, HotDocs moves the payment due date to the following Monday. The following script shows how this works:

if dayOfWeek( PaymentDate ) = 7

PaymentDate + 2 days

elseIf dayOfWeek( PaymentDate ) = 1

PaymentDate + 1 days

else

PaymentDate

endIf

Back to List


HotDocs Models: daysFrom( date, date )

Placeholder | Replace With
date | A date value, such as a Date variable
date | A date value, such as a Date variable. (These can be in any order.)

This expression allows you to find the number of days between two dates.

In the following example, a buyer has 60 days to make a payment on an account balance. If the buyer has missed the payment deadline, HotDocs merges a warning into the document:

if daysFrom( PurchaseDate, today) > 60

"Your account is past due."

else

"Your account is current. Thank you."

endIf

This example uses an if/else expression to determine the text that must be inserted.

Back to List


HotDocs Models: default var to value

Placeholder | Replace With
var | Any variable in the model
value | A value that corresponds with the variable type

This instruction suggests a value for a variable if the variable is unanswered.

For example, in the following script, the variable AttorneyName is defaulted to the literal value of Sam Jones:

default AttorneyName to "Sam Jones"

In this example, when HotDocs processes this script, it first determines whether AttorneyName has been answered. If it has, the default instruction has no effect and HotDocs uses the answer already given. If AttorneyName has not been answered, however, HotDocs suggests the answer Sam Jones. When this variable appears during the interview, users can accept this answer by moving to the next dialog, or they can enter a different answer in the answer field.

You can also use a default instruction to suggest an answer that has already been given in the interview. For example:

default TrusteeName to ClientName

In this example, when HotDocs processes this script, it first determines whether TrusteeName has been answered. If it has, the default instruction has no effect and HotDocs uses the answer already given. If TrusteeName has not been answered, HotDocs then checks to see what answer has been given for ClientName and suggests that as the answer. It is important to note, however, that if ClientName is unanswered, TrusteeName will likewise be unanswered.

Back to List


HotDocs Models: filter computation_var

Placeholder | Replace With
computation_var | Any Computation variable in the model that results in a true or false value

The filter instruction filters out certain entries from a repeated list, based on conditions you specify.

In the following example, the script filters out all corporate entities from a list of vendors:

""

repeat VendorInformation

format "A, B, and C"

filter NoCorporateVendors

result + VendorName

endRepeat

In the preceding script, NoCorporateVendors is a Computation variable with the following script:

VendorType != "Corporation"

First, the empty quotation marks set the value of the repeat to "nothing." HotDocs then repeats the VendorInformation dialog. After the user enters all the information, HotDocs processes the responses, filters out all corporate entities, and displays a modified list in the specified format.

You can use the and operator in the computation to filter out entries based on two or more conditions.

A filter can be as complicated as it needs to be, but it must result in either true or false. For example, the expression yearsFrom( ChildBirthDate, today ) produces a number (the age of a person), not a true or false value—it is not a filter. But the expression yearsFrom( ChildBirthDate, today ) <= 17 can only result in true or false. It can correctly filter all children under the age of 18 from a list.

Back to List


HotDocs Models: first( text, num )

Placeholder | Replace With
text | A text value, such as a Text variable, from which the specified number of characters will be returned. This can be a fixed text value, inside quotation marks.
num | A number value, such as a Number variable or a fixed number value. It specifies the number of characters you want returned.

Using this expression, you can return any number of characters starting with the first character in an answer value.

The following computation looks at the client’s first, middle, and last names and returns only the first character from each of these variables. When merged together, these characters create the client’s initials:

first( ClientFirstName, 1 ) + first( ClientMiddleName, 1 ) + first( ClientLastName, 1 )

In the following example, the first four characters of a client’s last name are merged with a case number to create a file number.

first( ClientLastName, 4 ) + CaseNumber

Back to List


HotDocs Models: format "list_format"

Placeholder | Replace With
list_format | An example of the conjunction and punctuation desired, for example, a, b, and c or a; b; or c.

The format "list_format" instruction allows you to create a sentence-style list within a computation.

For example, perhaps you want the items in your list to appear with the final comma preceding the and. Your script would look like this:

""

repeat EducationInformation

format "A, B, and C"

result + EarnedDegree

endRepeat

result

Once a user has provided the list of educational degrees in EducationInformation, the format instruction ensures that the requisite commas are in place.

In a script, the format instruction should be placed immediately after the repeat instruction for repeated dialogs.

Back to List


HotDocs Models: format( value, "example" )

Placeholder | Replace With
value | Any Number, Date, or True/False variable
"example" | A format example (in quotation marks) you want used with the value. Must be in a format HotDocs can recognize.

Sometimes you may need to add a date, number, or true/false value to a text value. You can do this by formatting the date, number, or true/false value as text.

For example, perhaps you want to create a list of items with their associated monetary values. Because these two values are different in nature, they cannot be added together without first representing the number value as a text value:

""

repeat ItemsPurchasedList

result + ItemName+ ", " + format( ItemAmount, "$9,999.00" ) + "

"

endRepeat

In this script, HotDocs first sets the computation value to nothing. Then HotDocs repeats ItemsPurchasedList and then places the answers for both ItemName and ItemAmount (which is formatted to appear as a text value) in the same text string, separated by a comma. If ItemsPurchasedList is answered more than once, HotDocs manually inserts a hard return (as shown before the endRepeat) to create a column of amounts.

Back to List


HotDocs Models: if expression; elseIf; else; endIf

Placeholder | Replace With
expression | A statement that can be evaluated as true or false

You can make sections of a HotDocs Model conditional by using if instructions. You can also make instructions or expressions in a script conditional. A conditional section will be included only if a condition you specify is true. The elseIf instruction allows two or more conditions to be included in an if instruction. The else instruction establishes a final condition for an if instruction, specifying that if all preceding conditions are false, the following information should be included. It must be the last item of the if instruction.

Each if instruction or expression must end with an endIf instruction. This instruction completes a section of conditional logic. These pairs can be nested, allowing you to test several conditions before applying a single effect.

If you are inserting an if field directly in a HotDocs Model, the endIf field is represented by a closing bracket (]). See Mark Conditional Text for details.

In the following example, HotDocs uses an if instruction to insert a paragraph about vacation time—but only if the new employee qualifies for paid vacation:

[if:VacationDays:In addition, [EmployeeName;te] shall be allowed [NumberOfVacationDays;nu;format=alpha] for vacation time. [EmployeeName;te] shall also receive seven paid holidays, including New Year's Day, Memorial Day, Fourth of July, Labor Day, Thanksgiving (including the day after), and Christmas.

]

More complex situations can also be handled using if expressions. For example, in the following computation script, a single paragraph may change depending on how close a project is to completion. Using the if, elseIf, and else instructions, the correct paragraph can be inserted:

if ProjectStatus = "Complete"

"Upon finishing the project…"

elseIf ProjectStatus = "In Process"

"While working on the project…"

else

"Before working on the project…"

endIf

You can use if expressions anywhere. Operators such as and and or can link multiple conditions, giving the user greater control over the interview. However, creating complicated if instructions directly in the model can make the assembly process sluggish. Consider using Computation variables or insert instructions instead.

For more information about using conditional expressions in your model, see Mark Conditional Text.

Back to List


HotDocs Models: increment num_var; decrement num_var

Placeholder | Replace With
num_var | A Number variable

The increment and decrement instructions cause HotDocs to increase or decrease a number variable, usually a counter, by the value of 1.

In the following example, you want to create a list of potential employees. However, you want the list to include only those applicants with four or more years of schooling. To do this, you would use the while instruction to loop through a list of applicants. You would then use the increment instruction to keep track of which repetition you are on so that the correct information can be merged into a new list.

set ApplicantCount to 1

set ProspectCount to 0

while answered( ApplicantName[ApplicantCount] )

if ApplicantYearsOfSchooling[ApplicantCount] >= 4

set ProspectName[ProspectCount] to ApplicantName[ApplicantCount]

endIf

increment ApplicantCount

endWhile

Back to List


HotDocs Models: insert "filename"

Placeholder | Replace With
filename | The file name and folder path of another HotDocs Model The inserted file must be saved to the same folder as the main file.

This instruction inserts another HotDocs Model into the document currently being assembled. When HotDocs encounters an insert instruction, it immediately processes the instruction and inserts the model into the current document. If there are variables to be answered, HotDocs presents them before finishing the interview of the main document.

Often an organization’s documents will include sections that are used frequently, such as company letterhead or attorney information blocks. Rather than recreate these parts of a document each time you automate a template, you can save just the letterhead or the information block as its own template and then use an insert instruction to include it in the models that require it. For example, let's say you have a specific attorney information block you use in pleadings. You would create a model that contains only the attorney information and then use the insert instruction to insert it:

[if:AttorneyInformationRequired:[insert:"Attorney Information Block.docx"]

]

Back to List


HotDocs Models: integer( text )

Placeholder | Replace With
text | A text value, such as a Text variable

Sometimes you may have a text value that contains number characters, as in the case of a time of day value. The integer expression allows you to convert those number characters into numeric values so you can perform calculations or compare them with other values.

The integer expression searches the beginning of a text string for number characters and converts those it finds to numeric values. When it encounters a non-number character (such as a letter or punctuation mark) it stops processing the instruction.

For example, if you tried to find the integer of the word cat, the integer expression would return 0 (zero) since there are no number characters in cat. However, if you used integer on the text value 12:30, it would return the number value 12 since those characters are numbers. (As explained earlier, it stops processing when it reaches a punctuation mark, which in this case is a colon.)

One of the main uses for the integer expression is to compare time values. In the following computation, HotDocs is attempting to determine if a given time value falls after 5:30 P.M. Because time values are text values, the Text variable, Call Time TE, must first be converted to an integer before it can be used in the comparison:

if CallTime contains "p"

integer( CallTime ) + ( integer( mid( CallTime, 1 + position( CallTime, ":" ), 2 ) ) /60 ) > 5.5

else

integer( CallTime) + ( integer( mid( CallTime, 1 + position( CallTime, ":" ), 2 ) ) /60 ) > 17.5

endIf

In this script, CallTime is a Text variable with a 24-hour or 12-hour time pattern (99:99 or 99:99 A.M.). HotDocs first determines if CallTime is in the afternoon (P.M.). If it is, the script uses the integer expression to convert all the digit characters up to the first non-digit character (the colon) into a numeric value. This number represents the hours portion of the total time. Using the mid expression to locate the two digit characters after the colon, it also converts these characters into an integer and divides the value by 60. This number represents the minutes portion of the total time. These two numbers are added together, and if the result is greater than 5.5 (the equivalent of 5:30), the result is true. If the result is not greater than 5.5, the result is false.

The second portion of the script (after the else expression) performs the same functions on a non-afternoon time value—that is, one that is either in 24-hour format or in the morning (A.M.).

Back to List


HotDocs Models: language code

Placeholder | Replace With
code | Any of the following language codes: eng (English) deu (German) des (Swiss German) dea (Austrian German) fra (French) nld (Dutch) esn (Spanish) ita (Italian) ptb (Brazilian Portuguese)

This instruction tells HotDocs to format numbers and dates in a particular language.

For example, the following script allows the model to use Spanish formats:

[language:esn]

[StartContractDate;da;format=3 Juno 1990]

Optionally, if your date or number format requires non-U.S. thousands and decimal separators, you can specify which separators you want to use in the language instruction. You do this using the grouping and decimal properties. For example:

[language:fra;grouping=".";decimal=","]

You must obtain the appropriate foreign language DLL file before the language instruction will work in your models. These DLLs must be saved to the HotDocs program folder. Contact your HotDocs sales representative for more information.

Back to List


HotDocs Models: last( text, num )

Placeholder | Replace With
text | A text value, such as a Text variable, from which the specified number of characters will be returned. This can be a fixed text value, inside quotation marks.
num | A number value, such as a Number variable or a fixed number value. It specifies the number of characters you want returned.

The last expression finds and returns a certain number of characters from the end of a text string.

For example, the following text computation returns the last four digits of a Social Security number:

last( SocialSecurityNumber, 4 )

In the next example, the user wants to make the answer to item TE plural. Using the last expression, HotDocs checks to see if the last letter in the value is a specific letter. If so, HotDocs inserts the correct plural suffix.

if last( ItemName, 1 ) = "s"

or last( ItemName, 1 ) = "z"

ItemName + "es"

else ItemName + "s"

endIf

This example script does not take into consideration words that end in “y” or “x” or any other letter that would cause yet a different result. It is only shown here in its most basic form to demonstrate how the last expression functions.

Back to List


HotDocs Models: length( text )

Placeholder | Replace With
text | A text value, such as a Text variable. HotDocs counts the characters in this value and assigns a numeric value.

The length expression counts the number of characters—including spaces and punctuation—in a text value, such as a Text variable.

For example, let’s say you want a user to add a descriptive paragraph about the novel he or she has just reviewed. If the description is brief, you’d like to keep it in the same paragraph as the lead-in sentence. However, if the user has a longer description about the novel, you would like to start a new paragraph:

[if:length( PlotDescription ) <= 150: The novel's plot description is as follows: [PlotDescription;te]/else:The novel's plot description is as follows:

[PlotDescription;te]

]

Back to List


HotDocs Models: max( num, num )

Placeholder | Replace With
num | A number value, such as a Number variable
num | A number value, such as a Number variable (These values can be in any order.)

The max expression compares two number values and returns the greater of the two.

In this example, HotDocs returns the value of either the MonthlySalary or the MonthlyExpenses, depending on which is the greater value:

max( MonthlySalary, MonthlyExpenses )

Back to List


HotDocs Models: mid( text, num, num )

Home > HotDocs Models: mid( text, num, num )

Back to List

HotDocs Models: mid(text, num, num )

Placeholder | Replace With
text | A text value, such as a Text variable, from which the specified number of characters will be returned. This can be a fixed text value, inside quotation marks.
num | A number value, such as a Number variable or a number you type. This number specifies where HotDocs starts "returning" characters.
num | A number value, such as a Number variable or a number you type. It specifies the number of characters you want returned.

Like the first and last expressions, this expression extracts a specified number of characters from within a text string.

For example, you may be required to split the Text variable, TelephoneNumber (with the telephone number pattern) into three pre-formatted fields—the area code, the prefix, and the number. In the following example, three different computations would be scripted as follows:

mid( TelephoneNumber, 2, 3 )

mid( TelephoneNumber, 7, 3 )

last( TelephoneNumber, 4 )

The first computation, which you would place in the area code field, tells HotDocs to include three characters, starting with the second character (this takes into consideration the opening parenthesis.)

The second computation (the prefix field) starts at the seventh character (again, taking into account the parentheses and space characters between the area code and the prefix), and inserts the next three characters.

The third expression, which uses the last expression, returns the last four digits of the phone number by counting backwards from the last character.

Back to List


HotDocs Models: min( num, num )

Placeholder | Replace With
num | A number value, such as a Number variable
num | A number value, such as a Number variable (These values can be in any order.)

The MIN expression compares two number values and returns the lesser of the two.

In the following number computation, the expression compares the two values, ShippingCosts and LaborCosts, and returns the lesser of the two values:

min( ShippingCosts, LaborCosts )

Back to List


HotDocs Models: monthOf( date )

Placeholder | Replace With
date | A date value, such as a Date variable

This expression returns the month portion of a given date.

For example, in the following script, a new employee has temporary status until the end of his or her third month with the company. HotDocs uses the month of expression to specify which month that is:

dateOf( 1, monthOf( HireDate + 3 months ), yearOf( HireDate + 3 months ) ) - 1 days

In this example, HotDocs finds the first day of the fourth month of employment. HotDocs then subtracts one day to reveal the last day of the third month—either the 28th, 29th, 30th or 31st—depending on the month. It then inserts the new date into the document.

Back to List


HotDocs Models: monthsFrom( date, date )

Placeholder | Replace With
date | A date value, such as a Date variable
date | A date value, such as a Date variable (These values can be in any order.)

The months from expression calculates the number of months between two given dates.

The following example finds the number of months between the judgment date and today—in months:

monthsFrom( JudgmentDate, today )

Back to List


HotDocs Models: mult_choice = text; mult_choice != text

Placeholder | Replace With
mult_choice | A Multiple Choice variable
text | A text value that is either equal to ( = ) or not equal to ( != ) one of the options in the given Multiple Choice variable, inside quotation marks.

The mult_choice = text expression returns true when the user chooses a Multiple Choice option that is equal to ( = ) a given text value. If it is not equal ( != ), the expression returns false. The mult_choice != text expression functions in the opposite way—testing instead to see if an answer is not equal to (!=) a given text value.

In the following True/False expression, if the user chooses Credit Card as the payment method, HotDocs asks the user for the credit card information:

if MethodOfPayment = "Credit Card"

ask CreditCardInformation

endIf

In the next expression, if Credit Card is not chosen as a method of payment, HotDocs inserts a model which can gather alternate payment information about the user:

if MethodOfPayment != "Credit Card"

insert "Alt Payment Method.docx

endIf

Back to List


HotDocs Models: not true_false

Placeholder | Replace With
true_false | A true/false value, such as a variable or expression that results in true or false.

You can use the not true_false expression to find out if a True/False variable is false.

In the following script, HotDocs asks whether the user is a United States citizen. If the user is not, HotDocs asks the user for Visa information:

[if:not USCitizen:[ASK:VisaInformation]

]

Back to List


HotDocs Models: other( mult_choice_var )

Placeholder | Replace With
mult_choice | A Multiple Choice variable that has either the Other option specified, or the None of the Above option specified.

This expression determines whether the user has chosen the Other option of a Multiple Choice variable and, if so, returns the text entered in the Other field. It can also be used to test whether the user has selected the None of the Above option.

For example, a user is given a list of lending agents from which to choose. If the user doesn’t see the correct name on the list, he or she can select Other and specify the correct name. HotDocs then asks for the city in which the lending agent operates, as shown in the following script:

if LendingAgent = other( LendingAgent )

ask LendingAgentCity

endIf

In this next example, you want to create a list of company representatives. However, if the user doesn't select a company representative, you want the text No representative selected merged.

""

if other(CompanyRepresentative) = "None of the Above"

"No representative selected"

else

format(CompanyRepresentative, "a, b, and c")

endIf

Back to List


HotDocs Models: position( text, text )

Placeholder | Replace With
text | A text value, such as a Text variable
text | The character or character string for which you want to search

The position expression finds the position of a certain character or character string in a given text value. It is useful if you need to find a character you know will be in an answer but are not sure where it will appear. It returns a number value, which represents the first character.

The following script finds the hyphen in the variable, CaseNumber, and returns a number value, representing its numeric position in that given text string.

position( CaseNumber, "-" )

In the next example, the position expression is used as part of a larger computation to test whether a given time falls after 5:30 P.M. The position expression locates the colon (:) in the time value so HotDocs can process the text before and after the colon to find the correct result:

if CallTime contains "p"

integer( CallTime ) + ( integer( mid( CallTime, 1 + position( CallTime, ":" ), 2 ) ) /60 ) > 5.5

else

integer( CallTime ) + ( integer( mid( CallTime, 1 + position( CallTime, ":" ), 2 ) ) /60 ) > 17.5

endIf

This script first determines if the value of CallTime is in the afternoon (P.M.). If it is, the script uses the position expression to locate the first non-digit character (the colon) so the integer expression can convert all of the digit characters leading up to it into a numeric value.

Once identified, this number represents the hours portion of the total time. Using the mid expression to locate the two digit characters after the colon, it also converts these characters into an integer and divides the value by 60. This number represents the minutes portion of the total time. The hours and minutes are added together, and if the result is greater than 5.5 (the equivalent of 5:30), the result is true. If the result is not greater than 5.5, the result is false.

The second portion of the script (after the else expression) performs the same functions on a non-afternoon time value—that is, one that is either in 24-hour format or in the morning (A.M.).

Back to List


HotDocs Models: power( num, num )

Placeholder | Replace With
num | A number value, such as a Number variable, to be raised to a power
num | The exponent (or number that indicates the operation of repeated multiplication)

The power expression generates a numeric value, based on a given exponent.

For example, say you want to calculate the future value of an investment:

power( ( 1 + AnnualRateOfReturn ), NumberOfYears ) * AmountInvested

HotDocs adds 1 to AnnualRateOfReturn and then raises it to the power of NumberOfYears. It then multiplies that number by AmountInvested.

Back to List


HotDocs Models: remainder( num, num )

Placeholder | Replace With
num | A number value, such as a Number variable, to be divided (a numerator)
num | A number value, such as a Number variable, by which to divide (a denominator)

The remainder expression returns the remainder of a division. If the denominator is a zero, HotDocs generates a divide by zero error.

In this basic example, HotDocs divides 10 by 3. The remainder of that division is 1:

remainder( 10, 3 )

In this next example, a user enters a time value in number format (such as 6 hours). However, using the remainder expression (as well as truncate and round), HotDocs causes the value to appear in hours:minutes format:

format( truncate( NumberOfHours, 0 ), "9" ) + ":" +

format( round( 60 * remainder( NumberOfHours, 1 ), 0 ), "09" )

This script takes the value of NumberOfHours, which may have a decimal value, and truncates it to a whole number. Then, using the remainder expression, NumberOfHours is divided by 1 and the remainder of the division is multiplied by 60 (as in 60 minutes). HotDocs then rounds that value and brings these two values together in a string, separated by a colon. The value is then formatted correctly.

Back to List


HotDocs Models: repeat dialog; endRepeat

Placeholder | Replace With
dialog | A dialog with a repeat style specified

A repeat instruction gathers lists of answers and merges them into a document.

For example, the following script gathers a list of editors and inserts them into the assembled document:

[repeat:EditorInformation:

Editor: [EditorFirstName;te] [EditorLastName;te]

]

Each repeat instruction must also include an endRepeat instruction, which tells HotDocs to stop repeating the variables within the instruction.

This next computation script actually contains two repeated dialogs—one nested in another. It produces a list of editors as well as the titles and authors he or she is currently working with:

""

REPEAT Editor Information

RESULT + "Editor: " + Editor First Name + " " + Editor Last Name + "

"

REPEAT Book Information

RESULT + "Book Title A property of a variable or dialog that specifies a more user-friendly name for the component. For example, if project standards require components be named using notations, names like Employee Name TE may not make sense to a user. However a title like Employee Name can be used instead.: " + Book Title + "

" + "Author: " + Author First Name + " " + Author Last Name + "

"

END REPEAT

END REPEAT

You can create up to three levels of sublists by nesting REPEAT instructions. (See Introduction: Create Lists Within a List.)

For more information about creating lists of answers, see Mark Repeated Text.

While editing complicated sequences, you can highlight repeat instruction to its associated endRepeat instruction by placing the cursor within the repeat field, then clicking the [image] Select Field button. (See Manage Markup Fields in the Document for details.)

Back to List


HotDocs Models: replace( text, text, text, num )

Placeholder | Replace With
text | The name of a Text variable or the string of characters you need to search
text | The text for which you are searching, which may include the following special characters: \\ -- backslash character \h -- non-breaking hyphen \l -- line break \p -- paragraph mark \s -- non-breaking space \t -- tab
text | The text you want to use as a replacement, which may include the following special characters: \\ -- backslash character \h -- non-breaking hyphen \l -- line break \p -- paragraph mark \s -- non-breaking space \t -- tab
num | Controls the number of times the character is replaced
(optional) | For example, if no number is specified, all found instances will be replaced; however, if you include a 1 as a parameter, only the first found instance will be replaced.

This expression lets you search a string of text for a given character string and replace the results with new text.

For example, perhaps you want to take the information in an address block (which will most likely appear as separate lines) and display it as a single line, with each "part" separated by a comma. The following script removes all line breaks ( \l ) from the Text variable, MultiLineAddress, replaces them with a comma and space, and then sets that result to the Text variable SingleLineAddress:

set SingleLineAddress to replace(MultiLineAddress, "\l", ", ")

Back to List


HotDocs Models: result

As you write computations, you often need HotDocs to acknowledge what the result would be at that point in the script. You can update this answer by using the result expression.

For example, let’s suppose you are creating a list of editors. You want to combine EditorFirstName and EditorLastName as well as the literal text Editor. You must use result to force HotDocs to acknowledge the result of the computation before you add the next item to the text string:

""

repeat EditorInformation

result + EditorFirstName + " " + EditorLastName + ", Editor" + "

"

endRepeat

In this computation, the result expression returns the value of EditorFirstName and adds it to the value of EditorLastName. The resultexpression updates the list each time a new editor is added to the list. (If no result expression were used, HotDocs would merge just the first name entered in the list.)

Back to List


HotDocs Models: round( num, num)

Placeholder | Replace With
num | A number value, such as a Number variable, to be rounded
num | A number value that indicates the number of places (0-7) to the right of the decimal point after which the number will be rounded

You can round a number value to a specified number of places.

The following example looks at the first two digits after the decimal point and rounds the value based on the third digit. (The resulting value is 5.93.)

round( 5.9274, 2 )

Back to List


HotDocs Models: selection( mult_choice_var, num)

Placeholder | Replace With
mult_choice_Var | A Multiple Choice variable
num | A number value that indicates which selected option to return

This expression lets you retrieve individual options (answers) selected in a Multiple Choice variable. It returns a text value that corresponds to the defined answer (as designated by the num placeholder).

In the following example, you want to generate a list of employees that have various different work projects they need to complete. Multiple employees may work on one individual project. Once you have this list, you want to generate a work list report for each employee on the list.

To accomplish this, you first repeat a dialog (EmployeeList) that asks which employees are supposed to work on a given assignment (using the Multiple Choice variable, EmployeeNames). As HotDocs repeats this list, the union expression adds each selected, original name from each repetition to a new Multiple Choice variable, UniqueList.

Once all of the unique answers have been added to UniqueList, HotDocs then uses the selection expression to retrieve each individual answer from UniqueList. The result of the script merges these names in a report.

erase UniqueList

repeat EmployeeList

set UniqueList to union( UniqueList, EmployeeNames )

endRepeat

erase ProjectParticipant

set Index to 1

while selection( UniqueList, Index ) != ""

set ProjectParticipant[Index] to selection( UniqueList, Index )

increment Index

endWhile

Back to List


HotDocs Models: set var to value

Placeholder | Replace With
var | Any variable
value | A value appropriate for the associated variable

This instruction lets you specify a given value for a variable’s answer automatically, rather than allow the user to specify an answer. With the set instruction, you can transfer names and other values from one variable to another.

For example, if the plaintiff is the same as the client, you can use a set instruction to automatically enter the plaintiff’s name as the client’s, saving the user from typing the name a second time:

if IsPlaintiffAlsoClient

set ClientName to PlaintiffName

endIf

Because HotDocs repeatedly processes set instructions during the course of an interview, you must not let the user specify a different answer for a variable whose value is being set. When HotDocs updates the interview, the user’s answer will be replaced with the value from the set instruction. To suggest an answer for the user and allow them to change it, use the default instruction. (See default var to value for an explanation.)

Back to List


HotDocs Models: space( text, text )

Placeholder | Replace With
text | A Text variable or other expression that produces a text result
text (optional) | A character or text string that can be used in place of the space character. You can include the following special characters in your search: \\ -- backslash character \h -- non-breaking hyphen \l -- line break \p -- paragraph mark \s -- non-breaking space \t -- tab

This expression tests whether the variable is answered. If it is, it merges the answer, followed by a space character. If the variable is unanswered, it merges nothing ("").

For example, perhaps you need to merge a client's full name. Some clients, however, do not have a middle name. You can create a script that includes this middle name (if it's provided), followed by a space. If no middle name is given, nothing will be merged.

ClientFirstName + " " + space( ClientMiddleName ) + ClientLastName

Sometimes you may want to merge a character other than a space. The second optional parameter for this expression allows you to specify what this character should be.

In the following example, the script uses the space expression to determine if each of the variables in the address block are answered. If so, it merges the answer to the variable, followed by a line break character (rather than a space character). This merges each "part" of the address on its own line.

space( ClientAddressLine1, "\l" ) +

space( ClientAddressLine2, "\l" ) +

space( ClientCity, "," ) + space( ClientState ) + space( ClientZipCode )

Back to List


HotDocs Models: strip( text, text, true_false, true_false)

Placeholder | Replace With
text | The name of a Text variable, or the string of characters you need to search
text (optional) | The character or string of characters for which you want to search. You can strip any alphanumeric characters from a text string, including the following special characters: (Make sure you include the backslash.) \\ -- backslash character \h -- non-breaking hyphen \l -- line break \p -- paragraph mark \s -- non-breaking space \t -- tab
true_false (optional) | The value of true if characters should be stripped from just the beginning of the text
true_false (optional) | The value of true if characters should be stripped from just the end of the text

This expression removes a specified character or characters from the beginning or end of a text answer. By default, HotDocs removes the characters from both the beginning and the end of the text. If you want to specify just one or the other, you must use the true_false parameters.

For example, perhaps you want to remove punctuation or space characters from the end of an answer (because the punctuation is already included in the document text). The following script will help you accomplish this:

set ItemDescription to strip(ItemDescription, " !.,?", false, true)

Because the false and true parameters are used, HotDocs strips the characters from the end of the answer (true) and not the beginning (false).

Back to List


HotDocs Models: sum( computation_var)

Placeholder | Replace With
computation_var | A repeated Computation variable

Using the sum expression, you can add computation values that have been repeated.

For example, let's say you have a repeated dialog that contains three variables—ItemName, ItemAmount, and ItemQuantity. For each line item, you create a fourth variable, a computation called TotalAmount that multiplies ItemAmount by the number of items the user purchases (or ItemQuantity). You can then add all of the TotalAmount values and receive one sum total:

sum( TotalAmount )

Back to List


HotDocs Models: sum( num_var )

Placeholder | Replace With
num_var | A repeated Number variable

Using the sum expression, you can add repeated number values.

In this computation script, HotDocs totals the values of the repeated Number variable MonthlyPayment:

sum( MonthlyPayment )

In the next example, HotDocs then takes the total monthly payments the user is making and compares it to the user’s monthly income. If the monthly payments are greater than 36 percent of the monthly income, the loan application is rejected:

sum( MonthlyPayment ) > ( MonthlyIncome * 0.36 )

Back to List


HotDocs Models: text contains text

Placeholder | Replace With
text | A text value, such as a Text variable
text | A text value, such as a Text variable. Any text you type must be in quotation marks.

The text contains text expression determines whether the first text value contains the same text as the second value. If it does, it returns the value of true.

In this example, some states in the United States are officially recognized as “commonwealth” states. In the following script, HotDocs examines the answer the user provides for the variable StateName to see if the user has listed one of these states. If so, HotDocs attaches the correct designation to the merged answer:

if "massachusetts virginia kentucky pennsylvania" contains StateName

"The Commonwealth of [StateName;te ]"

else

"The State of [StateName;te]"

endIf

At first glance, this computation may seem backward. You may think you would test StateName to see if it contains any of the commonwealths listed in the text string (for example, if StateName contains "massachusetts virginia kentucky pennsylvania"). However, if you used that method, the answer the user assigns to StateName would have to contain everything between the quotation marks—"massachusetts virginia kentucky pennsylvania"—and you would never produce a true statement. Of course, you could test StateName against each individual commonwealth (for example, if StateName contains "massachusetts" or if StateName contains "virginia" and so forth), but by "switching" the values for the placeholders and placing all of the commonwealths in one text string, you eliminate a lot of repetitive typing.

Back to List


HotDocs Models: today

This expression returns the current date, according to your computer’s system clock.

For example, this computation script figures out the number of days between the day the user purchased the item and today’s date (or the date the user assembles the document).

daysFrom( PurchaseDate, today)

Back to List


HotDocs Models: truncate( num, num )

Placeholder | Replace With
num | A number value, such as a Number variable
num | A number value specifying the number of places (0-7) to the right of the decimal point at which to truncate the number

You can truncate a decimal number a specified number of places after a decimal point.

For example, the following script truncates the number 5.9375 to include only the first two digits after the decimal point. The truncated value is 5.93:

truncate( 5.9375, 2 )

In the next example, however, a Computation variable tests if the value of RentAmount includes cents. The variable is then formatted to eliminate the text AND NO CENTS from being merged when the variable contains only a whole number:

if RentAmount = TRUNCATE( RentAmount, 0 )

format( RentAmount, "NINE DOLLARS" )

else

format( RentAmount, "NINE DOLLARS AND TWELVE CENTS" )

endIf

Specifically, this computation compares the actual value of RentAmount against its truncated value. If the values are equal, HotDocs formats the answer to exclude the text, AND TWELVE CENTS. Otherwise it includes the text in the format.

The difference between the truncate and the round expressions is that truncate simply "cuts off" a number at a specified digit, while round actually rounds a number up or down, based on where you want the number rounded.

Back to List


HotDocs Models: unanswered

This expression removes an assigned value from a variable. It is used most often with the set instruction:

set PropertyValue to unanswered

If you use this instruction, do not allow the user to change the answer by asking the variable in the interview. Because HotDocs can potentially reprocess the interview several times, the answer the user enters will always be replaced with the unanswered value. Only use this value if you want a variable to be unanswered in the assembled document.

Do not confuse the value of unanswered with that of not answered. The unanswered expression is an actual value assigned to a variable, while not answered (or !answered) is used to determine whether a value has been assigned.

Back to List


HotDocs Models: union( mult_choice, mult_choice )

Placeholder | Replace With
mult_choice | A Multiple Choice variable
mult_choice | A Multiple Choice variable

This expression creates a single list of all unique options (answers) that have been selected across two Multiple Choice variables.

In the following example, you want to generate a list of employees that have various different work projects they need to complete. Multiple employees may work on one individual project. Once you have this list, you want to generate a work list report for each employee on the list.

To accomplish this, you first repeat a dialog (EmployeeList) that asks which employees are supposed to work on a given assignment (using the Multiple Choice variable, EmployeeNames). As HotDocs repeats this list, the union expression adds each selected, original name from each repetition to a new Multiple Choice variable, UniqueList.

Once all of the unique answers have been added to UniqueList, HotDocs then uses the selection expression to retrieve each individual answer from UniqueList. The result of the script merges these names in a report.

erase UniqueList

repeat EmployeeList

set UniqueList to union( UniqueList, EmployeeNames )

endRepeat

erase ProjectParticipant

set Index to 1

while selection( UniqueList, Index ) != ""

set ProjectParticipant[Index] to selection( UniqueList, Index )

increment Index

endWhile

Back to List


HotDocs Models: value( var, expression )

Placeholder | Replace With
var | The name of a variable
expression (optional) | The specific value you want to assign to the variable if the user leaves it unanswered. Otherwise, HotDocs will use one of the following default values: "" for Text variables 0 for Number variables 1 JAN 1800 for Date variables FALSE for True/False variables "" for Multiple Choice variables

This expression returns a default value for the variable type if the variable is unanswered. If the variable is answered, the value is the answer the user specifies.

For example, users will sometimes purposely not answer a question in the interview. However, all variables must be answered or the script will fail. Using value assigns an answer (albeit a default one) so that the script or expression can be processed correctly and still return a value.

In the following example, suppose you need to calculate a sum. However, one of the variables in the calculation, SalesTax, may not be required in order to produce the result. Since the variable may be left unanswered, you can use the value expression to assign a default value of 0 to the variable so that the script can be processed correctly.

The optional expression placeholder allows you specify the value that should be returned if the user leaves the question unanswered. Otherwise, HotDocs will use the default value, shown in the table, above.

ServicesCost + ProductCost + value( SalesTax )

Back to List


HotDocs Models: while expression; endWhile

Placeholder | Replace With
expression | An expression that results in true or false A True/False expression can be as complicated as it needs to be, but it must result in either true or false. For example, the expression yearsFrom( ChildBirthDate, today ) produces a number (the age of a person), not a true or false value—it is not a True/False expression. But the expression yearsFrom( ChildBirthDate, today ) > 17 can only result in true or false. It is a True/False expression.

The while expression instruction allows you to repeatedly process (or loop through) an answer or set of answers until a certain condition is met, such as a certain answer is found or a limit is reached.

Before using the while instruction, you should understand the following:

  • The while instruction must be used in a computation—it cannot be inserted directly in a model.
  • When using the while instruction inside of a repeat instruction, the while instruction will not affect the underlying counter variable associated with the repeat instruction. If you need to count something within a while loop, you must create your own temporary counter. Additionally, to access repeated variables in a while loop, you must use explicit indexing.

In the following example, you want to create a list of signers in a will. Since the signers may include both beneficiaries and fiduciaries, you want to merge both lists into one. Because some fiduciaries may also be beneficiaries, you will want to remove any duplicate names. To loop through the list of fiduciaries, you will use the while instruction:

set SignerCount to 0

repeat BeneficiaryInformation

increment SignerCount

set SignerName[SignerCount] to BeneficiaryName

endRepeat

repeat FiduciaryInformation

set Lookup to 1

while Lookup <= SignerCount and FiduciaryName != SignerName[Lookup NU]

increment Lookup

endWhile

if Lookup > SignerCount

increment SignerCount

set SignerName[SignerCount] to FiduciaryName

endIf

endRepeat

In the first part of this script, the BeneficiaryInformation dialog is repeated, and as answers are entered, their values are set to be used for SignerName (which is the variable that will be repeated to insert all the names of the signers). Then, in the second part of the script, as the FiduciaryInformation dialog is repeated, HotDocs uses the while expression to test whether the name of the fiduciary is the same as any of the beneficiary names. If it is not, it will likewise be added to the SignerInformation dialog.

In the next example, you need to remove unwanted space characters from a user's account number. Here, the while instruction is used to repeat an answer, character by character, so that HotDocs can check to see if there are space characters in the answer. If there are, HotDocs removes them and rewrites the answer.

set CountIndex to 1

while CountIndex <= length( AccountNumber )

if mid( AccountNumber, CountIndex, 1 ) = " "

set AccountNumber to first( AccountNumber, CountIndex -1 ) + last( AccountNumber, length( AccountNumber ) - CountIndex )

else

increment CountIndex

endIf

endWhile

This script uses a temporary counter (CountIndex) to keep track of which character in the answer HotDocs is looking at. Any time the answer is repeated and HotDocs finds a space character, it removes it by concatenating the characters before and after the space character. HotDocs then makes sure that the new character it is now examining isn't a space character either. If it is not, HotDocs increments the temporary counter, moves to the next character, and repeats this process.

Back to List


HotDocs Models: yearOf( date )

Placeholder | Replace With
date | A date value, such as a Date variable

You can use this expression model to find the year portion of a given date.

For example, in the following script, a new employee has temporary status until the end of his or her third month with the company. HotDocs uses the year of expression to specify the year:

dateOf( 1, monthOf( HireDate + 3 months), yearOf( HireDate + 3 months) ) - 1 days

In this example, HotDocs finds the first day of the fourth month of employment. HotDocs then subtracts one day to reveal the last day of the third month—either the 28th, 29th, 30th or 31st—depending on the month. It then merges the new date into the document.

Back to List


HotDocs Models: yearsFrom( date, date )

Placeholder | Replace With
date | A date value, such as a Date variable
date | A date value, such as a Date variable (These values can be in any order.)

This expression calculates the number of years between two given dates.

In the following example, the years from expression finds the client’s age at the time of the hearing:

years from( HearingDate, BirthDate )

In this next example, the expression determines whether an employee has worked at the company for 25 years or more. If the employee has, HotDocs merges a paragraph into the document with details of a retirement party.

[if:yearsFrom( HireDate, RetirementDate ) >= 25:We would like to honor you at a retirement party on [PartyDate;da] at [PartyTime;te] at [PartyLocation;te].

]

Back to List


HotDocs Models: zero( num_var )

Placeholder | Replace With
num_var | A Number variable

This expression returns the value of zero only if a Number variable is unanswered. If the Number variable is answered, the value is the answer the user specifies.

For example, users will sometimes leave a Number variable blank instead of entering 0. If the Number variable is then used in a Computation variable, because it is unanswered, the computation will not be processed. The zero expression ensures the variable is assigned a value so the computation can return a value.

In this example, the zero expression is used in the Computation variable InvoiceTotal to return 0 if the Number variable ShippingCharge is unanswered.

TotalPrice + zero( ShippingCharge )

Back to List


Example HotDocs Update Catalog File

Example HotDocs Update Catalog File

<?xml version="1.0"?>

<updatecatalog>

<formatversion>1</formatversion>

<feedurl>http://www.HobbleCreek.com/update.rss</feedurl>

<checkinterval>7</checkinterval>

<publishdate>Sun, 03 Jun 1990 00:00:00 GMT</publishdate>

<title>Hobble Creek Real Estate Forms</title>

<enabled>true</enabled>

<password></password>

<notinstalleditems/>

<discardeditems/>

<installeditems/>

</updatecatalog>


Example RSS Document

Example RSS Document

<?xml version="1.0"?>

<rss version="2.0">

<channel>

<title>Hobble Creek Real Estate Forms</title>

<link>http://www.HobbleCreek.com/update.rss</link>

<description>Serving you since 1994</description>

<item required="true">

<title>Real Estate Purchase Contract (REPC)</title>

<link>http://www.HobbleCreek.com/repc.hdi</link>

<description>This is the new form adopted by the State Real Estate Commission.</description>

<guid>00001</guid>

<category>File Update</category>

<pubDate>Tue, 21 Mar 2006 15:27:18 GMT</pubDate>

</item>

<item>

<title>Visit the new Hobble Creek Real Estate Web Site</title>

<link>http://www.HobbleCreek.com</link>

<description>New features are added daily</description>

<guid>00002</guid>

<category>Message</category>

<pubDate>Tue, 21 Mar 2006 15:27:18 GMT</pubDate>

</item>

<item>

<title>Happy Holidays</title>

<link></link>

<description>Wishing you a happy holiday season from your friends at Hobble Creek Real Estate.</description>

<guid>00003</guid>

<category>Message</category>

<pubDate>Tue, 21 Mar 2006 15:27:18 GMT</pubDate>

</item>

</channel>

</rss>


Names of Repeated Answers

Names of Repeated Answers

HotDocs templates can repeatedly ask a question using a REPEAT instruction, which generates a list of answers. Templates created using HotDocs Developer can also contain nested REPEAT instructions up to four levels deep.

In addition to indicating the value type and variable name, repeated answer names must indicate the position of the answer in the list of answers for that variable. Position is indicated by appending a period and a number to the end of the 31 characters that indicate the value type and variable name, for example:

Ttentant .1

For answers that result from nested REPEAT instructions, one period and number will be appended for every repeat level, for example:

Ttenant .1.3.2

The first number represents the first repeat level and the last number represents the last (deepest) repeat level.

When the template developer gives you the answer names, he or she will also need to tell you which answers are repeated and at what level.

Repeats can not be nested more than four levels deep.


Sample Code for Uploading an Answer File Using HotDocs Server

Sample Code for Uploading an Answer File Using HotDocs Server

This script fragment receives the uploaded answers from the client, decodes the answers, and populates an AnswerCollection object with the answers.

Once the answers are in the AnswerCollection object, they can be used like any other AnswerCollection object in HotDocs Server. This example creates an XML representation of the answers, which can easily be stored in a database.

<%

' Create the AnswerCollection Object

dim ac

Set ac = Server.CreateObject ("HotDocs_Online.AnswerCollection")

' Get the amount of data

dim count

count = Request.TotalBytes

' Read the POSTed data

dim data

data = Request.BinaryRead (count)

' Process the uploaded answers

ac.SetUploadedAnswers data, CInt(count)

' Now that you have an AnswerCollection object with the uploaded answers,

' you can do anything you want with them. In this example, we get an XML

' representation of the answer set which could easily be stored in a database.

' Get a copy of the answers in XML format

dim answers

answers = ac.GetXMLAnswers ()

' Now answers is a string containing the XML-format answers

%>


URL-encoded Text

URL-encoded Text

In URL-encoded text, alphanumeric characters and the dollar sign, minus sign, underscore, period, exclamation mark, asterisk, left and right parentheses, and comma are transmitted as normal text.

All other characters (such as quotation marks and spaces) are encoded to facilitate their transmission over the Internet. In the encoded text, these characters are replaced with a percent sign followed by a two-digit hexadecimal number representing the ASCII value of the original character. (For example, a space character would be replaced with %20 since 20 is the hexadecimal number for 32, which is the ASCII code for a space.)


Warnings Tab Descriptions

Warnings Tab Descriptions

Warning | Description
Variables that are set to a value and are marked "Save in answer file" | When HotDocs generates an interview outline, it processes any SET instructions and assigns answers to the variables that are set. This causes HotDocs to ask to save the answer file, even if the user doesn't enter any answers during the interview.
Variables that are set to a value and asked in the same interview You should not use a SET instruction to assign an answer to a variable and then ask the variable later in the interview. As HotDocs processes answers and rebuilds the interview, the value assigned by the SET instruction will always overwrite any answers the user provides. An example of this would be the following script:

SET TF Variable TO TRUE

... (later in the template)

ASK Dialog

(where Dialog uses the variable, TF Variable.)

In this situation, even if the user marks TF Variable as false, HotDocs will always change it back to true because of the SET instruction.

If you want to suggest an answer for a user, use the DEFAULT instruction instead of the SET instruction. If you want a variable to always have a specific answer, then SET the answer and do not ask that variable anywhere in the template.
Variables that are asked more than once in the same interview | You should not ask the same variable more than once in an interview. If you do, HotDocs will always assign the last answer you gave to the variable, no matter where it is used in the interview.
Variables that are referred to in a dialog script and are set to a value later You should not refer to a variable in a dialog script and then set that variable to a value later in the template. When HotDocs reprocesses the interview, the set value may change the appearance of the dialog—including how it presents variables to the user and how it processes the answers.

An example of this would be the following script:

SET Client TO "Husband" ASK Husband Information SET Client TO "Wife" ASK Wife Information

In and of itself, this script is OK. However, Husband Information and Wife Information are dialogs that contain the following dialog element text:

The following information applies to the «Husband or Wife».

Husband or Wife is a computation that merges the literal text "husband" or "wife" into dialog element text, depending on the answer to Client.

Because HotDocs continually updates the interview, it will always use the last value resulted for this computation, which means that the dialog element text will always merge the word "wife," even if the user is viewing the Husband Information dialog. This could be confusing to the user.
Variables that are not asked when referred to but are asked later | You can refer to a variable in a template without asking the variable (by referring to the variable in an ASK NONE block or by clearing the Ask automatically option for the variable). However, if you do this, you should not ask the variable or set it to a value later in the template. Doing this will replace the answer that was used for the variable earlier in the template, thus causing an inconsistency.


How Variables and Dialogs Are Asked

How Variables and Dialogs Are Asked

A variable is asked automatically when all of the following conditions are true:

  • The answer for the variable is used (for example, tested in an IF instruction or merged into text), and
  • The variable hasn't been asked before in the interview, either by itself or as part of a dialog, and
  • The variable is marked Ask automatically.

A dialog is asked automatically when all of the following conditions are true:

  • The dialog has not been asked before in the interview, and
  • A variable to which the dialog is linked is marked Ask automatically.

Additionally, a dialog will be asked automatically when it is used in a REPEAT instruction.


Tips on Naming True/False Variables

Tips on Naming True/False Variables

If you are using the True/False variable's name as the prompt in the answer-gathering dialog, you may want to consider naming a True/False variable after the section of the template it affects—for example, Marriage Clause. This makes sense if the user is going to be selecting from a list of such sections—Marriage Clause, Children Clause, Out-of-State Residence Clause, and so forth.

Or, you can consider naming the variable after the condition itself—Client Is Married. This makes sense if the user will not be selecting from a list of sections—especially if the same True/False variable might be used as the condition for more than one part of the template.


Understand Currency Symbols

Understand Currency Symbols

Currency symbols are not merged into the document—they only appear in the answer field to help the user know what type of information to enter. If you want a currency symbol to merge in the document, create an example format that contains the currency symbol, or make sure the symbol is included in the template text.

If the currency symbol you want is not available, you can create it by typing it in the Currency box. Currency symbols can be up to three characters long.


Additional Support Information for Folio Views 4.2

Additional Support Information for Folio Views 4.2

Differences Between Versions

HotDocs provides the same level of support for Folio Views 4.2 that was provided for Views 3.x in earlier versions of HotDocs. Developers who create templates with help links to Folio infobases should note the following:

  • With Views 4.x versions prior to 4.2, most notably 4.11, a new instance of Views is started each time an infobase is accessed from within HotDocs. This is due to an error in Views that has been corrected in version 4.2.
  • Views 4.x infobases cannot be opened in Views 3.x.
  • Version 3.x infobases can be used with Views 4.2. However, Views 4.2 does not handle jump destinations passed by HotDocs correctly with 3.x infobases. The 3.x infobase comes up in Views 4.2, but Views does not move to the jump destination.

Command-Line Options

Two command-line options help you identify the version of infobase files distributed with HotDocs template sets. These options ensure that HotDocs looks for the correct version of Views to display the help files. The options operate as follows:

/v3 | Identifies a Views version 3.x infobase
/v4 | Identifies a Views version 4.x infobase

If a user may have both versions of Views installed, or if you want to make sure HotDocs does not attempt to open an infobase in the wrong version of Views, specify the infobase version by appending the correct command-line option following the Infobase file entry in the Resource tab. For example:

TCAHelp.nfo /v3

This file name identifies the infobase TCAHelp.nfo as a Views version 3.x infobase.


Assign a Custom Program as a Resource

Assign a Custom Program as a Resource

You can use a custom program to display resource text. Make sure the custom program is in either the same folder as the template or the Windows\System folder.

To use a custom program to display resource text

  1. Open the variable or dialog to which you want to assign resources. (See Edit a Variable or Edit a Custom Dialog.)
  2. Click the Resource tab.
  3. Click the Resource type drop-down button and select Custom Program.
  4. Click the [image] Open button next to the Program file field and locate the file.
  5. Type any necessary command-line options in the Command-line parameters field.

During the interview, HotDocs displays a link in the resource pane, which the user can click to open the custom program.


Assign a Web Page as a Resource

Assign a Web Page as a Resource

You can display the text from a Web page as a resource.

To assign a URL as a resource

  1. Open the variable or dialog to which you want to assign resources. (See Edit a Variable or Edit a Custom Dialog.)
  2. Click the Resource tab.
  3. Click the Resource type drop-down button and select URL.
  4. Type the full URL path (or Web address) in the URL field.
  5. Optionally, type the anchor tag of the specific text in the Web page you want to display in the Anchor tag field.
  6. Optionally, select Resource pane to display the Web page directly in the resource pane.

During assembly, HotDocs displays the Web page either in its own browser window, or in the resource pane, depending on whether you selected Resource pane.


Assign Folio Help as a Resource

Assign Folio Help as a Resource

You can use information from a Folio Infobase as a resource. The Folio infobase must be in the same folder as the template.

To assign Folio help as a resource

  1. Open the variable or dialog to which you want to assign resources. (See Edit a Variable or Edit a Custom Dialog.)
  2. Click the Resource tab.
  3. Click the Resource type drop-down button and select Folio Infobase.
  4. Click the [image] Open button next to Infobase file field and locate the infobase (.NFO) file.
  5. In the Jump link field, type the name of the jump link.

During assembly, HotDocs displays a link in the resource pane, which the user can click to open Folio Views. The information from the infobase appears.

See Additional Support Information for Folio Views 4.2 for more information on using Folio help.


Assign HTML Help as a Resource

Assign HTML Help as a Resource

You can assign HTML Help (or .CHM file) as a resource for a variable or dialog. The resource can appear either in a help viewer or as pop-up text. You may need to review your HTML Help program's documentation for additional information on concepts and terms described below.

To assign HTML Help as a resource

  1. Open the variable or dialog to which you want to assign resources. (See Edit a Variable or Edit a Custom Dialog.)
  2. Click the Resource tab.
  3. Click the Resource type drop-down button and select HTML Help from the Resource type drop-down list.
  4. Click the [image] Open button next to the HTML Help file field to locate the file.
  5. In the Topic field, type a topic name (for example, Employee_Name.htm) or an alias map number (for example, 1).
  6. Select Resource pane to display the HTML text directly in the Resource pane.
  7. Optionally, if you have a specific window style you want your help to appear in, include the window name after a right-angle bracket at the end of the topic name, for example, topic_title.htm>secondary window.
  8. Optionally, to reference a bookmark, include the pound sign between the topic tile and the bookmark name—for example, topic_title.htm#bookmark_name.)

To display the help text in a pop-up window, enter a context ID map number for the pop-up help in the Topic field. If your context-sensitive help is saved as something other than popup.txt (the default file name for which HotDocs searches), you must include the file name after the map number (for example, 1:context.txt) When the user views the resource pane, HotDocs displays a link which the user must click. At that point, a What's This? help-style window appears.


Assign Windows Help as a Resource

Assign Windows Help as a Resource

Windows Help (or .HLP files) are not supported on Windows Vista.

You can assign a Windows Help file (or .HLP file) as a resource for a variable or dialog. The file must be in the same folder as the template.

To assign Windows Help as a resource

  1. Open the variable or dialog to which you want to assign resources. (See Edit a Variable or Edit a Custom Dialog.)
  2. Click the Resource tab.
  3. Click the Resource type drop-down button and select Windows Help.
  4. Click the [image] Open button next to the Windows Help file field and locate the file.
  5. In the Topic field, type the context ID number of the corresponding help topic. (Sometimes this is called a hash number. You may need to review your Windows Help program's documentation for additional information.)
  6. Optionally, select Pop-up to display the information in a pop-up help window. (The window only stays open until the user clicks somewhere else.)

During assembly, HotDocs displays a link in the resource pane, which the user can click to open the WinHelp viewer. The information from the help file appears.


Tips on Using Unanswered Variable Placeholders

Tips on Using Unanswered Variable Placeholders

You can specify unanswered text placeholders four different places in HotDocs:

Variable field: When specified at the Variable Field dialog box, the placeholder is used only for that specific instance of the variable. It overrides any placeholders you specify at the Variable Editor. (You can enter whatever placeholder text you like here.)

Variable component: When specified at the Variable Editor, the placeholder becomes the default for the variable and will be used when no field-specific placeholder has been specified. (You can enter whatever placeholder text you like here.)

Component file: When selected at the Component File Properties dialog box, the placeholder is applied to all variables within the component file, except those that have a default or a field-specific placeholder assigned. If Default is selected, whatever options the user has specified at HotDocs Options will be used for those not already assigned a specific placeholder.

HotDocs Options: When users assemble documents, they have some control over which placeholder will be used if they leave variables unanswered. (They make their selection at the HotDocs Options dialog box.) However, if you have assigned placeholders using any of the methods above, your selection will override theirs.


Using a Dialog to Display Only Dialog Element Text

Using a Dialog to Display Only Dialog Element Text

You can create a dialog that contains text only and no variables. You must be aware of some constraints in doing this, however:

  • If you want the dialog to appear during the interview, you must insert an ASK instruction in the template where you want the dialog to be asked.
  • HotDocs considers a dialog with only dialog element text to be answered, so if a user completes an interview using the [image] Next Unanswered button, HotDocs will skip the dialog. To force HotDocs to display it, select Always stop at this dialog when moving to next unanswered (Options tab).


Customize the Properties Tab of the Library Window

Customize the Properties Tab of the Library Window

When a user selects an item in a HotDocs template library, information about the selected item appears in the Properties tab of the window. By default, HotDocs displays this information in a generic page that HotDocs generates. However, you can create a custom HTML document using the .HTM extension or . MHT extension (Web Archive) that replaces the HotDocs generic page. You can do this for individual items in a library, for an entire library, or for all libraries.

Creating a Custom Properties Page

Hierarchy of Properties Page Presentation

HDI File Caveats

Sample Code

Creating a Custom Properties Page

When you customize the Properties tab of the library, you can completely control the look and feel by adding your own contents and company logos, and using your own formatting and styles for the contents. Specifically:

To create a custom properties page for a specific template:

  • Give your custom document the same name as your template, being sure to save the document with an .HTM or .MHT file name extension. For example, for a template with the file name Subpoena,docx, name your custom document either Subpoena.htm or Subpoena.mht. Be sure to save your custom properties page in the same folder as the template.

To create a custom properties page for a specific folder in a library:

  • Give your custom document the same name as the library, followed by an underscore (_) and then the name of the folder, being sure to save the document with an .HTM or .MHT file name extension. For example, for a folder titled Corporate Minutes located in a library called Real Estate.hdl, name your custom document either Real Estate_Corporate Minutes.htm or Real Estate_Corporate Minutes.mht. Be sure to save your custom properties page in the same folder as the library file.

To create a custom properties page for just the main folder in a library:

  • Give your custom document the same name as the library, followed by an underscore and the word main, being sure to save the document with an .HTM or .MHT file name extension. For example, for a library called Estate Planning, name your custom document either Estate Planning_Main.htm or Estate Planning_Main.mht. Be sure to save your custom properties page in the same folder as the library file.

To create a custom properties page for an entire library:

  • Give your custom document the same name as the library file, being sure to save the document with an .HTM or .MHT file name extension. For example, for a library called Real Estate.hdl, name your custom document either Real estate.htm or Real estate.mht. Be sure to save your custom properties page in the same folder as the library file.

To create a custom properties page for HotDocs to use for all items in all libraries:

  • Name your custom document Properties.htm or Properties.mht. Be sure to save your custom properties page in the default Libraries folder (for example, C:\Documents and Settings\UserName\My Documents\HotDocs\Libraries).

Hierarchy of Properties Page Presentation

When a user selects an item in the library, HotDocs determines whether you specified a custom properties to display the properties for the item. To determine this, HotDocs searches first for an HTML page that shares the same file name as the selected file. If nothing is found, HotDocs then searches for an HTML page that uses the same name as the library file. If this search doesn't yield anything, HotDocs searches for the file Properties.htm (or Properties.mht). Finally, if no custom HTML page exists, HotDocs generates its own properties page.

After you customize the Properties tab, when you select an item in the library, HotDocs takes the information it knows about the item (such as its title or description) and, using HTML Span Tags, substitutes that information into the HTML document and displays it instead of the default Properties tab.

HDI File Caveats

If you publish your templates as HDI files, you can include your template-specific custom properties pages by adding them as additional files in the HDI. Be aware, however, that when a user installs your HDI file, HotDocs installs all additional files within the same destination folder as the templates. In addition, when you publish, naming issues arise for items above the template level. Therefore, if you want to install custom properties pages that affect more than a single template, you should use your own custom installer.

Sample Code

The following is sample HTML code you can customize to adapt the Properties tab of the HotDocs template library for your needs:

<html>

<body>

<table width="100%">

<!-- This section of HTML code controls the properties for selected files in the library. You can format the text, remove properties you don't want displayed, and so forth. -->

<SPAN id="ID_FILE">

<tr>

<td width="100%" colspan="2">

<SPAN id="ID_HEADING"/>

</td>

</tr>

<tr>

<td width="5%">

<p align="right">Title:</p>

</td>

<td width="95%">

<SPAN id="ID_TITLE"/>

</td>

</tr>

<tr>

<td width="5%">

<p align="right">Type:</p>

</td>

<td width="95%">

<SPAN id="ID_TYPE"/>

</td>

</tr>

<SPAN id="ID_FILENAME_ROW">

<tr>

<td width="5%">

<p align="right">File name:</p>

</td>

<td width="95%">

<SPAN id="ID_FILENAME"/>

</td>

</tr>

</SPAN>

<tr>

<td width="5%">

<p align="right">

<SPAN id="ID_FILE_PATH_TEXT">File path:</SPAN>

</p>

</td>

<td width="95%">

<SPAN id="ID_FILEPATH"/>

</td>

</tr>

<tr>

<td width="5%">

<p align="right">Description:</p>

</td>

<td width="95%">

<SPAN id="ID_DESCRIPTION"/>

</td>

</tr>

</SPAN>

<!-- This next section of HTML code controls the properties for selected folders in the library. You can format the text, remove properties you don't want displayed, and so forth. -->

<SPAN id="ID_FOLDER">

<tr>

<td width="100%" colspan="2">

<SPAN id="ID_HEADING"/>

</td>

</tr>

<tr>

<td width="10%">

<p align="right">Title:</p>

</td>

<td width="90%">

<SPAN id="ID_TITLE"/>

</td>

</tr>

<tr>

<td width="10%">

<p align="right">Description:</p>

</td>

<td width="90%">

<SPAN id="ID_DESCRIPTION"/>

</td>

</tr>

</SPAN>

</table>

</body>

</html>


Example HTML for Library Properties Tab

Example HTML for Library Properties Tab

<html>

<body>

<table width="100%">

<!-- This section of HTML code controls the properties for selected files in the library. You can format the text, remove properties you don't want displayed, and so forth. -->

<SPAN id="ID_FILE">

<tr>

<td width="100%" colspan="2">

<SPAN id="ID_HEADING"/>

</td>

</tr>

<tr>

<td width="5%">

<p align="right">Title:</p>

</td>

<td width="95%">

<SPAN id="ID_TITLE"/>

</td>

</tr>

<tr>

<td width="5%">

<p align="right">Type:</p>

</td>

<td width="95%">

<SPAN id="ID_TYPE"/>

</td>

</tr>

<SPAN id="ID_FILENAME_ROW">

<tr>

<td width="5%">

<p align="right">File name:</p>

</td>

<td width="95%">

<SPAN id="ID_FILENAME"/>

</td>

</tr>

</SPAN>

<tr>

<td width="5%">

<p align="right">

<SPAN id="ID_FILE_PATH_TEXT">File path:</SPAN>

</p>

</td>

<td width="95%">

<SPAN id="ID_FILEPATH"/>

</td>

</tr>

<tr>

<td width="5%">

<p align="right">Description:</p>

</td>

<td width="95%">

<SPAN id="ID_DESCRIPTION"/>

</td>

</tr>

</SPAN>

<!-- This next section of HTML code controls the properties for selected folders in the library. You can format the text, remove properties you don't want displayed, and so forth. -->

<SPAN id="ID_FOLDER">

<tr>

<td width="100%" colspan="2">

<SPAN id="ID_HEADING"/>

</td>

</tr>

<tr>

<td width="10%">

<p align="right">Title:</p>

</td>

<td width="90%">

<SPAN id="ID_TITLE"/>

</td>

</tr>

<tr>

<td width="10%">

<p align="right">Description:</p>

</td>

<td width="90%">

<SPAN id="ID_DESCRIPTION"/>

</td>

</tr>

</SPAN>

</table>

</body>

</html>


Span Tags for Customizing the Library Properties Tab

Span Tags for Customizing the Library Properties Tab

You can customize the information displayed in the Properties tab using the following SPAN tags:

  • ID_FILE: Any information contained between this span tag and its close will be omitted when displaying the properties for a folder.
  • ID_FOLDER: Any information contained between this span tag and its close will be omitted when displaying the properties for a file.
  • ID_HEADING: The default heading for the library item type. For files this is TEMPLATE PROPERTIES. For folders, this is FOLDER PROPERTIES.
  • ID_TITLE: The title of the item (used for both files and folders in the library).
  • ID_TYPE: The type of item.
  • ID_FILENAME or ID_FILENAME_LINKED: The file name of the item. (If you append the text LINKED to the tag, HotDocs converts the file name to a hyperlink, which, when clicked, will browse to and select the file.)
  • ID_FILEPATH or ID_FILEPATH_LINKED: The file path for the item. (If you append the text LINKED to the tag, HotDocs converts the folder path to a hyperlink, which, when clicked, will browse to and open the folder.)
  • ID_DESCRIPTION: The description of the item (used for both files and folders in the library)