I'm please to say I now have this working fairly well, within reasonable size limits. I've certainly produced a complete direct ancestry for myself, going back in some lines 12 generations. So now I'm afraid I'm down to queries over minor presentation issues, of someone can help.
1 - The charts use * for birth and + for death in the detail boxes. How would I change this to either Birth: and Death:, or perhaps to conserve space, b: and d:. and also perhaps everything except the name in a smaller font.
2 - Places seem to suffer from strange abbreviating. A couple of examples:
'Parish Church, Sevenoaks, Kent, England' becomes 'Sevenoaks, England'
'Church, Sevenoaks, Kent, England' becomes 'Church, England'
I would really rather places were not abbreviated at all.
How and where do I make such changes?
My last query is the hardest. Is there any way to draw straight horizontal and vertical connecting lines between people instead of angled? I suspect the answer is no, but thought I would ask just in case. I just prefer the more 'traditional' look.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Regarding 1) and 2) I made the changes you asked and you can download the latest version from here: http://wiki.phpgedview.net/en/index.php/GVExport_module
I used abbreviation because in Hungary we often have quite long place names (more than 20 chars in counties/regions), anyway its now turned off by default in the config file.
Straight lines: I have not found any relevant info in GraphViz documentation yet... I suspect its impossible for now.
Best regards,
Ferenc
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
That's correct, but it draws a straight line instead of a spline. As I understand he want lines with sections angled by 90 degrees ("L").
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2008-01-14
Thanks Ferenc - much better. A minor thing, using the 'Combined' display option for the first time I get this warning:
"Error: not well-formed (invalid token) in line 1 ... <BR/>(Parish Church of St Peter & St Paul, England) ... in label of node F1171 Error: not well-formed (invalid token) in line 1 ... <BR/>(Parish Church of St Peter & St Paul, England) ... in label of node F84 Warning: node F1171, port I736 unrecognized Warning: node F1171, port I738 unrecognized Warning: node F84, port I290 unrecognized "
I assume graphvix, or gvexport does not like use of '&' in a place?
Also - in the change to allow abbreviated place names, you missed the marriage place. I have changed my version of functions_dot.php myself, so happy to email you revised version if you wish, but you can probably do it quicker.
One more - can birth and death both be left-justified instead of centered in boxes? For my own taste this would look tidier; but leave name centered. The layout of birth and death place at present seems to vary, but always centered if the place is blank. I note in functions_dot.php you have the code "<BR ALIGN=\"LEFT\" />". Is that valid? I've never seen an alignment code withon a break tag before.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks for replying. I was able to get it to work (once I followed the instructions).
I am running into this error, only when I have "Include Spouses" checked.
When the other options are checked it works fine:
Include ancestors
Include siblings (of person and his/her ancestors)
Include descendants
Mark not blood-related people with different color
ERROR 2: Illegal offset type
0 Error occurred on in function addinditolist
1 called from line 694 of file functions_dot.php in function addinditolist
2 called from line 817 of file functions_dot.php in function addinditolist
3 called from line 796 of file functions_dot.php in function addinditolist
4 called from line 796 of file functions_dot.php in function addinditolist
5 called from line 796 of file functions_dot.php in function addinditolist
6 called from line 841 of file functions_dot.php in function addinditolist
7 called from line 757 of file functions_dot.php in function addinditolist
8 called from line 757 of file functions_dot.php in function addinditolist
9 called from line 753 of file functions_dot.php in function addinditolist
10 called from line 753 of file functions_dot.php in function addinditolist
11 called from line 178 of file functions_dot.php in function createindilist
12 called from line 199 of file functions_dot.php in function createdotdump
13 called from line 164 of file functions_dot.php in function getdotdump
14 called from line 310 of file gvexport.php in function creategraphvizdump
15 called from line 186 of file gvexport.php in function savedotfile
16 called from line 115 of file gvexport.php in function main
17 called from line 91 of file module.php
Warning: Illegal offset type in /home/content/d/a/w/dawsong/html/dawson/modules/gvexport/functions_dot.php on line 694
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks for reporting the error.
Frankly, I have no idea about it, but it could be caused by a special INDI id.
Do you have any clue on which INDI id the script stops? (Anyway I will add some debug code to the latest version and see what happens...)
Best regards,
Ferenc Kurucz
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2008-01-15
Sorry Gary, but I don't see that error on my system. Have you tried it with different INDI's, to identify if it could be something in you GEDCOM file?
Are you using the latest (0.5.3) version of the gvexport module?
Other than that, I'm afraid we'll have to wait to see of Ferenc has any suggestions.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
Here are the latest changes:
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)
You can downoald it from the usual place: http://wiki.phpgedview.net/en/index.php/GVExport_module
Regards,
Ferenc
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2008-01-16
Excellent. Thanks
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ferenc, thanks for the great work you did with this!!!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2008-01-21
Ferenc
I have just got an error running gvexport:
ERROR 8: Undefined index: husb_id
0 Error occurred on line 610 of file functions_dot.php in function printFamily
1 called from line 221 of file functions_dot.php in function createDOTDump
2 called from line 165 of file functions_dot.php in function getDOTDump
3 called from line 310 of file gvexport.php in function createGraphVizDump
4 called from line 186 of file gvexport.php in function saveDOTFile
5 called from line 115 of file gvexport.php in function main
6 called from line 91 of file module.php
ERROR 8: Undefined index: wife_id
0 Error occurred on line 611 of file functions_dot.php in function printFamily
1 called from line 221 of file functions_dot.php in function createDOTDump
2 called from line 165 of file functions_dot.php in function getDOTDump
3 called from line 310 of file gvexport.php in function createGraphVizDump
4 called from line 186 of file gvexport.php in function saveDOTFile
5 called from line 115 of file gvexport.php in function main
6 called from line 91 of file module.php
ERROR 8: Undefined index: husb_id
0 Error occurred on line 610 of file functions_dot.php in function printFamily
1 called from line 221 of file functions_dot.php in function createDOTDump
2 called from line 165 of file functions_dot.php in function getDOTDump
3 called from line 310 of file gvexport.php in function createGraphVizDump
4 called from line 186 of file gvexport.php in function saveDOTFile
5 called from line 115 of file gvexport.php in function main
6 called from line 91 of file module.php
ERROR 8: Undefined index: wife_id
0 Error occurred on line 611 of file functions_dot.php in function printFamily
1 called from line 221 of file functions_dot.php in function createDOTDump
2 called from line 165 of file functions_dot.php in function getDOTDump
3 called from line 310 of file gvexport.php in function createGraphVizDump
4 called from line 186 of file gvexport.php in function saveDOTFile
5 called from line 115 of file gvexport.php in function main
6 called from line 91 of file module.php
This is from the debug code. I can send you the whole .dot file if it helps.
I had selected all linked to an individual, and ticked 'include descendants'. This is the first time I have trie that option.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
Could you please try the latest version: http://www.diamanta.hu/_korbendallas_/gvexport/gvexport_060.zip
I rewrote the debug part of the code, so its more verbose now.
According to the above error, I think you used "combined" mode (frankly, its quite experimental), and I tried it on my gedcom in all of combinations I could think of, but I haven't run into this error. Maybe you have linked gedcoms?
Anyway, if you still have problems then please send to me the DOT file & debug output, I will try to figure out what is causing this error.
P.S.:
I just did think it over again, and maybe you have INDIs with unknown gender?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2008-01-22
Thanks. I will try the new code.
You are right on two counts though. I did use 'combined' mode, and perhaps more importantly I do have linked GEDCOMs. For this error I also ticked (forgot to mention it earlier) "include spouses".
I ran it again without "include spouses" and it did run OK. However, one family has a child with ref 'I7'. Instead of their correct child, the result displayed 'I7" from another GEDCOM file, who happens to be the linking person between these two GEDCOM's. So clearly it is for now necessary to avoid a tree that includes a linked person.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2008-01-22
Yes, ver 6.1 has fixed that error.
But the problem with the incorrect person from GEDCOM linking is still there:
"...one family has a child with ref 'I7'. Instead of their correct child, the result displayed 'I7" from another GEDCOM file, who happens to be the linking person between these two GEDCOMs."
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2008-01-22
Looking at that result again - the 'problem' INDI is displayed with the correct gender (male) and correct date & place of birth; but the incorrect name (from the liked GEDCOM).
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I am afraid the PGV is guilty... I can reproduce this error also if the "base" and the "linked" gedcoms both have some equal INDI numbers.
My test example is here:
"Base" gedcom:
I1 is HUSB (John Smith), I2 is WIFE (Mary Johnson) in F1, and they have a child I3 (Peter Smith).
"Linked" gedcom:
I1 is HUSB (Carl Johnson), I2 is WIFE in F1 (Anna O'Connor), and they have a child I3 (Mary Johnson).
The connection is "Base":I2 (Mary Johnson) -> "Linked":I3 (Mary Johnson)
In PGV if you go to the family F1 (I1 John Smith & I2 Mary Johnson) in the "Base" gedcom you will see that the child's name is not the Base:I3 (Peter Smith), but Linked:I3 (Mary Johnson) which is weird.
You can switch the "Get display name from GEDCOM" to "Yes" in your "Base" gedcom settings as a workaround (GEDCOM Configuration -> Display and Layout -> Names -> Get display name from GEDCOM), but maybe it will cause other troubles...
Maybe I should report it as a bug? What do you think? (I am using the latest SVN code).
Regards,
Ferenc
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2008-01-22
One other minot thing, not relted to this problem.
If I check Individual ID and Family ID under Diagram Preferences, they both appear in 'Simple' and "Combined" formats, but the Individual ID does not display in the 'decorated' format.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
As far as I know it depends on your access rights. If you can give execute permissions to graphviz binaries maybe its possible, but I never tried it. Be careful, because graphviz could use the cpu & memory very intensively, I do not recommend using it on a shared host.
Regards,
Ferenc
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2008-01-23
Ferenc - for the linked GEDCOM problem, yes you should report it as a bug. Unfortunately linking between GEDCOMs on the same server is still very 'buggy'. It is a very complicated thing to make work.
On the subject of 'straight' lines. You are correct, ideally I would like to have 'L' and 'T' type connecting lines, like a traditional chart. I do realise the problem though.
On the question about loading graphviz to a web server. Would I be right in assiming that every time a chart is generated it is stored as a new image in the media diretory. So if access to gxexport was given to all registered users, media storage could grow very fast, with some very large files?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Regarding the storage of charts: only the latest file is stored, and it could be found in system temp directory in a subdir (= the hash of pgv username), so the space requirement is not so huge.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'm please to say I now have this working fairly well, within reasonable size limits. I've certainly produced a complete direct ancestry for myself, going back in some lines 12 generations. So now I'm afraid I'm down to queries over minor presentation issues, of someone can help.
1 - The charts use * for birth and + for death in the detail boxes. How would I change this to either Birth: and Death:, or perhaps to conserve space, b: and d:. and also perhaps everything except the name in a smaller font.
2 - Places seem to suffer from strange abbreviating. A couple of examples:
'Parish Church, Sevenoaks, Kent, England' becomes 'Sevenoaks, England'
'Church, Sevenoaks, Kent, England' becomes 'Church, England'
I would really rather places were not abbreviated at all.
How and where do I make such changes?
My last query is the hardest. Is there any way to draw straight horizontal and vertical connecting lines between people instead of angled? I suspect the answer is no, but thought I would ask just in case. I just prefer the more 'traditional' look.
Regarding 1) and 2) I made the changes you asked and you can download the latest version from here: http://wiki.phpgedview.net/en/index.php/GVExport_module
I used abbreviation because in Hungary we often have quite long place names (more than 20 chars in counties/regions), anyway its now turned off by default in the config file.
Straight lines: I have not found any relevant info in GraphViz documentation yet... I suspect its impossible for now.
Best regards,
Ferenc
For straight lines, you may try, I think, splines="false", but I am not sure if this gives the desired result.
That's correct, but it draws a straight line instead of a spline. As I understand he want lines with sections angled by 90 degrees ("L").
Thanks Ferenc - much better. A minor thing, using the 'Combined' display option for the first time I get this warning:
"Error: not well-formed (invalid token) in line 1 ... <BR/>(Parish Church of St Peter & St Paul, England) ... in label of node F1171 Error: not well-formed (invalid token) in line 1 ... <BR/>(Parish Church of St Peter & St Paul, England) ... in label of node F84 Warning: node F1171, port I736 unrecognized Warning: node F1171, port I738 unrecognized Warning: node F84, port I290 unrecognized "
I assume graphvix, or gvexport does not like use of '&' in a place?
Also - in the change to allow abbreviated place names, you missed the marriage place. I have changed my version of functions_dot.php myself, so happy to email you revised version if you wish, but you can probably do it quicker.
One more - can birth and death both be left-justified instead of centered in boxes? For my own taste this would look tidier; but leave name centered. The layout of birth and death place at present seems to vary, but always centered if the place is blank. I note in functions_dot.php you have the code "<BR ALIGN=\"LEFT\" />". Is that valid? I've never seen an alignment code withon a break tag before.
This is what I am getting when using this. I left everything as default when creating the graph. Any thoughts?
digraph PGV_Graph {
ranksep="0.35 equally"
nodesep="0.25"
mclimit="20"
rankdir="TB"
edge [ style=solid, arrowhead=normal arrowtail=none];
node [ shape=box, style=filled fontsize="10" fontname="Arial"];
I4406 [ color="#606060", fillcolor="#FFB6C1", label="Mary (unknown)\n* \n+ "];
I4408 [ color="#606060", fillcolor="#FFB6C1", label="Sidney (unknown)\n*1846 (, , West Virginia, USA)\n+ "];
I4419 [ color="#606060", fillcolor="#FFB6C1", label="Eva Due (unknown)\n*1869 \n+1940 (Leopold, Doddridge Co., West Virginia, USA)"];
I4242 [ color="#606060", fillcolor="#FFB6C1", label="Fanny (unknown)\n*1886 \n+ "];
I4429 [ color="#606060", fillcolor="#FFB6C1", label="Mahala (unknown)\n* \n+ "];
Hi Gary.
Is this with Graphviz installed on your server, or on your local machine?
Thanks for replying. I was able to get it to work (once I followed the instructions).
I am running into this error, only when I have "Include Spouses" checked.
When the other options are checked it works fine:
Include ancestors
Include siblings (of person and his/her ancestors)
Include descendants
Mark not blood-related people with different color
ERROR 2: Illegal offset type
0 Error occurred on in function addinditolist
1 called from line 694 of file functions_dot.php in function addinditolist
2 called from line 817 of file functions_dot.php in function addinditolist
3 called from line 796 of file functions_dot.php in function addinditolist
4 called from line 796 of file functions_dot.php in function addinditolist
5 called from line 796 of file functions_dot.php in function addinditolist
6 called from line 841 of file functions_dot.php in function addinditolist
7 called from line 757 of file functions_dot.php in function addinditolist
8 called from line 757 of file functions_dot.php in function addinditolist
9 called from line 753 of file functions_dot.php in function addinditolist
10 called from line 753 of file functions_dot.php in function addinditolist
11 called from line 178 of file functions_dot.php in function createindilist
12 called from line 199 of file functions_dot.php in function createdotdump
13 called from line 164 of file functions_dot.php in function getdotdump
14 called from line 310 of file gvexport.php in function creategraphvizdump
15 called from line 186 of file gvexport.php in function savedotfile
16 called from line 115 of file gvexport.php in function main
17 called from line 91 of file module.php
Warning: Illegal offset type in /home/content/d/a/w/dawsong/html/dawson/modules/gvexport/functions_dot.php on line 694
Thanks for reporting the error.
Frankly, I have no idea about it, but it could be caused by a special INDI id.
Do you have any clue on which INDI id the script stops? (Anyway I will add some debug code to the latest version and see what happens...)
Best regards,
Ferenc Kurucz
Sorry Gary, but I don't see that error on my system. Have you tried it with different INDI's, to identify if it could be something in you GEDCOM file?
Are you using the latest (0.5.3) version of the gvexport module?
Other than that, I'm afraid we'll have to wait to see of Ferenc has any suggestions.
Hi,
Here are the latest changes:
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)
You can downoald it from the usual place:
http://wiki.phpgedview.net/en/index.php/GVExport_module
Regards,
Ferenc
Excellent. Thanks
Ferenc, thanks for the great work you did with this!!!
Ferenc
I have just got an error running gvexport:
ERROR 8: Undefined index: husb_id
0 Error occurred on line 610 of file functions_dot.php in function printFamily
1 called from line 221 of file functions_dot.php in function createDOTDump
2 called from line 165 of file functions_dot.php in function getDOTDump
3 called from line 310 of file gvexport.php in function createGraphVizDump
4 called from line 186 of file gvexport.php in function saveDOTFile
5 called from line 115 of file gvexport.php in function main
6 called from line 91 of file module.php
ERROR 8: Undefined index: wife_id
0 Error occurred on line 611 of file functions_dot.php in function printFamily
1 called from line 221 of file functions_dot.php in function createDOTDump
2 called from line 165 of file functions_dot.php in function getDOTDump
3 called from line 310 of file gvexport.php in function createGraphVizDump
4 called from line 186 of file gvexport.php in function saveDOTFile
5 called from line 115 of file gvexport.php in function main
6 called from line 91 of file module.php
ERROR 8: Undefined index: husb_id
0 Error occurred on line 610 of file functions_dot.php in function printFamily
1 called from line 221 of file functions_dot.php in function createDOTDump
2 called from line 165 of file functions_dot.php in function getDOTDump
3 called from line 310 of file gvexport.php in function createGraphVizDump
4 called from line 186 of file gvexport.php in function saveDOTFile
5 called from line 115 of file gvexport.php in function main
6 called from line 91 of file module.php
ERROR 8: Undefined index: wife_id
0 Error occurred on line 611 of file functions_dot.php in function printFamily
1 called from line 221 of file functions_dot.php in function createDOTDump
2 called from line 165 of file functions_dot.php in function getDOTDump
3 called from line 310 of file gvexport.php in function createGraphVizDump
4 called from line 186 of file gvexport.php in function saveDOTFile
5 called from line 115 of file gvexport.php in function main
6 called from line 91 of file module.php
This is from the debug code. I can send you the whole .dot file if it helps.
I had selected all linked to an individual, and ticked 'include descendants'. This is the first time I have trie that option.
Hi,
Could you please try the latest version: http://www.diamanta.hu/_korbendallas_/gvexport/gvexport_060.zip
I rewrote the debug part of the code, so its more verbose now.
According to the above error, I think you used "combined" mode (frankly, its quite experimental), and I tried it on my gedcom in all of combinations I could think of, but I haven't run into this error. Maybe you have linked gedcoms?
Anyway, if you still have problems then please send to me the DOT file & debug output, I will try to figure out what is causing this error.
P.S.:
I just did think it over again, and maybe you have INDIs with unknown gender?
Regards,
Ferenc
-------
GVExport - http://wiki.phpgedview.net/en/index.php/GVExport_module
Thanks. I will try the new code.
You are right on two counts though. I did use 'combined' mode, and perhaps more importantly I do have linked GEDCOMs. For this error I also ticked (forgot to mention it earlier) "include spouses".
I ran it again without "include spouses" and it did run OK. However, one family has a child with ref 'I7'. Instead of their correct child, the result displayed 'I7" from another GEDCOM file, who happens to be the linking person between these two GEDCOM's. So clearly it is for now necessary to avoid a tree that includes a linked person.
Ok, I checked linked gedcoms and this version should handle it correctly (it works for me):
http://www.diamanta.hu/_korbendallas_/gvexport/gvexport_0.6.1.zip
Could you please test? If its working for you also, then I will release it.
Regards,
Ferenc
-------
GVExport - http://wiki.phpgedview.net/en/index.php/GVExport_module
Yes, ver 6.1 has fixed that error.
But the problem with the incorrect person from GEDCOM linking is still there:
"...one family has a child with ref 'I7'. Instead of their correct child, the result displayed 'I7" from another GEDCOM file, who happens to be the linking person between these two GEDCOMs."
Looking at that result again - the 'problem' INDI is displayed with the correct gender (male) and correct date & place of birth; but the incorrect name (from the liked GEDCOM).
I am afraid the PGV is guilty... I can reproduce this error also if the "base" and the "linked" gedcoms both have some equal INDI numbers.
My test example is here:
"Base" gedcom:
I1 is HUSB (John Smith), I2 is WIFE (Mary Johnson) in F1, and they have a child I3 (Peter Smith).
"Linked" gedcom:
I1 is HUSB (Carl Johnson), I2 is WIFE in F1 (Anna O'Connor), and they have a child I3 (Mary Johnson).
The connection is "Base":I2 (Mary Johnson) -> "Linked":I3 (Mary Johnson)
In PGV if you go to the family F1 (I1 John Smith & I2 Mary Johnson) in the "Base" gedcom you will see that the child's name is not the Base:I3 (Peter Smith), but Linked:I3 (Mary Johnson) which is weird.
You can switch the "Get display name from GEDCOM" to "Yes" in your "Base" gedcom settings as a workaround (GEDCOM Configuration -> Display and Layout -> Names -> Get display name from GEDCOM), but maybe it will cause other troubles...
Maybe I should report it as a bug? What do you think? (I am using the latest SVN code).
Regards,
Ferenc
One other minot thing, not relted to this problem.
If I check Individual ID and Family ID under Diagram Preferences, they both appear in 'Simple' and "Combined" formats, but the Individual ID does not display in the 'decorated' format.
It is posible to install graphviz on a web server via ftp?
As far as I know it depends on your access rights. If you can give execute permissions to graphviz binaries maybe its possible, but I never tried it. Be careful, because graphviz could use the cpu & memory very intensively, I do not recommend using it on a shared host.
Regards,
Ferenc
Ferenc - for the linked GEDCOM problem, yes you should report it as a bug. Unfortunately linking between GEDCOMs on the same server is still very 'buggy'. It is a very complicated thing to make work.
On the subject of 'straight' lines. You are correct, ideally I would like to have 'L' and 'T' type connecting lines, like a traditional chart. I do realise the problem though.
On the question about loading graphviz to a web server. Would I be right in assiming that every time a chart is generated it is stored as a new image in the media diretory. So if access to gxexport was given to all registered users, media storage could grow very fast, with some very large files?
Regarding the storage of charts: only the latest file is stored, and it could be found in system temp directory in a subdir (= the hash of pgv username), so the space requirement is not so huge.