fire-eggs / FamilyLines

A free, open-source genealogy application to track, organize, and share your family history.
13 stars 1 forks source link

Foreward-compatible parsing of Familyx files #39

Closed fire-eggs closed 7 years ago

fire-eggs commented 7 years ago

notonyournelly[CodePlex]
The quotnativequot file format for saving family data will be changing significantly as we move forward. This will be due to additional data being imported from GEDCOM, LDS support, and replacement of DateTime. More changes are likely to be necessary as new features are added.

The Family Lines program will need to be able to read the .familyx format saved by Family.Show V4. The Family.Show dataset needs to be read in and where necessary transformed into the new data structure.

[Note: backward compatibility is not currently a goal. In the short term we don't need to be able to write a .familyx file that is compatible for Family.Show V4.]

The .familyx file is an XML serialization of C# classes (Person, People, Relationship, ...). Will it be possible to parse quotoldquot format and quotnewquot format via the (e.g.) Person class? Do we need to keep (e.g.) Person to read the old format and a quotNewPersonquot class for the new format?

In short:

Determine the best approach for both the new and old formats. Create the simplest classes/code which will read the .familyx format without extra properties/propertychanged support as used by the GUI. Consider introducing a simple separation of the model from the view. Provide the means to transform the quotoldquot format to the quotnewquot format.

fire-eggs commented 7 years ago

notonyournelly[CodePlex]
Version Tolerant Serialization is one possible answer.

http://msdn.microsoft.com/en-us/library/ms229752(v=vs.80).aspx