Category: GhostFill Templates

October Conference Schedule

This October finds me on the road.

Today I was in Lincoln Nebraska.  We ran a seminar on our Nebraska Probate System V (powered by GhostFill).  Over 3 hours we went in detail how to use the system and how to customize the forms.  We are now off to Atlanta for the LexisNexis CIC conference.  Lexis management has invited me to speak on a panel of document assembly specialists on how to make the most out of practice automation.  I have a little surprise … a preview of a real “sexy client”.  Attend the session and find out.

Reduce Size of Embedded Pictures in RTF Templates

In Microsoft Word there can often be a major size discrepancy between Word files and Rich Text Formatted versions of the same file. This is most often due to how Word RTF handles embedded picture files (such as logos, watermarks, illustrations, etc.) When saved to RTF, the space allocated for the picture can be as much as 20 times the size of the combined size of the document and picture. According to Microsoft, this discrepancy is actually a feature. When a document is exported to RTF, the process creates two files for each image, one is the original image and the other is a Windows Meta File (WMF). The WMF format is designed to describe resizable vector-type drawings – line drawings – and is very efficient for those. However, it is horribly inefficient for storing photographic images pixel by pixel.

There is a registry tweak that can turn off this feature.

Take the following steps:

  • Close all instances of Word
  • Use the Windows key to START -> RUN
  • Type REGEDIT and click OK
  • In OfficeXP – Find the following Key: HKEY_CURRENT_USER/Software/Microsoft/Office/10.0/Word/Options
  • In Office2003 – Find the following Key: HKEY_CURRENT_USER/Software/Microsoft/Office/11.0/Word/Options
  • Right-click in the right-hand pane and choose New -> String Value
  • Enter the name “ExportPictureWithMetaFile” as the new key and click OK
  • Then double-click on the ExportPictureWithMetaFile and type 0 (zero) for its value and click enter
  • Close up the registry
  • After this, there will be no more expanding files. To deal with existing RTF files, simply open the file and save it to Word format. Then reopen the file and save it back to RTF format. These changes are machine specific and should be made on all machines where the templates are maintained.

    Getting Past the 80/20 Rule in Building Document Assembly Applications

    Document assembly projects are subject to the 80/20 rule … the final 20% takes 80% of the time.  And for that reason, many projects don’t get perfected.  When a system is for internal use, the benefits of automation are good enough; but when turned into an saleable application, or a client-focused application, much more is required.  This blog focuses on techniques for working with the template to reduce the time to get from 80 to 100%.

    The 80/20 Rule

    It is said on any software project (make that any projects), that the first 80% of the work, takes 20% of the time, and the final 20% of the work, takes 80% of the time.  Thus, the bulk of a project will be complete, but the finishing works takes four times as long. The result is that many projects get started, but few get truly finished.

    Good ‘Nuff Document Assembly

    Most document assembly systems are for internal use.  In the hands of a capable HotDocs or GhostFill programmer, the time it takes to draft a complex lease or prepare a credit agreement can be dropped from 10-20 hours down to a 15-30 minute interview.  That still leaves several hours that can be spent “cleaning up” the document formatting and fixing the detritus left by unanswered variables or poor coding.  Such systems will give you a healthy profit, and a high ROI.

    Such systems are generally designed to enhance the legal business of the “author” of the system.  Often the questions only make complete sense to the author who created the system or a trusted assistant.  The ROI is limited to enhancing a particular practice.  When asked whether a “client” could use the system is published to a secure web server, the invariable response is “no” … too complication and the product is NOT FINAL.

    Client-Facing Systems and Commercial Applications

    When building a system that a “client” will see, the ball is in a different court.  You are off the stick-ball court and into the stadium where the expectations are much higher.  On the interview level, there is an expectation that the questions will be clear, relevant, and not contain any typos. See my article on Polish elsewhere in this blog.

    Moreover, when the document comes out, it will not come out as a Microsoft Word document that is editable; it will come out as a PDF document that is printable.  There will be no opportunity to fill in the blanks left unanswered, fix up the formatting, remove the extra carriage returns, and fix the typos.

    Rule 1: Build a Style Sheet

    If you hope to cut down the time it takes to acheive the final 20%, you need to think through all the stumbling blocks that take up time (proofing, correcting, testing etc) and systematize them.  One of the biggest time savers is a Word Style Template … this is a word document that contains sample text formats for each way you intend to format document.

    The style sheet contains a named paragraph style that exactly matches the format you are seeking in the final document.  To make this tool even more effective, you can assign hot-keys to the most commonly used styles.  To change the style of text in a document you can then either apply a different style, or open the style editor in Word and change the style’s attributes.

    Rule 2: No Duplicate Carriage Returns

    Once enforced, this convention will save hours of reformatting, because it will FORCE you to define word paragraph styles for every possible formatting convention.  Once defined, you can then make quick global changes throughout all the templates, rather than having to spot check every single document for spacing issues.

    Rule 3:  Spacing Convention following CONDITIONS

    The implementation of this convention regarding spacing following a conditional rule will differ depending on the document assembly program you us.

    • In HotDocs you should put IF/END IF and REPEAT/END REPEATS that span a whole paragraph or multiple paragraph on a separate line from the text of the paragraph.  Inside a paragraph, there should be NO SPACE if the text int the clause could begin the initial sentence of the paragraph.  If, however, it is internal to the paragraph, you should provide a singe (or in the case of a sentence) a double space immediately following the expression.
    • In GhostFill a KeepBlock or DeleteBlock should begin inside the paragraph to be kept with the EndBlock on the line immediately following the conditioned paragraph.  If you wish to have the rule outside the paragraph, use a Shreek “|” followed by a carriage return, with the closing brace at the very start of the conditioned paragraph.  The rules for clauses inside the paragraph are the same as for HotDocs.
    • In DealBuilder the conditional braces must start inside the conditioned paragraph and close at the very end of the conditioned paragraph.  By using usage computations (that are defined elsewhere) or VMM numbered notation, you can keep the code readable.  Internal to the paragraph, the same spacing conventions apply.

    Rule 4: Normal is NOT your Base

    In building a style sheet in word, take advantage of word’s cascading style sheet, that lets you build a style from a base and variations on that base.  In doing so, make sure that the base style is NOT based on Normal.  If you don’t, depending on the user’s machine, you may find your documents coming out in the wrong font, with the wrong text size … unintended consequences that are beyond your control.

    Rule 5: Beta Test

    Get someone else to do assemblies … maybe even some who doesn’t know your area of practice.  The questions need to make sense.  You will find them doing “illogical” things that will throw off errors in the text that you need to trap for.  These are either errors in conditioning variables on the dialog, or errors in the conditioning of text in the template.  Read the resulting document.  Use Word’s comment capability to have the user add comments “in situ” … and then you Review Comments to slog through them.  Be sure to have the beta tester SEND you their answer file (in the case of HotDocs, GhostFill or DealBuilder) or in the case of DealBuilder, in transaction mode, have them tell you the name of their answer file.


    These rules may seem minor in the greater scheme of things, but when the goal is 100%, every bit of planning can help.  We have found that the time spent on these matters has allows us to bring systems to 100% in less time.

    Template Formatting (Working with Word)

    Working with template systems (as opposed to individual templates) requires attention to detail and planning before execution.  The rewards of planning come from ease of maintenance, and flexibility to change.  The blog looks at formatting and design questions in Document Assembly system.

    A raw Word document is a document assembly program.  Forget about HotDocs or GhostFill codes.  It is a set of instructions to the computer to take a text string and convert it formatted and printable text.  Under the hood in a word document are a series of tags, paragraph objects and instructions on how to format them.  An understanding of those structures and how they work is fundamental to being a good document assembly programmer.

    Defining the terms:

    Paragraph Style: These styles define the base format of a particular paragraph.  They can cascade, be based on named paragraph styles, inheriting their properties, or stand independent.

    Character Styles: These styles are “variations” off the underlying paragraph style.  View them as switches.  For example, if you base paragraph text is bold, and you choose to “bold” a word in that paragraph, it will actually unbold.  You can name and apply character styles.

    Normal Style and WYSWIG: Most Word users depend on the normal style and hand markup their templates.  This is like taking a pen or paintbrush to a blank canvass.  In the hands of an artist, the result is a unique piece of work.  In most others, it is a mishmash of inconsistent instructional codes. When combined with document assembly, the result is often a mess.

    How to Plan a Word Document

    If you view a word document as a “program”, instead of formatting text, you begin to view a series of “objects” which can be programmed.  Word lets you create a style sheet.  Any web developer knows about Cascading Style sheets.  If you look at the “html” tag when you bold a word you will see < b > and < / b >.  The effect of the “b” can be defined to be bold or something else entirely.

    In reviewing you word documents, you can abstract most documents into a dozen or so defined styles.  My rule of thumb is that every formatting option in a document (or family of documets) must be formatted with a defined and named style.  And better, these styles must be based on a base style, so that changes to that base style can “cascade” into the other dependent styles.

    Benefits of Cascading Styles

    You may ask why all this work for a simple document?  The answer is seen when it comes to changing the styles.  On an ad hoc basis, I can open the Style Editor, change the base style from “Time Roman” to “Arial” and the entire document is updated.  Alternatively, I can change the “em” character style form “underline” to “italic small caps”.  This is done in a matter of seconds, rather than hours.  I can also run a macro to search for “em” tagged phrases, and add them to a document index.

    Now the real fun comes in document assembly, where you wish to use the same document, but display it in different formats depending on the jurisdiction or some other rule based criteria.  Here, in HotDocs, you can run a macro to “Add a Style Template” to the document that contain a different set of defiinitions for the exisiting named styles.  If all your formatting is stored in named styles, then this instantly transforms your document.  In GhostFill, there is a templates-set command that achieves this end, without the use of a macro.

    In at least one case, I went even farther.  Rather than having a separate template for each family of formatting options, we embedded document assembly codes in the very “RTF” template that contained the formatting definitions; it was pre-assembled as a Text File, and then used as an RTF file to provide formatting.

    The benefits are clear.  All document assembly projects could benefit from following such planning guidelines.

    Basha Search


    Basha Network

    Basha Product Sites