My Way ©MJH 1996-2017; Index

Modified February 1, 2017 10:50 am

Customizing TMG™
Guide to General Style My Way ©MJH

Chapter Contents

• Miscellaneous Topics:

• Numbering: Unused TMG numbers, People Numbering, Source Numbering


System Issues

Separate Project Data, Install Two Copies, External Links, System Errors

Display Options

Collate Sequence, People Accents and Filters, Fonts, View History, Layouts, Toolbar Buttons, Multiple Witnesses

Pseudo People

• Issues: Names, Gender, Sort Order

• Types: Year, Surname, People, EOL, Location, Cemetery, Repository, Research, Source, Census, Sentence, Ship, TMG, Unmarried, Tag Accent, Other



• Standard: Adopted, Birth Order, Living, Sex, others

• Custom: Pseudo, Main, Edited, Work, Find, Events, Parent Surety, Related By


Secondary Output, TOC and Indexes, Title Variables, Spell Checker, HTML Reports, Filters, Fonts, Charts, Bugs

Report Tips: General, Options, Naming, Default Text, Tag Types, Special Purpose Reports

Specific Reports: Family Group Sheet, Individual Detail, Individual Narrative, Journal Report, List of People, Descendant Indented, NEHG standards

Research Log

Overview, Task Name, Task Keywords, Completed Tasks, Task Dates, Task Reports, Tracking Sources

Companion Products: TMG Utility, Second Site, GedStar, PathWiz!, TagWiz!

Miscellaneous Topics


Unused TMG People ID numbers and TMG Source numbers

When adding new people, with the cursor in the ID number field of the Add Person screen press F2 to display unused numbers if you wish to avoid holes in the number scheme. 1 After adding a new source 2 , select the source in the Master Source List and click the Renumber button. The number that the source will be renumbered To will be highlighted.3 Press F2 to display all unused source numbers. Pressing F9 while viewing either of these unused number lists will select the lowest (smallest) available unused number. In both Add Person and Add Source the default new entry number is one greater than the largest in use and will not automatically reuse lower unused numbers. See also the comments under Merging Data Sets in the Import/Export chapter for the impact merging has on numbering.

People numbering

Various systems 4 have been developed over the years to number individuals, especially in genealogical reports. These usually start with some one individual and then create numbers relative to that individual for either ancestors or descendants. Some TMG Reports are designed to generate some of these number systems automatically for those selected individuals in that report (see the Annetafel and Descendent Narrative reports options). Typically user-defined numbers associated with each person and either following one of the above systems or some other custom system are stored in the Reference Field, displayed in the Other Info box. This field is also commonly used to store a person number from some other source or database. This field is displayed in the Simple Picklist and can be displayed in the Column Mode of the Explanded Picklist if selected. The Project Explorer (PE) can also include the Reference Field. First change the PE’s Preferences:

File > Preferences > Program Options > Project Explorer
— check Display ID Numbers.

Then change the option of what is displayed for ID Numbers

File > Preferences > Program Options > General
— set “Format of ID:” to “Both”.

The default length of the Reference Field is 12 characters, but may be customized within the Other Info box on the Details window to accommodate up to 250 characters. (Right click in the Other Info box, highlight the Reference field, and click Customize.) Most report options permit either or both of the ID numbers and the Reference numbers to be output following the name of the individual. Currently I neither use one of these numbering systems nor the Reference Field itself, but several users find the Reference Field extremely useful.

I find the internal TMG ID number of the individual most useful, especially for jumping to a specific person using their ID number. Most TMG reports have an option, usually on the Names tab of the Options for a report definition, where I generally include this TMG ID Number as an Identifier. This option also will include the TMG ID numbers in any Name Index I choose to create as part of a TMG report.

For Second Site pages there is an option to use the internal TMG ID number in a code in web page text to link to the web page of a particular person. I use this feature to link from source citations to the corresponding pseudo source person. For a person mentioned but not linked to this tag, either as a Principal or some kind of Witness, one could also use this Second Site feature to make that person's name and ID number in that tag’s output a hyperlink to this otherwise unlinked person.

Source material numbering and filing

A separate numbering issue relates to creating a filing system with numbers to assist in locating reference material associated with individuals. Some use the TMG person ID number to either number folders or notate the individual(s) (which John Smith?) referred to in the materials. TMG will not automatically renumber individuals, but the user can choose to renumber which would then cause problems with such a filing system. If you later merge two documented and numbered individuals, one of the numbers will be deleted from the TMG dataset, so you would need to update the numbers on materials. Some prefer the Dollarhide system 5 especially as a naming scheme for digital files on your own computer. 6 I prefer the typical librarian approach to simply consecutively number or name each individual piece of source material within my four parental lines as I acquire it (accession records system).

There are many places within TMG to record where you have filed your local copy, which then allows using TMG to provide any links or searching required. This will depend on how you construct your TMG sources, e.g. “lumper” or “splitter”. I prefer the TMG source and bibliography to identify what I have actually seen. If I have only seen a photocopy or digital file which I still retain, I place my file location in the Source record as the Repository Reference within the repository that is my files. If I move or rename/renumber/relocate my source files or records, the change to the TMG Repository Reference is reflected in all citations to that source. However, if I have seen the actual book and made a photocopy of particular pages, my Repository reference will be to the catalog number in the repository which is the library. One could have more than one Repository (Primary for the library where the original source is, secondary for you as the repository of the copy) since only the Primary Repository will be output in the templates. For example, it could reference my notebook number and page where I transcribed this information, or the personal file folder number where I stored a photocopy of that one page. I probably “should” do that, but have not (yet) been that disciplined. You could include in a Source Type a Source Element not included in any template for the file location. If a single Source "lumps" many files, the Source Reminder field could list them all, or the Citation Reference field on the Citation could record the file location of your copy for that one citation. I do not currently use any of these methods.


Both before and after you do any significant work or customization it is a good idea to backup your project. In case of disaster where my computer is located, I periodically put a complete backup in my safe deposit box. Before Version 5 introduced the Backup Wizard, and subsequent Versions improved it, each part of the project (data sets, preferences and system configuration, timelines, exhibits, etc.) had to be backed up separately, so I kept detailed notes. Now the Wizard provides options to easily deal with nearly everything, and allows saving multiple configurations for various types of backups, so I have been able to reduce my notes considerably. The Wizard is accessed off the main menu from F ile/ B ackup (an earlier version was F ile/ D ata Set/ B ackup to only backup the data). Multiple useful log files are created as part of a Backup or Restore, so check the Log directory.

Step 1: Backup Type, provides three default configurations: Backup All (project + customizations), Backup customizations only, Backup project only. I have a configuration for “Just data” for quick backups at the end of each data entry session, another called “What I change” to also include anything I might have customized, and the third of absolutely everything is the one I periodically store off-site. However even with a pre-defined configuration, with the “used without saving changes” Wizard option you can modify some of the settings of a configuration for just this one Backup as you go through the Wizard steps.

In Step 2: Data, issues have sometimes been encountered by users if the location of the backup file is on a remote or removable device dependent upon the features of the device driver. Specifying a directory on your internal hard-drive (usually C:) for the backup has always been the most reliable. The folder should also not be being monitored or automatically backed up by some other program which could interfere whe the file is being created. Then that backup file can be copied or moved to an external device, or to a folder being automatically backed-up by some other program. I prefer having TMG automatically generate the archive filename using the date & time suffix.

In Step 3: Options, the “External Exhibits” will be checked but “greyed out” if there are no external exhibits linked to this project which are stored in this project’s default exhibit directory/folder. I generally do not have TMG include the external exhibits in the TMG backup. The only folder the Wizard will check is the one specified for this project in Preferences / Current Project Options / Advanced / Exhibit folder. If you have customized your exhibits into some other folder and did not change this project’s Preference, you cannot use the Wizard to select having TMG backup that custom folder. You must first change the Preferences. Regardless, if you have customized your storage of exhibits into a subdirectory tree, and especially if multiple exhibits in that tree might have the exact same filename, 7 you should backup that exhibit tree separately from the TMG Backup using a utility outside TMG. I recommend using an archive utility (e.g. WinZip) to create a “ *.zip ” file of the entire exhibits tree. Further, including external exhibits with a backup will considerably increase its size. I recommend either being sure this option is not checked, or setting the default folder to a folder that has no exhibits (e.g either the base of your folder tree if it contains only subfolders and no actual exhibits in that base folder, or one level higher than the base). For my quick “Data only” configuration, I have nothing checked in Step 3 but the Project data files. For my “What I change” configuration, I have everything under Project items (except External exhibits), everything under Program items, and nothing under Advanced items since I do not currently customize any of these. However, if I do ultimately customize any of the items in the Advanced list (e.g. languages or timelines) I will need to check them. For my total backup I check absolutely everything. That is excessive and probably not necessary, but I only do this very infrequently and it placates my paranoia. The numbering of the remaining Backup Wizard steps depends upon what you have chosen here in Step 3, only presenting steps for what is necessary. For either my “What I change” or total backups I choose “All” on all other screens. For the final Step I always choose Normal compression, and by having the backup written to the internal hard-drive need nothing else.

As a backup of the TMG Program itself one should keep the most recent installation file and one’s license unlock information. This is especially needed since the discontinuation of TMG by WhollyGenes. The unlock information consists of your name, the unlock key, and the e-mail address you used to purchase the software so you can unlock a newly installed program. I copied and pasted the key, name and address into a separate text file that I store on my external medium whenever I create a medium for the TMG backups.

With any backup it is prudent to ensure that the backup was successful and is usable. Lee Hoffman wrote a description 8 of a way to verify backups that involves restoring the backup to a different folder than the actual project so you can compare the two if necessary. Others have suggested setting up a special restore configuration to aid in restoring at least the project file in a separate special folder and then opening that restored project to be sure TMG recognizes the backup.

System Issues

Separating Project Data

[Need to test and document what gets put into a separate folder and what doesn’t.] Most users will commonly work with only one project, which may contain more than one dataset. Some users either are researching separate lines for others, or prefer to keep their ancestral lines which do not overlap in separate projects. Since I am adopted, I choose to keep my four parents’ lines in four separate projects as these ancestors do not overlap in any way.

As of Version 7 TMG will store files expected to be shared by multiple projects in the Shared Program Data Files folder. It will store the large collection of database files for multiple projects in various subfolders under the User Data Files folder, one of which is the Projects folder. This Projects folder corresponds to the Preferences Default Project Path setting (Preferences / Program Options / General). For details see the TMG Help topics “Data File Storage”, “Data File Storage for Advanced Users”, and “Customizing Data File Storage”. The default location for most of the actual data for the multiple projects is in this single Projects folder, and other project related data for all projects is located in those other subfolders under the User Data Files folder.

There are many ways to separate project data files, such as described in the TMG Help topic “Creating User Data Files Folders for Each Project”, with advantages and disadvantages to each. That Help topic explains how to create completely separate User Data folders with all its subfolders for each project. That method keeps the project data as well as most other project related data separate, such as the backups, configurations, repeat entries, report output, etc. If you create these separate folders you must navigate to the appropriate folder to open the project, and be careful to modify the project’s file location Preferences, and specify the appropriate folder when doing backups and restores. If these folders are located in a completely different disk area, a trick to aid opening these projects is to create a Windows shortcut to each project file in the default Project folder. [Need to test what is really project related that does not get put in these separate folders. Especially filters, accents, and report definitions.] If you need complete separation of absolutely all TMG files for each project, then create a separate Data_files.txt system configuration file pointing to completely separate folders for each project. This configuration file defines the folders for all project and systems files used by TMG as described in advanced topics in TMG Help. Then each time copy the appropriate configuration file to the system folder before opening TMG since the file is only read when the TMG program first opens. You must create and copy the configuration file first, and then open TMG the first time with that file before having created these separate folders. The first invocation of TMG with such a configuration file will create these folders and populate them with copies of the system files that TMG will need.

I choose the common method where these separate project folders are created under the default Projects folder so that they are visible from the default Project folder, and leave the Default Project Path setting to the Projects folder. Thus when I do a TMG Open, I see all these project subfolders which are named identically to the names of the projects, click on the one I want, and then open its project. You do not need to create another “Projects” subfolder with the separate project folder. You simply set the Preferences to create the project files within the actual separate project folder. [Test this and explain how.]

Installing Two Copies of TMG

Prior to Version 8.05 there was a way to install one copy of TMG for “All Users” and a second copy for only one user. It took careful settings and preparation to accomplish this, and was considered non-standard. As of Version 8.05 the installer will only allow one copy of a given version, which will be a shared copy for all users on that computer. However the same copy of TMG can be opened twice on the same computer.

External Links

Web Sites

The TMG Web menu has links to multiple external web sites. For the first two menu items the web commands to access those sites are hard-coded in TMG. As soon as one of those sites changes how it is accessed, as a remaining bug those TMG features will no longer work for that site.

Web menu item “Search the Web” is intended to automatically search the web site(s) for selected names from the TMG dataset, and possibly include additional search parameters about those people. Unfortunately the method of automatically including the TMG data, and the formation of the URL to search the site, is hardcoded in TMG. If the site changes its URL, or its format of the search parameters as part of that URL, this TMG search facility will no longer work for that site. There is no user mechanism to change the way TMG forms the search URL to match a new format. See “Other Sites’ below where one could at least store a current link to any genealogy search site whose TMG search mechanism is now broken. (I have seldom searched these sites from within TMG so need to test each of these sites to discover which searches are already broken.) The final Version includes the following sites as part of “Search the Web”: AltaVista,, Bing,,,, Genealogy Bank, Google, Google Books, Google Images, Google News Archive,,, Social Security Death, World Vital Records, Yahoo!

Since the Wholly Genes store has closed, the Web menu item “Search for Digital Books” which searched for items available from that store does not work. Currently it gives an error page indicating the store is closed, but that notice page is likely to disappear at some time.

The list of sites available from the Web menu item “Place Databases” can be modified by the user. The list simply includes the base URL for the site and has no parameter mechanism to automatically include any TMG data as part of the URL. The user must manually search for a place using that site. One could use this menu item to add links to any sites, not just place databases. However, the “Other sites” Web menu item described below seems better suited. The default sites in this list in the final Version (all of which were still active when I last checked) are: Canada - <>; Great Britain - <>; Scotland - <>; and United States (GNIS) - <>.

Like “Place Databases” the list of sites available from the Web menu item “Other sites” can be modified by the user. This list also simply includes the base URL for the site and has no parameter mechanism to automatically include any TMG data as part of the URL. This list would be an appropriate place to store such URLs as the link to one’s own on-line web site or sites associated with one’s ancestry. The default sites in this list in the final Version are: - <>; Anywho - <>; Beginners Research Guide (NGS) - <> [produces Error, instead change to <>]; FamilySearch - <> [automatically redirects to <>]; Google web search - <>; Guide to Tracing Family Trees (RootsWeb) - <>; RootsWeb - <>; Social Security Death Index (RootsWeb) - <> [gives error but points to the SSDI database <>]; US Topographic maps - <> [site closed but points to the subscription site for which offers topographic maps <>; alternatively go directly to the USGS store for its topographic maps - <>]

External Windows Utilities

TMG provides the “External Utilities” option on the Tools menu to directly invoke Windows programs from within TMG. By default the only external utility provided in the final Version is the standard Windows Character Map which can facilitate copy/paste of special characters into TMG data. See the HELP topic “External Utilities” for the way to add direct links to other programs on your computer.

A previous External Utility was Ancestry Genealogy Library . If you purchased TMG Version 4 Gold Edition with CD, it came with the optional Ancestry Genealogy Library from the Ancestry Publishing Company and the ability to purchase certain databases, but this was not included with later versions of TMG. I was able to install the Ancestry Genealogy Library from a Version 4.0 CD into Version 5.0 TMG. I have not (yet) tried to install this library into any later version of TMG, or even use it since Version 5; nor tried to install it into any modern (e.g. 64-bit) Windows OS. 9

First you must install the AGL if you have not already done so. Warning: if you reinstall the AGL, you will need your unlock codes for any of the optional databases you purchased. It may be easier to continue to access the AGL from its TMG4 default location of C:\tmgw\ancestry\ . The AGL folder name must conform to the DOS 8.3 restricted format, default is C:\ancestry . If necessary, create the file C:\Windows\iii.ini with the lines:


Wholly Genes FHCD Source=e:\

Wholly Genes FHCD Dest=c:\ancestry

The source should point to the CD-ROM drive, and the Dest to the AGL installation folder. Then run the file BONUS.EXE on the AGL CD.

Once AGL is installed you must add access from TMG to this external utility. Add the following two lines to the bottom of the APP.INI file in the TMG program folder to point to the AGL installation folder:


Utilities2=Ancestry Genealogy Library,c:\ancestry\unlock.exe

[The default location for TMG4 is C:\tmgw\ancestry\unlock.exe .] Finally, restart TMG5 and choose External Utilities > Ancestry Genealogy Library to access the databases. You might create a custom toolbar button which would have the function “Execute a Windows Program” and the target file of the full path to the AGL unlock.exe . You can have separate buttons for each database by assigning an optional parameter to this program of a number from 1 to 5 to access that individual database.

System Errors

See My List of Outstanding Bugs for those system issues which I have discovered that still remain in the final Version.

Other Information

There have been reported cases of the various possible fields in “Other Information” being corrupted in prior versions. This appears to be fixed in the final Version. The reported fix is to close and exit TMG, and open the project’s " .pjc " file in as text in some text editor like Notepad. Now look for the section labeled [Otherinfobox] . This is what that section looks like in the sample.pjc file.





Selected4=Tag count/Y


Selected6=Last edited/Y

There should be six lines. The order is the display order. The /Y says that item is active and thus displayed.

Error Messages

Most major TMG error messages are also entered in some log file, so you find them later. You can copy and paste them into messages to others when asking about the errors. The quickest way to find them regardless of your version of the operating system is using the new Access Folders feature under the Help menu. Most such files will be in the “Logs folder”. Of special interest is:

Error.txt will contain most errors which get displayed in a pop-up window.

Logs that are specific to a project will be in the “Current project folder”, such as:

_optimize.log for errors encountered when you do an Optimize of that project.

LastVFI.log for errors encountered when you do a Verify File Integrity of that project.

In all cases the newest messages are at the bottom of the list.

Display Options

There are many options to enhance and customize the display, several of which I do use. These options still need further testing and inclusion in this chapter.

Collate Sequence

The collate sequence that determines the sort order of items in lists can be set uniquely for each project in Preferences / Current Project Options / Other. TMG provides DUTCH, GERMAN, ICELAND, NORDAN, SPANISH, and SWEFIN for non-English languages to properly sort diacritics, umlauts, etc. The sequences GENERAL, MACHINE, and UNIQWT assume English. Not only should the collate sequence be changed to be appropriate for a non-English language, but even in English the sequence chosen can affect the sort order of special characters. TMG’s default GENERAL collate sequence matches the sort order found in indexes of most hard-copy publications, and thus sorts all special characters before numbers or letters. TMG’s MACHINE collate sequence matches most computer sort orders, and matches the index sort order for Second Site, by putting some special characters first, then numbers, then other special characters, then letters, and finally some other special characters. I choose to use the MACHINE collate sequence to match Second Site and allow me to make use of appropriate special characters to force some list items before and some after normal text. However, I must use care since a remaining bug can cause an error in sorting Primary Names in TMG lists when using the MACHINE collate sequence if a Name tag is changed to be Primary and not subsequently edited.

I often use leading special characters for some names, such as for grouping and sorting pseudo people names separate from “real” people names. Thus where various special characters sort relative to the alphabet and to each other is important to me. For the basic details about how names will sort, see the discussion in the Data Entry chapter about sorting names. See also the discussion of the Effect of Name Styles on sorting . Those discussions explain that in addition to the text entered, the sorting and display of most name indices also will be based on both the Sort and the Display templates of a Name Style, either of which could automatically prepend such special characters. For example surnames with a leading special character either as part of the text of the surname (except the exclusion marker ‘-’), or prepended within a Name Style template, generally will sort as shown in surname lists according to the following two tables of the collate sequences I use. However, in TMG picklists the output results of the Sort template of a Name Style instead will be used for sorting rather than the output results of the Display templates so that different templates with a special character prefix affect different lists.

As mentioned in the Data Entry chapter about blank name parts, a Primary given name or surname part can be either missing/empty, or defined as non-existent. Many TMG reports have the option “Empty name text” on the Names tab to define the text to output in narratives and indexes for either missing Primary name part, given name or surname. That option text will cause a missing name part both to sort and display within that report’s name indexes in the collate sequence order as if that text had been entered in that name part. Non-existent name parts have no such optional text, will not output any text for that name part, and will sort in the indexes of TMG reports in the order shown for blank names in the tables.

In Second Site the name indexes allows the user to define the text “Strings // Name Strings // Missing” to be used for either name part which is missing , given name or surname. Like TMG it will sort and display that name part within the collate sequence as if that text had been entered in that name part. A non-existent name part, either given name or surname, has no Second Site “Strings” option for text to output, and will sort in the position shown for blank names in the collate sequences below. Second Site does allow the user to define the text “Strings // Index Strings // No Surname” as a heading for the index group of all entries with a non-existent surname. But that heading text will not affect the sort order of that group within the surname index. Second Site requires “some” text to click on to link to the narrative for that person’s index entry. Therefore non-existent given name part entries will repeat the surname as the entry text where a given name would output, but with a trailing comma. The comma ending this text is the clue that no given name exists for this person. If both the surname and given name are non-existent, the entry text will consist of only that comma.

TMG picklists have no option to insert text for missing name parts. Thus TMG will sort missing name parts before non-existent name parts within the collate sequence position for blank names as shown below. However TMG picklists will handle such blank name parts differently when sorted “Surname, Given Name” versus “Given Name, Surname”.

With a TMG picklist Surname sort, surnames are sorted according to the collate sequence and then entries with the same surname are grouped in the picklists. Same surnamed entries are sorted by given name within their group according to the collate sequence. Since TMG will sort missing name parts before non-existent name parts, the group of missing surname entries will be followed by the group of non-existent surname entries. And within a group of the same surname any entries with missing given names will be followed by the non-existent given name entries.

However for a TMG picklist Given Name sort, the entire name entry is constructed concatenating all text based on the given name template of each tag’s Name Style. Then these entire entries are sorted in the picklist according to the collate sequence. Where there is no display output for a given name and/or surname because that part is either missing or non-existent, that text will simply not be part of the entry. Entries where neither name part produces output will sort together in a group as completely blank names in some undefined order, without regard to whether the lack of a name part is due to it being missing or non-existent. In such a given name sort, if one name part produces text and the other does not, the sort and display simply will be based on whatever text is output. Thus an entry which outputs nothing but a given name “Richard” with a missing or non-existent surname will sort together with an entry with nothing but a surname “Richard” with a missing or non-existent given name.

GENERAL (TMG default) Collate Sequence


Exclamation point


Double quote


Number or Sharp sign


Dollar sign


Percent sign




Single quote


Left Paren


Right Paren




Plus sign


—TMG Missing and non-existent names—












Less than




Greater than


Question mark


At sign


Left bracket




Right bracket






Back quote


Vertical bar




Numeric digits


Alphabet, lowercase first

MACHINE Collate Sequence (and Second Site)


Exclamation point


Double quote


Number or Sharp sign


Dollar sign


Percent sign




Single quote


Left Paren


Right Paren




Plus sign


—TMG Missing and non-existent names, Second Site non-existent names—






Forward slash


Numeric digits






Less than (In Second Site the ‘<’ character alone shows as a surname group but the name is suppressed and treated as a non-existent name)




Greater than


Question mark


At sign


Alphabet, lowercase first


Left bracket. In TMG this character displays in the picklists and affects sorting. In Second Site this leading character is stripped from display but it sorts based on this character


Backslash. In TMG this character displays in the picklists and affects sorting. In Second Site this leading character is stripped from display but it sorts based on this character


Right bracket






Back quote


Vertical bar



People Accents and Filters

People accents allow displaying colors for a person’s name based on an Accent Condition. Accent Conditions are essentially filters to identify subsets of people whose names are to be displayed with a specific color. Experience has shown that only using flags as the basis of these conditions/filters greatly minimizes the programmatic delay required to set these colors every time the display changes. As of Version 8 see also my custom tag type label colors. People accents alter the display colors of the person’s name from their default display colors set in Preferences // Project Options // Colors. Thus accent colors should be chosen to contrast with those default colors. My production project default colors are:

• Names: font = Yellow (next to top left), background = Dark Blue (under the two very light blues)

• Witnessed events: = Dark Blue (as above), background = Grey (next to the bottom right)

As of the rewrite of the Report Writer for Version 8 these accent colors also can apply to the person’s name in output reports. 10 My standard accent definition has six conditions/filters based on my custom flags EDITED , PSEUDO , MAIN , and ADOPTED . Since the EDITED flag has the primary affect on the accent, I name this saved accent “edited”. Otherwise the colors differentiate all Census People and all other Pseudo People from “normal” people, highlight my main-line ancestors, and identify adopted people. The color’s location on TMG’s default color table is also given in the table below. The conditions are listed in order because I accent based on the FIRST matching condition.






Type of Person





(one down from top left)

Partially edited





Pinkish purple
(upper right)

Not yet edited




Light Yellow
(one right from top left)

(third from left, four down)

Census pseudo




Dark Purple
(diagonally one up from bottom right)

Custom grey/brown
(RGB = 201/205/180)

Other pseudo people





(diagonally one down from top left)

Direct ancestors





Dark Blue
(diagonally two up from bottom right)


People filters can be set on the Project Explorer (PE) to limit the number of people displayed in that list. The List of People or Events reports can also be filtered and used to set flags for people, which can now be used for Accents, or to filter the PE, or as the basis of any people filter. A filtered PE has two known problems: a remaining bug which can cause an empty person to show in a filtered PE after copying a person; considerable window refresh delay when a filtered or unfiltered PE is linked to other windows and the display is refreshed, or when the PE is filtered and any change is made which can affect the filter being used. Once a set of people is identified by filtering the PE, it is more efficient to create a Focus Group from selected people in the PE, then unfilter and unlink the PE.

Fonts 11

On the TMGL ListServ Paul E. Lawrence posted the following about what font setting in Preferences>Program Options controls what display font. He also notes “I don't find any setting which affects the Simple Pick List.” In my testing I also can find no settings which affect the date and location fields in the Tag Entry screen, the repeat fields popup lists, the list of people in the Bookmarks, nor the size of fonts in the “Tips and Hints” separate window. The Windows screen font may also affect the size of the fonts in some fields. 12 Further as noted in the chart, increasing a particular font size option will make the fonts of some fields larger but not as large as the size specified.

Data Entry

Minimum memo font size
Maximum memo font size

Affects memo field only, and the expanded memo window


Minimum font size
Maximum font size

Affects all lists which include:
Details Window (Personal View only)
Children Window
Sibling Window
Associates Window
Flag Window
Expanded Pick List / Event List mode / event list
Master Source List (fonts are larger, but not the specified size)
Master Repository List (fonts are larger, but not the specified size)
Master Place List
Master Event List
Master Tag Type List
Master Style List (should affect this list, but does not)
Source Type List
Source Elements List
and in the Tag Entry Window:
Witness list and Citation List (fonts are larger, but not the specified size)

Project Explorer

Font Size

Project Explorer
Expanded Pick List / Column mode
Expanded Pick List / Event List mode / person list
Focus Group
Preference List


Family View font size

Family View Window

Tree View font size

Tree View Window

Prompts/Warnings font size

Prompt/warning popup message boxes

View History

When in the Details window and switching from one view to the other (say from Person view to Tree view), if you then hit the Last Viewed Person button, it returns the last view (switches back from the Tree view to the Person view of the same person) and not the last person. To ignore the views and have the history only remember people: In “Program options->General” uncheck “View History remembers Detail” Tab. It will then only remember the last person, not the combination of last person and view.


Many use the ability to save custom screen layouts. Different layouts can be designed to facilitate a particular database activity such as a form of data entry or data cleanup, or be designed to work on multiple monitors such as attached large or double monitors versus a laptop monitor. Many examples of custom layouts, and custom toolbars for those layouts, have been posted on the Wholly Genes Forum. While layouts can define which subwindows are shown, and subwindows can define which columns are shown and in what order, there is currently no feature to add custom columns to any pre-defined TMG subwindows. It is important to remember that if you change or customize a layout it must be saved to be available when next you open TMG.

Custom Toolbar Buttons 13

See View>Toolbars>Customize [SystemConfig>Toolbar>Properties in Version 4.0] where you can add a button for a tag of a specific type on an unused button, and choose your own icons, which must be 25x25 pixels, for the button face. For example, set a button to a common report definition. A TMGL ListServ posting provided the following instructions for customizing the toolbar buttons. 14

From the Main Menu, select View=>Toolbars=>Customize…. This will display the Custom Toolbar Manager screen. You may then highlight an unused button from the list on the right and click in the [<<Add] button to move that button to the left list (for the Custom Toolbar). If there is a button shown on the left that you do not want in the Custom Toolbar, then highlight it and click on the [Remove>>] button.

When a button on the left is highlighted, you may select to make that button to be a Picture type or a Text type button. In many cases, the type will be selected and a suggested picture or text will be shown on the Button Example. If you want a different picture, click on the Button example to display the Select icon window. These will be icons files stored in the Buttons folder of the program installation folder. You may choose a different folder for these if you wish by clicking on the […] button to the right of the path and file name field. When you select (double-click) a desired icon picture, it will display on the Button example.

If you want different text than is shown on the Button Example, you may change the text in the field to the right of the Picture/Text radio button. You may also adjust the text for the Tooltip message.

Keep adding (removing) buttons for your Custom Toolbar and when you are done, be sure to name the Custom Toolbar. Always name the default Custom Toolbar as "Custom". If you name it something other than "Custom", click on the [Save As…] button and enter the desired name. Click the [OK] button to save changes you have made.

I change my color schemes under CONTROL PANEL. Not sure which one controls the Custom Toolbar box. The spacers are simply "Toggle Primary" and then I use an icon for the box. There is a selection of icons to choose from and I just choose one of the colored boxes. They seem to change colors as I change my color scheme under windows.

Several users uploaded documents with icons suitable for custom toolbars to the Wholly Genes Community in a post titled Customized Toolbar - Icons :

Janis R posted a Word document of her icons based on other “small” images

Teresa E posted a Word document of her icons for “large” buttons

See also the site:

As a tutorial Teresa Ghee Elliott wrote on the ListServ:

“There are actually eight separate toolbars, which are all independent. Only a few of them are turned on in the default layout. You can turn any of them on or off from the right-click menu on any toolbar, or the View > Toolbars menu. Each active toolbar is a separate unit on screen. By default, they are "docked" along the top or side of screen. When docked, each toolbar has a handle (a small bar) on it's left or top end. You can drag that toolbar to another location by dragging that handle. You drag the whole set of buttons on that toolbar, not individual buttons. If you move the toolbar away from the edge of the screen, it takes a different form, becoming a small window with a standard title bar. In this form, you can change the shape of the window, and thus the number of rows of buttons, by dragging an edge of the window to make it taller or wider. If you right click on the toolbar and select small buttons then move the cursor over the individual toolbars, left click and move the individual toolbars within the master toolbar as you like. You don't need to use the default toolbars. With Customize you can pick and choose the buttons you use most and put them onto a custom toolbar. That will take up much less space and allow you to have just the buttons you want. I don't have any of the default toolbars in my layout - just a single row of icons (around 47 I think) on a custom toolbar, including quite a few buttons from the default toolbars - like Add Person, Picklist, PE, etc.”

Selecting Multiple Witnesses

Simple Picklist only

• click on a person, then press <F8> to select

• repeat until all desired people are selected

Expanded Picklist only, for several people who are adjacent to each other

• use <Shift>+ the Up and Down Arrow keys to highlight several people

• click on the first name, then press <Shift> and click on the last name

Expanded Picklist only, to highlight several people who are not adjacent to each other

• Click on the first person, then use <Ctrl> + click to select subsequent people
You can <Ctrl>+ click on a highlighted name to deselect it

Once all of the desired names are selected, press <F9> or click [OK] to save.

The behavior of the Expanded Picklist when selecting multiple witnesses is sufficient non-obvious that I have included it as an outstanding bug remaining in the final Version. If the button for Add Multiple Witnesses is clicked for a tag, and the Expanded Picklist is being used, and if characters are typed into the Search box to find the first desired person, the first person found with each keystroke is selected as one of the Multiple Witnesses.

Pseudo People

There have been discussions about limitations of recording certain non-typical information within TMG and linking that information to other standard information in the dataset. In my opinion often this perception of limitations is by users being unused to “thinking outside the box” and using features of TMG in different ways than the labels of those features suggest they were intended. TMG is a very general purpose relational database program, which means you enter a piece of data only once, then link (relate) to that one piece of data multiple times. For example, a TMG “person” entry can be thought of more generically as a “thing” entry with a name/label, tags that describe possibly dated “stuff” or events about this “thing”, the ability to link (relate) this “thing” directly or via events to other “things” and people, and the ability to generate reports about these “things”. If you can force yourself to ignore that TMG labels the entry a “person” and that it labels the links to other entries as “children”, “parents”, and “witnesses”, then the possible uses of TMG “person” entries, tags, and links is limited only by your own imagination.

Since this is an unusual use of the “person” entry in a TMG dataset, for each such “person” it would probably be appropriate to add a tag to that person, such as my Created tag type, that would explain why this pseudo person was created. I choose to also have a PSEUDO flag with a value that indicates not only that this is a “pseudo” person but also what kind, so I can filter for these entities and easily exclude them from reports. I also set a special background color Accent based on this flag to visually distinguish entries and tags associated with pseudo persons. For all pseudo people I set the LIVING flag to “N” so they are not inadvertently excluded from reports, and I set my custom MAIN ancestry flag to “?”.

There are consequences to any non-standard use of a program, such as creating these Pseudo people. One such problem with these people is when trying to merge datasets or create an empty dataset with all desired customizations, as I describe in my Import/Export chapter.

Pseudo People Names

As the “names” of these people are likely contrived, a special naming scheme usually needs to be defined. Further, the Sort names can be defined to avoid having these “people” sort among “normal” people. You could manually prepend the text in both their SortGiven and SortSurname fields with some special character. I believe a better alternative is to use the Name Styles feature, and define a special name style for each type of pseudo people. This feature allows you to “hard code” 15 prepended special characters as part of the Sort names to force them to sort as a group differently than the name itself (see the Effect of Name Styles on sorting ). You can choose different special characters to cause each specific type of pseudo names to group together but separately. When creating the Name Style, pay careful attention to the existence of a comma as text within the Name Style itself. Most name indexes, especially the Second Site Surname Index, identify all the characters from the start of the output from the Surname Display Template until the first comma that wasn't part of the name data, i.e. the first comma that came from that template text itself, as the surname text for the purposes of the index. The Surname Display Template is only used for lists of names, thus the Output template can (and usually will) differ (i.e. not have the hard-coded prepended special character) for narrative output of the pseudo person’s name. That is the point of hard coding the character not in the text of the name but only in the Surname Display Template (and Sort templates) to group those names in lists, but otherwise not affect the name for narrative use.

Gender of Pseudo People

One of the most common uses of pseudo people is to link them to “real” people with a tag using a special role and sentence designed for that specific “type” of pseudo person. One way to help remember that a specific role is appropriate for that pseudo person is to assign roles to a specific gender to match the gender of that type of pseudo person. In addition, you may wish to “link” pairs of pseudo people, and having them the opposite “sex” permits using a custom tag in the marriage group. For parent/child linkages of pseudo people I always use the custom “*-Oth” relationship. So far, I have adopted the following conventions:

Sort Order of Pseudo Children

One problem with a pseudo parent that has multiple pseudo children that may or may not have “birth” (Created) dates is their sort order in descendent lists is uncertain (usually the order they were entered into the dataset). If a BIRTH ORDER flag is set, it will override dates and sort dates when sorting children in the order of their birth for reports. Since pseudo people may have “birth” (Created) dates that are blank or differ from a desired sort order I can force an order by placing a numbering order in all the pseudo children’s BIRTH ORDER flags.

Year Person

Could create a separate pseudo person for each year for a variety of reasons to link something to a particular year. It could record correspondence that you engage in as part of your genealogy research. Since Repository pseudo people are female, and this year pseudo person is male, I can have a correspondence source pseudo person linked as a Child-Oth to both. For correspondence can create an assortment of custom tags to note different types of contact. This could be a pseudo person for each year to track completed research tasks. See also Research People. While I don’t explicitly have a year person currently in any of my active projects, I have census pseudo people associated with a year and I link them to location pseudo people. I am undecided on the gender of this year person since I have thought of situations where I might want it either gender. I will need to use it more, or may leave it unknown. Created tag would have no Location and Date should be the Year. Like most Created tags, the Sort Date is usually blank or “before” the Date so the tag sorts first. The PSEUDO flag would likely be set to ‘O’ for Other.

One-name or Surname “Data” or “Name” Person

Can be used to link a collection of otherwise unrelated people identified in a one-name study. Surname for this pseudo person could be whatever is the one-name (e.g. “Robert Richards” if you are collecting data on people with exactly this surname and given, or just “Sark” if it is any given name with that surname), and a suffix of “DATA” or “NAME”. Some have proposed subdividing the linkages according to where the name was found. This could be accomplished by assigning a given name for the pseudo person of a country, with sons where their given names are the next lower geographical unit (e.g. State), etc. then link the “real” person to the appropriate “DATA” person based on location. Not clear what kind of tag I would use to link the various “real” people to the “DATA” person(s), probably Association or some custom tag. Could also link/associate researchers of this line that were actually entered in the dataset to this “DATA” person. Could also link sources and/or source “people” that focused on this surname to this “DATA” person. Could have research tasks or my “*Find” tags linked to Surname pseudo people. Could link a top-of-line person for an unlinked family line to a “DATA” person, possibly as a Child-Oth, using a given name for the pseudo person of “Unknown Common Ancestor” or “Possible Common Ancestor”. Such a pseudo person might also be used to link two lines suspected to be connected. My convention would make this person Male. The PSEUDO flag is set to ‘I’ for Index. Their Created tag would usually have no Date or Location unless the collection of people was specific to a time span or a location. If they are assigned a Date, the Created Sort Date is usually blank or “before” the Date so the tag sorts first. Suggested custom tags are:

• SurnameHistory: used for longer entries, such as an overview or summary of what is known, possible for an introductory chapter in front of a report on this surname. See also my “*Narr” tags.

• SurnameItems: shorter entries, such as snippets of information or unrelated items.

• SurnameLeads: high level notes about avenues to explore in the future, details would be recorded however you record Research Tasks. See also my “*Find” tags. Could word the contents of the tag so that it could be included at the end of a real individual’s narrative report to fill in what options exist for further research.

• SurnameNegResearch: notes about dead-ends that have already been tried. See my “*Nil” tags.

• Surname Researchers: names and their preferred method of communication of others working on this surname line

Index or Group of People Person

Can be used to index any collection of people to a single index pseudo person. Name of the pseudo person might be “Miscellaneous People Data” or the attribute that links them “Ohio Judges”, and can use the Association tag with P1 to the “real” person and P2 to this index person. My convention would make this person Male. The PSEUDO flag is set to ‘I’ for Index. Their Created tag would usually have no Date or Location unless the collection of people was specific to a time span or a location. If they are assigned a Date, the Created Sort Date is usually blank or “before” the Date so the tag sorts first.

One example described on the listserv 16 used this type of pseudo person for recording a title that passes to multiple people, such as a peerage. For example: Given Name; *Lord Maxwell*, Surname: *Title*, Given Sort Name: *Maxwell Lord*. There would be a set of custom tags each linking the pseudo title person as Principal using role “Title-Dummy” with a holder of the title as a Witness using role “Title-NotFirst”.

Principal Role: Title-Dummy Sentence:

[:CR:][:TAB:]The title [RG:Title-Dummy]<, which was based in the country of [L7]>< in the shire or county of [L6]>< with its seat in [L4]> was held at one time by [WO].<[RG:Title-Notfirst] gained the title [D]>< by [WM4]>. He or she was the [WM1] holder of this title, having succeeded [WM2], and being in turn succeeded by [WM3].< WM5].>

Witness Role: Title-NotFirst (meaning not the first holder of the title) Sentence (male version)

[:CR:][:TAB:][W] was one of the holders of the title [RG:Title-Dummy]<, which was based in the country of [L7]>< in the shire or county of [L6]>< with its seat in [L4]>. He was the [WM1] holder of this title, having succeeded [WM2], and being in turn succeeded by [WM3].<[RG:Title_NotFirst] gained the title [D]><by [WM4]>.< [WM5]>

With an example memo entry of:

04th||his father John, who was killed at Flodden||his son Sir John Maxwell||inheriting it from his father||Members of the Maxwell family have held the titles of earl of Morton, earl of Nithsdale, Lord Maxwell, and Lord Herries. The name is taken probably from Maccuswell, or Maxwell, near Kelso, whither the family migrated from England.

An Individual Narrative of the pseudo title person would describe the succession of the title with text for each holder like the one for this tag:

The title Lord Maxwell, which was based in the country of Scotland, was held at one time by Robert MAXWELL. Robert gained the title 1513? by inheriting it from his father. He or she was the 04th holder of this title, having succeeded his father John, who was killed at Flodden, and being in turn succeeded by his son Sir John Maxwell. Members of the Maxwell family have held the titles of earl of Morton, earl of Nithsdale, Lord Maxwell, and Lord Herries. The name is taken probably from Maccuswell, or Maxwell, near Kelso, whither the family migrated from England.

An Individual Narrative of a holder of the title (ignoring the other Tags) would contain:

Robert MAXWELL, was one of the holders of the title Lord Maxwell, which was based in the country of Scotland. He was the 04th holder of this title, having succeeded his father John, who was killed at Flodden, and being in turn succeeded by his son Sir John Maxwell. Robert gained the title 1513? by inheriting it from his father. Members of the Maxwell family have held the titles of earl of Morton, earl of Nithsdale, Lord Maxwell, and Lord Herries. The name is taken probably from Maccuswell, or Maxwell, near Kelso, whither the family migrated from England.

End-of-Line (EOL) Person

A variation on either the Surname person or the Group of People person ideas mentioned above is one suggested by Lee Hoffman. 17 He creates End-of-Line (EOL) “pseudo” persons for his main surnames of interest. These link as a parent to people who have no “real” parents but who in turn begin lines of descendants needing further research. An EOL “pseudo” person of a given surname could be the parent of only one person who is the end of line of that ancestral surname. Or it could be a parent of several end of line people all with the same surname who might actually be connected. He then connects all such “pseudo” persons to a single master EOL “pseudo” person. Thus a Decendants Chart or similar report of that one EOL person for three generations will list all the End-of-Line “pseudo” persons and the end of line “real” people linked to them.

As Lee points out, one often will have many “so-called” end of line people in one’s project who have no parents entered. However, they can often be spouses or branch lines or even just witnesses, where the people were entered only for informational purposes. Their ancestry is not the focus of this project, and further research on their lines is not planned. Thus they are not linked to an EOL person.

While Lee proposes setting the Given Name of such people to the text “ EOL ”, I would prefer using the Suffix field for that identifying text, similar to my other “pseudo” person naming schemes. I like the idea of such people, but have not (yet) implemented it. I would probably use the ‘ I ’ code for their PSEUDO Flag value, but could create a separate value for that Flag for such people.

Location Person, Repository Person, Burial Ground/Cemetery Person

A location pseudo person could be a building to link a series of owners and residents, and tags describing the overall character and changes of the site. Or a geographic location to record details of multiple historical events at that site each linked with a number of people in the dataset. Or a plat of land owned by multiple people, and tags to record the legal description and details of buildings on it. Or a repository archive that can have research tasks or tags linked to it, and descriptions of the layout of its holdings, how to be permitted access, and even where to get lunch. While I generally use the standard Name-Var tag for the name, I almost always assign a custom Location Name Style to the tag based on the characteristics of the location. Although I consider them locations, I discuss my repository pseudo people separately in my Source Guide.

Cemetery Person

A location pseudo person could be used to define a burial site that could link multiple people with graves of interest, and have other tags such as describing the process to obtain burial records. Some even define grave pseudo people as children of the cemetary pseudo person with tags and images about that grave. One user 18 described a naming convention for the grave person’s reference field that was a three-letter code for the cemetary followed by a sequence number for the order of the person listed in the cemetery to facilitate printing them in their location order in the cemetery.

I have added Cemetery pseudo people for those burial grounds where numerous of my ancestors are interred, and when I wish to be able to produce reports for all internments at that location. They are linked as a “Child-Oth” to an appropriate higher level “Mother” location person. The PSEUDO flag is set to ‘B’ for these people. This person is then linked as a Witness to all burial tag types of all people interned in this site. I have also defined special reports 19 which aid in identifying burial tags which could have such people as witnesses. For reports of these pseudo cemetery people, I choose to output an Individual Narrative which “should” list the witnessed burial tags in chronological order. 20

Their Created tag Date would be either when the site was first used or a date range of usage. Even if they are assigned a Date, the Created Sort Date is usually blank or “before” the Date so the tag sorts first. The location is generally entered in the Created tag only if this site has its own separate entry in the MPL. If the actual site has no MPL entry (which is common for my data as I usually enter the name of the cemetery in the Burial tag memo) I do not enter any location in the Created tag but the person must be linked to a Mother pseudo person of their general location. The Created memo may include information about this site, such as how founded or being used exclusively for a specific family or church. 21

The cemetery person’s name will use the Detail level of the Location Name Style (e.g. LocationStCntyCityDt), and follow my Location naming convention complete to the closest location with the name of the cemetery in the Detail. However, I generally link the Mother at a higher locale level, such as County, and only link to a city or town if that locale is large, well-known, and with many cemetery pseudo people.

I generally give detailed directions to the site in an Anecdote tag with a Sort Date to follow the Created tag.

Linking Multiple Place Entries

A single location person could also be used to link together multiple “place entries” in the Master Place List that actually referred to the same location by using multiple Name-Loc-Var tags with possible date ranges to reflect when the location was known by each name. Name indices would link all these locations to this one “person”. The primary name could be the Name-Location that is the “current” name, or could be a name identifying the latitude and longitude. A tag could have the actual name of the location as of the time of the event entered as a place from the Master Place List, but the location “person” could be linked as a witness, either using the actual Name-Var for that time or the “current” name with a possible witness sentence of “This location is currently named [W]”. If a larger area was identified by a single name for a period of time and then subdivided, the larger area “person” could be the “mother” of the multiple subdivided “daughters” who were created/born at the time of the subdivision.

I link location people to my census people so that I can easily identify what census records I have for that location. My convention would make a location person Female. The PSEUDO flag is set to ‘L’ for Location. Their Created tag may have no date, unless you wish to document the existence of this name for this location being time limited. The location pseudo person does not have to directly match an entry in the Master Place List, but the location for the Created tag usually would be an MPL place entry associated with the primary name but could be its oldest MPL entry. If they are assigned a date, their sort date is left blank like most Created tags.

Location People Name Styles

I define a set of custom Name Styles for use with Name tags used for such “people” that have all the separate name parts I normally use as a location, one for each of the quantity of fields in the name, and one set for U.S. locations since I usually do not output the country for those, and one set for non-U.S. locations. 22 I set the Name Style to only include the levels of location detail that I use for that Location pseudo person. Thus, I have the following nine 23 Names Styles defined for Location pseudo people:

• LocationState—U.S. state only

• LocationStateCounty—U.S. state and county

• LocationStCntyCity—U.S. state, county and city

• LocationStCntyCityDt—U.S. state, county, city, and detail

• LocationCountry—non-U.S. country only

• LocationCtryState—non-U.S. country and state or equivalent

• LocationCtryStateCounty—non-U.S. country, state and county equivalents

• LocationCtryStCntyCity—non-U.S. country, state and county equivalents, plus city

• LocationCtryStCntyCityDt—non-U.S. country, state and county equivalents, city, plus detail

To ensure appropriate data entry I also change the labels of the Name Parts to match location fields, e.g. Label 2 (Prefix) is named the same as L2 (Detail), etc. If that Name Style is not supposed to be used for that level of location detail, I set that field to an appropriate “blank” label, e.g. Label 2 will be “Blank2”. Thus the LocationState Name Style only has Label 5 (State) and Label 6 (Country) with non-blank label names. While this seems complex, I have few Location pseudo people, and it allows me to define more precisely how they will appear and group in indexes. Note the hard-coded prefix character of ‘#’ to cause all the names of these “people” to sort together but separate from “real” people (see the Effect of Name Styles on sorting ). There is also only one comma in the surname display templates with the other separators a period, so the definition of the desired “surname” will be correct for surname list grouping but the separation of subname parts will be clear. The set of templates for U.S. locations follows. The templates for non-U.S. styles can be inferred as their only difference is they also include the country field at the end of the Output template.

LocationState Name Style Template

Surname [State]

U.S. state

Suffix [Country]

country, entered as “USA”



Surname sort

#LOC: [Country] [State]

Surname display

#Loc: [Country], [State]

Given sort

#LOC: [State] [Country]

Given display

#Loc: [State], [Country]



LocationStateCounty Name Style Template

PreSurname [County]

U.S. county

Surname [State]

U.S. state

Suffix [Country]

country, entered as “USA”


[County], [State]

Surname sort

#LOC: [Country] [State] [County]

Surname display

#Loc: [Country]. [State], [County]

Given sort

#LOC: [County] [State] [Country]

Given display

#Loc: [County], [State], [Country]



LocationStCntyCity Name Style Template

GivenName [City]

U.S. city

PreSurname [County]

U.S. county

Surname [State]

U.S. state

Suffix [Country]

country, entered as “USA”


[City], [County], [State]

Surname sort

#LOC: [Country] [State] [County] [City]

Surname display

#Loc: [Country]. [State]. [County], [City]

Given sort

#LOC: [City] [County] [State] [Country]

Given display

#Loc: [City], [County], [State], [Country]



LocationStCntyCityDt Name Style Template

Prefix [Detail]

Detailed site name

GivenName [City]

U.S. city

PreSurname [County]

U.S. county

Surname [State]

U.S. state

Suffix [Country]

country, entered as “USA”


[Detail], [City], [County], [State]

Surname sort

#LOC: [Country] [State] [County] [City] [Detail]

Surname display

#Loc: [Country]. [State]. [County]. [City], [Detail]

Given sort

#LOC: [Detail] [City] [County] [State] [Country]

Given display

#Loc: [Detail], [City], [County], [State], [Country]



LocationCountry Name Style Template

Suffix [Country]




Surname sort

#LOC: [Country]

Surname display

#Loc country, [Country]

Given sort

#LOC: , [Country]

Given display

#Loc: [Country]



Sorting Location Siblings

[Still having sort order problems with the following in various TMG lists. Last tested in Version 7.04. Need to test in the final Version.] Since location people may have “birth/created” dates but I wish them to sort alphabetically as daughters under their “Mother-Oth”, I [try to] force an order by leaving their Created sort date empty or with a “before” date and placing a numbering order in their BIRTH ORDER flags. From the Person View of any daughter, edit the BIRTH ORDER flag and click on the “Siblings” heading to sort by name, then set all the BIRTH ORDER values to consecutive numbers. For example, I have set the following BIRTH ORDER numbers for the U.S. states and territories pseudo persons.








South Carolina








South Dakota






New Hampshire








New Jersey








New Mexico








New York








North Carolina


Virgin Islands






North Dakota




District of Columbia














West Virginia






















Puerto Rico








Rhode Island



Research Person

This could define and track an overall research effort involving multiple people that could be subdivided into multiple tasks, with tags documenting the purpose, progress and expenditures of the effort, and linkages to source pseudo people and repository pseudo people. Subtasks could even be created as pseudo “daughters” of the overall effort “mother”. I have not (yet) created Research pseudo people, so still need to experiment. For now my “*Find” tags linked to source and repository pseudo people along with my use of the Research Log seem sufficient for my needs. My convention would make this person Female. If I start using such people I would probably define a separate value for the flag, but for now the PSEUDO flag might be set to ‘O’ for Other or possibly ‘S’ for Source. If they are assigned a Date, the Created Sort Date is usually blank or “before” the Date so the tag sorts first.

Source Person, Source Collections, Census

I choose to use Source People extensively. One type of Source People, my special Census People, are discussed separately in my Census chapter, and my generic Source People are described in the Source Guide chapter. There are many ways to use this concept. An example could be a collection of documentation such as “Land Grants, Patterson County” as the source pseudo person, linked to a collection of entries of people documented in that source and possibly also linked to that associated location pseudo person. A source person might be a book or a bible that changed hands over the years with links to various people that might also have various “ownership” tags with date ranges. Source people suggest a variety of custom tag types associated with that source, such as an overall description of that source and its usefulness to your research, or my Transcript tags. The source pseudo person does not have to directly match an entry in the Master Source List, and such a pseudo person only needs to exist for those (few?) sources where you want/require linkages or extra tag information. For example, if you are a “splitter” each of your split MSL sources could be a pseudo source person “lumped” as “Sons-Oth” of a grouping source pseudo Father-Oth. Remember that when you copy some of a dataset, only the sources (and tags) associated with the included people are copied 24 . Can construct a pseudo person as a holder for a single dummy citation for all possible source types. The actual source could be just a dummy to migrate the source template, or could be sources you expect to want in the other dataset. My convention would make source people Male. The PSEUDO flag is set to ‘S’ for Source. Their Created tag would usually have the date of publication and a location is entered if the source data is associated with a specific location. If they are assigned a Date, the Created Sort Date is usually blank or “before” the Date so the tag sorts first.

Sentence or Tag Structure Person

When you copy some of a dataset, only the tags (and sources) associated with the included people are copied. 25 Can construct a pseudo person as a holder for one’s example or “standard” sentences for all possible tags. Then including this person would migrate all your customizations for all tags. The names could be “Sentence” for surname and “Structure” for given name, or “Tags” for surname and “All possible” for given. It could then have one each of every possible tag assigned to the person, and the memo data would describe the purpose of the tag, and expected contents of the memo and possible subfields. My convention would make this person Female. The PSEUDO flag is set to ‘T’ for TMG ideas. Their Created tag would usually have no Date or Location. If they are assigned a Date, the Created Sort Date is usually blank or “before” the Date so the tag sorts first. With the new tag export and reminder features I do not have such people.

Ship Person

Some have discussed recording information about ships using a pseudo person, with separate tags for the voyages they made, their officers, owners, etc. Since one could think of a ship as a type of “location”, if you did not want to create Ship pseudo people you could enter the ship as a “place” in the Master Place List and reports could then filter by such a place. Various options for the Name structure of such a pseudo person have been proposed (such as “--Ship” for surname), and may require a custom Name style. This ship person might be added as a witness with a custom role (e.g. “ship”) to tag types like Immigratn or Emigration. My convention would make this person Female. Their Created tag could have a Date and Location of when and where the ship was built. If they are assigned a Date, the Created Sort Date is usually blank or “before” the Date so the tag sorts first. I have not (yet) created Ship pseudo people, so still need to experiment. I would set the PSEUDO flag to ‘L’ for Location unless I get lots of these and decide to define a separate flag value.

John Cardinal suggested on TMG-L to add an event to the Ship Person for each voyage of interest, but not to attach passengers to that event. His voyage event has the generic voyage details in the memo field with output like: “Left Queenstown on 02 Apr 1922, and arrived in New York on 10 Apr 1922. Selected passengers:”. Alternatively one could have separate tags for departure and arrival and use the Date fields of the tags themselves with split memos for various information like the type of ship, its route, transit time, cargo, etc. His Immigratn tag has the sentence: “[P] <and [PO]> immigrated <[D]> <to [L]> <aboard the [R:ship]>” and the sentence for the R:ship witness is: “[:CR:][:TAB:][:TAB:][P1] <and [P2]> <[M0]>”. For the Ship Person, the net effect is a selected passenger list. Using my Immigratn tag, the name as shown on the passenger list is [M1] and the sentences could be modified accordingly.

TMG or System Person

A pseudo person to store ideas about your way of using the TMG software, your standardization and customization ideas, as well as to assign tasks for testing various features of the software. “Daughters” could have Given name of the version number. Could also have “daughters” for companion software ideas (such as for the Second Site© program or TMG Utility) or for ideas about specific topic areas such as Sources, Exhibits, etc. My convention would make this person Female. The PSEUDO flag is set to ‘T’ for TMG ideas. Their Created tag would usually have no Date or Location. If they are assigned a Date, the Created Sort Date is usually blank or “before” the Date so the tag sorts first.

One might prefer to store this “person” and the above Sentence Structure “person” in a separate “template” project which contains the “master” for all custom flags, tags, etc. This template project can then be copied and used to create any new project or dataset so it will initialize with all your custom settings. The advantage is that it is kept separate, the disadvantage is remembering to keep it up to date as you change ideas and customize various features. I do not do any of this since I store all such ideas in this book.

Unmarried Person

(See also my “*Nil” custom tags, and especially my custom Marr Nil and Marr Not tags. For the heading on a list of children of such a person, see also the standard NarrativeChildren tag type.) If you want it to be clear on reports and/or charts that the person is unmarried, one idea is to create a pseudo person, with Given name: “*** UNMARRIED”, and Surname: “***”. This “person” could then be linked as P2 to a tag in the marriage group as the spouse with a sentence “<P1> never married, this line stops here.” Then in the Children and Siblings views and on reports/charts the spouse shows as “*** UNMARRIED ***”. The only down side is that all unmarried people are multiple spouses of this one pseudo person. I expect one would want to have one such pseudo person for each gender to avoid confusion, although TMG will allow a marriage between the same gender, just give you a warning when you do. However, TMG will only allow one of each SEX for Primary parent/child Relationship tags. If I were to create such people I would probably set the PSEUDO flag to ‘O’ for Other. Their Created tag would usually have no date or location. If they are assigned a Date, the Created Sort Date is usually blank or “before” the Date so the tag sorts first.

Tag Accent Person

An Accent can only be assigned to a Person and is usually based on a flag. As of Version 8 tag types also can be assigned specific colors for display of their tag type name. Prior to Version 8 a trick was described to assign Accent colors to specific events/tags. (See also the discussion of Event flags below.) If the tag does not have a person assigned to the second Principal of the tag, then one could link a pseudo Accent Person to that tag as the second Principal. The trick is to have a special flag value where only this pseudo person is assigned this specific value. Setting an Accent condition and color based on this special value of this flag would have the effect of accenting the pseudo person's name in any tag linked to this pseudo person, as opposed to the Version 8 method of coloring the tag type name. Examples of such Accent people mentioned on the TMGL ListServ by Nancy Archdekin were PRBLM and SRCH (each entered as their respective surname) or even a person named CENS1850. This trick works since whenever you add a person as a second Principal, their name shows up within the text of the tag on the Details view and causes that text to take on the Accent colors for that person. By choosing a short pseudo surname, there is more room to view the rest of the text of the tag. You could either have separate Flags for each of these “tag” accent conditions, or have a single Flag with multiple values. For example, you could have a TAGACCENT Flag with possible values of “N, P, S, C” where ‘N’ is default for “normal” people. The person named PRBLM would be assigned the value ‘P’, the person named SRCH would be assigned the value ‘S’, and the CENSUS person would be assigned the value ‘C’. The Accent conditions would define the display of special and different colors for the pseudo people with each of these different values. As a result, Details text of any tag with these pseudo people as second Principal would display the appropriate colors. (Nancy uses PRBLM to identify tags that have some problem that needs resolved, and SRCH to identify tags where seaching for sources and details have thus far been unsuccessful. As a variation on this method for research issues I use custom tags such as my *Find and *Nil tags.) Since my *Find , *Nil , and various Census tags are all designed to have pseudo people as the second Principal, using Accent conditions based on my PSEUDO Flag allows Accent colors to work nicely for these tags. As of Version 8 I also use tag type label display colors for specific tag types as well as Accent colors for Pseudo people’s names.

Other Pseudo Person Ideas

There are many other ideas for such people which I have not further explored. One such would be for a major “event”, such as a war. One could link that person as a witness to a “real” person's Military tag (enlistment, service activites, discharge), or Death tag (died while fighting in xyz battle), or Occupation (exempt from service due to his work), etc. Then the Individual Narrative of that “pseudo person” can have lots of events about that war.


Flags are only associated with people and not events or names. (To approximate having a flag based on the presence of a specific tag type, see Event flags below.) Flags are unique to a given dataset. The exact same set of flags exists for every person in a dataset, but each person has each flag set to their own unique value. The name of a custom flag can be a maximum of fifty letters, 26 and will be forced to all caps, but should be unique within the first three characters to be easily usable as a heading on reports. [Otherwise must manually change the Header name in the report? 27 ] The assignment values of a flag must be single characters, are case insensitive (and thus I recommend that if letters they be capitals) and will be displayed in a list for entry in the order specified for that flag. While special characters can be used either as part of a flag name or as a flag assignment value, I recommend avoiding the use of most special characters for either. 28 The first assignment value in the list of flag values is always the default value which will be assigned to a newly created person. I choose to include a description/key to explain the meaning of the values. Each description line of the key will be displayed word-wrapped at about 20 characters. 29

The order you create custom flags is the default order they will be displayed in the flag list (always following the pre-defined flags which cannot be deleted or changed, only made unseen in the flag list by disabling/making them inactive). So you will find your new flag at the bottom of the list. (Prior to TMG Version 5 the only way to reorder them 30 without losing the current values was a chore which one did not do lightly, and required careful backup of your data beforehand.) Beginning in TMG Version 5, the flag manager (File > Flag Manager, or right click in the Flags window and chose Customize flags) permits the user to edit, reorder, and enable/disable display of each flag.

If you change the name of a custom flag any existing assignment values remain. 31 Adding new possible assignment values to an existing custom flag will not affect current settings of this flag. You cannot add or delete the number of values of a pre-defined standard flag in any language. You also cannot delete an assignment value for a custom flag if anyone in this dataset is assigned that value. You must first change the value of the flag for these people to something else, and then you can delete that value. A person’s flag value will only ever be changed by an explicit action, either manually for that person or by using the Secondary Output of a report which is run. A condition can exist where a person in a dataset has a value assigned to a custom flag which is not in that flag’s list of assignment values for that dataset. Since custom flags are defined unique to each dataset this condition can occur as a result of merging people from a sending dataset which has the same flag name but has flag assignment values which do not exist in the receiving dataset. See the separate discussion about the affect of merging on Custom Flags.

Prior to Version 5.09 flags could only be set as secondary output by reports using List of People reports since it was recognized that flags are only associated with people. As of 5.09 the List of Events report can set flags on those people associated with the focus or filtered event(s). Since for either report they are “secondary” output, you should decide what to do about the primary output. When all you really want to do is set the flag, use ID number as primary output displayed to the screen to see what is happening or suppress all output to screen, file, and printer using that option on the Secondary Output tab.

Beginning in Version 5, to ensure you had the option to set a flag to something other than default when entering a new person, in the Add Person screen you would click Setup. Then in the Add Person Template, click on the Flags tab and select which Flags should appear to allow setting them on your custom Add Person screen. All flags for a new person will be set to their default (first) value, but including a flag in the Add Person Template allows you to choose a different value at that time.

Custom flags are defined unique to each dataset . Therefore, defining an accent based on a custom flag will show the flag name followed by the dataset number within the project. Unfortunately, Accent files relying upon custom flags are identified by dataset number within the project 32 , not by the name of the dataset. If you have saved accents and add/delete or renumber datasets, you will need to recreate your accents so they will match your possibly new dataset number.

To deal with my custom flags I typically have two LOP reports defined, one whose Secondary Output just sets the flag to a non-default value, and one that resets it to the default value. I then define at least two filters for use with the flag, one which tests if the flag is the default value, and one that tests if it is not. These pre-defined reports and filters come in handy for manipulating the flags, e.g. filtering for non-default value and setting to default is the fastest way to reset the flag affecting the least records. See also TMG’s “book” report option to “chain” multiple reports together (e.g. reset then set).

Languages and Flags

Note that TMG considers English (U.K.) an alternate language, so the following comments apply if the program is set to that, or any other, alternate language.

A custom flag will display the same flag name/label and the same values in all languages. A custom flag cannot be customized to have a different name or values for different languages. If you work in multiple Languages, you should probably use a language independent custom Flag name and values since they will be displayed the same in all languages. Alternatively, you might reserve a custom Flag for a particular language. In that case you might only explicitly set or use it in that language and never make use of it in a different language. It might help to include the language name as part of such a custom Flag label. The Secondary Output of a List of People report filtered for one Flag value can be used to automatically set the value on another Flag. That can help in synchronizing the values of a custom Flag for one language with a matching custom Flag for another language.

Pre-defined standard flags can have both their name and their values uniquely translated in each alternate language to be more meaningful in that language. 33 However, the position of a value in the sequence of assignment values for a standard flag is defined to have the same meaning in all languages. The different values in that position in different languages are only translations . The flag name/label, its values, and their sequence order cannot be changed in the English (U.S.) language for any pre-defined standard flags. The user can assign to each position whatever character is appropriate for that position's meaning in that alternate language, but must keep in mind the position. While the user can define the translation of the flag name in any other language, its meaning will remain the same in all languages. Pre-defined standard flag names and values are displayed according to the language currently set on the File menu for the program. You can edit the name and values of a pre-defined standard flag in another language either by changing the program’s language and then editing the flag, or by selecting the desired language on that flag’s Edit Flag Value window.

Two pre-defined standard flags can serve as examples. The unchangeable English (U.S.) language flag names and their values, in order, are:

SEX: ?,F,M


Thus the character in the second position for SEX will always be interpreted by TMG as meaning Female regardless of the translation character choosen. If you add a new person as a Female, the flag will be set to the value in the second position for the flag as defined for the language currently set for the program. And the character in the third position for LIVING will always be interpreted by TMG as meaning living. Using the English (U.S.) values but listing them in a different order doesn't change the meaning of the position as understood by the system, but simply changes the displayed character for that position, which may cause considerable confusion. Even if the third position of the SEX flag has the value ‘F’ in an alternate language [including English (U.K.)], TMG will give a warning of unexpected SEX flag value if a person with that value is attempted to be assigned as a Mother since that position implies they are male.

The TMG filters for the Picklist, PE, and reports use the values as defined for the program's current language setting. The program language and not the output language for a report is used for the filter of that report. But if the report language is different than the program language, any Flag value output will be the value defined for that position in that output language. For example, to find all people who are female, the filter for the SEX Flag should compare equal to the value in the second position for that flag in the language currently set for the program. But the Flag value will output as whatever is in the second position in the output language.

Based on my testing, the Flag filters in the TMG Utility always use the U.S. language values regardless of the language that was set for the program when that project was closed.

Standard Flags


Since I am adopted, I am especially sensitive to the reporting issues associated with adoptions. Thus I use this standard ADOPTED flag (default ?, set it to Y, and can be set to N but I usually don’t bother) for all people who have documentation indicating they were adopted, or became someone’s ward and took a guardian’s surname. If no other accent applies I also accent people based on this flag. TMG Help seems to imply that this flag will automatically be set in conjunction with assigning a standard *-Adopted ( *-Ado ) relationship tag type between the child and its adopting parents. I have not ever noticed this flag automatically being set in this way, but if these relationship tag types are used for the parent/child relationship it would be appropriate to set this flag to ‘Y’ for the child.


I do not recommend setting this flag for most children. For “real” people, even if I do not know a Date for the birth I find it much better always to set a Sort Date “guess” on the Primary tag in the Birth Group, (possibly using a date qualifier like “say” or a date range to remind me that this is a guess) to force some order to the children. If there is no actual Birth date on the birth tag but only a Sort Date, that date is only shown in the Person view if Sort Date is selected to be shown. If I have specific information about the order of birth, I prefer to separately fully document that fact with my custom BirthOrder tag instead of setting this flag. However, I sometimes use this flag whenever I want to force a particular order of children. For example, my Location pseudo people often do not have any “birth” dates. For this reason I (try to remember to) use it for such “children”.

Setting this standard flag does not affect the display order 34 of children in the parent’s person view 35 , nor in either the Children window or the Siblings window. Note that an older version 36 of Second Site explicitly documented that it did not use the BIRTH ORDER flag for ordering children, and that may? still be true but has not recently been tested by me. If a BIRTH ORDER flag is set, it will override dates and sort dates when sorting children in the order of their birth for some reports, 37 and has been reported38 to affect the order of a person’s spouses on some reports when a person has multiple spouses with whom they have children. It is commonly output in a column on a Family Group Sheet report by selecting that field for output on the Miscellaneous tab of that report’s options. It can be automatically determined and set for selected parents’ children based on their children’s birth dates using the TMG Utility.


If used, this standard flag can control sentences that are split by ‘||’, see the sentences discussion. If the “Suppress details for Living people” is selected on Reports, all non-primary name and all event tags are suppressed unless this flag is explicitly set to ‘N’, i.e. both ‘Y’ and ‘?’ 39 values will cause suppression. Whenever the first tag that is in the Death group is added to a person this flag will automatically be set to ‘N’, but if all Death group tags are deleted the flag is not reset to ‘Y’. Further if you merge a person with a Death group tag and LIVING set to ‘N’ into a person whose flag is not ‘N’, the merge will not change the flag. Adding a second tag to the Death group for a person whose flag is not ‘N’ will also not change the flag. See the TMG Utility feature of “Set Living=N” to resolve flags which were not changed.

SEX Flag

This standard flag can control tag output that has different sentence structures for male or female, and controls pronoun variables. The Female sentence structure will be used if the SEX flag has a value of ‘F’, otherwise the Male sentence structure will be used. A Tag Type role can also be restricted for assignment based on the value of this flag, and a warning will be displayed if the role is assigned to a person with an inappropriate value of this flag. TMG will only allow one of each gender value for Primary parent/child Relationship tags.

Other Standard Flags

The following are other standard flags predefined in TMG which I do not use, have deactivated, and thus have no specific comments about them.

• ANCESTOR INTEREST (See my custom MAIN flag.)

• DESCENDANT INTEREST (See my custom MAIN flag.)

• MULTIPLE BIRTH (See my custom role MULTIPLE on Birth Group tag types)

Custom Flags

The following are my custom flags in the order in which I have them appear in the flag list. The actual flag name I use is given in parentheses.

Pseudo People (PSEUDO)

Flag to differentiate between “normal” people and different kinds of “pseudo” people that are in the same dataset. Instead of any focus for “all people” I use “Flag PSEUDO equals N” to filter for only “real” people. I also accent people based on this flag. The list below of flag values defines only the ones I use and is based on the ideas concerning possible types of pseudo people discussed separately above. (See also my MAIN flag below which I always set to ‘?’ for these pseudo people.)

N = normal (default), set for all “real” or non-pseudo people

C = census

S = source/data

R = repository

I = people index, also use for One-name/Surname pseudo people

L = location or ship

B = burial ground/cemetery

T = TMG ideas, person for sentence or standardization examples, or tasks for testing the software

O = other

Main Line Ancestors (MAIN)

See also the Related By Flag ( REL ) discussed later. I use this MAIN flag to indicate that a person is a direct ancestor of me (on my main line of ancestors). Since I have four parents (two biological, two adopted), by the time I get back very many generations it is hard either on the screen or in reports to remember if this person is a direct ancestor, and therefore (to me) of some degree of greater interest. While I could (and probably should) use the predefined ANCESTOR INTEREST and DECENDANT INTEREST standard flags, they each have only four possible values: 0, 1, 2, 3. I prefer to have a flag that quickly tells me exactly how distant a person is on my main line. I set to ‘N’=No as default, with numbers and characters to indicate up to 20 generations back from me (1 indicates my parents, 2 grandparents, etc.), a code for distant main line ancestors beyond 20 generations, and a ‘?’ for unknown. I included ‘0’ for “me” since I will want to use this flag to focus on my main line, and will therefore want filters to include me, so don’t want me to be an ‘N’. Though I have not yet used it for this, I defined an “unknown” value ‘?’ for this flag 40 to identify those individuals that I add to my dataset because I do not want to lose the research on them and they look promising, but who are not yet connected to my tree in any fashion. I (try to) make a point to also set this MAIN flag to ‘?’ for all pseudo people, since whichever flag is being used for a filter, these pseudo people should not be included in reports about real people. I also accent people based on this flag to highlight my direct ancestors.

To automatically set everyone in an existing dataset to the appropriate number requires running a pair of custom List of People reports once for each generation. The first focuses on all people with the MAIN flag set to the highest generation number so far set, and includes one generation of ancestors, and sets a INTERIM flag. This identifies the people at that generation and their parents. The second report focuses on all people with the INTERIM flag set and who do NOT have the MAIN flag set to the highest generation number so far set (so we only get the parents), and sets the MAIN flag to the next highest number. Remember to reset the INTERIM flag after each generational step. You know to stop when the second of the two reports finds no people in its focus. [You wouldn’t have to do two steps if I could figure a way to have the focus for report one identify the people of interest but ONLY (instead of also) include the ancestors of one generation. Although you can now combine these two reports into a “book” and TMG will run the two reports together sequentially.]

N = no (default) Real people that have some linkage to me, but are not on my main line

0 = me

1-9 = 1-9 generations

A-K = 10-20

X = >20

? = pseudo/unknown

Whether Edited (EDITED)

Flag to indicate that a person is edited and up to date. Some use a name like CLEAN implying that this person’s data has been cleaned up. I set to No as default as I automatically assume any person added will need further work than I am likely to give at one setting. This flag is the primary condition I use to accent people. I also can set this as a secondary output using a filter on some kind of report that defines the editing activity. If you do not work on one task or person at a time, might use additional values indicating the task being done on that person. However, since a given flag can have only one value for a person, multiple tasks may each need their own flag. See also the WORK flag below.

N = no (default)

P = partially complete, in progress. Unless I am using automated routines, there “should” only be one person with this value for this flag, although sometimes I jump around <grin> while working on multiple people.

Y = yes

Work Group (WORK) or Temporary (INTERIM)

Although this is similar to the EDITED flag, there was a suggestion on the listserv that this would be of value to define a set of people that you are currently doing some kind of collected work on that is saved between sessions. This can then be used to generate a pick list as needed that lets you step through them, even though pick lists are lost between sessions. Normally has only the two values N (default) and Y. Although one flag could have multiple values (1, 2, 3, …) for multiple work groups, it seems better to have separate work group flags (2WORK, 3WORK, …) [number first for flag name uniqueness in the first three characters] so a person could be set as a member of multiple groups. Since focus groups can be named and saved, that might be a better way to save multiple groups. You can set a WORK flag as a secondary output for a specific set of people by a List of People report, or a List of Events or other reports, then use the Project Explorer filtered for that flag, then right-click on the PE and save this filtered list to a focus group. The INTERIM flag is usually used as part of a two-step process to set some other flag.

Find Research Flag (FIND)

I use custom “*Find” tags to document research that I wish to do for various people. I also have reports I run regularly whose secondary output will set this FIND flag (default N, set to Y) based on the presence of these “*Find” tags. Various reports can be used to set this Flag for all people, i.e. All Witnesses, (both real and pseudo) that have such some kind of research tag (Tag Label contains “Find”, or Tag Label equals “Note”), or can be limited to a subset of events to focus research efforts, such as people with incomplete tasks, or with a specific Location or range of dates, or “any witness” has my MAIN flag not ‘N’, or even specific “*Find” tag types (e.g. CensFind). This Flag makes it easier to filter for such people, set focus groups, set accents, Filter the List of Tasks report, etc. Unless I am trying to restrict for a particular research activity, I usually periodically run a saved List of Event report to set this flag for all people with any *Find , or Note tags. I could have two flags, one to indicate all people with these research tags, and a separate different one for focusing specific research activities. However, since I can reset/set this flag automatically and quickly using saved report definitions 41 I have not seen the need for multiple flags.

Other Custom Flag Ideas

Event Flags (CENSUS)

While flags are only associated with people and not events or tags, one can simulate “event” flags. The general method is to set a flag for all people linked to a tag type of interest. (An alternate method could be by using a TagAccent pseudo person in conjunction with a TAGACCENT flag as described above.) As of Version 8 this trick is probably no longer needed simply to highlight tag types since their labels now can have their own display color. However, this could still be used to highlight people with tags which have specific characteristics. One of the most typical uses for such a flag is to indicate whether a person was involved in a significant documented event, such as census enumeration. One could create an appropriately named custom flag (e.g. CENS1880 ) with desired possible values. Two examples of values for a census flag are:

? = Unknown whether alive for census, or flag not yet set (default)

N = Not possibly alive for census

A = Alive during census, but not completed

I = Probably located in some index, but not yet in the enumeration

C = Completed using census enumeration for this person

Q = Person searched for but not found in census (I Quit)

Or to simply answer the question “Does this person appear in this census?”:

? = Unknown, still need to search (default)

Y = Found and data has been entered

N = No, used to exclude those who are dead or abroad at the time of the census

Then run either a List of Events report or a List of People report and set the flag as Secondary Output. If using a LOE you can filter for those people who have multiple similar tag types by using tag type label “contains” some character string, which is how I set my FIND flag, or you can filter for multiple specific tag types like for my CENSUS flag. If using a LOP you can filter for those people whose number of tags of the tag type(s) of interest are not zero. For LOE you define what people (principals, witnesses, etc.) will have their flag set on the Secondary Output tag. For LOP you will need to AND the number of tags filter and the number of Witnessed tags filter if you want to set the flag whether the person is a principal or witness. You may want to set different flag values for the person depending upon their type of link or role to the tag. Once the flag is set you can filter or set Accent colors for people based on this flag. You will need to remember that the flag will not automatically change for a person if you add, delete, or change their linkage to the tag type(s) of interest. You will either need to manually change the flag value as you make the tag change, or re-run the appropriate report(s) in order to reset/set the flag for all people.

Parent Surety Flag (PSURE)

One suggestion proposed setting a flag to the minimum of any parent surety for this person. Can then be used for Accent colors to more clearly identify the individuals that need work. Set by a series of LOP reports, with Focus filter of “Any * Father Group Relationship Surety equals [?] OR Any * Mother Group Relationship Surety equals [?]” and run the report for the value ‘3’ through the value ‘-’. The flag would have values of ‘?’ (default) or [-0123]

RelatedBy Flag (REL)

A user on the listserv 42 defined a sequence of reports to automate setting a flag in an existing dataset to values which identify the relative relationship to a particular person. This is similar to my MAIN flag. Some also use this flag to set a value that indicates the person is unlinked/unrelated as far as it known at this time, similar to my ‘U’ value in my MAIN flag. Others have proposed a separate flag (e.g. STRAY ) to indicate unlinked and therefore stray people and lines. This flag is often used for setting Accent colors, perhaps with different flag values and colors for different ancestral lines. Possible values include:

A = direct Ancestor

C = Collateral relative

M = related by Marriage

U = Unrelated/Unconnected


I need to test and document any special features of reports of interest to me which were introduced in Version 8 when the entire Report Writer was rewritten. For example the Endnotes and Bibliography are no longer generated as separate reports but are included in the actual report. I especially like the new ability to color-code names in reports based on the Accent display feature, and the ability to resize images to a maximum size.

Secondary Output

The Secondary Output tab on many reports has features I often use, especially its ability to set a Flag or create a new dataset or project based on the the filter of the report. [Note to self: Need more testing to construct text and examples here.]

If a New Project is created based on the report filter, the resulting project will have its preferences and options set the same as those in a New and empty project. The preferences and options from the project where the report is being run will not be used. A better alternative is to use the filtered report to create a new dataset within the existing project. This will retain all customizations associated with the information which is copied, e.g. tags, sources, etc. For more information, see Importing Files into Projects with Customizations in the Import/Export chapter.

TOC and Indexes

TMG creates its standard TOC by inserting “Table Entry Fields” instead of using the Microsoft ® Word 43 default of TOC “Styles”. To inform Word of this difference, while editing the report in Word, access Insert>Index&Tables>TOC Options to turn off Styles and “turn on” Table Entry Fields (which by Word default is always off). You then OK out and your ToC will be built where you had the cursor in the text.

TMG Indexes

When you generate a report you may choose in the Report Options to generate certain standard indexes such as for People, Places, and Marriages. These indexes are based on several TMG’s features, such as linking people in the dataset to tags usually with roles, selecting a specific Name-Var tag to use for this person in this tag, assigning specific places from the Master Place List to the tag, etc. The sort order of names of people in an index is based on several factors, but especially the collate sequence as described above. If the report option for an index is selected, these automatically generated word processing codes for indexing are included in that document. Therefore it is not possible to accumulate an index over more than one report. 44 Some word processors receive these index codes from TMG, but do not create or structure the index in a visible form. If you have chosen to include an index in your report but it doesn't appear to be there, you may have to manually tell the word processor software to generate the index from the existing embedded codes. For example in some versions of Word access the References tab and Insert Index.

If an Identifier is selected as part of the Report Options for Names, that Identifier is not only appended to the names within the report but is also appended to names in the standard TMG indexes.

You can add custom index entries to TMG’s standard indexes generated by the index report options chosen. These are created by inserting the TMG custom embedded format codes for indexing [INDEX:]name-of-index:level1;level2,level3[:INDEX] in report text. This will cause an index code for the named standard TMG index to be embedded at that point in the report and will generate an entry if that index is selected. These codes are usually used to index some ordinary text in a memo, but can also be used to index any text which would not otherwise be indexed by the standard indexing report options. (See the TMG HELP topic Report Options: Indexes for details of the parameters within these [INDEX:][:INDEX] embedded formatting codes.)

Word Processor Generated Index

Most word processors offer an alterative to TMG’s built-in indexing report options to completely customize an index. For example MS Word can automatically generate an index solely based on the occurances within the document of a defined list of words or phrases. 45 The trick is manually creating a Concordance File, possibly aided by some TMG reports, such as List of Names, List of Places, List of People, etc. The concordance file is a separate Word document containing nothing but a single, two-column table and no text outside the table. The first column contains a word or a phrase to be searched for throughout the report and indexed, and the second contains the text for the entry (and possibly subentries separated by colons without separating spaces 46 ) that should appear in the index for this word or phrase. 47 Multiple separate indexes can be created by creating multiple separate concordance files.

If the same word or phrase is to be indexed in multiple ways, then it must be entered in the first column of each of the rows with the different index entry text in the second column. If different words or phrases are to result in the same index entry (such as multiple name variations indexed under a standard name) they must each be entered in the first column of their own row with the same index text in the second column. In other words, to match all the to-be-indexed words/phrases, implied and explicit, to the same index entry be sure to have all necessary rows with the same right column value with all the possible left column word/phrase variations: title case, lowercase, singular, plural, current tense, past tense, etc.

Word will only “mark” the first occurrence of a word/phrase in each paragraph. All data in the table is case sensitive. Formatting in the second column will govern the formatting of the entry. Examples:

Dick Sark

Sark, Richard

Richard Sark

Sark, Richard

Richard Sark

Marriages:Sark, Richard

Richard Sark

United States of America:Michigan:Sark, Richard

Civil War

Civil War

Civil war

Civil War

civil war

Civil War

Civil War

Military Service: Civil War

Civil war

Military Service: Civil War

civil war

Military Service: Civil War

Grand Rapids

United States of America:Michigan: Cities :Grand Rapids

A user pointed out a common situation where you may have lots of people of the same name, and wish to have separate index entries for each. 48 As the standard TMG index will group all same-named people within the same name index entry, this may be a motivation for customizing with a concordance file. You will need to be able to uniquely distinguish these different people’s names in the Word report. The simplest way to cause names to be unique is to use the TMG Report Option on the Names tab to automatically append a unique “Identifier” to the output of a name. Choosing the ID Number as the Identifier is guaranteed to be unique and will facilitate creating unique index entries. However if the ID number is chosen for the Identifier, the report will append the ID number to every name. Note that the second column with the index entry text must also include something unique to distinguish this index entry from others. A generally useful example for people entries would be to include the person’s Primary Birth/Death Group years, obtainable from a List of People report as mentioned above. An example set of rows using ID numbers as the Identifier is:

Sam Ward (483)

Ward, Samuel (1754-1825)

Samuel Ward (483)

Ward, Samuel (1754-1825)

Sam Ward (572)

Ward, Samuel (1781-1835)

Samuel Ward (572)

Ward, Samuel (1781-1835)

The concordance file could append the ID in the first column to all names. However, the file could include rows with appended ID’s only for those names desired to have their own index entry. For example if the above “Richard Sark” example rows were left unchanged (i.e. did not include the appended ID number in parentheses), all people named “Richard Sark” would be combined within the same index entries even though their appended ID numbers differed.

Alternatively, the TMG Reference Field could be chosen to be appended as the Identifier. It may be appropriate to choose this if you have entered a useful unique code for each person in the Reference Field. You may also wish to choose this if you do not otherwise use the Reference Field but desire to uniquely distinguish only some people with the same name. If the Reference Field is chosen as the Identifier, only people with reference values will have that value enclosed in parentheses appended to their name in the report. 49 Thus only those few people who are desired to be uniquely distinguished in the index will have a value after their name. And only those few people will need separate rows in the concondance file for those uniquely identified names. An example using Primary Birth/Death Group years (e.g. “1754-1825”) as the Reference value is:

Sam Ward (1754-1825)

Ward, Samuel (1754-1825)

Samuel Ward (1754-1825)

Ward, Samuel (1754-1825)

Sam Ward (1781-1835)

Ward, Samuel (1781-1835)

Samuel Ward (1781-1835)

Ward, Samuel (1781-1835)

If some people with that name will not have reference values, be sure to have generic entries in the concordance file for the variations of this name without a reference value or those people will not be indexed. But realize that the people with that name who do have a reference value will also be included in that generic entry. To avoid this dual indexing, ensure that everyone with that specific name has a unique reference value and their own concordance entries so you do not need to include the generic entry. Since a reference value will only be appended in the output to those names which have a value, you may wish to remove those appended refererence values from those names in the final report. Including some common unique text as part of every reference value (e.g. “RefV 1754-1825”) could help with a global search/replace in the word processor to remove all existences of this appended text.

To create the index entries from each concordance file, while in Word editing the TMG report generated as a Word file, turn off the display of hidden text [Tools>Options>View Text>clear Hidden Text]. Choose [Insert>Index&Tables>Index options>AutoMark]. Select and open a concordance file with the Open Index AutoMark File dialog box. Now insert the cursor where you want it and create that index. If you update a concordance file and use AutoMark again on the existing report file, Word will only add new index entries, it will not update or delete existing index entries. It may be easier to regenerate the report and then use the concordance file to regenerate the indexes. You can now manually edit the indexes, perhaps making the page number bold for the primary reference among several page numbers in a given index entry.

If you use reports (e.g. List of Names, List of Places, List of People, etc.) to initially identify all the entries for inclusion in a given concordance file, save the report definitions of those reports. Also save backups of the actual Word documents produced from those reports. Later after you have done additional data entry of new people, places, etc., just rerun those reports from the saved definitions to create new Word documents. Then use the Word facility to compare "versions" of the new document to its backup to show the "changes", i.e. the new people/places that have been added. These will identify the new rows now needed in the concordance files.

For tips on inserting an index after endnotes in a journal report see:

The trick is to put the extra section break just * before * the endnotes, not after it, then suppress endnotes for that last section.

Title Variables

On the General tab in Report Options for a Journal Report there is a dropdown menu for specifying where you want the Preparer's name to appear: None, at the end of the report, or "In the header or footer". For the last selection the researcher info 50 appears in whichever one is not used for the page number.

In the Report title field on the Options General tab you can enter a number of variables associated with the report.


Focus person


Project name


Project path


Report configuration name 51


Program name 52


TMG program version 53



[TIME] or [TIME24]

Time in 24 hour format


Time in 12 hour format


Researcher's name


Researcher's address line 1


Researcher's address line 2


Researcher's e-mail


Researcher's phone


Researcher's website

Several of the Embedded Format Codes ( UND, BOLD, ITAL, TAB, HID ) will work as expected when used within the Title text. [Warning: Since the Title text is Bold by default, the pair of codes [BOLD:][:BOLD] will turn off Bold for the following text whether or not there is any text between that pair of codes.] Several codes will work ( SUP, SUB, FONT, SIZE, COLOR ) but will cause the following text to revert to normal report text font size rather than the standard font size for a Title. Several codes do not work at all ( CR, CENTER, LIND ). [Warning: Use of any of these codes will cause the Title text to be left justified rather than centered.] As CR does not work, I know of no way to cause the Title text to be on more than one line. Such formatting would have to be done as post-processing in the word processor. The remaining codes I assume have no meaning within a Title and did not test them. 54

Spell Checker

To delete a word entered into the TMG spell checker: First, add a misspelled word (a non-word like 'dddd') to a memo to get the spell checker to open, then use Undo Add and enter any word or words to delete them.

HTML Reports

While I recommend using the Second Site program to produce HTML webpage output, most TMG reports have an option to output HTML webpages. For such reports the HTML tab within the report Options can use some pre-defined variables. Those that are also available for a TMG report title (see above) are flagged with an asterisk. The data in the fields on that Option page are automatically assumed to be HTML code and do not need to be enclosed in the TMG [HTML:][:HTML] codes.

HTML Report Variables


Report Title


Report Definition name


Project Name


Path to the Project


Product used to produce the page


Version used to produce the page


Date (uses TMG date format)


Time (equivalent to [TIME24] )


Time in 24 hour format


Time in 12 hour format


Researcher Name


Researcher Address - Line 1


Researcher Address - Line 2


Researcher E-mail Address


Researcher Phone Number


Researcher Website Address

TMG HTML report output can also include hyperlinks between the narrative and the table of contents, endnotes, bibliography, and index(es), and can specify the text to supplement an HTML output file using the fields: Introduction, File Header, Body, Page Header, Page Footer, and Heading Levels. Other variables also exist to set some TMG report fields. Since I do not use these reports, see the internal TMG Help topic “HTML Embedded Codes” for more details.

See also the remaining bugs which specifically affect reports output to HTML.

Image exhibit centering or resizing Report Options not honored

Indent of text from LIND codes not ended

TMG center formatting codes do not work

TMG WEB formatted text with ‘&’ in URL does not work


The Report Filter for name parts (e.g. Surname) examines all name tags not just the Primary name tag. To restrict the Report Filter to just primary names, like with filters for the PE and Pick List, you must choose “Name Group” as the Field and the desired name part as the Subfield. That filter condition can be marked for Primary only.


[Need more tests and examples concerning the Report Options now available to have different fonts and colors for different types of data in reports. See also the topic on Display fonts.]

If printing, there is a font available for poor eyesight. See:

“APHont™ (pronounced Ay'-font), was developed by APH (American Printing House for the Blind, Inc.) specifically for low vision readers. APHont embodies characteristics that have been shown to enhance reading speed, comprehension, and comfort for large print users.

“The entire APHont Suite is available free-of-charge to qualified users for non-commercial purposes. The APHont Suite consists of Regular, Bold, Italic, and Italic Bold. You must certify use for or by a person with a visual impairment before downloading.”


I have seldom created charts, as most of my output needs have been met by narrative reports and SecondSite web pages, but I include this topic as a placeholder for tips about them, and any future “lessons learned”. See also the separate list of remaining bugs involving Charts.

Ancestor Cause of Death Chart

Since my tag types in the Death group are intended to have the cause of death in [M1] of the Primary tag, I have created an Ancestor Chart focusing on that information for medical genetic predisposition purposes. In the Chart Options I use the following settings:

• Chart Style tab: Orientation: Left to right, Max generations as desired

• Boxes tab: Width: 350 pixels, no shadow, border black; Box Fill, Color=Main color, use Accents: MAIN#1=N, First matching, text=black, Fill=Transparent, Frame=None

• Data Type tab: all box types set the Box contents to 1) Lifespan*, 2) Death* Group Memo1. 55

• Other tab: Id=none, Text=left Lifespans to “birth year - death year”, No caps, Include siblings, Allow word wrap.

VCF Landscape Mode

After you have generated the chart, in VCF 56 go to the top menu:

File / Page Setup / Orientation (on the lower left of the Page Setup window).

and change Portrait to Landscape. It's also helpful to see the layout better if in VCF you set:

View / Page Bounds (those don't print)

Also, under Tools / Diagram measurements, set the measurements to 8.5 x 11 (if that is the size paper you are using). Just be aware that the positions of the pagination lines for the same size sheet are dependent on the choice of printer. That is, for the SELECTED printer, VCF sets the marker lines at that printer's printerable region. These marginal distances vary from printer model to printer model, but are typically about 6mm (1/4").

Report Bugs

Several of the bugs remaining in the final Version only affect certain reports. While I have tried to reference all remaining bugs in the chapter text associated with the affected feature, several of those which only affect Report Options and the report output are not explicitly mentioned in this book. Further, new bugs are sometimes reported and fail to get included in this book. Complete details of all the bugs I have identified are found in My List of Outstanding Bugs document. The alphabetical list of reports below mentions those bugs I have identified which directly affect that specific report.

Descendant Indented Narrative

Multiple Person exhibits do not display when output to Word

Sensitive data in a Name always included in the Index

Family Group Sheet

Option for Blank line above and below Title gives no line if Title is Centered


Non-primary person exhibits do not output if only Primary events selected

“Suppress married names from text” Miscellaneous Option does not suppress all married names

“Unknown spouse” sometimes output even if set to suppress

Primary name used for first tag narrative even with a “Selected” name for that tag

“Include memos from witnessed events” Memos Option not always honored

Using Accent colors produces the wrong font for the surname in the Title

End of sentence period added even with [:NP:] code on ending text

Ancestors report apparently produces one more generation than requested

Children’s names do not honor the report Font style options for names

List of…

• Events

“Selected” name not output appropriately

Place fields options not honored

Place output has no separator commas

• Witnesses

“Selected” name not output appropriately

Multiple Reports

Text font does not reset after a citation when output to Word

Text font does not reset after font change in a Bibliography when output to Word

Unexpected Roman Numerals for Citation Reference Numbering

Reports to Formatted Text insert extra Carriage Return characters

BMDB non-existent tags not included when Blanks for Missing Data selected, at least in both the Journal and Individual narrative reports

Sensitivity markers in a sentence template not removed

Report Tips

The following are a collection of observations based on experience with those few reports I have used which I wished to remember and therfore record. Most of my experience has been for personal use in assisting my data entry and data clean-up as I choose to use Second Site as my primary output.

Generalized Tips in Using Reports

TMG produces ( one person information) lists and ( multiple people information) Ancestral and Descendants reports . Thus the focus of each should normally be the reverse. Use a focus defining multiple people for lists, and a focus defining one person for the reports.

Use “contains” instead of “equals” for a text field where the value to match may have been entered with exclusion marks or sensitivity brackets/braces.

Exhibits (e.g. images) are positioned in the flow of the sentence immediately before the period.
sentence; (image). (citation)

Images attached to events (tags) are included as part of the memo. The report prints the tag elements in this order: (1) sentence, (2) semi-colon, (3) image, (4) period, (5) footnote numbers.

Used to be no way to order the citations, but version 6 introduced reordering multiple citations linked to a single tag which does affect their output order in a report.

[Note to self: Need to transcribe other ideas in my Tips file of Notes for various selective reports.]

The default layouts for all reports are stored in system files and include fixed format components. To return to the default layout, on the Report Definition Screen choose “Delete” for the configuration. Earlier report definitons had limited font settings, but there are now many options for report fonts. See the Fonts topic for reports above.

Tips on Report Options

The box “Include [] Spouses” only includes the spouses of the individuals identified as matching the focus . Also checking Ancestors and/or Descendants does NOT include spouses for those Ancestors/Descendants since they are not a match to the actual focus. To get what you may want, may have to do two passes. First a report setting a flag which identifies the focus and ancestors/descendants. Then a focus of all matching the flag and include spouses.

If the “Suppress details for Living people” is selected on Reports, all non-primary name and all event tags are suppressed unless the LIVING flag is explicitly set to ‘N’, i.e. both ‘Y’ and ‘?’ values cause suppression.

To remove “Printed on ---” either go to Options>General> and select “None” for researcher, or uncheck “Prepared date”.

I do not consider the unselecting the "Unknown spouses" option on the Miscellaneous tab in the Descendant Indented Chart a useful option. When that option is “unselected” the report eliminates the entire line. That line would have provided the leading '+' sign to indicate a new spouse for the following children, as well as the text "unknown spouse". When that line is not present it is very difficult visually to recognize that the following children are not also children of the immediately previous spouse, as there is simply a small gap where the line of text identifying the spouse would have been to separate these children from the previous family.

Report Naming

I name custom reports beginning with the type of report (e.g. LOE, LOP, LOPL, etc.) as an aid to its nature. This will also cause the report definition files to sort together by type in the Reports folder.

Default Option Text

Some report options specify text to output and often have default text. For example, the Descendant Indented Chart has an option on the Miscellaneous tab for “Living text” to be used when the details for living people are suppressed. As is true for most system fields which have default text, simply deleting the default text of “is still living” will not work, nor will replacing it with only one or more spaces, as the default text will be restored. If no text is desired to be output for such fields, replace the text with a non-breaking space (Alt + 255 on the numeric keypad).

Selective Tag Types

I prefer to control most information that will output in a report based on which tag types to print. The ability to do this implies that you have created separate custom named tag types for information that you do NOT want to print, or to only SOMETIMES print. For example, see my AnecdotSens tag type.

My Special Purpose Reports

To get a list of all Sources linked to a Repository, use List of Sources with focus “Repository Name equals”. To then get all citations for the above, use List of Citations with OR of all the above Source #s.

To identify isolated unrelated people, focus on Number of children equals 0 AND Father ID# equals 0 AND Mother ID# equals 0 AND Number of Spouses equals 0.

Distribution of People report when select all and print surnames will list all unique surnames.

See also the options of TMG Utility for logging actions and export options that can be used to report on various data in the project.

To prune a line of descendants or ancestors, from the child’s person view “temporarily” make one or both parents non-primary by clicking on the parent label and then click on the * button.

Details of Specific Reports

The following are some details about a few specific reports which I have learned from using them and testing their various options.

Family Group Sheet

Since this report does not have sentences, the options on the Miscellaneous tab and the Memos tab must be appropriately set to output memos. However, as noted concerning tag sentence Memos, only the first memo part of split memos will ever be output in this report.

Individual Detail

I find the output of this report somewhat hard to read, and each person is on a separate page, but it does have the advantage of providing nearly all information about each specific tag linked to this person. Further since the report option on the Tags tab can select only certain tag types but can include “all events and witnessed events”, I have found this report useful to output everything about certain tags linked to a person, similar to the Details window when viewing a person in TMG. For examplc, a Flag could be set using the Secondary Output of a List of Events report filtered for specific tag types to flag all Principals and Witnesses linked to such tag types. Then this Individual Detail report could filter on that flag and select the option to only output those tag types. This could be useful to review almost all details about specific tag types for all people linked to such tags, including date, location, role name, memos, and source citations to these tags. Since this report does not have sentences, the options on the Miscellaneous tab and the Memos tab must be appropriately set to output both Principal and Witness memos. However, as noted concerning tag sentence Memos, only the first memo part of split memos will ever be output in this report.

Individual Narrative

This report never prints children, only events for the individual. To include children in the Individual Narrative one could make parents witnesses to the children’s Birth event(s), or a separate custom tag could be added to the parents, either one for each child or one for all children, to have a narrative sentence listing the children. List of Children is also an option on the Individual Detail report, but that is not narrative. The Journal report (which prior to Version 5 was called the Genealogy Format Report) is a possible substitute to include children in the narrative, but its default options normally print BMDB first and may produce a blank page for an individual with no children. Instead set the Journal report options to 1 generation. On the General tab, select Custom format. On the Miscellaneous tab, unselect BMDB in a separate paragraph. With these custom options the output of the Journal report can be essentially identical to the output of the Individual Narrative report except that the Journal report includes a list of the children (following the narrative).

Journal Report

Generating this report for a single individual is often a better option than the Individual Narrative as it will include the children. The “Custom” format of this report allows selecting “Include Spouse Events” under Miscellaneous options. However, childless children are not carried forward to have their own Journal entry. Thus they have no separate entry which can display their spouse’s events even when this option is selected. At best one can set the Option on the Tags tab to limit abbreviating events for childless children to “Only children that are carried forward” so that these children’s events are not abbreviated. At least the parents of the spouse will be shown in that child’s text if the [PARO] variable is included in the child’s Marriage tag narrative.

List of People

In very early versions List of People reports (and other List of … reports) could not include tags which allowed two Principals. This limitation no longer exists. 57

My primary use of this report is to obtain a separate document of a list of people based upon some filter condition. I also often use filters and its Secondary Output to set Flags for various purposes.

Descendant Indented Chart

This report is very useful to follow the descendants of a specific person and select the limited information to be output for these descendants. Its indentation visually aids in keeping track of the level of descendancy.

A given individual may have had multiple children with multiple spouses. Some spouses may be known, and some unknown (or not recorded). Family groupings are based solely on the two people who are linked to a child with Primary Relationship tags as the two parents. It is important to realize that the children may not be listed in chronological order. Instead the family groups are in chronological order. A child included in an early family group may have a birthdate after the beginning of a family group listed later. All children are grouped together under the parent as a family in the chart based on the common other parent linked to these children. All children who only have this one parent linked as a Primary parent will be grouped together in a single "unknown spouse" family. (While these children of this parent may be by several different unknown spouses, TMG has no better alternative than to group them together as one "family".) Each entire family group is then sorted among other family groups based on its own single "family" sort date. That sort date is based either on a tag in the Marriage group linking that common other parent to this parent as a spouse, or based on who can be determined to be this family group’s eldest child based on their tag in the Birth group.

• If there is a Marriage group tag linking this focus parent to the spouse who is also linked by a Primary Relationship tag to these children, the (sort) date of that Marriage group tag is used for this family’s sort date.

If there is a Marriage group tag for this spouse, but it has no (sort) date, a blank date is used for this family’s sort date which will sort this family before families with non-blank family sort dates.

• If there is no Marriage group tag for this spouse, the earliest (sort) date of the tag in the Birth group of any child in this family is used as this family’s sort date. Children with no Birth group (sort) date will sort first within that family, but such blank dates will not affect the sort order of the family unless no child in this family has a non-blank Birth date.

If there is no Marriage group tag for this spouse and no Birth group (sort) date for any child in this family, a blank date is used for this family’s sort date which will sort this family before families with non-blank family sort dates.

Thus the sort date of a family where this parent has no Marriage group tag with the spouse will be the birth date of that child in this family who can be determined by a non-blank date to be the eldest.

• If there are multiple families with the same date (or blank date) for family group sorting, these families will output one after the other among the other families based on that date, but an order among those families has not been determined and should be considered random.

• If there are multiple tags in the Marriage group for a couple, the one marked Primary is used. If there are multiple tags in the Birth group for a child, the one marked Primary is used.

NEHG Standards

An issue discussed on the TMGL ListServ in trying to generate reports that conform with the NEHG standard is the need to embolden the first mention of the principal and the first mention of the spouse(s) in a narrative. It was suggested this might be accomplished with separate Name tags with bold names to be used for that person on the tag which has their first mention. But one problem is that which tag was the first mention could change for a given person. First create a special Name tag type, e.g.Name-Var-Bold. Now one can create this name tag to each person you want to have a bold name. In the name fields desired put [BOLD:]text[:BOLD] . One would probably want to remove the BOLD codes from the Sort fields of the Name tag. Now assign that Name tag to the “first” event tag. Test the output to see if the [P+] variable is needed in the sentence to cause output of the full name and avoid a pronoun. If it truly is their first output then that change to the sentence may not be required. Other suggestions included using a custom Name Style which included BOLD codes in appropriate templates of style.

Research Log


There has been much discussion on the listserv of the limitations with the implementation of the Research Log, the design of the Research Tasks, and nature of the List of Tasks report. Many enhancements and alternatives had been suggested to the Research Log as well as proposed workarounds using what features it does have. The most often mentioned alternative method to using the Research Log would be to add various kinds of custom tags to record research tasks. 58 Note that the TMG Utility can be used to add a full set of tags to a group of people to be researched.

The List of Tasks can only be sorted by one of Type/Person Name, Designed Date, Planned Date, Begun Date, Progress Date, Completed Date, Keywords, or Task Name. If you wish to order the List of Tasks, you must rely upon one of these fields. One of my main desires is to order research tasks, since I wish to pursue some lines of research before others, either due to dependencies or due to my interests. My preference would be some sort of ordering within a hierarchy of groups of tasks. I have found no way to accomplish this ordering using the alternative methods above without using the Research Tasks in some way, but even with them I must artificially introduce a sort order using one of the above fields.

Because of how I want to record and report on research tasks, and the limitations of the built-in Research Log, I prefer using custom event tags (see “*Find”) to identify the research I wish to do, or for research that has been done but found no data (see “*Nil”). In addition to reports that better suit my needs, because tags can link to multiple people this allows using pseudo source people for multiple sources, pseudo location people for multiple repositories to search, and witness linking and witness sentences to assign those multiple linkages. It also allows using a pseudo Year person to link completed tasks or “not found in that source” as appropriate. Also I can set my FIND flag on a limited number of people by the Secondary Output of a List of Events report using a varieity of event filter conditions, such as tag type label "contains" "Find", has incomplete tasks, plus a specific Location or range of dates or even specific “Find” tag types. I still choose to have a Research Task linked to that “*Find” event for the assignment of a priority sort code. If the internal Research Log is later enhanced, I may convert back to using only that, as it might be easier than remembering to construct my custom tags and linkages.

The built-in Research Tasks can only link to one of each of Person, Event, Source, Repository 59 . If the task needs to be associated with multiples of these, you could duplicate Tasks. This is a primary motive for designing single custom research tags linkable to multiple source and location “pseudo” people. By use of my “*Find” events, a single link of a Research Task to such a tag is not a limitation. Because Tasks can only be linked to one of these, copying a Person, Event, Source, or Repository will cause the linked Task to also be copied. For example, see copying sources. However, the link of an existing Task to any one of these four entities can be transferred. For example, the link of a completed task might be changed from a “*Find” event to either a “*Nil” event if the search was unsuccessful, or to a “real” event to archive the efforts of the Task. From the Find tag, open and Edit the Task to be re-linked, then click the binocs next to the Event link. This opens the Master Event List. I usually sort by whichever “Principal” is the current focus person as the current Find tag will be highlighted among all of the events for that person. “Select” the event to receive the Task to change the Task link.

Task Name

Since this field is one of only two ways you can filter, is the default sort key, and the only thing shown on the Research Log task list, it should be structured carefully for filtering, sorting and human readability. 60 I prefer simply prefixing a short description of the task (who/what/when) with a three digit priority sort code . I can then use the Research Task as the mechanism for assigning priority to the “*Find” events, but use the events and pseudo people for any multiple linkage capabilities and more comprehensive reports. When the task is completed, if I choose to retain the task and not delete it, I replace the priority sort code with the word “ DONE ” which causes all these tasks to sort last.

Research Task Three Digit Priority/Sort Code

Research Interest
of this person/branch

of this task to this person/branch

Arbitrary sort ordering


























For completeness





I try to specify the three reporter’s questions of “who, what, and when” following the Sort code in the Task Name. 61 For “who” I put “surname, given” if this task primarily refers to one person, surname with trailing comma if given is unknown, or for a marriage I put the two surnames separated by an ‘&’ with groom first if I know both surnames. Next comes one keyword from the list below for “what” primary event, information, or source type I am seeking. Then comes only the year for “when” to search if that is appropriate or known or can be approximated. (For the final two questons, “where” is the suspected repository and is one of the keywords, and “why” is text in the Comments.) Examples of Task Names are:

453 Richards, Mary BIRT 1840
325 Richards & Egglestore MARR 1860
555 Sorg, Valentin CENS 1810

Task Comment

If you are only going to use the List of Tasks report, this comment field should include (or provide sufficient pointers to find) all the information needed to accomplish the task. What will be available in that report depends upon to what the task is linked. If you link the task to a person instead of an event, the List of Tasks will only print their name (and id number), so you would need to duplicate relevant dates and such in the comment (or look on some other report for that). If the task is only linked to a Repository the List of Tasks only gives that repository’s name and location.

I find it more useful to link to an event tag (which is another reason why my custom “*Find” tags are appealing), as the List of Tasks report can output the dates, locations, principals, and main event memo (but not the list of witnesses or the witness memos). In my case I assume that I also will be printing a separate Individual Narrative report for the details, and the List of Tasks is sufficient to identify which person to view in that IN report who is associated with the event. I don’t need the Comment to reference such things as a woman’s maiden and all married names not knowing how she will be listed, since I include basic BMDB in the IN report selected for “*Find” events (and could include Name-Var tags). Also such items as the exact film number, or library call number, or other information about the source(s) to be searched is printed in the IN report by citing all possible sources to the “*Find” event, so this kind of information also isn’t needed to be duplicated in my Comment.

In my case, the Comment is primarily used to identify “why”, which includes: why I want to find this information, what actions and results are intended by this task, and why I have assigned the indicated priority. Everything else should show in the data from the tags printed in the filtered IN report.

Task Keywords

Keywords are especially valuable as they are the only other way to filter tasks, based on “Keywords Contains”. I use a list of keywords that are standardized abbreviations. One suggestion 62 I try to follow is to have three elements, in order: a) a place/repository to search, b) a source to check or event information to find, and c) a specific action required. If you have defined and use a location code in the L1/Addressee field of the Master Place List (see my discussion of data entry of places), you could use this same code for a place/location. I use a keyword of (abbreviated) Repository name(s) associated with a task which might be accomplished there. I choose not to link the Task to a (single) Repository, since the keyword method also works when there are multiple possible repositories. One could also link to an event associated with multiple location pseudo people that were repositories. I sometimes use my abbreviation for the specific source record so that they will sort the same, and permit filtering on specific sources. Otherwise I just use my code for the type of source, such as “PASS” for a passenger list or “CENS” for census records. (I do not include the year in the keywords as that “when” should be at the end of the task name.)

My Place/Repository keywords
(For more repository codes see my Repository Abbreviations)





loc -- place

[L1] F2 Sort Code for the MPL place associated with this data when repository not known 63


LDS Family Search on-line


Albuquerque Genealogy Library

WEB  url

A specific web site at “url”


Norfolk Family History Library


My records


LDS Film or document from library archives


Unknown repository


My Information/Event/Source keywords
(For a complete list of Source codes see my Source Abbreviations)






surname of interest


A specific article


identify child(ren)


Baptismal/Christian record


identify spouse


Birth record


identify sibling(s)


Burial record


find the specific date


Some census record


find the specific location


Death record


find occupation


An immigration record


identify relationship


Marriage record


Main ancestor line, n=flag value


A specific will


My Action Keywords






need to correspond


need to identify (name) a person


check a source


obtain a copy


need a transcript


need any kind of source


find index entry


find soundex entry


my actions are complete, but awaiting response from someone else


task is completed, remove all other action keywords

Completed Tasks

When the task is done, sometimes I just delete both the Find tag and the attached Task. I may choose to keep a record of performing this task, especially if I am doing the research for someone else. In that case I change the sort code in the task title to “DONE”, enter a completion date in the task, remove the repository code(s) from the keywords so the task is no longer selected when you filter for that repository, and change the action keyword code(s) to “done”. Changing the title sorts completed tasks last. Not only does the presence of a completed date automatically identify the task as completed for any List of ??? with incomplete tasks report filters, you can filter a List of Tasks (LOT) on whether the completed date is empty. Since you can filter a LOT on “Keywords contains” or even “Keywords does not contain” changing the action keyword code to “done” further indicates completed tasks. Most of the time I find a non-empty completed date sufficient for my filtering purposes.

If I can simply change the Tag Type of a “*Find” tag to the “real” Tag Type, the Task will remain linked to the tag. I could simply delete the Task, but I will need to make the above changes if I wish to retain it. For “*Find” tag types whose Tag Type cannot be changed (e.g. Birth, Marriage, Death), I can transfer the link of the Task from the “*Find” tag to the “real” tag as described above in the Overview if I wish to archive that completed Task.

Task Dates

The Research Log does not allow irregular dates or entries that require two dates such as “between”, “or”, or “from-to”. It may accept data entry of date modifiers like “btw”, and expand the date, but it will give an error that the date is unacceptable when you try to close the Research Task screen. Thus you may only use the allowable range of years in any date (from 1000-3000). The separate memo fields associated with each date are useful to explain that date, as these memos print on the List of Tasks (include “Task stages” in Options>Miscellaneous) even though they do not display on the main Research Log screen.

Currently the only dates I use are the automatically controlled Designed and Edited dates, and the Completed date if I do not delete the completed Task. The Edited date is not really under your control and is automatically updated when you edit the task. Designed date is automatically prefilled with the task creation date but can be changed. Any non-blank Completed date value is what flags a linked task to be identified as “completed” for filters (e.g. Number of Incomplete Tasks) for the various List of ??? reports, and also affects the Research task icon for the person or event (off if no incomplete tasks). The date only has to be non-blank, it does not have to be a date in the past. The Progress date could be used to reflect all actions associated with the task, instead of using the separately available dates Designed, Planned, and Begun, if it is used as the last date you made progress, and you explain the type of progress in its memo field. Then these other dates could be used for some other purpose. For example, could put a dummy year in a date field to indicate some sort of priority for the task, then sort on that date. Any non-standard use of a date should be made clear in that date’s memo. The most complete proposal I have seen (but don’t use) is:

• Designed = a sort/grouping code. Use years 1100-1900 (groups of 1 through 9, up to 99 tasks in a group) to leave the default (creation) date to sort last. Date memo explains why this order.

• Planned = task priority order. Use years 1100-1900 (priority 1 through 9). Date memo explains why this priority. Also leaves current date range available to use as an actual Planned date.

• Begun = task event (single) date of interest, e.g. birth date when finding birth record. Date memo explains the meaning of this date, and possibly a range or list of related dates relevant to the task.

• Progress = last date on which any progress was made on this task. Date memo explains the last activity associated with the task, e.g. designed, planned, begun, work completed so far, etc.

• Completed = reserved to indicate truly finished tasks. Date memo indicates whether the task was successful and other subsequent tasks that were constructed as a result of completing this task.

Task Reports

With an Individual Narrative report ( not a List of Events 64 ) filtered for all individuals with event name contains “Find”, I get output more useful to me than what is included on List of Tasks. List of ??? can have an Output Column of number of (incomplete) tasks and thus a LOE can be used to identify whether a task has been assigned to an event. List of Tasks sort order can be (only one of) Type/Person, Designed, Planned, Begun, Progress, Completed, Keyword, and (the only one I use) Task Name. Can filter on keywords but not sort on them. Note that any List of ??? report can be filtered to where # of (Incomplete) Tasks > 0. To show up on a List of Tasks you could link the Task to a Source and/or Repository if there is only one. If you link to a Source that has a reference to a Repository, the List of Tasks will print the reference. You can also link to a person if only one person is the subject of the task.

However, with my companion Individual Narrative report, the only thing the List of Tasks needs to list is the event, which identifies all persons. I include the ID number to make lookup faster and sort my IN by ID number. The sources are not needed as they will (all) show in the IN report since I select the option to print the citations and bibliography, and the repositories are reflected in the keywords. The List of Tasks is normally filtered by incomplete tasks, desired keysords, and possibly limited to Linked Person has FIND = ‘Y’ if a filtered List of Events report has been run to limit research to a subset of “#Find” events.

I could enter a Research Task linked only to a source to highlight a source (to be or has been) checked, but have not yet done this. See also Tracking Sources below.

For tasks linked to an event, you could include printing the main event memo so you don’t have to duplicate that info in the task memo. Unfortunately, the witness memos do not print in the LOT. Therefore since I would have to look on the IN report where all the event memos are printed anyway, printing (only) the main event memo in the LOT is not that useful to me. But I always print the Research Task memo (Comment) as that is where I describe this task and the reason for its priority.

If I have lots of correspondence with an individual, I add that person to the DB. I can then use source pseudo people for transcriptions, link to this person with a Correspondence tag, and link to the people mentioned as witnesses. Then “needed” correspondence could be entered in this person as “*Find” tags or an empty Transcript tag with attached Tasks to those tags.

Tracking Sources in Research Log

From listserv suggestion by Virginia D. Blakelock, 6 Sep 2000.

Planned task names use “#num” in front for sorting. Drop the “#” when complete. Fixed length num. Standardize the rest of the task name to reflect the source or document being searched.

Begun and Completed fields are usually enough. Standardize both of these.

Begun reflects where and how to look, e.g. “KY OFFICE OF VITAL STATISTICS, ltr SASE and $6”

Completed reflects result, with Repository #, Source #, and personal filing location information, e.g. “DEATH CERTIFICATE received [R-9; S-27; F-16]”

Keywords are standardized, e.g. “Repo6 marriagecert KY”. Add keyword YES if document obtained.

Use memo field to elaborate on the search and the results

Associate research task with person, not repository, event, or general. If no specific person, link to yourself with a Research tag.

Reports can use “task name contains ‘#’”, repository keyword, linked person ID, and other keywords, and sort on Type/Person.

Options for List of Research Tasks: Task stages, expenses, keywords, memos; sort by type/person name; identifier: reference field; names: surname caps; researcher: date. Don’t check “blanks when missing.”

For document index report: focus on keywords contains YES, task name does not contain #, and possibly linked person ID# equals [?]. Do not include expenses, keywords, or memos.

Put my personal filing location document number in the TMG reference field. (Some put this number as part of the source abbreviation. I chose not to.) Don’t get fancy with location numbers, just need to be able to locate it. Accession number may work just fine (not file drawer, etc. which may change).

Companion Products

For a list of the various companion products associated with TMG, see the companion products option on the sidebar menu of the Wholly Genes, Inc. website. The following are short comments concerning those products that I happen to use, but my lack of mentioning any product should not imply anything other than I either have not yet used it, or choose not to use it, for my own reasons.

TMG Utility

John Cardinal has written an excellent after-market utility for TMG that assists in global changes to a TMG dataset in a TMG project. It is donorware requesting a donation to the PMC/Jimmy Fund. For more details, see the TMG Utility web site. I use it often, and always follow the guidance to try using “log only” to see what it will do, and always backup the project before using it. 65

Tips for customized tags and roles

You can get a list of tag types and roles that have been used in a dataset by using TMG Utility. Use the Roles > Show Roles Usage feature - unselect "Include Unused Roles" but select "Include R=Principal, R=Witness" then click Show Role Usage, run it for each dataset. It will produce a listing to the log of all the tags in alpha order with the number of persons using each role. This can be a big help if you decide to customize or add new roles or tags.

Second Site

The Second Site© commercial program, also written by John Cardinal, directly reads the TMG project and dataset files and produces customizable Web pages. While TMG itself can produce HTML output, the added features of this companion program are, in my opinion, outstanding. Also note the special sentence variables to insert codes in TMG which are only used by Second Site. Often the best way to view and share your genealogy can be a set of web pages viewable by any standard browser, either published on the web or simply written to a CD. Since Second Site recognizes all the features of TMG, it can produce truly customized output. It also had its own e-mail ListServ which was used and maintained only by SS users, 66 but now has its own Google group for posting questions which is officially supported and monitored by John Cardinal.

I use Second Site to produce web pages for sharing and use it to generate web pages to review the narrative of selected parts of a dataset (e.g. all people with my FIND flag). I used to download these web pages to my PDA to take to the library. With its hyperlinks this also produced a convenient read-only version of my data. I especially make use of the Second Site “Tag Group” feature to separate my *Find and Note tags from event tags to clearly identify any research needed. For a period I had simply taken an ultra-portable PC and only used TMG itself at the library. With that portable computer I could view my TMG-generated research reports to prioritize my research, the Second Site pages to view what research I need for that person, and then directly enter the research data found into TMG. With new smaller portable devices like my smart phone I am now back to generating SecondSite web pages of my projects, loading them and my research reports on the phone, and then using a standard web browser to view the Second Site pages of all the data in my TMG datasets and a document viewer to view the reports.


I had a Palm PDA several years ago, and found this an inexpensive commercial product to generate an easily transportable read-only version of most of the data in my TMG datasets. Its primary advantage was that the presentation of the data looks much like a TMG Person, Family, or Tree View, complete with tags and equivalent navigation. I found the product useful but gave up my PDA when I retired, and have not used this product since. As noted above, I now exclusively use Second Site for my output, including loading and viewing those pages on my smart phone.


The PathWiz!© commercial program, written by Bryan Wetton, provides considerable facilities to manage your TMG exhibits. He also offers a freeware version with somewhat limited functionality versus the paid version but still very useful.


The TagWiz!© commercial program, also written by Bryan Wetton, provides considerable facilities to analyze and manage your TMG tags and tag types. He also offers a freeware version with somewhat limited functionality versus the paid version but still very useful.

1. Note possibly unexpected behavior when renumbering people, described as a remaining bug.

2. When adding sources prior to Version 5 you could set the Master Source List to Expanded via the MORE button. Then adding new sources in those older versions automatically used the lowest unused number. That autonumber behavior was removed in Version 5. Since Version 5 there is no option to affect the number of a new source until after it has been defined. Only then can you renumber it.

3. While you can renumber a source to number 1, when you press the “binocs” button to add a source to a tag the Master Source List does not default to source number 1, nor to the first entry according to the current MPL sort. It appears to default to the earliest remaining source in the MPL based on the order sources were added, which is likely somewhere in the middle of the current MPL sort. I have not found a way to change which source will be default in this case. If you are beginning a new dataset, you could create the first source as a dummy source, whose values would always cause it to be first in any chosen sort mode. Opening the MPL from the Menu is more friendly, in that it defaults to the last source record used.

4. The Encyclopedia of Genealogy had articles on several numbering systems at <> Separate articles exist on the Henry system, the d’Aboville numbers, and the Dollarhide system.

5. Consider Dollarhide’s system for locally marking and filing your personal copies of sources. It consists of three letters of the surname, followed by two letters for the place, and then a 4-digit accession number, e.g. MAT-MA-0043.

6. Numbering systems based on individuals and/or their names, such as the Dollarhide system, could be adapted to number sources associated with that individual. But how would you number a source addressing multiple individuals?

7. The Backup will correctly archive the entire tree starting at the folder specified in Preferences with the subfolder names as part of the pathname, but the Restore will place all the files from all the subfolders into this single base folder. Thus if there are duplicate identical exhibit filenames (which originally were files with the same name but in different sub-folders) there will be conflicts and some exhibits will not be restored. Since the “.sqz” file is a standard MS archive file, it can be opened directly with an archive utility (e.g. WinZip) which can unzip and manually retrieve individual files or the entire exhibit tree. Check the restore log for error messages indicating problems with duplicate filenames.

8. See <> .

9. Need to test whether this will work with the final Version. Not tested since Version 5 although the TMG External Utility link should work as long as AGL can be installed. I believe AGL is a 16-bit program, so is unlikely to work on a 64-bit Windows OS.

10. As noted in a remaining bug, if Person Accents are turned on in the Report Options, and the focus person of the report matches the Accent conditions, in the Title of a Journal report the focus person’s name uses the Accent color but the surname's font size is for surnames in the report rather than the Title font size. In an Individual Narrative report Title the focus person’s name does not use the Accent color.

11. Need testing and added comments about window resizing, especially “Use the TMG 5/6 method of window resizing” in Preferences>Program Options> Other, and how that affects the font sizes. This table has been updated for Expanded Picklist fonts.

12. It is possible that some font size MS Windows Advanced Display Option for one of the many types of MS windows may affect some of the fields which do not have a TMG option, but I have not discovered one.

13. Need to include several of the ideas mentioned on TMGL, especially the advanced ones of Teresa Ghee Elliott. [Her earlier on-line site has moved, so the link as been deleted.]

14. Test toolbars and refer to Forum posts for ideas on this topic.

15. Including text (other than a comma) as part of the name style template will produce the warning: “The xxx template includes text that is not within square brackets [like this] to designate it as a field label. Are you sure that you want to save this template?” If you select “Yes” then the template will be saved and generate the text as desired. Warning: such (non-comma) text in the Output Template will output this template text even if a name part is double-excluded to not print.

16. This idea of a title pseudo person was adopted from a discussion on the TMGL Listserv. I forget now who first proposed it, and need to search the archives to remind myself, but acknowledge their inspiration.

17. See Lee Hoffman’s TMG-L Archives post on 23 Jul 2015 with Subject: Project/data set “organization”.

18. Teresa Elliott

19. Since I (always?) put the cemetery name in split Memo part 4, and only ever have one burial tag (either in the Burial group or in the Death group labeled DeathAssumeBur) I can do reasonably simple filters on a List of Events (LOE). First I use the Secondary Output of a List of People to reset a work Flag to ‘N’ for all people. Then I run LOE reports, the first ( LOE-Burial-w-Memo ) with the filter:

( Tag Type Group is ||        || Burial       ||                ||   OR

  Tag Type          || Label  || = Equals     || DEATHASSUMEBUR || ) AND

  Memo4             ||        || Is Not Empty ||                ||   END

This uses the Secondary Output to set the Flag to ‘Y’ for all people where their burial memo contains a cemetery name. Next I run a second LOE ( LOE-Burial-w-Role ) with the filter:

( Tag Type Group is ||        || Burial       ||                ||   OR

  Tag Type          || Label  || = Equals     || DEATHASSUMEBUR || ) AND

  Any Witness...    || Role   || = Equals     || CEMETERY       ||   END

This uses the Secondary Output to reset the Flag back to ‘N’ for all people who already have a Cemetery witness person. Finally I run an LOE ( LOE-Burial-Need-Role ) with the filter:

( Tag Type Group is ||          || Burial       ||                ||   OR

  Tag Type          || Label    || = Equals     || DEATHASSUMEBUR || ) AND

  Principal1...     || WORKFLAG || = Equals     || Y              ||   END

This should identify all burial tags where a cemetery name is in Memo part 4 but does not have a Cemetery person witness. I use output columns of: Sort 3 - Prin1 ID - 5; Num Wit - 3; Tag Type Lable - 10; Date - 13; Sort 2 - Memo4 - 60; Sort 1 - Place - 45.

Finally, in those cases where I have created an entry in the Master Place List to the Detail of a cemetery, I can run an LOE which identifies burial tags linked to such an entry but does not have the Cemetery person linked as a Witness. First use the List of People above to reset a work Flag to ‘N’ for all people Then use an LOE ( LOE-Burial-w-Detail ) with the filter:

( Tag Type Group is ||        || Burial       ||                ||   OR

  Tag Type          || Label  || = Equals     || DEATHASSUMEBUR || ) AND

  Detail            ||        || Contains     || CEMETERY       ||   END

This uses the Secondary Output to set the Flag to ‘Y’ for all people where their burial tag location Detail contains the word “cemetery”. Now run the same second and third LOE reports from above which will reset the Flag back to ‘N’ for all people who already have a Cemetery witness person, and then output the people with a cemetery MPL who do not have a Cemetery person witness.

20. See the Burial tag notes about the cemetery role for this pseudo person concerning lack of information in this cemetery person’s report due to lack of data in the Burial tags. The main cause usually is a lack of a date in the Burial tag to make calculation of the age at burial possible. This is one of the reasons to use the custom DEATHASSUMEBUR tag type when a burial date is not known.

21. If there is no Date, or Location, or Memo, the Created tag sentence, like most blank tags in the Birth group, may not print. Usually I have at least a Date or a Location so this is not an issue. Otherwise to ensure the tag prints, add double exclusion marks ‘--’ as the sole content of the Memo, and include the Memo as a conditional variable in the sentence. For this reason all role sentences for my Created tag type include the conditional Memo variable.

22. I do not currently find a need for a location person of a greater locale level than country, although someday I may need a location pseudo person at that level named “Earth” if I have locations which are off the earth. <grin>

23. I added the two Styles with “detail” level for Cemetery people in my main project. [Note to self: I need to test whether I have updated all these Name Styles in my other projects.]

24. I think there are now options for including all sources as of Version 6. Need to test in the final Version (export sources?). Also refer to the methods of creating a project/dataset with full sources/repositories in the topic Importing Files into Projects with Customizations in the Import/Export chapter.

25. I think there are now options for including all tag types as of Version 6 (export tag types?). Need to test in the final Version. Also refer to the methods of creating a project/dataset with a full set of tag types in the topic Importing Files into Projects with Customizations in the Import/Export chapter.

26. Prior to Version 8 you could not create/use a flag name of “TEMP” . This limitation does not exist in the final Version.

27. Need to retest the handling of clash of flag names in their first three characters in the final Version as I believe this is no longer an issue.

28. In Version 6 the following characters could not be used in flag names: - " ' : ; [ ] { } \ ` ~ |
Some of those worked in later releases, but others may not, and the backslash should especially be avoided. As of Version 8.0 Help, the topic “Add New Flag”, says: “upper or lower case letters, numbers, and any characters except comma. A pound sign (#) can be used in the values section, but not in the name. Spaces can be used in the name, but not as a value.”

Have tested all special characters for use as flag values in the final Version. As noted in Help, space cannot be used but testing shows the backslash character ‘\’ also cannot be defined as a flag value. All others appear to work. While Second Site accepts all valid TMG values for Flag values, not all Flag values can be used for its Flag Icon values. That character set is limited because these values are used both as part of filenames and also as part of HREFs that include those filenames, and those uses have a more restricted set of allowed characters. Second Site will only allow Icon values of case insensitive alphabet characters, digits, the question mark and minus sign. For this reason I recommend restricting flag values in TMG to this same set.

Still need to test all special characters for flag names in the final Version, but I recommend the same restricted set.

29. Test and verify in the final Version these limits on flag names and values. An early Version 8 Help claimed a name length of 51 characters. But the Help in later Versions of 8 and the final Version 9.05 states a max length of 50 which testing shows is the maximum.

30. 1) create a set of dummy named flags equivalent to the real flags, 2) use the Secondary Output on a series of List of People reports to set the dummy flags to the appropriate values based on their corresponding real flag, 3) delete the real flags, 4) recreate the real flags in the desired order , 5) set each of them using a series of List of People reports to their values from the corresponding dummy flag, and 5) delete the dummy flags.

31. Prior to Version 6.0.9 if you changed the name of a custom flag, all people were set to the default value of that newly-named flag, i.e. flag name change was equivalent to delete/add. For those earlier versions changing the name of an existing flag was a two-step process. One had to define new unique flag names in the sending dataset and use the secondary output on a LOP report to set these new flags based on the old duplicate flag, then delete the duplicated flag prior to merging.

32. Need to test and verify this is still true in the final Version.

33. This translation feature for pre-defined standard flags was added in Version 8.08.

34. Need to test and verify this is still true in the final Version, some of my notes imply that it WILL now affect the order.

35. My notes say something about appropriate marriage tags, but don’t remember what this really means, need to test this in the final Version.

36. Reported by John Cardinal in the Second Site ListServ as of November 11, 2006, which is Version 1.9 Build 09. I can find not indication this has changed, but need to retest with the current version of this software.

37. Even with BIRTH ORDER flag values I have not discovered how to reliably cause a desired order on the screen of children that have a blank sort date, such as a blank Created date for many of my pseudo people. The blank date seems to (sometimes?) cause the relationship tags of multiple pseudo children to sort in their Parent-Oth view (e.g. Source children in their Repository parent view) by their names rather than their dates which I generally prefer because of my naming conventions, but not always. Testing of BIRTH ORDER flag values in the final Version is required. Last tested as of Version 7.04.

38. Need to do further testing of the affect of the BIRTH ORDER flag on the order of the list of children for multiple spouses, since problems with its use have been reported on TMG-L for Journal reports.

39. If the Preferences for the Tag Box are set to display the age of the person in the Person View and this flag is set to ‘?’ I have a note that the question mark may be appended to the displayed age. Test this further as I cannot seem to make the question mark appear in this column from the LIVING flag, and believe my notes are wrong. An age with a ‘?’ can (only?) be caused by the primary tag in the Birth group having a date that ends in a question mark. Need to retest whether that flag affects the Age column in Details, as well as the overall age in the “Other info” box. See also the footnote about Age variables for tag sentences.

40. Note to self: Need further experience and testing whether I need/want this value. Since my primary use has been to filter for main-line people based on “not equal” to ‘N’, anyone set to this extra value would cause a problem and require an added filter condition. The default ‘N’ value and the separate PSEUDO flag should be sufficient filter for “real” people who are not main-line so as not to require this extra value. Further due to ‘N’ being default, I think? there are no people in my projects currently set to this value other than Pseudo people.

41. A List of People report will first reset all People with a Flag value other than ‘N’ to the default of ‘N’. Then a List of Events report will filter for *Find tags and Note tags and set the Flag to ‘Y’ for All Witnesses.

42. Also should reference Terry’s Tips and his Relationship flag.

43. Actions defined as working with Word may also work with other word processing products that input Word files, and the actions may differ with different versions of Word, so all these actions should be tested separately with the word processor being used.

44. Due to a remaining bug, in an Individual Narrative the Name Index will include any data in a Name tag field enclosed in sensitivity braces even if “Show sensitive data” is not selected.

45. Other word processors should have similar capabilities. This feature was last tested with Word 2007, but newer versions of Word may differ in the details described.

46. Due to the conversion process of FrameMaker to HTML spaces are automatically inserted to surround text with a different style, such as italics or bold. Do not include the spaces either before or after the colon which appear in the Examples below.

47. See Word documentation for other features possible with concordance entries. For example in the entry you may use semicolons to specify text to be used for sorting the index entry which is different from what will be displayed in the index. Word also defines various codes which may be included for special purposes. Special characters in the text, such as colons, semicolons, backslashes, or quotation marks, should be escaped with a backslash. The different levels of the index are created with unique paragraph Styles which can be modified as desired, such as for indentation.

48. This issue was mentioned to me privately by Susan Johnston which prompted adding these suggestions.

49. Note that the enclosing parentheses are automatically added and should not be entered as part of the reference value. As the default maximum length for the Reference Field may be too small for your unique values, see the instructions for increasing its allowed length as part of the description of numbering people above.

50. Due to a remaining bug, selecting some combination of Name, Address, and Date for inclusion in the Researcher information in the General tab of the Report Options affects whether other Researcher information is output.
In addition, some consider it a separate bug that the Prepared date in the Researcher information does not use the date format chosen for dates within the report.

51. Introduced in Version 8.

52. Introduced in Version 8.

53. Introduced in Version 8.

54. Tested in the final Version 9.05.

55. Note to self: Due to a remaining bug I need to ensure that all such tags have text with no exclusion markers and are truly non-empty in [M1] to avoid having to post process this chart data. If I have no “cause of death” text for [M1] I must enter only a non-breaking space (Alt + 255 on the numeric keypad) in [M1] to avoid possible unwanted output due to this bug.

56. Notes from Virginia Blakelock on TMG-L.

57. List of People can now output the one tag which is Primary from each group except for the Other group. List of Events can output any Event tag (but not Name or Relationship tags which are not events). Verified in the final Version.

58. One such method [by Teresa Ghee Elliott] uses a set of custom tags for each archive/repository where research is done, and then assigns roles linked to people based on the information needed. One downside of her method is a vast increase in the master place list due to her use of a custom place style for these custom tags. A variation on this approach is to have a location pseudo person that is the repository and link research tasks or tags to this location person. In this case the tag could refer to the information needed rather than the repository or could simply be a single tag and use roles as above.

59. Due to a remaining bug, adding or editing a Task from a Repository limits setting the Task links.

60. One proposal [by Virginia D. Blakelock] was a priority sort code followed by a human readable expansion of the abbreviations used in the keywords. Although you can’t sort on keywords, you can filter on them, so this seems a duplication of the keywords to me. However, it does introduce the idea of the sort code for assigning priorities, which I have adopted, but for use at the beginning to sort by Task Name.

61. Jill Morelli suggested on the ListServ the classic reporters method of "who, what, when, where, why", e.g. SURNAME, Task type, year, location, action. I like this, but split it among the Task Name, Keywords, and Comments.

62. Concerning keywords, DeAnna Burghart proposed on the ListServ: principal and witness surnames; OPEN, COMPLETE, and PENDING for the status of the task. She also suggested codes or nicknames for various relatives you intend to visit for a quick way to ID tasks that you want to keep in mind when visiting with them.

63. Cannot begin the list of keywords with the leading “--” of the [L1] F2 Sort Code as this will exclude the entire Keywords field from a List of Tasks report. But I need to include the “--” to make filtering clear it is a place code (e.g. filter for “--IN” or “--INWells”). Thus I enter my [L1] F2 Sort Code as “loc --code” which now also allows filtering for all place code tasks with just the keyword “loc”.

64. LOE for appropriate “*Find” events alone does not meet my needs as the list of Witnesses and the witness memos don’t print. An Individual Narrative, filtered for all people (possibly limited to those with FIND = ‘Y’) with either “*Find” primary or witness events, printing only BMDB and the “*Find” tags, gives all the people and information I need. However, this IN report provides no way to sort/print based on order and priority of research tasks. The combination of assigning order via the sort code that begins the Task Name and printing both the sorted List of Tasks and the companion IN report sorted by ID seems to work. Ensuring that you print ID numbers in both reports makes cross referencing easier.

65. If you are using a “very” old version of TMG Utility on an old version of Windows, make sure that the Windows Scripting Host is installed on your PC. See the instructions at:

66. This user ListServ has seldom been used since about 2011, and only the Google group maintained by the author is currently active.


I am not affiliated in any way with TMG™, its company Wholly Genes, Inc., or its primary author Bob Velke. I am simply a satisfied user of this software package and have constructed these documents to aid me in its use.

If others find these documents useful, so much the better. I do not warrant in any way that they are accurate or useful, and any use of them is at the user’s own risk.

These documents were composed with Adobe® Framemaker® using its hyperlink and HTML conversion features.

©MJH Consulting, 1996-2017. All rights reserved.