NAME

    FamilyTreeInfo - Family Tree Generator

NAME

    Ftree - Genealogical program on Perl

SYNOPSIS

      About the Family Tree Generator, v2.3.*

    PACKAGE CONTENTS:

    readme.txt This file config/PerlSettingsImporter.pm Settings file
    cgi/ftree.cgi The main perl script cgi/*.pm Other perl modules
    tree.txt, tree.xls, royal.ged Example family tree data files
    license.txt The GNU GPL license details changes.txt Change history
    pictures/*.[gif,png,jpg,tif] The pictures of the relatives
    graphics/*.gif The system graphic files

    OVERVIEW:

    When I designed the Family Tree Generator, I wanted more than just an
    online version of a traditional tree. With this software it is possible
    to draw a tree of ancestors and descendants for any person, showing any
    number of generations (where the information exists). Most other
    web-based "trees" are little more than text listings of people.

    A simple datafile contains details of people and their relationships.
    All the HTML pages are generated on the fly. This means that the tree
    is easy to maintain.

    Note that the tree shows the "genetic" family tree. It contains no
    information about marriages and adaptation.

    For a demonstration of this software, visit
    http://www.ilab.sztaki.hu/~bodon/Simpsons/cgi/ftree.cgi or
    http://www.ilab.sztaki.hu/~bodon/ftree2/cgi/ftree.cgi.

    The program is written in Perl. It runs as a CGI program - its output
    is the HTML of the page that you see. The program reads in the data
    file, and analyzes the relationships to determine the ancestors,
    siblings and descendants of the person selected. HTML tables are
    generated to display these trees, linking in the portrait images where
    they exist.

    INSTALLATION INSTRUCTIONS:

    1. Set up your web server (apache or IIS) so that it can run Perl
    scripts (e.g. mod-perl).

    2. Uncompress and copy the demo package (make sure that you reserve the
    rights, i.e. files with extension pm, gif, jpg, png, tif, csv, txt, xls
    must be readable, files with extension cgi and pl must be executable).

    3. Modify tree.xls so that it contains the details of your family. Tip:
    Select the second row, click on menu Window and select Freeze Panels.
    This will freeze the first row and you can see the title of columns.
    See format description below.

    4. Update the config/PerlSettingsImporter.pm file (you can specify the
    administrator's email, homepage, default language etc.).

    5. Copy the pictures of your family members to the pictures directory.

    6. That's it. Call the ftree.cgi script with no parameters to get your
    index page.

    7. If you are unhappy with the style and colors of the output then
    point the css_filename entry in PerlSettingsImporter.pm into your stly
    sheet.

    DATAFILE FORMAT:

    The program can handle excel, csv (txt), gedcom, serialized files and
    can get data from database. Follow these rules to decide which one to
    use: 1, Use gedcom if you already have your family tree data in a
    gedcom file and the fields that the program is able to import is
    sufficient. 2, Use the excel format if you just started to build your
    family tree data. 3, Convert your data file into serialized format if
    the data file contains many people (like some thousand) and you would
    like to reduce response time and memory need.

    Data format history: Originally the input file was a csv flat file with
    semicolon as the separator. It could store 6 fields for each person
    (name, father name, mother name, email, webpage, date of birth/death).
    As new fields were required (like gender, place of birth, cemetery,
    etc.) and the number of optional fields increased from 5 to 22, the csv
    format turned out to be hard to maintain. Although it is possible to be
    imported/exported into excel, it would be better to use excel
    spreadsheets directly. From version 2.2 this is possible. For backward
    compatibility it is still possible to use csv files. The new fields can
    be used in csv fields as well. From version 2.3 gedcom files can also
    be used.

    We encourage everybody to use the excel format. To convert from the csv
    format to the excel format, use script script/convertFormat.pl

    TIP 1.: Maintain your family tree data in excel using the Form option.
    Select all the columns, then press DATA->Form. It is convenient to add
    new people or to modify information of existing persons. TIP 2.: Freeze
    the first line so that header does not disappear when scrolling down.

    The excel format:

    The excel format is quite straightforward based on the example file.
    Each row (except the header) represents a person. The fields are: * ID:
    the ID of the person. It can be anything (like 123 or Bart_Simpson),
    but it should only contain alphanumeric characters and underscore (no
    whitespace is allowed). * title: like: Dr., Prof. * prefix: like: sir *
    first name * middle name * last Name * suffix: like: VIII * nickname *
    father's ID * mother's ID * email * webpage * date of birth: the format
    is day/month/year, like: 24/3/1977 * date of death: the format is
    day/month/year, like: 24/3/1977 * gender: 0 for male, 1 female * is
    living?: 0 for live 1 for dead * place of birth: the format is:
    "country" "city". The city part may be omitted. Quotation marks are
    mandatory. * place of death: the format is: "country" "city". The city
    part may be omitted. Quotation marks are mandatory. * cemetery: the
    format is: "country" "city" "cemetery", like: "USA" "Washington D.C."
    "Arlington National Cemetery" * schools: use comma as separator, like:
    Harward, MIT * jobs: use comma as separator * work places: use comma as
    separator * places of living: places separated by comma, like: "USA"
    "Springfield", "USA" "Connecticut" * general: you would typically write
    something general about the person. Note, that the extension of an
    excel data file must be xls.

    Tip: Select the second row, click on menu Window and select Freeze
    Panels. This will freeze the first row and you can see the title of
    columns.

    The csv format: Semicolon is the separator. The fields are:

    1. Full name. Middle names can be included in this field. If more than
    one person share the same name, a number can be appended (not shown in
    the displayed output). For example, "Bart Simpson2". 2. Father
    (optional - leave blank if not known). No middle names. 3. Mother
    (optional) 4. email address (optional) 5. web page (optional) 6. Dates,
    birth-death (both optional). Examples: "17/10/49-24/11/83", "10/69-"
    Note that the year of birth is not displayed for people who are still
    alive. 7. Gender (0 for male, 1 for female) 8. title: like: Dr., Prof.
    9. prefix: like: sir 10. suffix: like: VIII 11. is living?: 0 for live
    1 for dead 12. place of birth: the format is: "country" "city". The
    city part may be omitted. Quotation marks are mandatory. 13. place of
    death: the format is: "country" "city". The city part may be omitted.
    Quotation marks are mandatory. 14. cemetery: the format is: "country"
    "city" "cemetery", like: "USA" "Washington D.C." "Arlington National
    Cemetery" 15. schools: use comma as separator, like: Harward,MIT 16.
    jobs: use comma as separator 17. work places: use comma as separator
    18. places of living: places separated by comma, like: "USA"
    "Springfield", "USA" "Connecticut" 19. general: you would typically
    write something general about the person. Note, that the extension of a
    csv data file must be either csv or txt. To define the encoding of the
    file use option encoding in the config file.

    Convert from csv (txt) format to excel format: To switch from comma
    separated value file to excel spreadsheet, do the following: cd ftree2
    perl ./scripts/convertFormat.pl ./tree.txt ./tree.xls This will
    generate (overwrite) a tree.xls file.

    The GEDCOM format: GEDCOM, an acronym for GEnealogical Data
    COMmunication, is a specification for exchanging genealogical data
    between different genealogy software. GEDCOM was developed by The
    Church of Jesus Christ of Latter-day Saints as an aid in their
    extensive genealogical research. A GEDCOM file is plain text (an
    obscure text encoding named ANSEL, though often in ASCII in the United
    States) containing genealogical information about individuals, and data
    linking these records together. Most genealogy software supports
    importing from and/or exporting to GEDCOM format.

    Beside the father, mother relationships, the program handles the
    following information of a person: 1, gender 2, date of birth 3, date
    of death 4, place of birth (only city and country are extracted) 5,
    place of death (only city and country are extracted) 6, cemetery (only
    cemetery, city and country are extracted) 7, email address 8, homepage

    It is possible to switch from GEDCOM to excel (or serialized) format.
    Use the scripts/convertFormat.pl script. For example cd ftree2 perl
    ./scripts/convertFormat.pl ./tree.ged ./tree.xls

    The ser format: The drawback of excel, csv and GEDCOM format is that it
    has to be parsed and processed every time the program runs. It is
    possible to speed-up the program (and hence reduce response time) and
    reduce memory usage if you use the serialized format. The serialized
    format cannot be edited directly. Basically you maintain your family
    tree data in excel (or in csv or GEDCOM) then create a serialized file
    using scripts/convertFormat.pl program. If the name of the family tree
    data is ftree.xls then, the following commands will generate the
    serialized file:

    cd ftree2 perl ./scripts/convertFormat.pl ./tree.xls ./tree.ser

    Don't forget to set the data_source to "../tree.ser" in the
    PerlSettingsImporter.pm file.

    Note, that the extension of a serialized data file must be ser. Also
    keep in mind that different versions of perl may produce incompatible
    serialized versions. It is advised to run the convertFormat.pl script
    on the same mashine where the webserver runs.

    NAME OF THE PICTURE:

    One picture may belong to each person. The name of the picture file
    reflects the person it belongs to. The picture file is obtained from
    the lowercased full name by substituting spaces with underscores and
    adding the file extension to it. From example from "Ferenc Bodon3" we
    get "ferenc_bodon3.jpg".

    PERFORMANCE ISSUES: This sofware was not designed so that it can handle
    very large family trees. It can easily cope with few thousands of
    members, but latency (time till page is generated) grows as the size of
    the family tree increases. The main bottleneck of performance is that
    (1.) mod_perl is not used, therefore perl interpreter is starts for
    every request (2.) family tree is not cached but data file is parsed
    and tree is built-up for every request (using serialized format helps a
    little). Since the purpose of this software is to provide a free and
    simple tool for those who would like to maintain their family tree
    themself, performance is not the primary concern.

    SECURITY ISSUES: The protection provided by password request (set in
    config file) is quite primitive, i.e. it is easy to break it. Ther are
    historical reasons for being available. We suggest to use server side
    protection like .htaccess files in case of apache web servers.

    Hi Ferenc Bodon ========================

    I install your program ftree:

    1. I copy it to github: https://github.com/mishin/ftree
    ------------------------

    2. I use xampp XAMPP for Windows 5.6.12
    (https://www.apachefriends.org/ru/download.html) to install and
    configure Apache ------------------------ I could not install mod_perl
    on Ubuntu 14.14 (because of Unable to locate package
    libapache2-mod-perl2 - bad old repository issue!!)

    <IfModule alias_module>

    # # ScriptAlias /cgi-bin/ "C:/xampp/cgi-bin/" ScriptAlias /cgi-bin/
    "C:/xampp/cgi-bin/ftree/cgi/"

    </IfModule>

    <Directory "C:/xampp/cgi-bin/ftree/cgi"> AllowOverride All Options None
    Require all granted </Directory>

    3. My shebang in ftree.cgi is #!"c:\Dwimperl\perl\bin\perl.exe" (by
    Gabor Sabo) ------------------------ 4. I remover included package
    Params::Validate ------------------------ because of error Undefined
    subroutine Params::Validate::SCALAR perl and install new one (1.21)

    5. Also I copy ------------------------
    c:\xampp\cgi-bin\ftree\graphics\

    to

    c:\xampp\htdocs\graphics\

    to correct show images

    6. I catch error couldn't create child process: 720002
    ------------------------ Because If found it ! It was the first line in
    the .cgi file that needed to be adapted to Xamp's configuration:

    #!"c:\xampp\perl\bin\perl.exe" Instead of:

    #!"c:\perl\bin\perl.exe"

    https://forum.xojo.com/20697-couldn-t-create-child-process-720002-error
    -when-deploying-on-wi/0
    http://open-server.ru/forum/viewtopic.php?f=6&t=1059

    7. Image cancatenate ------------------------ NAME OF THE PICTURE:

    One picture may belong to each person. The name of the picture file
    reflects the person it belongs to. The picture file is obtained from
    the lowercased full name by substituting spaces with underscores and
    adding the file extension to it. From example from "Ferenc Bodon3" we
    get "ferenc_bodon3.jpg".

    No image put here and name=id.jpg c:\xampp\cgi-bin\ftree\pictures\

    So, It's a good work,

    1. but I prefer some refectoring, move to PSGI 2. Also, very good if it
    will be like DWIM when you can install it simply click to exe file
    without any others moving.

    I'm ready to help with it

    Best regards Nikolay Mishin

    generate cpanfile

    c:\xampp\cgi-bin\ftree\cgi\lib>perl
    c:\Users\TOSH\Documents\GitHub\App-scan_prereqs_cpanfile\script\scan-pr
    ereqs-cpanfile --ignore=version

VERSION

    This document describes cpanfile format version 1.0.

DESCRIPTION

SYNTAX

    requires, recommends, suggests, conflicts

USAGE

    cpanfile is a format to describe dependencies. How to use this file is
    dependent on the tools reading/writing it.

AUTHORS

    Dr. Ferenc Bodon and Simon Ward
    http://www.cs.bme.hu/~bodon/en/index.html http://simonward.com

    Maintainer Nikolay Mishin

COPYRIGHT

    Copyright 2015- Dr. Ferenc Bodon and Simon Ward

LICENSE

    This library is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.

ACKNOWLEDGEMENTS

    I am in debt to the translators: Csaba Kiss (French) Gergely Kovacs
    (German), Przemek Swiderski (Polish), Rober Miles (Italian), Lajos
    Malozsak (Romanian), Vladimir Kangin (Russian)

    I also would like to thank the feedback/help of (in no particular
    order) Alex Roitman, Anthony Fletcher, Richard Bos, Sylvia McKenzie and
    Sean Symes.

SEE ALSO

    CPAN::Meta::Spec Module::Install Carton

