<<*Ask*>> Prompts
Sometimes you just need to <<*Ask*>> a question of the end user. "Are there children?" "Has a certain condition been met?"
Further, you want the end-user to provide the answer at the beginning of a document assembly process, when there is nothing that you (as the document's author) want to 'do' with it right now. That is the purpose of the <<*Ask*>> prompt.
<<*Ask*>> works in tandem with any <<*Options*!group!>> and <<*Optional*!group!>> text blocks within a document. Its purpose is to simply ask a question, remember the answer and move on. The answer is associated with the !group! value. It will be used further down to page to process <<*Options/Optional*>> text blocks when the are identified.
Once asked and answered the <<*Ask*>> prompt is deleted.
<<*Ask*>> prompts are totally optional. If the first 'normal' appearance of an <<*Options/Optional*>> block in the document provides a prompt that is clear enough for the typical user to make the proper selection, you may choose to not use an <<*Ask*>> prompt. The <<*Options/Optional*>> block serves the same function.
But when you (as author) want to present choices in a fashion that may be 'clearer' than the choices provided in the first instance of an <<*Options/Optional*>> block, you should definitely consider using an <<*Ask*>> prompt. With <<*Ask*>> prompts, you can pose unambiguous questions (and easily edit them until 'perfect' if what you thought was unambiguous didn't turn out so after all).
Here are other benefits of <<*Ask*>> prompts:
| • | You can collect and present document questions in one location. Typically this is at the top of the document in its own section. (It is easier to edit questions you will be asking your end users when they are grouped together.) |
| • | You can make the questions uniform from document to document. Just copy a good set of <<*Ask*>> from one document to another. |
| • | <<*Ask*>> prompts allow you to get rid of the prompts that you may have typed within your <<*Options/Optional*>> blocks. This may result in a significant savings of document 'real estate' when the <<*Options/Optional*>> block is 'pure.' |
| • | <<*AskValue*>> prompts allow you to request a value from the end user. That value can be analyzed |
You should place all of your <<*Ask*>> prompts together and at the top of your document. There, when the document is processed, they will be asked first. Then, all of the !group! values will be collected and 'memorized', and you won't have to tend to the document as it is being further processed.
Limitations:
| 1. | The source <<*Options/Optional*>> block must contain a !group! name. Reason: the <<*Ask*>> prompt must have a !group! reference in order to link with <<*Options/Optional*>> blocks further below in the document.) |
| 2. | The <<*Options/Optional*>> must either contain 'prompt' statements/questions or, if no such statements, actual text options whose combined length is less than 150 characters. (If longer than 150, an <<*Ask*>> block will still be created. You will be prompted to create manually the actual prompts that will be asked of the end user.) |
<<*Ask* . . .>> prompts are typically located at the top of the document. That way, it is the first thing that the end-user will encounter during a document assembly session. However, these prompts are typically created last in the source document creation process. The reason is this: unless you know what the <<*Options . . . Optional . . . Repeats*>> text is, you will not know what to even "Ask". So as you study and try to mimic the examples on the following pages, keep the above in mind. We recommend that you don't even try to create the <<*Ask* prompts until you have thoroughly composed and tested your document. Remember that <<*Ask*>> prompts are optional, so you certainly don't need them in the initial stages of source document development. |
Click the
button in the menu bar to read more about the <<*Ask*>> prompt.