Producing Family Tree Charts – looking for a strategy

Last post 05-12-2008 8:11 AM by Robert Barnes. 6 replies.

Sort Posts:

  • Producing Family Tree Charts – looking for a strategy

    05-12-2008, 1:48 AM

    I am developing a genealogy site, http://www.nzgdb.co.nz, and want to be able to produce the standard family tree charts: ancestors, descendents, etc. For example, a descendents chart of Hannah OLD might show her and her husband John BARNES on the top row, with their children on the next level.

    Of course it gets more complicated in a real situation where you might have multiple partners, there may be multiple generations, and you might have to cope with cousin (etc) marriage, etc, but I have dealt with this by developing a T-SQL procedure that calculates the position for each person. Thus, given the key of the OLD, Hannah record I can produce the following in a temporary table: -

    Name (dates), Line, Position
    OLD, Hannah (1860-1939) 0 0
    BARNES, John (1959-1925) 0 2
    BARNES, John William (1882-1959) 1 0
    BARNES, Hannah Francis(1884-1966) 1 1
    BARNES, Harold Victor(1904-1976) 1 2

    So far so good, but what do I do with this? I want a way of getting this tabular data into a chart, which might take several pages, and print out this chart.

    Is SSRS a possibility? This is a kind of report, so perhaps SSRS is applicable.  

    I did think that I could read the temporary table at the start of a report, place the boxes in the appropriate positions on an indefinitely-large page , and then have the print command break this page into printable pages the way that Excel will print a large spreadsheet. The boxes could be text boxes or labels, as long as I could place data in them, control the border and background colour, and draw lines between them. Lines could be zero-height or zero-width labels with a border.

    However I couldn’t find any event structure in SSRS allowing me to read the records at a “start of report” event, nor create a virtual page and have SSRS break this into A4 pages as it printed the chart. Should I be looking at Crystal Reports, or system drawing/GDI+, or does this need a third party control?

    I am currently using Visual Studio 2005 Express, with SQL Server 2005, but I’ll upgrade to Visual Studio 2008 if required.  

    Thank you, Robert Barnes
     

  • Re: Producing Family Tree Charts – looking for a strategy

    05-12-2008, 2:07 AM
    • Loading...
    • anzer
    • Joined on 10-19-2004, 12:00 AM
    • UAE
    • Posts 566

    There is an excellent open source WPF Family tree application available... check here http://www.codeplex.com/familyshow

    I have checked this once and seen they are using some extension to store the family data, that extension is a standard of representing family tree..  I am not remembering what that extension but if you install and try to open an existing family tree you can see it... search for that extension in wikipedia and you will get full details about the algorithm...

     

    If this post was useful to you, please mark it as answer. Thanks

    My Blog
  • Re: Producing Family Tree Charts – looking for a strategy

    05-12-2008, 2:45 AM

     This looks VERY interesting, but in the first line or so it says "Windows VISTA".   I have a Windows XP development system, the application runs on a SBS server, and I need to serve it to browsers running on anything: Internet Explorer, Firefox, Safari (Mac) etc.   Is this only a Windows Vista application, or will it run in the web environment driven by a SBS server?

     Regards, Robert.
     

  • Re: Producing Family Tree Charts – looking for a strategy

    05-12-2008, 3:22 AM
    • Loading...
    • anzer
    • Joined on 10-19-2004, 12:00 AM
    • UAE
    • Posts 566
    It will work in win XP if you have .Net 3.5 framework... 
    If this post was useful to you, please mark it as answer. Thanks

    My Blog
  • Re: Producing Family Tree Charts – looking for a strategy

    05-12-2008, 3:35 AM

    I'm still not sure:  is it a Windows or a Web application?  Viewers need to be able to see the charts in a browser, and they won't necessarily have upgraded to .net 3.5.  In fact, some of them will be running Safari on a Mac.

  • Re: Producing Family Tree Charts – looking for a strategy

    05-12-2008, 5:01 AM
    • Loading...
    • anzer
    • Joined on 10-19-2004, 12:00 AM
    • UAE
    • Posts 566
    This is a windows app.. You cant use it directly.. but you can check the source and see how it is working...  they have used some standard to represent the family data... u can use that if you want..
    If this post was useful to you, please mark it as answer. Thanks

    My Blog
  • Re: Producing Family Tree Charts – looking for a strategy

    05-12-2008, 8:11 AM

     I've had a look at the video, downloaded the white paper, and I'll have a poke around the code.   It's very interesting, and I'd like to be able to use it, but it would take a lot of work to adapt this to my application.  Firstly, I need to change it to work in a web browser:  even if this is possible, I'm not at all sure that I have the necessary knowledge.  Secondly, I'd have to either change the application to use SQL directly, or I would have to develop SQL to GEDCOM to provide an input file to drive the application.  Thirdly, while I would love to provide the very attractive visualisations that the product offers, I should provide this only AFTER I have produced the more conventionally-formatted charts with boxes and lines - it is a very attractive option, but it must not be the only option.  So I feel that this is a useful approach to look at at a later stage, but I still need a more basic approach first. 

    >they have used some standard to represent the family data... u can use that if you want..

    That's the easy bit.  The standard that they have used to represent the family data is GEDCOM 5.5, which I am very familiar with.  It is the primary input format that loads up my SQL database, and I have developed logic to parse GEDCOM into my SQL database format.  However I use SQL directly as the data store as I need something that handles a large scale database , with some complex relationships between people and between people and documents.  With almost 5 million people records in the database currently I require SQL efficiency, it simply wouldn't work in less than geologic time scales if I used GED or XML formats as the primary database format.  While I'd prefer to use SQL directly, it would be wasy to develop a SQL -> GED process for a small part of the database, in order to drive a produce like FamilyShow.  The challenge remains as in my first post, how do I print the required chart? 

    I'll leave this question open, in the hope that somebody will suggest something suitable, but thank you Anzar for pointing me at ShowFamily.
     

     

Page 1 of 1 (7 items)