HotDocs Interviews Overview
A HotDocs interview is a series of interactive dialogs containing questions used to gather data from your template users. HotDocs generates the interview content from the variables and dialogs you define in your template. For example, you might group the name, gender, and birthdate variables into a dialog in order to improve the usability of the interview for your template users.
Overview
The interview is the name for the part of the user interface presented to the template user within an internet browser. The interview itself has five distinct areas:
- Interview Toolbar - a row of tabs at the top of the interview the template user can use to switch between the Interview, Document Preview, and Answer Summary views
- Outline - the pane to the left of the interview that displays a list of all the dialogs (or groupings of questions) in the interview and allows the template user to quickly move to any dialog in the interview
- Interview - the pane in the center of the interview that presents the questions as defined by the template
- Additional Information - the pane to the right of the interview that displays any explanatory text or URL you wish to provide your template users for any questions within the interview (or about the interview itself as a whole)
- Navigation Bar - the bar below the interview that the template user uses to navigate through the interview and click the Done button when they are done
You can find a complete description of the interview here.
Using these different parts of the interview, template users are able to enter their answers, see their progress as they move through the interview, and have access to tools to help them complete the interview.
As the author of the template, you have control over the content, behavior, and look and feel of the interview. For example, you can create a single or Multi Select variable to enable your template users to pick their answer from a list of options you define, choose from different list styles, and warn the template user if they leave the question unanswered. You can also provide descriptive text that displays in the interview, such as titles for dialogs and prompts for individual questions.
Once a user completes the interview, HotDocs assembles the final customized document from the template by placing the interview answers into the template text.
Common Tasks
Among others, an interview enables you to perform the following common tasks:
- Defining a custom interview computation
- Placing a dialog in an interview
- Creating a popup interview
- Testing a component
- Testing a template
Workflow
In HotDocs Author, the point in your workflow that you need to consider the interview depends on which interview type you choose. For example, you can rely on the HotDocs default (known as a default interview) or you can determine the order of the interviews questions with a custom interview computation (known as a custom interview).
If you choose to use a default interview, you will need to consider your interview as you add placeholders in various locations throughout your template. If you choose to use a custom interview, you do not need to take into account the placement of placeholder fields in the body of the template, but you will be required to use a customer interview computation.
Whichever interview type you choose to use, the process of creating your interview heavily involves creating components such as variables and dialogs. Furthermore, whichever interview type you choose to craft the interview experience, you can use the Test feature at any time to interact with a component or template to verify the interview behaves as you want.
Interview Generation Workflow
In generating an interview from a template, HotDocs follows the following workflow:
-
HotDocs first checks to see if you created a custom interview computation for the template.
- If you created a custom interview computation, HotDocs inspects the computation for the presentation order of the variables or dialogs in the interview.
- 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 template user.
- 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.
- When HotDocs locates a variable in the template, unless that variable has already been asked in the interview, it presents the variable as a question in the interview (and if that variable is on a linked dialog with any other variables, it presents the other variables as well).
Additionally, if HotDocs presents a variable as a question in the interview, and that variable references other variables (such as those referenced by adding a placeholder field), HotDocs displays those variables as questions in the interview (and if that variable is on a linked dialog with other variables, it presents those as well).
-
- 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).
Choose an Interview Type
For new template authors, default interviews are a recommended best practice, as they do not require the creation of a custom interview computation (a comparatively more complicated process). To help you make the decision about which interview type to choose, consider the following facts about both interview types:
Default Interviews
A default interview is one in which the questions are presented to the template user based on the location of the placeholder fields in the template and have the following characteristics:
- All newly created templates automatically use default interviews
- Questions are defined by the variables you create for your template and presented to the template user either in a default dialog or a dialog you create
- HotDocs presents the variable as a question in the interview (taking into account the display and behavior properties).
- If a variable is already part of an interview, HotDocs proceeds to the next field in the template until all fields have been processed.
- If the variable is in a dialog, any other variables also in that dialog are added to the interview at that time (and are presented in the order they are listed in the dialog's contents tab)
- For large templates with lots of scripting, default interviews may result in interviews with delays when navigating through dialogs
Default Interview Example
The example below shows a short template, followed by the corresponding dialogs that would appear in the interview:
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]
[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]
Custom Interviews
A custom interview is an interview in which the questions are presented to the template user based on a custom interview computation (which enables you to control the order in which HotDocs displays interview questions without regard to location of the placeholder fields in the template). Custom interviews have the following characteristics:
- Enable you to use a series of ASK instructions to ask the variables and dialogs in your template in the exact order you want
- ASK instructions in the body of your template will be ignored
- Increases performance in interviews generated from large templates with lots of scripting (some interviews generated from large/complex templates may respond slowly to user interactions)
- Can contain other scripting, such as IF instructions and REPEAT instructions within the interview computation
- Can result in templates with less "clutter" in the body of the template
Custom Interview Computation Example
After you have used the Component Studio to group your variables into dialogs you can create a very basic custom interview computation to ask them in the order you choose. If you have three dialogs; EmployeeInformation, JobDetails, and BenefitDetails your computation could look like this:
ASK EmployeeInformation
ASK JobDetails
ASK BenefitDetails
The answer intake displays these three dialogs to the user in the order listed.
Perhaps you only want the user to answer the questions on the BenefitDetails details dialog if they have selected that the job details contain a benefits package by choosing true in a true/false variable called BenefitsPackage. Then the computation could look like this:
ASK EmployeeInformation
ASK JobDetails
IF BenefitsPackage
ASK BenefitDetails
END IF
The interview displays the first two dialogs in order and, if BenefitsPackage is answered as true in the second dialog, HotDocs displays the BenefitDetails dialog.
Common Interview Customizations
The following features represent some of the most common ways you can customize the interview.
Dialogs and Dialog Elements
Whether you use a default or custom interview, you can use the Dialog Editor in Component Studio to perform many important interview customizations—those related to dialogs and dialog elements. For example, you can create a dialog and group related variables together to present multiple questions to the template user one on screen. You can also use dialog elements to customize the look and extend the functionality of dialogs. For example, you can use a Web Link dialog element to provide the link to a web resource, such as a video or set of documents and an Image dialog element to add an image to a dialog. There are other customizations available in the Layout, Script, Display, and Behavior tabs of the dialog editor, some of which are described below.
Variable Prompts
By default, when you type a name for a variable, that text appears in the interview as the text of the interview question itself. For most templates and template authors, using the variable name as the text for the question itself is not appropriate. For example, you might find it useful to name a variable OrganizationTypeSSVar for purposes of organization when using Component Studio, but you will certainly want to present the template user with more useful text in an interview. To do this, you can create a prompt for a variable, which enables you to type descriptive text for the component that HotDocs typically displays next to the answer field in the interview; for example, Select an organization type from the following options.
You can make some interview text dynamic by adding placeholder fields inside the interview.
Scripts
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.
Express Navigation
By default, clicking the Next button during the interview will proceed to the next dialog, including any children dialogs. However, should you want the interview to skip children dialogs (for example, if you want a child dialog to be included in the interview based on a question in a parent dialog) you can enable Express Interview Navigation in the Template Properties' Interview Behavior tab. With Express Interview Navigation enabled, template users can still navigate to child dialogs, but navigating to them will require clicking on the individual child dialog using the mouse. In addition, when viewing the contents of child dialog with Express Interview Navigation enabled, clicking the Next button will return to the parent dialog, instead of proceeding to the next dialog.
Irrelevant Variables and Dialogs
When you create a template, you will frequently need specific interview questions to be asked based on how the template user answers another question. For example, assume you have a dialog that asks (using True/False variables) whether a client has any pre-existing health conditions. If the client answers yes, then you will want to ask additional questions. If the client answers no, then you have no need to ask follow up questions. You can accomplish this using a script or you can deselect the Automatically hide or disable irrelevant variables property in the Template Properties dialog box.
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 once, even if you instruct it to add that element a second time (by using an ASK instruction) in a Custom Interview Computation.
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 those variables 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, unless HotDocs has already added that element to the interview.
Use ASK instructions carefully to avoid duplicating variables in your interview.
Test Interviews vs Advance Interviews
There are a few minor differences between the user interface of a test interview and the interview as displayed to template users on HotDocs Advance. For example:
- In a test interview, you can right-click on the title of an answer field to open a menu where you can select Edit Component (to open that component in Component Studio) or Component Name (to view that component's name). In a Advance interview, you cannot edit or open a component.
- The End of Interview dialog box in a test interview differs from that of an Advance interview
- In a test interview you have the Test Toolbar enabling you to Open Answers, Save Answers, and more. In an Advance interview, the features of the Test Toolbar are not relevant.
Common Reference Topics
Among others, the following reference topics relate to this conceptual area: