Interview Computations (Best Practices)
A few recent posters to the HotDocs list have suggested it was not “best practices” to use computation in the INTERVIEW computation; that is was best to use a series of ASK statements, surrounded by IF EXPRESSIONS to guide the interview. This Blog add looks into Best Practices for creating a document-scope INTERVIEW computation in HotDocs
Related Link: General information on HotDocs
A few recent posters have suggested it was not “best practices” to use computation in the INTERVIEW computation; that is was best to use a series of ASK statements, surrounded by IF EXPRESSIONS to guide the interview.
Best practices are always best understood in context: what is the purpose of the practice; when is this practice appropriate. In the case of using computations inside the INTERVIEW computation, there are a number of competing factors that affect your choice.
READABILITY: The purpose of the interview computation is to define the scope of the INTERVIEW for a document. To this end, it is meant for a sequence of ASK statements. The more you can focus on what is being asked, and place it on the dialog, the easier it will be to debug scripting issues arising from “misplaced dialogs” and “orphan variables”. There may also be a benefit for those using HotDocs Online, where it is indeed best practices to explicitly state the order of dialogs asked.
SPEED OF PROCESSING: There are times where HotDocs processes or calculates certain scripts FASTER than other ways, used by more experienced developers. I have found a modular master interview, with optional calls out to computation variables that contain the dialog asking sequence to actually run faster. In a Master Will, I might have a sequence dealing with pre-residuary gifts that I would isolate from the main interview in its own computation.
DATA-MANIPULATION: HotDocs 6 and HotDocs 2005 fundamentally changed the way HotDocs processes data. It changed from a “linear processing” to “recursive processing” whereby each new data entry leads to a recalculation of the complete interview tree. Being aware of this has led to certain best practices on our part, namely using either (1) Buttons that launch computations or (2) computation scripts in the main interview that contain “flags” to determine whether or not they have been launched.
MASTER CMP vs. DISTRIBUTED CMP: also known as MATTER SCOPE INTERVIEW vs. DOCUMENT SCOPE INTERVIEW: I am a big believe of Matter Scope Interviews; a single CMP file that launches a master interview that start out with a Document Selection dialog, and then renders a custom interview based on the document(s) selected. In such an environment, interview scriptlets (or subinterview computations) are critical. On the otherhand, if you are only doing document scope interviews, which work in a system with shared matter-scope answer file, it would be easier to keep the scripting to simple ask statements in the INTERVIEW file.