Pathagoras.com

Instant Database

     At the 'back end' of the document assembly process (after the document is built and ready to personalize) Pathagoras continues to provide simple, plain text oriented solutions. The Instant Database module that comes with the program can quickly replace up to 999 separate variables found within the assembled document all in one sweep. Instant Database can scan for each [bracketed variable] (again, up to 999 separate variables) located within the document and present them in a list format where you can assign 'personal values' for the various variables. You can then either 'run' the search and replace routine or (probably better) first save the replacement list into a simple database. (If you save the data, you can then reuse it as often as you wish to complete other documents which contain the same variables).

Use 'Instant Database' to:  

Other Features:

     Instant Database allows you to list all of the items you want "searched and replaced" onto a simple form. Instead of doing an S&R routine for individual term (the typical Word method), Pathagoras allows you to do it all at once. An unlimited number of terms (actually 999) can be searched for and replaced in a single sweep. 

Procedure:

Marking the text source

'Plain' Variables

Display the document you wish to code. Please note from the beginning that when Pathagoras says 'code' he means plain text. It can be a form letter, a complete document, or, more likely for the more advanced users of Pathagoras, the glossary from which you draw clause to build a complete document.

At the appropriate locations, assign variables. A variable is simply a word which acts as a holding place. It holds the place for the personalized text that ultimately will occupy that "spot" in the finished product. 

For example, let's say you have created a Wills Glossary containing 100 clauses from which to choose.  Let's also assume that you built that glossary from a "live document" and the names of the original Testator, the spouse, children, etc., still exist in the glossary. Here's how you would assign the variables:

    1.  Display the "Wills Glossary" on the editing screen. 

    2.  Look for the names, addresses, numbers, etc., and substitute a letter or number variable as a place holder for that text. For example, use TTT (or TSTR, or Tstr, or anything you want to use) as a place holder for the name of the Testator (the person writing his or her will), SSS (or SPSE) as a place holder for the Testator's spouse, EEE for the Executor, and GGG for the Guardian of the children, etc. The only "rules" are that the variable should be a unique 'word' within the document, and not a real word itself (that's why I didn't use SPOUSE above) and not a part of another variable or real word.

Bracketed Variables

You can enclose the term within [brackets] (or other enclosing symbols). Then you don't have to worry about the unique name issue addressed above. You can use [SPOUSE] because the brackets themselves make the variable unique.

     

There is another advantage to [bracketed variables] -- Pathagoras can 'scan' for them in your document and automatically populate the IDB mask for you. See discussion about Scanning below.

    Multiple choice variables:

    If you want the user to be able to select among a series of choices, list those choices (up to 5) as the variables, separated by slashes. Pronouns are a popular entry, e.g., 'he/she/it/they' or 'him/her/them' but anything can be in the list, 'brilliant red/bright white/dark as night black/navy blue/hot pink'. Indeed, whole phrases, even sentences can be presented in the list, but there is a a practical limit, based on the IDB display parameters.

    • You can enclose lists of terms within [brackets] (or other enclosing symbols) as well. As noted in paragraph 1 above, Pathagoras can 'scan' for these variables in your document and automatically populate the IDB mask for you. See Scanning below.)
Final Step

If you have not [bracketed] your variables, make yourself a list of the variables that you placed into your document. In the next steps. you will add these variables to the InstantDatabase mask so that you can quickly and easily create a highly personalized document from your now neutered text source. Save your document.  

Scanning for Variables:

In addition to (or as an alternative to) the above techniques (in which the variables reside in the body of the letter, form, document, etc., without special markings) you may wish to take advantage of IDB's powerful Scan feature. This will allow you more flexibility in naming your variables, including more descriptive names and more natural language.

Place variable names in the document within {braces} or [brackets] or any other 'enclosing' character(s).  When you call up a document that you want to personalize for a client or customer, select InstantDatabase and tell Pathagoras to <Scan> the document (the <Scan> button is in the button stack at the right of the IDB screen, toward the bottom. IDB will locate each [bracketed term] and place its name in the left hand column of the InstantDatabase form. 

All that is left for you to do is to complete the right hand column. Just like with other IDB masks, you can even save all of your work for a later sessions. Using the Scan feature, it is acceptable to use 'real words for variables' (e.g., "[Name of Customer]"). Since the brackets set them apart, this will prevent the 'substitution confusion' that exists when you use something like "Name" or "Address" as a 'plain' variable.


 See also the GotForms? pages for more information on how [bracketed variables] can bring an immense amount of power to your word processing system.

Even though you can <Scan> for variables, it is best to create a Mask for you most frequently used forms. Here is why:

  • In only the rarest of cases will a scan return the [bracketed variables] in the 'best' (i.e., most logical) order for completion. For most users, it is most logical to complete the client's 'personal' data first (name, address, phones) and then move on to the project or other order specific info. By creating a mask, you can order the information to be filled in on the mask in any way you wish (i.e., the way that matches written order forms, client intake sheets, etc.).
  •  In only the rarest of situations is the name of every field 'self-explanatory' to all potential users. E.g., what does the word "Date" mean to a user? Date of Letter? Date of offer? Date of Acceptance? And even if "[Date]" were converted into "[Date of Offer]," what does a "date" look like? Is it April 5, 2005, or perhaps it should be "5 April 05" "4/5/2005" (American style) or "5/4/05" (European style).
  •  In only the rarest of situations will every piece of correspondence sent to a customer contain every field that you will wish to save for the customer. If you depend upon scan to populate the InstantDatabase screen, you will not likely have all the necessary fields for the next piece of correspondence you send to the client, so you have to scan again to pick up the [data] fields that the first (or second, or third) scan missed. By creating a mask, you can make sure that all potential fields exist, in the mask when you compose it.  Then, when you complete the mask with the customer's personal information, and save the record out to the IDB records list, the mask contains all information about the client so that it can readily be used for the next letter, offer, confirmation, order, etc. for that customer.
  • <Scan> does not check for bracketed variables in non-'mainstory' locations such as headers, footers or textblocks. If you have a variable in one of these locations that is not in the main story (where it will automatically be found), you must create a mask in order to insure inclusion of this variable in the mask. (You could manually type the non-mainstory variables, but that is counter-productive.)

Here is a typical blank InstantDatabase form:

InstantDatabase

  Notice the two columns of text boxes. Look at Instant Database as a very powerful Search & Replace tool. Indeed, that is all that it really is. The left column holds the variables (the 'search for' terms ) and the right column holds the personal data (the 'replace with' information). IDB displays 10 variables at a time, but can handle an unlimited number of fields. At the top of the page are boxes representing which page of variables are being displayed, and an arrow allowing you to view higher pages.

Simplest use of IDB:

If you have assembled (or are otherwise displaying) a document which contains variables that you want to "Search and Replace," activate Instant Database from the Pathagoras drop down menu. OR press <Alt-D>.

In the ‘Code’ (left hand) column, type the first variable contained in the document (e.g., ‘TTT’). In the ‘Value’ (right hand) column, type the text that should be substituted (e.g., ‘John Pathagoras’). On the second line, type the second variable and then the desired value. (You can press the <Tab> key to more from field to field). Continue until all variables are handled. When done, press the <Next> button.  All ‘codes’ in the left hand column found in the document will be almost instantly replaced by the values you have assigned.  

More 'advanced' use:

     Create a “mask” which guides the user as to the coding of a particular document. By way of example, in the ‘Code’ column, type ‘TTT’ and in the ‘Value’ column type ‘Testator’s Name’; next line: SSS / ‘Spouse’s Name’ ; etc. The ‘values’ column should be filled out in such a way as to provide the user with visual hints as to what style of data should be inserted. (E.g., Date could mean lots of different styles. But if you put ‘Date: Month D, YYYY’ there will be no question as to what style is desired. Save this out as a mask by typing ‘Will’ in the text box on the "masks" side. Once saved, the user can then recall the mask from the list, fill in the values, press <Next>, and the document is quickly personalized.  

InstantDatabase

Notice the two columns of text boxes now contain data. The left column holds the variables (the 'search for' terms ) and the right column holds the instructions for how to complete the fields. The instructions are completely user provided and easily edited. Notice also the the asterisks below the boxes at the top numbered 1 and 2. Those asterisks indicate that variables appear on those pages. No variables appear on page 3. Box number 1 is displayed with a blue background. That indicates that it is the page currently being viewed.

InstantDatabase

Most 'advanced' use:

 Recall an already created mask (see above figure). Fill in the mask with real values in the ‘values’ column. Before pressing <Next>, save the personalized form under a name, such as: "Pathagoras, John". Voila, instant database. You can recall this from anywhere and use it in any properly pre-coded document or form.

Automatic call of IDB mask:

: You can cause InstantDatabase to automatically select and display a the appropriate mask for the particular document if you accomplish one of the following:

 Frequent the mask will contain more variables than the document you ultimately create requires in order to adequately personalize it. For example, you may have created a Will that does not call for an alternate guardian for the children, yet the mask has a space to name one. In such case, it is a waste of time to complete that field. You could of course, create several masks and, when you create a Will (or other document) which doesn't call for certain information, the user can call up the more limited mask (Will1, Will2, Will3). But that defeats Pathagoras goal of simplicity.  Besides the person who is actually putting together the clauses may still not know if the assembled document requires mask Will1, 2 or 3 to complete it.  It is better that you create only one mask per subject (or group of like subjects) and that the mask contain all possible variables, but that Pathagoras do the hard work of telling the operator which variables (codes) need personal data. When call up InstantDatabase, the program quickly scans the document to see which mask variables actually are present in the document. An asterisk (star) will appear next to each field code which exists in the document.  You have to try this one to appreciate (and maybe even understand) it.

Important Note regarding style:
   When you search & replace text using Word's native S&R tool, the formatting of the replacement mimics that of the found text in its specific location.  If the document contains the term ‘TTT’, then, using the above example, it will be replaced by “JOHN PATHAGORAS” (all caps). If, however, ‘Ttt’ is in the document, then the phrase ‘John Pathagoras’ (upper and lower case) would be put in its placed; Ttt would result in John Pathagoras (bolded and italicized); etc. Pathagoras adopts this replacement technique. The formatting of the terms within the document controls the replacement style. Formatting characteristics are important only in the coded document, not in the InstantDatabase.)

Other incidental uses. The above routine, as powerful and as fast as it is, is simply an augmentation of Words Search and Replace function. We use it in place of Search and Replace for ordinary S&R routines, and have adapted it for more sophisticated ones, such as converting documents from other sources (copied from DOS programs, copied off the Internet, etc.) The Clean Up button generates the following code in the Instant Database screen:  

InstantDatabase

We call this "Instant Clean Up." Pathagoras is programmed to interpret the word 'space' in the above example as 'one press of the spacebar.'  

There are many more uses (documented in the help screens, and undocumented anywhere, of Instant Database. Play with with. You will like it.

 Here is how to create a mask:

  1. While in the InstantDatabase screen, <Scan> as normal. In most cases, most variables will be located and placed in the left-side column.
  2. Add by hand any fields that were not found. (This includes not only fields that may exist in non-mainstory locations, but fields that you know you will use in other letters, contracts, documents, etc. that you will prepare for the customer/client in the future. Remember, IDB is a real database, and can store much more information that just that which is needed for this particular document. You should anticipate that you will recall a customer/client's record many times over the life of the relationship and should have as much data a possible for as many different types of correspondence as possible.)
  3. Reorder the fields so that they make the most sense to the potential users. (You would typically group customer information together, then project information and then miscellaneous information.) Use the small up and down arrows at the right of the screen to accomplish the reordering. You can also add or delete lines.
  4. Optional, but recommended: In the right-hand column, it is a good idea to type descriptive language or 'sample text' as to the type of information that the user is expected to provide in order to accurately complete the mask. Even something as seeming clear as [Customer] might confuse the end user. The requested answer might be "ABC, Inc." but it might also be "Yes". To avoid confusion, you might type in the right hand column "Full Customer Name (e.g., ABC, Inc.)".  For a field like [Date], maybe type "Date of Proposal (e.g., '22 May 2005')" When the user sees the examples, the he or she will know exactly what to do.
  5. With the form complete (and don't worry if it is not, you can always go back to it), save it by pressing the <Save> button at the left (next to the work "Masks"). Give it a proper name. We want to emphasize the 'don't worry' text of the parenthetical phrase in the previous sentence. Don't worry if the mask is not perfect. As you develop the system over time, you will also perfect the mask. Pathagoras plain text approach to everything makes achieving this much easier than if the documents, masks and fields were hard-coded as other systems require.
  6. There is a way to cause Pathagoras to attach this mask to every single document you create in the future, but let me pass on that for right now. Once you have saved the mask, just close the InstantDatabase screen.

Testing the mask:

  1. Create a document.
  2. Press <Alt-D> to display the IDB screen.
  3. Click down the mask from the left hand ('Masks') dropdown list and select the one you saved. (If you know that a record based on this mask exists for the particular customer, recall the customer's information from the right-hand 'database' list.)
  4. Complete the mask, and press <Next>. You will be asked if you want to save the personal record for the customer. You would typically say Yes.

Using the mask in a network setting:

There are at least two ways that masks can be shared, depending upon how the InstantDatabase personal data is to be maintained. 

  • Some users keep the IDB personal (customer) records on the local machines only. So a mask created on one user's machine can be shared with the other users by (1) the author sends it up to the common profiles paths and (2) the remote users download it from the common profiles. Upload and download IDB records by clicking  <Utilities> from the IDB screen and performing the appropriate action.
  • Some users share all their IDB information (masks and client records). They do so by points their IDB paths to the same 'spot.' Set a 'Common IDB Path' via Utilities/Settings>>File Locations and then click the button next to the IDB line. Once set, a change of an IDB mask automatically affects all users. (There is an optional password lock feature to prevent those without the password from modifying a mask.)

 

Thank you for visiting Pathagoras.com - Come back again soon.