GenoPro

GenoPro is a software application for drawing family trees and genograms. GenoPro can store additional information such as; pictures, contacts, places, sources, occupation, and education history for each individual, as well as document the relationships among individuals.

History
GenoPro was created in 1998 by Daniel Morin while studying computer engineering at the University of Waterloo. His original idea stemmed from his father's request to design a genogram during his training as a family counselor.

The first version 1.00, was named "Generations". This version was a little portable 32-bit freeware version of only 202kB working on windows. With all the useful information and ability to edit very simply a generation tree of parents and their children.

GenoPro has had many constant updates and improvements over the years. The following is a list of major version number updates.
 * December, 2006 – GenoPro 2007 also known as GenoPro 2.0
 * August, 2009 – GenoPro 2.5.0.0
 * December, 2010 – GenoPro 2011
 * October 2015 – GenoPro 2016 was released.

Features
GenoPro’s architecture revolves around the pedigree layout where the user can view the entire genealogy tree at once. The user can manually customize the layout of the pedigree by using color and positioning the individuals to graphically emphasize relevant information, such as ethnicity, culture, citizenship, education level, religion, political affiliations, and diseases in the case of medical pedigrees.

GenoPro can split a large family tree into many sub-trees and hyperlink them together automatically, this is useful for scaling large family trees containing tens of thousands of individuals. These hyperlinks can also be used to navigate between any objects on the pedigree, from parents to children to siblings, or across pictures, places, sources, and citations.

GenoPro displays special symbols to distinguish different family relationships such as marriage, divorce, cohabitation, and love affairs, as well as other symbols for emotional relationships such as friendship, love, distrust, hostility, and jealousy.

GenoPro supports the creation of same-sex relationships, unlike other programs such as Personal Ancestral File, which do not.

GenoPro's report generator can create HTML pages linked to interactive SVG (Scalable Vector Graphics) family trees. Reports in GenoPro can be customized by modifying the full source code for each built-in report. GenoPro's report generator uses scripting languages such as VBScript and JavaScript. GenoPro sports built-in ASP objects and many additional objects making it easy to generate elaborate reports. GenoPro can also load third-party COM modules made in other programming languages such as C++, C#, VB.NET, or Java and/or connect to external databases such as Microsoft SQL, MySQL, or Oracle to fetch additional data for generating a report. The current version of GenoPro includes a new type of report to generate Microsoft Word and OpenOffice documents.

GenoPro has its own object-oriented database engine designed to foster hierarchical data and circular references. Hierarchical data is the key to avoiding redundant data, which in turn eliminates inconsistencies, and reduces typing and memory storage. The greatest benefit of hierarchical data is providing a hierarchy for classifying data, such as grouping places by country, state, city, and buildings. A building, such as a hospital or a cemetery may further be divided into rooms and lots for finer data granularity. Since places are objects, the user can enter minute details, from street addresses and pictures to latitude and longitude for GPS positioning. Any place deriving from a parent place will inherit its parent's values unless overwritten.

GenoPro's report generator understands hierarchical data and its generated reports give the user the option to expand each node to view details. Also, the report generator displays Geo Mapping in the Google Map for every place defined by a city name or a GPS position. Circular referencing is very common in genealogy, such as displaying a picture for a place, and linking this place to its original picture. Relational databases do not handle circular referencing,  or if such a catastrophic scenario happens, the data is in a deadlock and cannot be deleted. Hierarchical data is nearly impossible to achieve for standard databases without writing massive bug-prone code requiring excessive processing, thus rendering the entire application extremely slow and unusable for large amounts of data.

Languages Available
GenoPro is available in 56 languages, including Albanian, Arabic, Brazilian Portuguese, Bulgarian, Catalan, Czech, Dutch, English, Estonian, Finnish, French, German, Greek, Hebrew, Hungarian, Icelandic, Indonesian, Italian, Latvian, Lithuanian, Polish, Portuguese, Russian, Scots Gaelic, Spanish, Swedish, Turkish, Vietnamese and Ukrainian. GenoPro features an online collaboration system where users can translate menus, dialogs, and error messages.

File Format
GenoPro uses XML as its core file format, and its file extension .zip is a zipped-XML file. The user may rename the file extension .gno to .zip for editing the content of the genealogy document with a text editor. GenoPro can also import and export data in the GEDCOM format. It is important to realize that the GenoPro GEDCOM import cannot be relied upon to accurately transfer data from other genealogy programs.

Other Platforms
Running GenoPro on a Macintosh requires special software such as Parallels, or Virtual PC for older non-Intel Macs. GenoPro runs on Linux and Mac with Wine, but without the report generator.