personas console
personas console
project at Sourceforge

personas console is Open Source genealogy software that is released under the GNU Public License. This home page gives the current status of development and links to project resources.

Software for Genealogy

at RootsWeb

Why personas?  The name chosen for the program comes from the terminology used by the GENTECH genealogical data model. In this model, a Persona is the entity that represents an instance of an individual that is being studied. The concept of Persona is an example of how the model helps separate evidence from conclusions. Each bit of evidence that is collected is associated with a distinct Persona. A documented conclusion is needed to group several Personas together and assert that they refer to the same individual. This is representative of how the model, uses formal assertions to build a hierarchy of conclusions from accumulated evidence.

The GENTECH model was chosen as the basis for software development for several reasons. First, it is a model that emphasizes the separation of conclusions from evidence. Second, I am an amateur genealogist, so I looked for a model that was designed by genealogists, experts in the field. The GENTECH model was developed by such a group in conjunction with software developers. Third, the model is deliberately abstract because it was intended as a general framework not an implementation. Fourth, critiques of the model by the genealogical community have been favorable. Fifth, there are no implementations of the GENTECH model. If this project is successful, it will serve as an example and test of the model.

Additional information on the GENTECH model (including a UML diagram) can be found at my GDMUML website. This website will also contain design notes and UML diagrams for the Personas implementation.

Programming Language and Platform

This project was started early in 2003 with an experimental C# Windows application. Since then, the source code has been rewritten in C++, for reasons discussed below. The GENTECH related classes from this app will serve as a starting point for a new class library. Initially PersonasConsole, a console application, is being developed for exercising the class library. Later a GUI interface will be added on top.

Initially C# was chosen to take advantage of XML support provided by .NET. (primarily XML Serialization). After completing the Administrative and Evidence classes, it was clear that using XML serialization was becoming a limitation. Limiting because the implementation reflects more what the .NET framework will allow rather than simply expressing the model.

Beginning with the design of the Conclusional sub-model, the source has been moved to C++. Personas Console will still use XML data storage but will be added after the class framework is nearer completion.

personas console is intended to provide "proof of concept" of the C++ class representation of the GENTECH data model. It is a command-line application which will operate on any Win32 Windows platforms.

Who is working on this?

Currently just one developer (Stan Mitchell) is involved.
Current Status

PersonasConsole has been rewritten in C++ with class implementations for all GENTECH entities. It exercises the classes with a small set of data. The 0.8 release is available as a download (including EXE) from SourceForge at the Personas Console Project page. It requires MS Visual Studio .NET 2003 to build.

This project is now inactive.

New development on Personas has moved to my GenApps website. Logo
Thank you, Sourceforge!
Last update: December-11-2013