GVExport module
Third-Party Code Disclaimer
GVExport module | |
Author: | Ferenc Kurucz |
The GVExport module can export your family tree into a DOT file, which is the native data format of GraphViz application. Using GraphViz you can convert it to various image formats (GIF, JPG, PNG) or PostScript, PDF etc.
Obtaining
You can download the latest version of GVExport from my personal site.
Latest version is: 0.8.3, 2009-11-24
GVExport_0.8.3
From version 0.8.0 I test it only on PGV 4.2/4.2SVN, so maybe it won't work on older releases...
You can download the latest version which was tested on PGV 4.1 from here:
GVExport_0.7.2
Requirements
PGV
Obviously you will need a working PhpGedView installation (I tested it with 4.1.3, 4.1.4, 4.1.5, 4.1.6 SVN, 4.2, 4.2SVN)
GraphViz
If you would like to use GVExport's image creating functions 'on-the-fly', then you have to install the GraphViz application on the computer where PGV runs.
- Debian
You need to install it from the repository:
~# apt-get install graphviz
That's it.
- Windows
FIXME
- Installation through FTP
FIXME
Installation
Just unzip the downloaded file to the directory where your PGV is installed (further referenced as 'PGV_Dir').
- Debian
Default install directory is /usr/share/phpgedview/www.
Configuration
In PGV_Dir/modules/gvexport there is a config.php file. With a text editor please edit the path to your GraphViz binary ($GVE_CONFIG["graphviz_bin"]). If you don't have an installed GraphViz where the PGV runs, then please uncomment that line with the empty string, so GVExport won't search for GraphViz executable.
- Debian
Default path is /usr/bin/dot
Using
If the installation was correct now you should see a new module 'GraphViz Export' on the top right side of your PGV page (if you are logged in). Please choose 'All-in-One Tree' on the dropdown menu.
Output settings
- Output file type
Default is DOT and it is the only available format if you don't have a GraphViz installed on the computer where PGV runs. PNG, JPG, GIF are image formats and PNG is the suggested one (JPG has compression artifacts, GIF export is slow and PNG has no 64K pixel limit).
SVG is a nice option if you want "clickable" names (so can open in your browser the person's PGV "Individual Information" page).
If your GraphViz application supports PDF output format, I would highly recommend to use it all the time, because of fast generation times and low memory usage.
Warning: JPG has 64K pixel size limit (either width or height) which cannot be bypassed, PNG has no such limitation but the memory usage could be huge during the processing. Based on my experience the memory usage is: Width * Height * 2 bytes, so creating an image with 50000x10000 pixel size will need about 1GB of RAM).
- Generate a file for download
If you check this option the file (DOT or image) won't shown in the browser, instead you can download it and save to your computer.
- Use page break
Thi option make sense only if you decide to convert your DOT file to PostScript or PDF. There are some glitches, for example it cuts the boxes in half if its on the edge of page.
- Graph direction
- Top-to-Bottom: ancestors on top, descendants on bottom
- Left-to-Right: ancestors on left, descendants on right
- "Mclimit" setting
This option might help to reduce the number of crossings on your graph. Setting this to a higher number will slow down the generating of graph remarkably. Here are some data based on my experience:
mclimit : runtime 1 : 1 sec 5 : 2 sec 20 : 5 sec 50 : 15 sec 100 : 25 sec
Diagram Preferences
- Individuals to be included on diagram
Everyone
As it says, actually all individuals in the active GEDCOM file, but no linked GEDCOMs yet.
Anyone related to a person
Show only those individuals and families which are related somehow to the selected person. You can control which relations are to looking for:
- Ancestors - Ancestors of selected individual (mom/dad & adopters too), max depth of search can be selected
- Siblings - Siblings of selected individual and of its ancestors (sisters/brothers & aunts/uncles)
- Cousines - Descendants of the siblings of ancestors of the selected individual (nice explanation :-)) (note: cousines are beeing searched down to the level of the selected individual (s.i.), so if s.i. has a sister and she has a child, then it won't show up on the graph)
- Descendants - Descendants of the selected individual and all relatives (children & adopted persons), max depth of search can be selected
- Spouses - Spouses of all included individuals (wifes/husbands of all the people selected in the above options)
- Mark not blood-related people - Marks with different colors those peoples which are not blood-relate to the selected individual (like mom's brother's wife & adopters)
- Mark those individuals which facts are not validated yet
Shows individuals with different color, to recognize those which have data not yet validated.
Show last editor's username
Only make sense if you checked the above option. It will help you track submitters of not yet validated data.
- Add URL to individuals and families
It works weel if you choose SVG output, it enables clicking on the names & marriages and it will open the relevant PGV page in your browser
- Use abbreviated placenames
Use only the first and last part of place name. Like "City, Country" instead of "City, County, Region, Country"
- Personal data to be shown
- Marriage data to be shown
Appearance
Diagram type
You can choose from four diagram types. The "Combined" type is only working correctly if you use the "anyone related to a person" mode.
- Simple
- Decorated
- Decorated + photo
- Combined
- Font size
- Color code of male individuals
- Color code of female individuals
- Color code of unknown individuals
- Color code of families
Advanced Settings
- Debug Mode
Dumps DOT file & other debug info on screen
- Custom media directory
Changelog
Version 0.8.3 (2009-11-24) - New : Additional settings to control the look of the tree (dpi, ranksep, nodesep) - Fixed : Combined tree (request by Meliza Amity) - Fixed : Date handling for 4.2.3SVN compatibility, properly localised dates (by Łukasz Wileński) - Changed: Polish translation updated (by Łukasz Wileński)
Version 0.8.2 (2009-10-05) - New : Stop tree processing on given INDIs (request by Marcel Beerli) Version 0.8.1a (2009-08-16) - Fixed : UI error if no Graphviz path is given Version 0.8.1 (2009-04-11) - New : Multiple indis could be added for partial trees (request by Bruno Spiquel) Version 0.8.0 (2009-02-15) - Fixed : Compatibility with 4.2/4.2SVN (by Ely Schoenfeld) - New : Photos in combined boxes (by Ely Schoenfeld) - Changed: Output file types configured in config.php /don't forget to replace it!/ (by Ely Schoenfeld)
Version 0.7.2 (2008-10-23) - Fixed : Clickable containers (INDI and FAM) - now working again - New : Family containers could be switched off, so the graph is more compact now (its quite usable for pedigree & descendancy charts) - New : PostScript output works (sort of), this is needed if the page-breaking mode is used Version 0.7.1 (2008-10-19) - Fixed : Works correctly with 4.1.6 SVN (file naming difference: person_class.php vs class_person.php) Version 0.7.0b (2008-10-19) - Fixed : missing gvexport.php in the zip file (sorry!) Version 0.7.0 (2008-07-27) - Fixed : Works correctly with 4.1.5 & 4.1.6 SVN (date handling) - New : Minor improvements in usability Version 0.6.6 (2008-05-01) - New : UI settings are saved in cookie (by Till Schulte-Coerne) - New : Multiple date formats (under development) Version 0.6.5 (2008-04-06) - Fixed : Workaround for the bug in method Family->getSpouseId() & UI changes (by Till Schulte-Coerne) Version 0.6.4 (2008-03-22) - New : German translation (by Hermann Schulte-Coerne) - New : Custom font name Version 0.6.3 (2008-02-01) - Fixed : Multi-platform operability (by Thomas Ledoux), now GVExport & GraphViz should work together on Win OS. Version 0.6.2 (2008-01-31) - New : Custom limit for ancestors and descendants search depth (level) - New : Search for cousines (now its a separate checkbox) - New : French translation (by Thomas Ledoux) - Fixed : URLs in combined mode Version 0.6.1 (2008-01-23) - New : Linked GEDCOMs (only in partial tree mode, not when "Everyone" is selected), URLs are working too for linked GEDCOMs. - Fixed : INDIs with unknown gender in "combined" mode - Fixed : INDI id missing in "decorated" mode - Fixed : FAM id problems in "combined" mode (linked GEDCOMs) - Fixed : Polish translation is up-to-date (by wooc) Version 0.6.0 (2008-01-22) - New : UI redesign - Changed: Debug mode more self-explanatory Version 0.5.4 (2008-01-16) - New : PDF output (depends on graphviz version) - New : Custom media directory - Fixed : Absoulte URLs in indi/fam links - Fixed : Goofs in HTML formatted texts (& sign) - Fixed : Marriage place naming (abbr vs full) - Fixed : Left justified texts - Fixed : Avoiding estimated birth dates (if death date is present) Version 0.5.3 (2008-01-14) - New : Customizable text on the chart (in config file) - New : Full or abbreviated place name (in config file) - New : Margin size (in config file) - Fixed : Removing double qoutes (") from names Version 0.5.2 (2007-12-20) - New : Polish translation (by wooc) Version 0.5.1a (2007-12-13) - Fixed : MCLIMIT setting (wasn't functioning at all) Version 0.5.1 (2007-12-12) - New : MCLIMIT setting Version 0.5.0 (2007-12-02) - Fixed : PHP error during "simple" graph processing - New : INDI id and FAM id can be shown on graph (TODO #4) - New : Clickable containers (INDI and FAM), which opens the indi/fam page in PGV (TODO #2) - New : Last editor's username can be shown (TODO #4) Version 0.4.9 (2007-11-30) - Fixed : (Now really fixed) Unvalidated individuals and families are shown (TODO #1) - New : Graph direction selectable (Top-to-Bottom or Left-to-Right) - New : Combined graph mode (husband and wife in a single cell together with marriage info) - works correctly only in partial tree mode - New : Data shown in the container can be selected Version 0.4.8 (2007-11-29) - Fixed : Unvalidated individuals and families are shown (TODO #1) Version 0.4.7 (2007-11-28) - Fixed : Error handling for GraphViz exec (Pasquale Ceres <pasquale_ceres at yahoo it>) - New : Graph can be shown in the browser window (Pasquale Ceres <pasquale_ceres at yahoo it>) Version 0.4.6 (2007-11-27) - New : People with not validated data could be marked Version 0.4.5 (2007-11-27) - New : Pagebreaking output could be selected (it has effect only on DOT files) Version 0.4.4 (2007-11-25) - New : New diagram type - Decorated with photos (could be slow!) - New : Not blood related people could be marked with different color (on partial tree) - New : Siblings can be included in partial tree - Changed: Some UI changes Version 0.4.3 (2007-11-24) - New : Custom font size used on diagram Version 0.4.2 (2007-11-24) - New : Ancestors, descendants & spouses are selectable in partial tree mode Version 0.4.1 (2007-11-24) - Fixed : Syntax error in DOT file, when using "decorated" mode Version 0.4 (2007-11-23) - New : Logic rewritten - New : Partial tree selection is available (INDI and his/her ancestors) - New : Added Italian language file (Pasquale Ceres <pasquale_ceres at yahoo it>) - New : Added SVG output format, but seems to be buggy - Changed: Some speed-up on full tree generation - Changed: Code cleanup (require files) - Changed: Default colors in config.php Version 0.3.2 (2007-11-22) - Fixed : If localized language file is missing, then "en" is used Version 0.3.1 (2007-11-22) - New : Basic configuration is available in a dedicated config file - Fixed : Proper use of language files - Changed: No more JS popups (gvexport_output.php is obsolete now) Version 0.3 (2007-11-22) - New : Simple / Decorated (HTML) diagram - New : Custom colors for diagram - Fixed : PHP bug (Pasquale Ceres <pasquale_ceres at yahoo it>) Version 0.2 (2007-11-21) - Fixed : PHP4 compatibility (Pasquale Ceres <pasquale_ceres at yahoo it>) - Changed: Temp files are saved into system temp dir / "md5(username)" subdir instead of "session_id" subdir, so fewer dirs are created now Version 0.1 (2007-11-15) - Initial version
TODO list
- Media Firewall compatibility
Contact
Ferenc Kurucz (korbendallas1976@gmail.com)