GenoPro Home
GenoPro Home  |  Get Started With My Genealogy Tree  |  Buy  |  Login  |  Privacy  |  Search  |  Site Map
 

GenoPro Support Forum




Author Sample Report #1
Posted Thursday, August 18, 2005 - Post #6789
Forum Master

Forum MasterForum MasterForum MasterForum MasterForum MasterForum MasterForum MasterForum MasterForum Master

Customers
Important Contributors
FamilyTrees.GenoPro.com
Translator
GenoPro version: 3.1.0.1

Last Login: Sunday, March 21, 2021
Posts: 716, Visits: 12,927
After a few weeks absence like to blend in with my 5Yen comments to the reports.

Appreciate very much what ron is doing as a pace setter for things to come/or not.

The slide show for the pictures is nice, however I miss the comments to the pictures.
Table-layout for education and occupation shows too much, should be limited to basic info, without program and comments. Each line then should have a link to its own page for all details with pictures (again as a slide show).
Last occupation is not necessarily the occupation you want to show in the profile of an individual, a reference to the table content (if available) is better.

Besides content of "Type" and "Industry" under occupation is mixed up in the table.
Posted Thursday, August 18, 2005 - Post #6788
Legendary Master

Legendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary Master

Administrators
Customers
Important Contributors
FamilyTrees.GenoPro.com
GenoPro version: 3.1.0.1

Last Login: 2 days ago @ 9:23 PM
Posts: 3,464, Visits: 26,854
A further revision (version 4) of my sample report template is now available. This version has a Javascript 'slide viewer' so that all pictures for individuals and families can be viewed in the report.

Two other additions are: 1) a 'Title' parameter in the Config.xml file to provide the text for the heading frame. 2) a 'PrivateComment' parameter that specifies a string that, if it appears at the start of a comment, then that comment is suppressed in the report. This allows personal notes to be added to the GenoPro file that will not appear in the report, without having to suppress all comments for the report or all comments for an individual. The default string for private comments is § i.e. a section mark.

This version can be downloaded from www.priors.net/genealogy/skins/FullNarrativeV4.zip

Note that the sample report itself does not as yet include photos.



'lego audio video erro ergo disco' or "I read, I listen, I watch, I make mistakes, therefore I learn"
Posted Thursday, August 18, 2005 - Post #6787
Legendary Master

Legendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary Master

Administrators
Customers
Important Contributors
FamilyTrees.GenoPro.com
GenoPro version: 3.1.0.1

Last Login: 2 days ago @ 9:23 PM
Posts: 3,464, Visits: 26,854
I've now uploaded the version of my sample report template with 2 layout options, my orginal one and another similar to 'rdn's suggestion but with a heading frame. The choice of which layout is determined in the Config.xml file with the Layout parameter. The default is 'standard' - my version, you can also set it to "rdn" for rdn's version. Note that in the latter case the introductory text in the 'detail' frame is taken from detail_rdn.htm instead of detail.htm. Of course the text in these frames can be changed as required.

Another minor amendment is to change the custom tag Report_Options to report_options to bring it more in line with GenoPro's naming style. I found it a bit of a pain changing these tags with Tag Editor, it wouldn't let me delete and replace the tag as GenoPro insisted on keeping the old name with the upper case letters. So I did a find & replace in the .xml file instead and imported that into GenoPro.

The revised sample report template can be downloaded from the same place http://www.priors.net/genealogy/skins/FullNarrativeV3.zip.



'lego audio video erro ergo disco' or "I read, I listen, I watch, I make mistakes, therefore I learn"
Posted Thursday, August 18, 2005 - Post #6786
Legendary Master

Legendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary Master

Administrators
Moderators
Customers
Gamma
FamilyTrees.GenoPro.com
Translator
GenoPro version: 3.1.0.1

Last Login: Tuesday, October 28, 2025
Posts: 4,886, Visits: 22,799
I knew I would have to handle this issue soon... Next week, I will add a method named ReportGenerator.Document.RegisterTag(strTagName [, strObjectType]) to let the report generator aware of the presence of a user-defined tag. Once a tag has been "registered", it will no longer trigger an error if not present in the .gno file. Of course, all registered tags will return an empty value if not present in the .gno file. I will also add the method IsTag(strTagName [, strObjectType]) to offer additional flexibility.

Keep up the feedback Smile.
Posted Thursday, August 18, 2005 - Post #6785
Legendary Master

Legendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary Master

Administrators
Customers
Important Contributors
FamilyTrees.GenoPro.com
GenoPro version: 3.1.0.1

Last Login: 2 days ago @ 9:23 PM
Posts: 3,464, Visits: 26,854
Thanks Dan & 'rdn' for the input. I've now posted an updated sample report (see 1st post above for URLs). This has the privacy features I mentioned in my 2nd post above, and 'living' individuals are hidden by default.
I've removed the reference to i.death.disposition.comment. It was present in my GenoPro file, it must have been created as a custom tag during a Gedcom import. So a question for Dan, can we have a function to test whether or not a Custom Tag is present? say IsTag(...). In the updated sample I'm using a custom tag Report_Options. I have to use 'on error' statements in case it does not exist. I have also change the function WasMarried to incorporate Dan's suggestion (.id). I have also changed its name to just 'Married' as it could be IsMarried, WereMarried, AreMarried as well as WasMarried!
I have changed the layout slightly to provide for a title banner in 'heading.htm'. I have not adopted 'rdn' proposal as yet. I deliberately place 'detail.htm' in the top left as I wanted it to be the primary focus for the reader rather than the index.
I'll look into the feasibility of having two layout styles, perhaps selected by a Config.xml Parameter.



'lego audio video erro ergo disco' or "I read, I listen, I watch, I make mistakes, therefore I learn"
Posted Thursday, August 18, 2005 - Post #6784
Legendary Master

Legendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary Master

Administrators
Moderators
Customers
Gamma
FamilyTrees.GenoPro.com
Translator
GenoPro version: 3.1.0.1

Last Login: Tuesday, October 28, 2025
Posts: 4,886, Visits: 22,799
The runtime error regarding 'i.death.disposition.comment' is because there is no such tag named 'i.death.disposition.comment'. Perhaps 'i.death.comment'?

Thanks to Ron's work, I will add new methods and properties. For instance, I will add new build-in methods such as WasMarried and IsPresent.

Each enumeration has the id property (the same as i.gender). For instance, the tag family.relation is an emumeration, so you can use family.relation.id which guarantees the returned value is independent of the text value in Dictionary.xml.
Function WasMarried(family)
' check to see if a partnership involved marriage
WasMarried=false
if IsPresent(family.marriage.religious,"dps") then WasMarried=True
if not WasMarried then if IsPresent(family.marriage.civil,"dps") then WasMarried=True
if not WasMarried then if IsPresent(family.divorce,"dpsc") then WasMarried=True
if not WasMarried then if IsPresent(family.separation,"dps") then WasMarried=True
if not WasMarried then
select case family.relation.id
case "Marriage", "Separation", "SeparationLegal", "Nullity", "Divorced", "Widowed"
WasMarried=True
end select
end if
End Function
rdn
Posted Thursday, August 18, 2005 - Post #6783
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

Customers
GenoPro version: 2.5.4.1

Last Login: Friday, October 18, 2013
Posts: 142, Visits: 3,822
Ron,

I am very impressed with what you created here. Very detailed. As a matter of fact exactly what I have been looking for. Excellent job!

Two comments:

1. When running your script, the following error appears:

Processing template 'individual.htm'...
Error at line 177 generating 'ind00576.htm': Object doesn't support this property or method: 'i.death.disposition.comment'
Microsoft VBScript runtime error 800A01B6



2. I believe the location of each of the different sections appear in the web page should be reconfigured:
The name index on the leftmost pane,
Initial Letter Search on right, top-most pane
The family names on immediately below that
The details on bottom right

Also, the pane with details should be a bit narrower, so as not to require using the scrool bars left and right.

Here is the new code for the look I was seeking:


<frameset cols="27%,*">

...

<frame name="toc" target="main" src="toc_individuals.htm" scrolling="auto" marginwidth="12" marginheight="12">


<frameset rows="84,108,*">
<frame name="main" src="home.htm" scrolling="no" target="index">
<frame name="index" src="index.htm">
<frame name="detail" src="detail.htm" scrolling="auto" marginwidth="40" marginheight="16">

</frameset>
</frameset>


Please don't be put off by my comments. The items in comment 2 are very nit-picky. You have done a fantastic job !! Thank you for sharing this with everyone.


Danny
Posted Thursday, August 18, 2005 - Post #6782
Legendary Master

Legendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary Master

Administrators
Moderators
Customers
Gamma
FamilyTrees.GenoPro.com
Translator
GenoPro version: 3.1.0.1

Last Login: Tuesday, October 28, 2025
Posts: 4,886, Visits: 22,799
Thanks for your comments.

I find it more natural to write 'If is_dead then ....' rather than 'If is_dead="Y" then ....

I agree. This is legacy stuff before the report generator. In the begining, all tags were text, and they evolved to more complex data types for the report generator. I need fix this and keep all tags to their native data types such as boolean. In fact, I don't like the underscore anymore. I never use underscore when I write code, however I wanted all tags to be lowercase, so I decided to use the underscore. Now, I am thinking of having IsDead rather than is_dead. Of course, I will keep the is_dead to honor compatibility with existing tools Smile
Posted Thursday, August 18, 2005 - Post #6781
Legendary Master

Legendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary Master

Administrators
Customers
Important Contributors
FamilyTrees.GenoPro.com
GenoPro version: 3.1.0.1

Last Login: 2 days ago @ 9:23 PM
Posts: 3,464, Visits: 26,854
Thanks for response. Yes, a Lookup2 method for Dictionary entries would be valuable. The Japanese characters entry was not a bug, I was just testing that they would be displayed OK. Its the same sample file as I used of SVG testing so its a hang over from that.

The IsPresent function is to test that at least one 'sub-tag' is present in a group, the 'groups' being birth, baptism, civil marriage, divorce etc. This is particularly useful when trying to achieve a narrative style report. a built-in Util.IsPresent would be good, especially if it wasn't necessary to give the 'flags' parameter). As you are aware, the 'nb' function (no_blanks) was needed to ensure that the table cells were not empty, otherwise the cell border is not displayed. As an alternative to your suggested EnableWriteNbspOnEmptyText , which as you say could lead to confusion, perhaps an additional encoding qualifier to WriteFormatted, i.e. {&t} could be qualified with say c to indicate table cell so {&tc} would encode and add the <td> and </td> tags and automatically substitute &nbsp; if blank. I was unaware of the border-collapse option so thanks for that. I had tried the more intuitive empty-cells:show with no effect

Since publishing the sample, I've noticed a couple of bugs in it. I've got the wrong test for 'exclude_from_report' and the Occupations table is wrongly formatted. I have corrections for these but I'm also working on an option for disguising living individuals (Living="Hide") and supress Comments using the Report Parameters facility, this should enable me to publish my own tree. So I'll republish the sample in a day or two when the amendments are completed. It will also have a couple of other options, specified using a custom tag 'Report_Options' for Individuals and Families; 'NoComments' will suppress comments just for specific Individuals/Families and 'Show' will allow specific living individuals to be displayed (e.g. those that have given consent)

By the way, I initially found it confusing that the properties is_dead, exclude_from_reports and hyperlink.internal are described as boolean in Tag Definitions but are actually text/string data types. I find it more natural to write 'If is_dead then ....' rather than 'If is_dead="Y" then ....'

p.s. I'll email my contact details.



'lego audio video erro ergo disco' or "I read, I listen, I watch, I make mistakes, therefore I learn"
Posted Thursday, August 18, 2005 - Post #6780
Legendary Master

Legendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary MasterLegendary Master

Administrators
Moderators
Customers
Gamma
FamilyTrees.GenoPro.com
Translator
GenoPro version: 3.1.0.1

Last Login: Tuesday, October 28, 2025
Posts: 4,886, Visits: 22,799
Dear Ron,
I noticed you have several <Partner_> entries in file Dictionary.xml. I realize I neglected to document the method LanguageDictionary.Peek(str) that does not display an error message when the dictionary entry is not found. I think the method Peek would have saved you time. To go one step further, I am also thinking of adding two new methods, Lookup2(str1, str2) and Peek2(str1, str2) where str2 is the fallback in case the first entry str1 is not found.

I also noticed the subroutine IsPresent determines if a field is present. I realize such a subroutine could be built-in to the report generator. You also wrote a subroutine named nb which inserts &nbsp; if the field is empty. I would like to hear your opinion on the method EnableWriteNbspOnEmptyText.

If you provide me your phone number (by email), I will call you. I am sure we can exchange valuable information and improve the report generator better.


Similar Topics

Click to view RSS...
Expand / Collapse

Reading This Topic

Expand / Collapse