Adam 8.02
Introduction
Adam is a free-to-use website/report generator whose pages can be served without modification as a complete family website or viewed independently. It is a Win32 console application, which includes a fully compliant GEDCOM parser and validator. Adam supports cascade style sheets and user defined HTML headers and footers, which give the user the option to customize the look and feel of their generated pages.
Adam has many unique features not found in other website generators. These features were designed to present your data in a highly readable format and to provide insight into the quality of your data. Each feature can be enabled/disabled independently from the others. Among these features are the ability to hide living persons and private data. It also includes a recursive multi-pass birth date estimator and a configurable improbability list that can be used to find both impossible and improbable events in your database.
In addition there are special pages to display sources and citations, articles, ancestor lists, census records, latest updated pages, immigrants, nobility, photos, and external links. There is also a timeline for all dated events, and another for military events only. Adam supports an address book and a birthday listing.
|
Warranty Disclaimer
Note: Adam will write a large number of HTML files to your hard drive in the folder location you specify. Adam never modifies your GEDCOM file.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
IN NO EVENT SHALL TIMOTHY J. FORSYTHE OR ANY OTHER CONTRIBUTOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF PROFITS, BUSINESS INTERRUPTION, LOSS OF PROGRAMS OR DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
What's New
Adam 8.02 (released June 8, 2010):
The changes for this release allow more control of setting quality for source references, and using the quality to determine uncertainties. Along with that, more string control has been given to the user.
- (bug) fixed the paths for photos and thumbnails which were swapped
- (bug) fixed census page to strip persons correctly
- (bug) fixed improbability list to strip living persons from several lists when privatized
- added recognition of a _QUAY tag for sources. This allows the user to set the quality of the source directly in addition to the GEDCOM support for setting the quality of the source reference. The omission of this option was a gross oversight by the GEDCOM committee.
- added an option to allow overriding the source reference quality with the source quality. If there is no source reference quality set, the source quality will be used regardless of this option. In general, I do not recommend using this option for users who have made use of the source references quality feature of the GEDCOM structure, however in my experience, that feature is rarely used. This option can provide a quick and easy way to get your source qualities applied to each of your source references. A user can go back at their leisure and set all their source reference qualities and then disable this option to begin using them all at once. Unfortunately, for a database with a significant number of references, most users will never go back through that process. For instance my database has about 1000 sources and about 50,000 source references. I was able to set the source quality on the sources using a text editor in less than an hour. I have already set all my source reference qualities, but if I had to go back and set all of them by hand it would take many months - time taken away from genealogy research and software development that I don't have. A note of caution: the source reference quality, although much more difficult to use, is an integral part of the GEDCOM structure, and is therefore more likely to be available in other genealogy applications. The source quality, on the other hand, is locally defined and not likely to be recognized by any other applications.
- added options to show missing and mismatch source reference quality in the improbability list. This is troubleshooting aid designed to help the user who is attempting to set all of the source reference qualities. The missing option will help them determine when they are all set, and the mismatch option will help them track the places where the source reference qualities do not match the source qualities. Mismatches should be expected, because the intention of a source quality reference should be to indicate the quality of the claim, not the quality of the source. You may well have a primary source with an unreliable claim, one that is known to be false. Unfortunately, the GEDCOM committee confused these differences and applied the definitions of source quality to claim quality forcing us to be stuck with them.
- If source quality has been set, the sources index is now sorted by quality and title rather than just title.
- moved the quality indicators to their own column on the family pages to make them better visible.
- added determining uncertain ancestors based on the quality of associations.
- added an option to indicate persons with uncertain parents in ancestor lists
- added an option to hide uncertain ancestors from the ancestor lists
- added an option to show persons with uncertain parents in the improbability list
- modified the improbability list for person who died after having children to allow fathers a 1 year grace period. This will prevent entries for children of posthumous births.
- redesigned the page configuration allowing the user to easily set the menu text, filename, and enabled and linked states.
- added a translation table to allow users to set the text used for special event types needed for determining parental associations, marriage numbers, census naming types and special causes. This will be expanded in future versions to give more control of the displayable text to the user.
- improved the birth date estimator algorithm
- added additional fields to the configurable events to set their "living" and "adult" states. This allows more accurate birth date estimates and better determining of improbabilities.
- added an option to assume that all unspecified events occurred while the person was flourishing. This is also used to improve the birth date estimator. In most cases, this is a valid assumption, but if your database includes other events that pertain to children or occur late in life or after death, then you should probably not enable this feature.
- children are now sorted by birthdate when available
- added an option to list untitled notes in the article index.
- modified the names of the ancestor list files to use the root person's id rather then the ancestor list index. This will prevent insertions and deletions from the ancestor lists from affecting the filenames. I have tried to keep filenames, when possible, from being changed so that web search engine links will not become broken when updates are made.
- removed nicknames from the display names for individuals to reduce the space required to show the text.
- added the word "Family" to all family links to distinguish them from links for individuals without spouses.
- some CSS classes have been modified to improve displays
- some hard coded HTML code has been removed, especially
. - added support for GEDCOM defined LDS tags
Adam 8.01 (released May 30, 2010):
- Several changes were made to the GEDCOM parser including: better handling of the byte order mark and line terminators.
- (bug) fixed an uninitialized variable resulting in aborts that could occur during parsing.
- (bug) fixed path handling for source and note objects
- (bug) fixed displaying the ships name in the immigrants page
- (bug) fixed indexing and printing untitled articles
- (bug) fixed handling @@ in data
- added support for Source Note References
- added support for Embedded Note Sources
- added support for the %Type% template for census records
- added support for configurable Census years
- added support for configurable Census states
- added support for configurable Country abbreviations
- added support for configurable Timeline Eras
- added support for configurable Military Timeline Eras
- added support for restricting claims on pages to a minimum quality level
- added support for restricting associations on pages to a minimum quality level
- modified sources to never use the abbreviation in the filename, and to never use the id on pages when an abbreviation is available.
- when determining primary events for birth, baptism, marriage, emigration, immigration, death, and burial, the first event with the highest quality is now used.
- restrict single occurrence events in timeline to the first event with the highest quality.
- changed the RemovePrivateRecords and HideLiving configuration parameters to use Privatize instead.
- changed EnableChapterPages and ChapterPages configuration parameters to EnableFamilyPages and FamilyPages instead.
- changed the default name for family pages from "chap" to "family"
Adam 8.00 (released May 20, 2010):
Adam has been over 10 years in development and was badly in need of a good scrubbing. With version 8.00, the entire code set was disassembled and reconstructed from scratch using the latest C++ and object oriented facilities. This new version is faster and more robust.
Some new features included in the release of Adam are:
- The previous version of Adam was ancestor based and provided limited support for other persons. For example, the census page included only ancestors. The new version of Adam is no longer based on ancestors.
- The birth date estimator is more accurate.
- Support has been removed for chart pages and added for Article pages. Charts can not be included as Articles.
- Added showing the source reference list for families where is was only shown for individuals before.
- Added support to the updates page to now show families, notes and repositories as well as individuals and sources. The update page has also be restricted to only show entries going back to January of the previous year. This reduces the size of the file greatly making it faster to load.
- Added support for Military timeline pages.
- Swapped the functionality of the TEXT and NOTE tags under sources. Previously TEXT tags were used for quoted citations and NOTE tags for notes, but the GEDCOM standard in its infinite wisdom only allows 1 TEXT tag per source but many NOTE tags.
- Previously the pages that were generated with Adam used CSS id tags inappropriately. These have been changed to class tags.
- The Improbability list are more accurate.
- The Family pages have been restyled into a much more readable form.
- The improbability list now uses only primary dates when determining improbabilities rather than all dates. This reduces the clutter.
Now the bad news. In the rush to get Adam 8.00 released several features that were previously available did not get implemented. I assure you this was not an oversight, it was simply a matter of time. I will be getting most these features put back as quickly as I can get them implemented and tested.
- Descendant pages
- Tri-level ancestor charts
- Listing as improbable persons whose event date less their age differ from their birth year by more than 1 year
- The validation only option has been permanently removed. If you just need a validator then try out my VGed GEDCOM Validator.
- The ability to save the resulting database file after stripping hidden and private records.
- The narrative option on the family pages has been removed permanently.
What are the main features of Adam?
Adam has many unique features not found in other website generators. These features were designed to both present your data in a highly readable format and to provide insight into the quality of your data. Each feature can be enabled/disabled independently from the others.Some of the features include:
- An update page so that the latest changes to your database can be tracked
- A reference page that provides links to all your sources. Each source then has its own page which includes title, author, publisher, repository, etc., and links to all records referencing the source, as well as embedded photos, URLs, notes and citations.
- An article page that provides links to all articles. Each article then has its own page similar to the sources pages.
- An ancestor list page that provides links to all configured ancestor lists. Each ancestor list has its own page. Besides the traditional information kept in an ancestor list, Each individual also shows a "path" which traces the location the person has lived in order by date. The path uses hyphenated two letter state codes, or three letter country abbreviations (i.e. Ger-PN-KY-FL). This is a quick way to view where an ancestor has lived. There are also options to show uncertain ancestors, and persons with uncertain parents.
- A census page which displays a table of all persons who lived in the configurable list of States between the configurable Census Years sorted by birth date. Two abbreviated state codes are used and link back to sources when provided. The entry can indicate whether if added, the person's full name, given name only (i.e. spouses) or simply counted as often occurs in the early census records. When no record is found, the entry will indicate if the persons record is missing, does not apply because they did not live in the defined States on that date or were not living, or if unknown because it cannot be determined. Special tags provide the user with the ability to force the state to does not apply. If all applicable census dates do not apply, the person will not appear in the table. The census page is the best method I've found in tracing persons via Census records. With all the census information available in one easy to view table, it makes it easy to determine what information is still missing, where those persons are likely to be found, etc.
- A timeline page that provides links to separate timeline pages divided up into a configurable list of Timeline Eras. The timelines include all dated events and are shown in a narrative format which is also configurable.
- A separate military timeline page, which is just a subset of the timeline pages for military events only, and are divided into a list of configurable Military Timeline Eras.
- An immigrants page which lists all persons who immigrated in table format. The entries are sorted by immigration date and show the date and place of immigration, the country of origin, and the name of the ship they arrived on if known.
- A nobility title page lists an index of all configured nobility titles followed by a list of all persons that contain that title in their defined nobility titles.
- An improbability list is provided based on the dates found in the database and the configured parameters. This is by far the most important page if you are looking to poke holes in your research. It will delineate a large number of improbabilities and impossibilities in your data. You may for instance define the minimum age that a woman can give birth is 14 years old. If anyone in your database gave birth earlier than this age, you'll get an immediate indication of this improbability. It is impossible to be baptized before you are born. If anyone in your database has this criteria, they will be listed. Currently only primary dates are used for birth, baptism, marriage, death and burial. Primary dates are those found first in the data record for an individual or family and with the highest quality referenced sources.
- A page of all linked photos sorted by photo date is provided. These linked photos can also be embedded on the page for each individual or family.
- An external links page contains every external link defined in URL records.
- An birthday page will display every living person sorted by birthday along with their age. Anyone whose birthday falls on the day the page was generated will be highlighted.
- An address book provides an entry for each family for which a residence record exists. Each entry is sorted by surname, and shows the family, address, city, state, zip, phone, email, and provides links to the address on Google Maps and Google Earth. You will need Google Earth installed on your computer to use the last feature. Since addresses do not always locate correctly in these utilities, the user can provided longitude and latitude coordinates to correct for these inconsistencies.
- A traditional index page is provided sorted by surname which includes surname counts and links to alphabetical pages where each person is listed. Family pages are then used to display all the information for a particular family on a single page. In general men are shown first followed by their wives and children. When a wife has more then one spouse, she will have her own page and be linked from each family. Each person on the family pages will display their name, gender, links to their parents and any non-embedded photos. The link to their parents will use associations to place source and article references next to the names, and use the quality level of the association to indicate the certainty of the connection. This provides a quick indication of how reliable the connection to the parents are. The parents will be followed by a list all names, non parental associations, undated attributes and dated events. Each of these will list and link back to every source and article reference made by that record including page number. The reference with the highest quality value will be used to provide an indication of the reliability of the information. Following these will be included embedded photos, notes, and then a list of all sources and articles referenced by this person. The family portion of the page will be formatted similarly showing links to their children. Again, associations and quality levels will be used to indicate the certainty of the connections.
- A table of contents page will include links to the abovementioned pages.
Many of the other features will be covered in depth in the configuration section. Here are some highlights: Unreferenced records can be optionally hidden. Records can be defined as private and hidden. Living persons and all their data with the exception of family links can be hidden. Data can be marked as not applicable and automatically hidden. This allows data to remain in your database without it being presented. Data can be marked disproved and optionally hidden. These data if not hidden will indicate that they are disproved when displayed. Birth dates can be optionally estimated. This estimating engine is far superior to previous versions. Uncertain data can be hidden by defining minimum quality levels for names, associations, attributes and events. HTML tags are automatically preserved when embedded in user data.
Does Adam have issues that I should be aware of?
You betcha.- Adam does not validate GEDCOM enumerations.
- Adam is provided as a WIN32 executable, and will therefore not run on other operating systems such as Linux or Mac OS.
- Adam is not completely language independent, although much of the readable text is user defined in the configuration file.
- Adam does not make use of every possible GEDCOM tag. It does make use of most of the commonly used ones, including all individual and family names, associations, attributes, and events, as well as notes, sources, references, source citations. Repositories have limited support. Email me if you need support for a Tag I have not implemented.
- Adam is written to be fully GEDCOM 5.5 compliant. Adam will validate your GEDCOM 5.5 file and display a list of errors. In many cases, Adam is tolerant of these errors, but will skip those it cannot use during parsing. Adam will make no attempt to guess at invalid tags.
- When GEDCOM files contain dates that violate the GEDCOM defined Gregorian format, Adam will try to parse them anyway. If it cannot it will consider those dates as date phrases, and not use them when estimating dates, generating timelines or improbabilities. Date phrases can optionally be listed in the improbability list.
- When determining ancestors, only the 'primary' parents are used - these are the parents that are found first in the GEDCOM file, or more specifically, the 'FAMC' tag with the smallest line number found within an 'INDI' record.
- When generating ancestor numbers, the math is restricted to 64 bits, so all ancestor numbers exceeding this value have been clamped at 18446744073709551614. This will only occur if you have in excess of 64 generations in your database. If you have more than 64 generations in your database, then you should review your sources.
- The last modified date in the GEDCOM file will be used as the publishing date in the Table of Contents.
- Adam does not create folders.
Where can I download Adam?
The latest version of Adam, including the WIN32 console executable, sample configuration file, and sample style sheets can be downloaded from:
http://www.rumblefische.com/adam/adam802.zip.
How do I run Adam?
Backup the previous version of Adam and any configuration files. Download and extract the contents of the zip file to a folder of your choice. Open the configuration file adam.xml with any text editor and change the ImportFile field to the path of your GEDCOM file. The remaining configuration parameters can be setup later if desired as explained in the next section. The default values for most of these parameters are typical and should not need to be changed unless an advanced configuration is desired. Open a WIN32 command window in the folder where Adam is located, type adam -c adam.xml and press return.
How do I configure Adam?
The configuration file contains a set of options enclosed in XML tags.OPTIONS
| Flag | Default | Description |
ShowUserDefinedWarning | false | Adam will display warning messages for every user defined tag it finds in the GEDCOM file. User defined tags are not an indication of an error, but warnings may be a useful indication of a non-compliant GEDCOM file. Some genealogy programs support a large number of user defined tags as a normal course, so turning them off is sometimes necessary to see the real warnings. |
ShowContainerSkippedWarning | false | When Adam finds an error in the GEDCOM file, it displays a warning, and then skips adding the record and all of its contents to the database. All of the record's contents will have container skipped warnings if this option is enabled. |
ValidateMinimumOccurances | true | Adam normally ignores warning the user if fewer than the minimum number of allowed specific content records are found. In some cases, it is necessary to generate this warning. |
DetectUnusedRecords | true | Adam can flag a warning when it finds unreferenced records in the database. This is not an error, but can be useful in finding old data. Enabling this option will slow down the parsing process slightly. |
ValidateReferences | true | Adam can also detect when a reference to a record is of the wrong type. This should only occur if the file has been manually edited. Enabling this option will slow down the parsing process considerably. |
Title | Family Genealogy | This is to be used for your website title. It will be displayed on the Table of Contents. |
Author | The website author's name, if present, will be printed only on the Table of Contents below the title. | |
ImportFile | test.ged | The GEDCOM filename to process |
OutputPath | . | The output path for all generated HTML files. The path must already exist. |
SourcePath | sources | The link path for all source documents. The path must already exist. |
PhotosPath | photos | The link path for all photos. The path must already exist. |
Extension | html | The extension to be used for all generated HTML files. This is NOT the extension of the GEDCOM file |
Header | [html][head][title]Family Genealogy[/title][body] | This can include any HTML code. The <> characters should be replaced with [] characters |
Footer | [/body][/html] | This can include any HTML code. The <> characters should be replaced with [] characters |
IndexPage | index | The filename of the Table of Contents (TOC) |
FamilyPage | family | The filename of the Family Pages |
EmbedPhotos | false | Adam can be configured to embed photos of type "gif", "jpg", or "bmp", with individuals or families. Regardless, the photos will always appear in the photo page. I have found that a maximum width of 400-500 pixels embeds nicely. |
CensusYears | A comma separated list of Census years | |
AList | A comma separated list of GEDCOM ids to include as root persons for the ancestor lists | |
Titles | A comma separated list of nobility titles (i.e. King of England) to include in the nobility titles pages. | |
LongDateFormat | false | This is the format to be used to display dates in the Family and Timeline pages. An example of a long date is: Between September 6, 1982 and June 7, 1999. This same data in short format would be: bet Sep 6, 1982 and Jun 7, 1999 |
MinQuality | 0 | This is the minimum quality value for which claims (names, attributes and events) will be displayed. The value can be 0 to 5. A value of zero allows all claims to be displayed. A value of 1 allows all claims that include source references to be displayed, even if that reference does not have a quality level associated with it. Values 2-5 allows quality levels 0-3 respectively |
MinAssocQuality | 0 | This is the minimum quality value for which associations will be displayed. |
EstimateBirthdates | false | Adam uses a sophisticated algorithm to estimate birth years for those ancestors missing birth dates. These estimated birth dates will then appear in the generated web pages in the place of the missing birth dates. |
ForceBirthdateEstimates | false | In the event that a birth year cannot be reliably estimated due to conflicting data, Adam can be forced to use the most likely estimate. |
UseEstimatedBirthdatesInTimeline | false | Adam can use the estimated birth dates in the timeline. |
UseEstimatedBirthdatesInImprobabilityList | false | Adam can also use the estimated birth dates in the improbability list. In the event that birth dates could not be reliably estimated, and/or forced, then these conflicts will be listed in the improbability list. |
UseQualifiedDatesInTimeline | true | Adam can use qualified dates (about, before, after, etc.) in the timeline. |
ShowOnlyImpossibilitiesInImprobabilityList | false | The Improbability List can be restricted to impossible events only |
ShowEstimatedDatesInImprobabilityList | false | Persons whose birth dates have been estimated can be shown in the Improbability list with most of the events that were used to determine those dates. Fancy little codes are used such as b,bp,d,m,bu, and p-parent, f-father, m-mother, c-child, s-spouse |
ShowDatePhrasesInImprobabilityList | false | Date phrases can be shown in the Improbability List as well |
ShowPersonsWithNoParentsInImprobabilityList | false | In an attempt to provide an easy method for determining which persons still need their ancestry researched, a list of persons without parents can be shown |
ShowPersonsOnlyOneParentInImprobabilityList | false | Likewise if a person is just missing one parent |
UseSourceQuality | false | Allows the user to override the source reference quality with the source quality if defined |
ShowMissingSourceRefQualityInImprobabilityList | false | Lists all source references with without a quality set in the Improbability list |
ShowMismatchSourceRefQualityInImprobabilityList | false | Lists all source references that mismatch the source quality when set in the Improbability list |
ShowPersonsWithUncertainParentsInImprobabilityList | false | Lists all persons with uncertain parents in the Improbability list |
IndicatePersonsWithUncertainParentsInAncestorLists | false | Puts a # next to the name of all persons with uncertain parents in the ancestor list |
HideUncertainAncestorsFromAncestorLists | true | hide uncertain ancestors from the ancestor list |
IndicateUncertainAncestorsInAncestorLists | false | marks all uncertain ancestors in the ancestor list |
AssumeFlourishingForUnspecifedOtherEvents | false | assumes that all other events occur while the person is flourishing. |
MakeUntitledNotesArticles | false | Add all untitled notes to the article index |
Privatize | false | Adam can skip processing data that has been specified as private using the _PRIV tag. The _PRIV tag can be use for any record. Adam will also replace living persons names with "Living _____" and hide their data, pictures, source and note references. The notes and sources will not be hidden automatically for living persons. For this it is required to use the _PRIV tag. Family references will not be hidden. |
RemoveUnusedRecords | false | Adam can skip processing records that are not referenced by the data. A user may want to leave this value as false if they have unreferenced sources or articles that they wish to present. |
RemoveDisprovedRecords | false | Adam can skip processing data that has been specified as disproved using the CauseDisproved text for the CAUSe. The text is configurable via the Translator table. |
DeadIfMarriedBefore | 1900 | The year before which any ancestor's marriage took place indicates that ancestor is not living. This value can be increased to match the known living persons in the database. |
DeadIfBornBefore | 1900 | The year before which any ancestor was born indicates that ancestor is not living. This value can be increased to match the known living persons in the database. |
MaxChildBaptismAge | 5 | The maximum age at which an ancestor was baptized or christened as a child, beyond which is considered improbable. Adult christenings are not considered in this context. It is important to be as accurate as possible when setting this age and those that follow so that the birth date estimator is not prohibited from finding a resolvable, workable date. |
MinMarriageAge | 14 | The minimum age at which an ancestor was married, before which is considered improbable |
MaxMarriageAge | 50 | The maximum age at which an ancestor was married, beyond which is considered improbable |
MinChildBearingAge | 16 | The minimum age at which an ancestor had a child, before which is considered improbable |
MaxChildBearingAge | 40 | The maximum age at which an ancestor had a child, beyond which is considered improbable |
MaxAgeBetweenSpouses | 20 | The maximum number of years between spouses, beyond which is considered improbable |
MaxFlourishedAge | 60 | The maximum age at which a person would be attributed adult properties. |
MinFlourishedAge | 21 | The minimum age at which a person is considered an adult and would be found containing adult attributes and events such as Nobility Title or Occupation |
MaxLifespan | 100 | The maximum life span of an ancestor, beyond which is considered improbable |
Pages
Users can define the order, menu title and filename used for each page. They can also enable and link each page in the menu independently. Note the intro page is not generated by Adam, but allows the linking of an externally generated file. This file need not necessarily be a introduction file; it could be a link to the contents of another series of pages that are externally generated.
Translator
Users can add the text used to represent parental associations and marriage numbers
States
Users can add State names which are used for the Census pages and for paths shown on the Ancestor Lists. This allows the user to configure the Census page for locations other then the United States.
Countries
By default, all Country names are abbreviated to the first 3 letters. Users can add Country names which are used to map special abbreviations for the paths shown on the Ancestor Lists. When events have different country name for similar locations, it is sometimes convenient to tell Adam that they are the same. For instance have 4 consecutive event in Germany, Prussia, Germany, and Prussia would by default appears as "Ger-Pru-Ger-Pru". Mapping bother Germany and Prussia to the same three letter code results in "Ger".
TimelineEras
Users can configure Timeline Eras that will be used to break up the Timeline pages.
MilitaryEras
Users can configure Military Eras that will be used to break up the Military Timeline pages.
Events
Users can add a narrative Text to be associated with any EVEN.TYPE Name and displayed in the century and military timeline pages.
Tags
Users can add Text to be associated with any relationship association, name, attribute or event tag. This text will be used on the Family pages. The
%Type% may be used to replace the Text for the EVEN tag so that the above mentioned event Text will be used.
Abbreviations can also be added for use in displaying dates in compressed format. BIRT, BAPM, CHR, DEAT and BURI are the only tags that need this abbreviation.
Users can also add Narrative text to be associated with events that will be displayed in the timelines. The following template tags may be used to substitute individual and family attributes:
%Addr% may be used to insert the person's name(s) as applicable.
%Poss% may be used to insert the person's possessive name(s) (i.e. John Smith's, Mark and Donna Cartwright's).
%Pronoun% may be used to insert "his|her|their" as applicable.
%Abbr% may be used to insert the tag abbreviation.
%Name% may be used to insert the tag name.
%Value% may be used to insert tag's value.
The
%ifValue% and %endValue% containers will always be stripped from the text. If the tag's value is not present, then everything between these containers will be stripped also.
%Place% may be used to insert tag's place.
The
%ifPlace% and %endPlace% containers will always be stripped from the text. If the tag's place is not present, then everything between these containers will be stripped also.
%Cause% may be used to insert tag's cause.
The
%ifCause% and %endCause% containers will always be stripped from the text. If the tag's cause is not present, then everything between these containers will be stripped also.
%Age% may be used to insert tag's age at event.
The
%ifAge% and %endAge% containers will always be stripped from the text. If the tag's age at event is not present, then everything between these containers will be stripped also.
%Type% may be used to insert the custom event type.
The
%ifType% and %endType% containers will always be stripped from the text. If the tag's type is not present, then everything between these containers will be stripped also.
What special uses of GEDCOM tags does Adam support?
TheCAUS tag can be set to CauseNotApplicable, whose text is configurable via the Translator table, for any attribute or event which will then be hidden. This allows removing bad data in your database from pages.
The
CAUS tag can be set to CauseDisproved, whose text can be set via the Translator table, for any attribute or event which can then optionally be hidden. This allows keeping disproved data in your database for reference.
Source references that use the
PAGE tag to reference a citation's page, will use the page when linking to citations to find the correct location on the page, otherwise the top of the page will be used.
The user can add a ship to an individual record by using the following custom event method:
1 EVEN2 TYPE Ship2 CAUS namewhere the cause is the ship's name
Adam relies on using this method to display the ship's name in the on the immigrant's and family pages.
Adam supports several fields of the CENS tag to build a census table. These fields are as follows:
1 CENS2 DATE value2 PLAC value2 CAUS CensusFullNameListed | CensusGivenNameOnly | CensusCountedOnly | CauseNotApplicableThe
DATE value's year must match one of the configured Census Years
The
PLAC value must match one of the configured State names or abbreviations
where the text for the cause is configurable via the translator table. The
CensusFullNameListed indicates that the person was entirely named in the census record. CensusGivenNameOnly indicates that only the persons Given name occurred in the census record. This is common for wives whose maiden name was not specified. CensusCountedOnly indicates that no name was given, but they were counted by age. This often occurred for wives and children in early census records. CauseNotApplicable indicates that the individual was not found in that years census records, and is then ignored for that year on the census record. This is sometimes needed when a persons maximum possible age as determined by adding their birth date and the MaxLifeSpan value would have placed them alive during one of the census years, but is was unlikely that they were living. It may also be desired if the person lived in a state that did not gather census records for that year. Look for individuals at the bottom of the table that have question marks in only the earliest years
The user can indicate other marriages for individuals without setting up a new family by setting a custom event record:
1 EVEN2 TYPE Married2 CAUS 22 NOTE textwhere the text for the type is configurable via the Translator table
where the cause is the number of the marriage
and the note indicated the person married.
The user can indicate the marriage number for husbands and wives by setting up a custom event record:
1 EVEN2 TYPE HusbandMarriageOrdinal | WifeMarriageOrdinal2 CAUS 2where the text for the types is configurable via the Translator table
where the cause is the number of the marriage
Adam will display the marriage number on the family address line and not in the family event list.
The user can indicate the quality of a source reference:
2 SOUR @Snnn@3 QUAY 0|1|2|3Adam will use the quality of a source reference for indicating certainty of a claim using '+' marks. It will also use the quality to hide claims that fall below a configured minimum level.
When displaying parent links, associations are used to apply their source references to the link.
1 ASSO2 RELA Father | Motherwhere the text for the relation is configurable via the Translator table
Non parental associations can be used, but are treated as attributes.
What user defined GEDCOM tags does Adam support?
The user can mark any Picture, Chart, Note, URL, Source or Citation private by using the following user defined tag:n _PRIV value where value can be left blank or given a description. Adam uses these descriptions only when displaying private source citations.
The user can add a URL link to any source by using the following user defined tag:
n _URL valuen _PIC valuen _TITL valuen _TYPE valueThe _URL value is the complete website URL including the protocol marker (i.e. http://, ftp://).
The _PIC value is the complete website URL including the protocol marker (i.e. http://, ftp://) for a thumbnail image used on the source pages instead of the URL for linking.
The _TITL value is the title of the website, and is only used on the Links page.
The _TYPE value of "external" can be used to specify a link is external. Other values may be "internal" or "local". This field can be omitted to indicate a link that is not external.
The user can modify the Residence tag to include contact information (Address, phone, email, longitude/latitude). When so doing, the information will be used in the Address Book:
1 RESI2 DATE 20092 PLAC Lakeside, AZ2 ADDR 2150 Manzanita Dr3 ADR1 Rt 2, P.O. Box MR1053 CITY Lakeside3 STAE AZ3 POST 859293 _LONG -110.00989099998543 _LAT 34.160251999596732 PHON 111-222-33332 _EMAIL myemail@@gmail.com2 _LAST Smith2 _NAME Jack & DianeThe ADDR/ADR1/CITY/STAE/POST fields are used for the address and will be used for Google Maps/Earth lookups.
The _LONG field is used for the address's longitude. This is needed only if Google Maps/Earth cannot locate the exact location using the address entered.
The _LAT field is used for the address's latitude. This is needed only if Google Maps/Earth cannot locate the exact location using the address entered.
The _EMAIL field is used to display an email address. The @ symbol must be escaped using an additional @ symbol (i.e. @@).
The _LAST field is used to display the last name, and will be used as the primary field for sorting.
The _NAME field is used to display the first name, and will be used as the secondary field for sorting.
The user can modify the Individual tag to include a married name. When so doing, the information will be used on the Birthday page:
0 INDI @I1@1 _MAR Diane SmithThe user can modify the Object tag to include thumbnails, dates and captions:
n OBJEn FORM valuen TITL valuen FILE valuen _PIC valuen _CAP valuen _DATE valuen _SUBM valueThe FORM value is the format of the photo (i.e. jpg, gif, bmp)
The TITL value is the title of the photo.
The FILE value is the complete website URL including the protocol marker (i.e. http://, ftp://) for an enlarged image of a photo.
The _PIC value is the complete website URL including the protocol marker (i.e. http://, ftp://) for a thumbnail image of a photo.
The _CAP value is the caption of the photo.
The _DATE value is the date of the photo.
The _SUBM value is the submitter's name, but can be used to indicate any text such as copyright, etc.
The user can define a citation page by adding the following user defined tag in the contents of a source note record:
0 SOUR @S1@1 NOTE value2 _PAGE valueThe value of the _PAGE tag may be anything (i.e. 5, IV:67, 6-14,22).
The user can quality to a source record:
0 SOUR @S1@1 _QUAY 0|1|2|3The user can extend the note record by adding a title. When this is done, the note is considered an Article:
0 NOTE @N1@
1 _TITL value
The _TITL value is the title of the article
What HTML code and style sheet classes are hard coded by Adam?
The pages generated by Adam in many cases have embedded HTML table and dive tags, and style sheet class tags. Advanced users can configure cascade style sheets to use these tags to control how the pages are displayed. Adam comes with a sample cascade style sheet which defines each of the classes (adam.css)
Following is a list of classes and descriptions. For best result, the files should be viewed with a text editor to determine exactly how and where they are used:
| ID | Description |
adam_title | used for the website title |
adam_subtitle | used for the website subtitles |
adam_author | used for the website author |
adam_date | used for the website date |
adam_toc | used for the table of contents |
adam_toc_title | used for the table of contents title |
adam_toc_item | used for the table of contents item |
adamanctoc | used for the ancestor list index |
adamanctocentry | used for each ancestor list index entry |
adam_al_page | used for the ancestor list page |
adam_al_legend | used for the ancestor list legend |
adam_al_generation | used for the ancestor list generation line |
adam_al_generation_title | used for the ancestor list generation title |
adam_al_item | used for the ancestor list item |
adam_al_item_uncertain | used to indicate uncertain ancestors in the ancestor list |
adam_al_name | used for the ancestor list name column |
adam_al_path | used for the ancestor list path column |
adam_al_eol | used for the end of line on the ancestor list |
adamsourcetoc | used for the source index table |
adamsourcetocentry | used for each source index entry |
adamsourcetocquality | used for each source quality section |
adamsource | used for each source entry table |
adamsourceheading | used for the source entry title |
adamsourcerepository | used for the source entry repository |
adamsourcequality | used for the source entry quality |
adamsourcenote | used for each source entry note |
adamsourcepage | used for each source page link |
adamsourcecitation | used for each source entry citation |
adamsourceurl | used for each source entry URL |
adamsourcereferers | used for the source entry referrers |
adamsourcepic | used for the source photo thumbnail |
adamarticletoc | used for the article index table |
adamarticletocentry | used for each article index entry |
adamarticle | used for each article entry table |
adamarticleheading | used for the article entry title |
adamarticletext | used for each article text |
adamembeddedsource | used for embedded sources |
adamsourcereferences | used source references |
adamembeddednote | used for embedded notes |
adamnote | used for each individual or family data note |
adamnoteref | used for note references |
adamphototoc | used for the photo index table |
adamphototocentry | used for photo chart index entry |
adamlinkstoc | used for the link index table |
adamlinktocentry | used for each link index entry |
adamtimelinetoc | used for the timeline index table |
adamtimelinetocentry | used for each timelines index entry |
adamtimeline | used for the timeline table |
adamtimelinedate | used for the timeline entry date |
adamtimelineentry | used for each timeline entry date |
adammilitarytoc | used for the military timeline index table |
adammilitarytocentry | used for each military timelines index entry |
adammilitary | used for the military timeline table |
adammilitarydate | used for the military timeline entry date |
adammilitaryentry | used for each military timeline entry date |
adamimmigrants | used for each timeline entry event |
adamimmigrantsheading | used for the immigrants table heading |
adamimmigrantsbody | used for the immigrants table entry |
adamimmigrantsname | used for the immigrants table entry name |
adamimmigrantsdate | used for the immigrants table entry date |
adamimmigrantsfrom | used for the immigrants table entry location |
adamimmigrantsship | used for the immigrants table entry ship |
adambirthdays | used for the birthday page |
adambirthdaysheading | used for the birthday page heading |
adambirthdaysbody | used for the birthday page body |
adambirthdaysname | used for each birthday name entry |
adambirthdaysday | used for each birthday day entry |
adambirthdaysmonth | used for each birthday month entry |
adambirthdaysage | used for each birthday age entry |
adambirthdaysnamenow | used for each birthday name entry for the build date |
adambirthdaysdaynow | used for each birthday day entry for the build date |
adambirthdaysmonthnow | used for each birthday month entry for the build date |
adambirthdaysagenow | used for each birthday age entry for the build date |
adamcontacts | used for the address book |
adamcontactsheading | used for the address book heading |
adamcontactsbody | used for the address book body |
adamcontactsname | used for each address book name |
adamcontactsaddress | used for each address book address |
adamcontactscity | used for each address book city |
adamcontactsstate | used for each address book state |
adamcontactszip | used for each address book zip |
adamcontactsphone | used for each address book phone |
adamcontactsemail | used for each address book email |
adamcontactsurl | used for each address book url |
adamcontactsmap | used for each address book map field |
adamcensus | used for each census entry event |
adamcensusheading | used for the census table heading |
adamcensusbody | used for the census table entry |
adamcensusname | used for the census table entry name |
adamcensusdate | used for the census table entry date |
adamcensusentryeven | used for the census table even column |
adamcensusentryodd | used for the immigrants table odd column |
adamindividual | used for each individual table |
adamindividualheading | used for the individual(s) heading |
adamindividualentry | used for the individual data table |
adamfamily | used for each family table |
adamfamilyheading | used for the family(s) heading |
adamfamilyentry | used for the family data table |
adam_claim_date | used for each family page claim date |
adam_claim_tag | used for each family page claim tag |
adam_claim_quality | used for each family page claim quality |
adam_claim_data | used for each family page claim data |
adamaddress | used for each individual or family data address |
adamnarrative | used for each individual or family data narrative or event name list |
adamobject | used for each embedded object table |
adamobjectbody | used for each object |
adam_object_spacer | used for blank lines above and below object |
adamobjectthumbnail | used for each object's thumbnail container |
adamobjectthumbnailimage | used for each object's thumbnail image |
adamobjectlegend | used for the table holding each object's title and captions |
adamobjecttitle | used for each object title |
adamobjectcaption | used for each object caption |
adamobjectsubmitter | used for each object's submitter |
adam_il_title | used for each improbability list title |
adam_il_item | used for each improbability list item |
adam_il_total | used for each improbability list total |
adamversion | used for the Adam link - if you wish to hide this link, use display: none |
How do I provide feedback?
If you have comments, questions, suggestions, or you use Adam, and wish to have your website listed under the examples, please leave me feedback in the comments section at http://www.rumblefische.com/comments.html.
You may also email me directly at tjforsythe@gmail.com
