English Narrative Report with Enhanced Privacy V2.0.1.1
=======================================================
This GenoPro skin is designed to enable you to expose part of your family tree on a public
website, while keeping selected pages private by storing them in a separate subdirectory which
can be password protected. As a separate, non-privacy-related feature, the skin also resolves
URLs written in the comments sections of your report into active hyperlinks. The skin can also
be configured to "hide" email addresses contained in the summary on the tree's home page by
replacing them with a link to Carnegie Mellon's mailhide captcha website.
The public part of your website is the normal web directory to which you upload your tree, as
specified in the "Destination folder for generated report" box in the "Report Generator" tab of
the "Generate Report" dialog, and in the "Web Directory (optional)" and "URL Equivalent to Web
Connection" boxes in the "Web Publishing" dialog, which you reach by pressing the "Web Publishing"
button in the "Generate Report" dialog. The private part of your website is created in a sub-
directory named "private" within the specified folder.
NOTE THAT THIS SKIN DOES NOT, AND CANNOT, MAKE THE FILES PRIVATE ITSELF. YOU *MUST* ARRANGE
TO MAKE THE private SUBDIRECTORY PASSWORD-CONTROLLED BY USING WEBSERVER DIRECTIVES APPROPRIATE
TO THE SERVER WHERE YOUR TREE IS STORED.
This skin is based on the standard "English Narrative Report" skin supplied with Version 2.0.1.1
of GenoPro 2007.
To use it, unzip all the files in Enhanced-Privacy-Skin.zip into a convenient directory, and
specify that directory in the "Folder where the skins are located" box in the "Options" tab of
the "Generate Report" dialog. Then return to the "Report Generator" tab, and select the "English
Narrative Report with Enhanced Privacy" skin in the "Skin Name" pulldown list.
IMPORTANT: You should deselect the "Remove All Living Individuals" checkbox in the "Privacy" tab
before using this skin, otherwise no living individuals will included in the private section of
the report. However you SHOULD select all the other checkboxes in the "Privacy" tab, (except
possibly for "Remove All Contacts", as explained below) as this skin does NOT remove private
individuals from the .gno, .xml, or .ged files, nor does it attempt to handle Emotional Relationships.
If you want to use the capability of replacing email addresses on the home page by their Recaptcha
equivalents, you should not select the "Remove All Contacts" privacy options, as the email address
mapping is contained in the contact information. This version of the skin will publish any contact
information into the "private" directory, so it will be password protected.
Finally, press the "Generate" button to produce the report.
Note that, when using this skin, you MUST upload directly to the intended website when you generate
the web files. You cannot generate to a local directory and upload later with another FTP program.
This is because many of the files use the tag to specify an absolute base URL from which to
resolve relative URLs. (This condition is slightly relaxed for the 2.0.0.7 and later versions of
this skin: now only the private subfolders contain tags, so you should now be able to upload
any public pages from your locally generated directory to an FTP site without regeneration.
Customizing which individuals are private
-----------------------------------------
By default, this skin will make all living individuals private and all deceased individuals public.
You can customize this action by creating a "Private" Custom Tag that can be associated with individuals.
To do this use the Tag Editor, which you can access from the "Tools" pulldown in the main GenoPro
window:
-- Select the "Individual" tab, to create Custom Tags for individuals.
-- Press the "New" button in the "Dialog Layouts" section to create a new Layout.
-- Specify a Layout Name of "Extended Privacy" and a Layout Description of "_Extended Privacy Option".
The initial underscore in the Description prevents the tag value from being written to the report.
-- Select the name of the "Extended Privacy" layout that you just created. This should change the name of
the lower section of the "Tag Editor" dialog to "Tags for Dialog Layout 'Extended Privacy'".
-- Press the "New" button in the lower section of the dialog to create a new custom tag for the layout.
-- Specify "Tag Permanent Name" as "Private"
"Tag Display Name" as "Private"
"Tag Description" as "Store details in private folder".
-- Press "OK" to exit the Custom Tag dialog.
The "Private" tag should now be available for use. You should see it as a column in the
"Table Layout - Individuals" table accessed from the "View" pulldown on the main GenoPro window,
or as an "Extended Privacy" tab in the Properties dialog for an individual.
In either place, specify a value for the "Private" tag of Y to make the individual private, or N to make
the individual public. (The Y and N are case sensitive, and must be entered in capitals.)
If you want to make further customizations of privacy, you should alter the "isPrivate" function in
Code/Util.vbs, where all the privacy decisions are made.
Which pages are made private
----------------------------
As well as making the individuals private, this skin makes unions involving a private person
private too. Private children of a public union are listed on the family page, but no personal details
are included. Private individuals and families are excluded from the Picture index and the Picture
Gallery. For private individuals in a public genomap, only the gender symbol is shown, and no personal
details or hyperlinks are included. If a genomap consists entirely of private individuals, it is classified
as private, and is not displayed at all in the public pages. For GenoPro2007 version 2.0.0.7 and later,
private and public timelines are produced, and private individuals are removed from the public timelines.
For GenoPro version 2.0.1.1 this skin puts all "Contact" information into the private directory, and also
makes the "Event Calendar" page private (or the grounds that the most interesting calendar items are likely
to relate to living people, and so should be kept private).
However, all places are deemed to be public. If a place is associated with an individual, that individual
is shown with the place, but the hyperlink for the individual resolves into the private folder, so cannot
be viewed without a password. (Place pages containing Google maps should not be password-protected, as I think
that would violate the terms of use for the Google Maps API, which say: "The API may be used only for services
that are generally accessible to consumers without charge.")
Each of the four main sidebar tables of contents (Individual, Families, Genomaps, and Pictures) has a
public version and a private version. The public tables of contents contain only links to public pages,
but the private tables contain links to public and private pages.
Converting URLs in commentary sections into active hyperlinks
-------------------------------------------------------------
As a separate non-privacy-related feature, this skin resolves fully-qualified URLs that you include
in your GenoPro Comment boxes into active hyperlinks. This feature recognizes URLs that begin with
http://, https://, and ftp://. You can just enter the URL into your text, delimited by white space,
or you can immediately follow the URL with a link description enclosed in braces {}. There must be no
space between the end of the URL and the opening brace.
For example:
http://www.genopro.com
links to the GenoPro website, and displays the actual URL http://www.genopro.com as the linkable text, whereas
http://www.genopro.com{Link to the Genopro website}
links to the GenoPro site but displays the text "Link to the GenoPro website" as the linkable text
in your report. The links all have the attribute target="_top", so that the target site is not enclosed
inside the GenoPro frame structure.
Hiding email addresses on the home page with Recaptcha
------------------------------------------------------
A CAPTCHA is a test that a website user has to pass to prove that they are human and not an
automated robot, such a those used to gather email addresses for sending spam. The Carnegie Mellon
website http://mailhide.recaptcha.net/ offers a service for hiding email addresses behind a CAPTCHA
test, and this skin allows you to configure GenoPro to use this service. The actual mapping from
email address to recaptcha link is configured as follows:
-- Open the "Tag Editor" from the GenoPro "Tools" menu.
-- Select the "Contact" tab in the Tag Editor
-- Define a new layout with
Layout Name Layout Description
------------------ -------------------
Recaptcha Mailhide _Recaptcha Mailhide
The Layout Description MUST begin with an underscore (_).
-- Define two new Custom Tags for the Recaptcha Mailhide layout:
Tag Permanent Name Tag Display Name Tag Description
------------------ ----------------- --------------------------------------------------
Recaptcha.display Recaptcha.display String to display instead of hidden email
Recaptcha.url Recaptcha.url URL for email obtained from mailhide.recaptcha.net
-- For each email address to be mapped, you should create contact information for the individual
owning the email address by selecting the "Contact" tab in the individuals's Properties. There should
now be columns under "Occupancy and Contact History" in which you can enter the Recaptcha.display
and Recaptcha.url information. Recaptcha.display is meant to contain the text that will be displayed
in the clickable link that replaces the individual's email address, and Recaptcha.url is a URL that
you can obtain by visiting http://mailhide.recaptcha.net/ to provide the actual mapping.
Extra configuration parameter
-----------------------------
I have added a new configuration parameter, OverrideParameters, to the Config.xml file. This allows you to
skip GenoPro's prompt that allows you to change the configuration parameters at generation time. I have
found this feature to very very annoying, so the parameter OverrideParameters="N" will suppress it. The
default action is OverrideParameters="Y", which performs the standard behaviour of issuing the prompt.
Which skin files are modified
-----------------------------
The following files in the "English Narrative Report" reference skin are modified:
Code/Lang.vbs
Code/TimelineInfo.vbs
Code/Util.vbs
calendar.htm
Config.xml
contacts.htm
default.htm
Dictionary.xml
family.htm
genomap.htm
genomap.svg
gmap_place.htm
heading.htm
home.htm
individual.htm
Init.htm
pictures.htm
script.js
timeline.htm
timeline.json
toc_contacts.htm
toc_families.htm
toc_genomaps.htm
toc_individuals.htm
toc_names.htm
toc_pictures.htm
toc_timelines.htm
The code to resolve URLs into active hyperlinks is contained entirely within the
"WriteHtmlAnnotation" function in Code/Util.vbs, so could be extracted and used separately
if desired.
Copyright and Licence
---------------------
The customizations in this skin and this documentation are
Copyright © Peter Havercan 2007.
These modifications are offered under the "Creative Commons Attribution-Noncommercial 3.0 License",
which means you are free to use or modify these changes for your personal non-commercial use,
provide you attribute Peter Havercan as the author and refer back to this site .
Although this customization is designed to keep personal data private, I do not accept any
liability for data that may become exposed due to its use. Please see the highlighted paragraph
at the start of this document. You are responsible for ensuring that the private directories
created by this skin are, in fact, kept private.