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.

In January 2011, GenoPro 2011 was released.

Features
GenoPro’s architecture revolves around the pedigree layout where the user can view the entire genealogy tree at once, including family branches in any direction to illustrate the complex scenarios based on today's reconstructed families. With GenoPro, the user can manually customize the layout by positioning the individuals as well as using color to graphically emphasize what he/she feels is important in the family, 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. With only two mouse clicks, the user can move an entire branch to another sheet. GenoPro creates the necessary hyperlinks to connect the trees. Supporting multiple sub trees is necessary for scaling large family trees containing tens of thousands of individuals.

GenoPro can display data just like traditional genealogy software. GenoPro's spreadsheet includes hyperlinks to navigate between any objects, from parents to children to siblings, or across pictures, places, sources and citations. GenoPro's spreadsheet allows various functions, including in-place editing, bulk-editing, finding and replacing, data sorting, copying and pasting with other commercial spreadsheet applications, and of course, unlimited use of the undo/redo function for every operation.

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 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 for 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 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. . However, it should be noted that Semantic MediaWiki may solve some of those problems.

Languages Available
GenoPro is available in 28 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 the menus, dialogs and error messages.

File Format
GenoPro uses XML as its core file format, and its file extension .gno 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.

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 with Wine, but without the report generator.