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.