[edit] Welcome to the Muscatelli Research Center

Development

From Muscatelli Genealogy Wiki

Jump to: navigation, search

Below I am going to try to disclose as much as I can about the programming code and logic. My hope is that other users will be able to both validate as well as add to the decisions I've already made about how Muscatelli Genealogy Wiki functions.

Please see Known Issues


Contents

[edit] Architecture

  • Programming Language: PHP
  • Database: MySQL
  • OS: Windows XP
  • Webserver: Apache

I'm most comfortable with LAMP and should be switching back shortly.

[edit] Database Design

The genealogical data is centered around 3 main concepts: Person, Family, Event. All three of these tables have history tracking that enables time slicing. This means that when a change is made to a record, the entire row is copied, the change is applied to the new row and start/stop datetimes are set to know when the change is effective. Although this is more complicated when saving, it makes it super easy to read records as of any point in time as well as prune historical records when necessary.

[edit] Person

Person represents a single individual in history. Duplicate people are highly discouraged and largely impossible to maintain. Person and Individual mean the same thing on Muscatelli Genealogy Wiki.

[edit] Family

In the most simple terms, a Family is the union of two individuals (people). This could represent a legal marriage, homosexual partners, or just an unplanned pregnancy with a sexual partner. It's simply a link between person1 and person2. It could also be boy friend/girl friend relationship but that's probably not a very useful relationship to track for genealogy.

Every person can link to a biological family or an adopted family (adoptions are not implemented yet). You cannot link a person to a father without a marriage/family first.

[edit] Event

Events are significant activities that occur to an individual or family. There are a list of standard events such Birth, Death, and Marriage. There are also several religious events such as Baptism and LDS Endowment. Each event can have a single date (not ranges), location, and a half dozen other parameters including Source and Notes.

[edit] Stats

I may add a stats page:

SELECT YEAR(creation_date), MONTH(creation_date), count(*) FROM tree_person
WHERE actual_start_date <= NOW() AND actual_end_date > NOW()
GROUP BY YEAR(creation_date), MONTH(creation_date)

[edit] Wiki Changes

Personal tools
Old Photos
Beatrice Maillard and Anna Marie Maillard 1939.jpg

Beatrice Maillard and Anna Marie Maillard 1939.jpg

Sponsors