GenoPro
Encyclopedia
GenoPro is a software application for drawing family trees
Family tree
A family tree, or pedigree chart, is a chart representing family relationships in a conventional tree structure. The more detailed family trees used in medicine, genealogy, and social work are known as genograms.-Family tree representations:...

 and genograms
Genogram
A genogram is a pictorial display of a person's family relationships and medical history. It goes beyond a traditional family tree by allowing the user to visualize hereditary patterns and psychological factors that punctuate relationships...

. 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
University of Waterloo
The University of Waterloo is a comprehensive public university in the city of Waterloo, Ontario, Canada. The school was founded in 1957 by Drs. Gerry Hagey and Ira G. Needles, and has since grown to an institution of more than 30,000 students, faculty, and staff...

. 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 hyperlink
Hyperlink
In computing, a hyperlink is a reference to data that the reader can directly follow, or that is followed automatically. A hyperlink points to a whole document or to a specific element within a document. Hypertext is text with hyperlinks...

s 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
Undo
Undo is a command in many computer programs. It erases the last change done to the document reverting it to an older state. In some more advanced programs such as graphic processing, undo will negate the last command done to the file being edited....

 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
Personal Ancestral File
Personal Ancestral File is free-of-cost genealogy software provided by FamilySearch, a website operated by The Church of Jesus Christ of Latter-day Saints...

, which do not.

GenoPro's report
Report
A report is a textual work made with the specific intention of relaying information or recounting certain events in a widely presentable form....

 generator can create HTML
HTML
HyperText Markup Language is the predominant markup language for web pages. HTML elements are the basic building-blocks of webpages....

 pages linked to interactive SVG (Scalable Vector Graphics)
Scalable Vector Graphics
Scalable Vector Graphics is a family of specifications of an XML-based file format for describing two-dimensional vector graphics, both static and dynamic . The SVG specification is an open standard that has been under development by the World Wide Web Consortium since 1999.SVG images and their...

 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
Active Scripting
Active Scripting is the technology used in Windows to implement component-based scripting support. It is based on COM and allows installation of additional scripting engines in the form of COM modules.-Uses and history:The Active Scripting technologies were first released in 1996, with the...

 such as VBScript
VBScript
VBScript is an Active Scripting language developed by Microsoft that is modeled on Visual Basic. It is designed as a “lightweight” language with a fast interpreter for use in a wide variety of Microsoft environments...

 and JavaScript
JavaScript
JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....

. 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
Microsoft SQL Server
Microsoft SQL Server is a relational database server, developed by Microsoft: It is a software product whose primary function is to store and retrieve data as requested by other software applications, be it those on the same computer or those running on another computer across a network...

, MySQL
MySQL
MySQL officially, but also commonly "My Sequel") is a relational database management system that runs as a server providing multi-user access to a number of databases. It is named after developer Michael Widenius' daughter, My...

, or Oracle
Oracle Database
The Oracle Database is an object-relational database management system produced and marketed by Oracle Corporation....

 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
OpenDocument
The Open Document Format for Office Applications is an XML-based file format for representing electronic documents such as spreadsheets, charts, presentations and word processing documents....

 documents.

GenoPro has its own object-oriented database
Object database
An object database is a database management system in which information is represented in the form of objects as used in object-oriented programming...

 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
Global Positioning System
The Global Positioning System is a space-based global navigation satellite system that provides location and time information in all weather, anywhere on or near the Earth, where there is an unobstructed line of sight to four or more GPS satellites...

. 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
Circular reference
A circular reference is a series of references where the last object references the first, resulting in a closed loop.-In language:A circular reference is not to be confused with the logical fallacy of a circular argument...

 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
Deadlock
A deadlock is a situation where in two or more competing actions are each waiting for the other to finish, and thus neither ever does. It is often seen in a paradox like the "chicken or the egg"...

 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 28 languages, including Albanian
Albanian language
Albanian is an Indo-European language spoken by approximately 7.6 million people, primarily in Albania and Kosovo but also in other areas of the Balkans in which there is an Albanian population, including western Macedonia, southern Montenegro, southern Serbia and northwestern Greece...

, Arabic
Arabic language
Arabic is a name applied to the descendants of the Classical Arabic language of the 6th century AD, used most prominently in the Quran, the Islamic Holy Book...

, Brazilian Portuguese
Brazilian Portuguese
Brazilian Portuguese is a group of Portuguese dialects written and spoken by most of the 190 million inhabitants of Brazil and by a few million Brazilian emigrants, mainly in the United States, United Kingdom, Portugal, Canada, Japan and Paraguay....

, Bulgarian
Bulgarian language
Bulgarian is an Indo-European language, a member of the Slavic linguistic group.Bulgarian, along with the closely related Macedonian language, demonstrates several linguistic characteristics that set it apart from all other Slavic languages such as the elimination of case declension, the...

, Catalan
Catalan language
Catalan is a Romance language, the national and only official language of Andorra and a co-official language in the Spanish autonomous communities of Catalonia, the Balearic Islands and Valencian Community, where it is known as Valencian , as well as in the city of Alghero, on the Italian island...

, Czech
Czech language
Czech is a West Slavic language with about 12 million native speakers; it is the majority language in the Czech Republic and spoken by Czechs worldwide. The language was known as Bohemian in English until the late 19th century...

, Dutch
Dutch language
Dutch is a West Germanic language and the native language of the majority of the population of the Netherlands, Belgium, and Suriname, the three member states of the Dutch Language Union. Most speakers live in the European Union, where it is a first language for about 23 million and a second...

, English
English language
English is a West Germanic language that arose in the Anglo-Saxon kingdoms of England and spread into what was to become south-east Scotland under the influence of the Anglian medieval kingdom of Northumbria...

, Estonian
Estonian language
Estonian is the official language of Estonia, spoken by about 1.1 million people in Estonia and tens of thousands in various émigré communities...

, Finnish
Finnish language
Finnish is the language spoken by the majority of the population in Finland Primarily for use by restaurant menus and by ethnic Finns outside Finland. It is one of the two official languages of Finland and an official minority language in Sweden. In Sweden, both standard Finnish and Meänkieli, a...

, French
French language
French is a Romance language spoken as a first language in France, the Romandy region in Switzerland, Wallonia and Brussels in Belgium, Monaco, the regions of Quebec and Acadia in Canada, and by various communities elsewhere. Second-language speakers of French are distributed throughout many parts...

, German
German language
German is a West Germanic language, related to and classified alongside English and Dutch. With an estimated 90 – 98 million native speakers, German is one of the world's major languages and is the most widely-spoken first language in the European Union....

, Greek
Greek language
Greek is an independent branch of the Indo-European family of languages. Native to the southern Balkans, it has the longest documented history of any Indo-European language, spanning 34 centuries of written records. Its writing system has been the Greek alphabet for the majority of its history;...

, Hebrew
Hebrew language
Hebrew is a Semitic language of the Afroasiatic language family. Culturally, is it considered by Jews and other religious groups as the language of the Jewish people, though other Jewish languages had originated among diaspora Jews, and the Hebrew language is also used by non-Jewish groups, such...

, Hungarian
Hungarian language
Hungarian is a Uralic language, part of the Ugric group. With some 14 million speakers, it is one of the most widely spoken non-Indo-European languages in Europe....

, Icelandic
Icelandic language
Icelandic is a North Germanic language, the main language of Iceland. Its closest relative is Faroese.Icelandic is an Indo-European language belonging to the North Germanic or Nordic branch of the Germanic languages. Historically, it was the westernmost of the Indo-European languages prior to the...

, Indonesian
Indonesian language
Indonesian is the official language of Indonesia. Indonesian is a normative form of the Riau Islands dialect of Malay, an Austronesian language which has been used as a lingua franca in the Indonesian archipelago for centuries....

, Italian
Italian language
Italian is a Romance language spoken mainly in Europe: Italy, Switzerland, San Marino, Vatican City, by minorities in Malta, Monaco, Croatia, Slovenia, France, Libya, Eritrea, and Somalia, and by immigrant communities in the Americas and Australia...

, Latvian
Latvian language
Latvian is the official state language of Latvia. It is also sometimes referred to as Lettish. There are about 1.4 million native Latvian speakers in Latvia and about 150,000 abroad. The Latvian language has a relatively large number of non-native speakers, atypical for a small language...

, Lithuanian
Lithuanian language
Lithuanian is the official state language of Lithuania and is recognized as one of the official languages of the European Union. There are about 2.96 million native Lithuanian speakers in Lithuania and about 170,000 abroad. Lithuanian is a Baltic language, closely related to Latvian, although they...

, Polish
Polish language
Polish is a language of the Lechitic subgroup of West Slavic languages, used throughout Poland and by Polish minorities in other countries...

, Portuguese
Portuguese language
Portuguese is a Romance language that arose in the medieval Kingdom of Galicia, nowadays Galicia and Northern Portugal. The southern part of the Kingdom of Galicia became independent as the County of Portugal in 1095...

, Russian
Russian language
Russian is a Slavic language used primarily in Russia, Belarus, Uzbekistan, Kazakhstan, Tajikistan and Kyrgyzstan. It is an unofficial but widely spoken language in Ukraine, Moldova, Latvia, Turkmenistan and Estonia and, to a lesser extent, the other countries that were once constituent republics...

, Scots Gaelic, Spanish
Spanish language
Spanish , also known as Castilian , is a Romance language in the Ibero-Romance group that evolved from several languages and dialects in central-northern Iberia around the 9th century and gradually spread with the expansion of the Kingdom of Castile into central and southern Iberia during the...

, Swedish
Swedish language
Swedish is a North Germanic language, spoken by approximately 10 million people, predominantly in Sweden and parts of Finland, especially along its coast and on the Åland islands. It is largely mutually intelligible with Norwegian and Danish...

, Turkish
Turkish language
Turkish is a language spoken as a native language by over 83 million people worldwide, making it the most commonly spoken of the Turkic languages. Its speakers are located predominantly in Turkey and Northern Cyprus with smaller groups in Iraq, Greece, Bulgaria, the Republic of Macedonia, Kosovo,...

, Vietnamese
Vietnamese language
Vietnamese is the national and official language of Vietnam. It is the mother tongue of 86% of Vietnam's population, and of about three million overseas Vietnamese. It is also spoken as a second language by many ethnic minorities of Vietnam...

 and Ukrainian
Ukrainian language
Ukrainian is a language of the East Slavic subgroup of the Slavic languages. It is the official state language of Ukraine. Written Ukrainian uses a variant of the Cyrillic alphabet....

. GenoPro features an online collaboration
Collaboration
Collaboration is working together to achieve a goal. It is a recursive process where two or more people or organizations work together to realize shared goals, — for example, an intriguing endeavor that is creative in nature—by sharing...

 system where users can translate the menus, dialogs and error messages.

File Format

GenoPro uses XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

 as its core file format, and its file extension .gno is a zipped
ZIP (file format)
Zip is a file format used for data compression and archiving. A zip file contains one or more files that have been compressed, to reduce file size, or stored as is...

-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
GEDCOM
GEDCOM, an acronym for GEnealogical Data COMmunication, is a proprietary and open de facto specification for exchanging genealogical data between different genealogy software...

 format.

Other Platforms

Running GenoPro on a Macintosh requires special software such as Parallels
Parallels Desktop for Mac
Parallels Desktop for Mac by Parallels, Inc., is software providing hardware virtualization for Macintosh computers with Intel processors.-Overview:Parallels, Inc...

, or Virtual PC
Microsoft Virtual PC
Windows Virtual PC is a virtualization program for Microsoft Windows. In July 2006 Microsoft released the Windows-hosted version as a free product...

 for older non-Intel Macs. GenoPro runs on Linux with Wine
Wine (software)
Wine is a free software application that aims to allow computer programs written for Microsoft Windows to run on Unix-like operating systems. Wine also provides a software library, known as Winelib, against which developers can compile Windows applications to help port them to Unix-like...

, but without the report generator.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK