Addon:DynamicWeb report

From Gramps
Jump to: navigation, search
Gramps-notes.png

Please use carefully on data that is backed up, and help make it better by reporting any comments or problems to the author, or issues to the bug tracker
Unless otherwise stated on this page, you can download this addon by following these instructions.
Please note that some Addons have prerequisites that need to be installed before they can be used.
This Addon/Plugin system is controlled by the Plugin Manager.
An Addons Offline Manual is available for review.

Gnome-important.png
Warning:

DynamicWeb may have performance issues for Family trees with more than 5000 people.

DynamicWeb report, tree view
DynamicWeb report, person view
DynamicWeb report, persons index
DynamicWeb report, surnames index
DynamicWeb report, tree view

The Dynamic Web Report Addon for Gramps creates interactive web pages of the family tree database, and provides the user with options that allow a wide range of customization.

This addon is based on the Narrative Web Report native Gramps report.

Usage

The report is available from the menu Reports > Web Pages > DynamicWeb

Features

  • Browsable and zoomable bi-directional family tree view.
    • This graphical family tree can be printed using the SVG format.
    • It can be zoomed (like google map) in order to print 20 generations or more.
    • It can show descendants or ancestry (or both), as a tree or as concentric circles.
    • Possibility to use the mouse or a context menu for navigation in the tree.
  • A search form allows to perform a textual search for up to 3,000 data (individuals, places, sources, media) objects. The Search is not shown when the object count is so high that it might impact the server performance.
  • Indexes can be sorted and filtered.
  • Clickable pictures:
    • The clickable regions correspond to the Gramps database media references regions. See: demo
  • Based on client-side Javascript:
    • No impact on server resources.
    • The web pages can be browsed on a regular web site or from your local computer.
    • The generated site is smaller, and contains less files (compared to static HTML pages).

Demos


Help for the report generation

DynamicWeb-conf-0.png

Configuration before the report generation

The "Dynamic" aspect of this report is very handy when coming to the report configuration. Many configuration parameters could be modified after the report generation, directly on the Web site. These parameters, accessible to any user of the Web site, are detailed in the section Configuration by the Web site users.

The Dynamic Web Report dialog window has nine tabs each are reviewed below.

Tab Report

  • Destination (~/yourhomedirectory/<Family Tree Name>_dynamicweb by default):
  • , The destination directory for the web files.
Gnome-important.png
Files erased and overwritten

The report generation does not erase any file in the destination directory
Only the files that need to be regenerated are overwritten.

  • Store web pages in archive (Disabled by default):
    This option could be used for 2 purposes:
    • Generate an file that could be easily downloaded from the Web site:
      The archive could be be in formats: .tar.gz or .zip
    • Simplify the upload of the Web site to your internet provider:
      If you have trouble transferring the files to an external web host, you can create a single gzip'd tar file to more easily upload the data. The large number of files and directories in this web output may make it difficult to transfer the files to an external web host. Gramps has the capability of saving all of your Narrative Web files in one compressed archive using the gzip and tar formats (casually known as a ‘tarball’). This single file can quickly be transferred to your server and uncompressed on the website host. Unfortunately not all web servers support saving web files in this way, so contact your hosting provider for more information.
  • Web site title (My Family Tree default):
    The title of the web site. You can enter a custom site title in this option. It is strongly suggested to change this from the default
  • Filter:
    Any person matching this filter who is not excluded due to the privacy rules, will be included in the output.
    Choose between:
    • Entire Database (Default)
    • Descendants of active person
    • Descendant families of active person
    • Ancestors of active person
    • People with common ancestor with active person
  • Filter Person (active person by default):
    The center person for the report.
  • Name format:
    Select the format to display the names
  • Name format (short):
    Select the format to display the names, in the graphical tree only.
  • Web site template:
    The report provides two built-in style sheets for you to choose from to determine the appearance or your web pages. Choose between [Default], or [Mainz].
  • Copyright: (Standard copyright by default):
    When creating a public a web site it is important to specify the copyright conditions under which you are publishing your data. International copyright law reserves all rights of your data to your discretion. You own the data and individuals must have your permission if they wish to reuse that data. In genealogical research sharing data with other researchers is a common practice. Other options include the Creative Commons licenses, offering a wide range of use restrictions or none at all. Learn more about the Creative Commons at http://creativecommons.org/

Tab Privacy

Gnome-important.png
Please note that compliance with privacy laws and individuals' privacy concerns is as a researcher your responsibility.

The Gramps project cannot be held responsible for privacy law compliance or other privacy issues.

Privacy of personal information is an important issue. Gramps provides tools and settings that give you control over the privacy of your data.

  • Include data marked private (disabled by default):
    Whether to include private objects. If your intention is to provide a complete record of your research, checking this box will include all entries marked private along with the rest of your database.
  • Export notes (Enabled by default):
    Whether to include notes.
  • Export sources (Enabled by default):
    Whether to include sources.
  • Export addresses (Enabled by default):
    Whether to include addresses.
  • Living People:
    How to handle living people. You can control the display of sensitive information based on whether or not an individual is currently alive. However, since Gramps is a research tool, it is likely that there are individuals with no known date of death in your database. To deduce if an individual is possibly still alive Gramps employs an algorithm that compares death dates, birth dates, baptism/christening dates, death dates of ancestors and birth dates of ancestors. The algorithm assumes that each individual is possibly still alive unless the cross-referenced dates make the individual's possibility of being alive unlikely.
    • Exclude (Default): Excludes all information of all individuals who are possibly still alive
    • Include Last Name Only
    • Include Full Name Only
    • Include: Include all information of all individuals even if they are possibly still alive
  • Years from death to consider living (30 by default):
    This option is inactive if the "Living People" option is set to Include.
Gnome-important.png
Some countries have laws that specify a certain number of years after death before an individual's information can be published. Here you can specify the number of years after death needed to comply with such laws.

Tab Options

  • Include repository pages (disabled by default)
  • Include images and media (enabled by default)
  • Images and media:
    Three possibilities are proposed for integrating media in the Web site.
    See Media files organization section below.
  • Print the notes type (enabled by default)
DynamicWeb-map-1.png
  • Print place pages (enabled by default)
  • Include Place map on Place Pages (disabled by default):
    Whether to include a place map on the Place Pages, where Latitude/ Longitude are available.
  • Include a map in the individuals and family pages (disabled by default)
    Whether to include a place map on the pages, where Latitude/ Longitude are available.
  • Map Service (Google by default):
    Choose your choice of map service for creating the Place Map Pages
    • Google (default)
    • OpenStreetMap
  • Google map API key:
    The access to the Google Maps API requires an application key.
    See [Google Maps documentation]

Tab Advanced

  • Character set encoding: The encoding to be used for the web files
    • Unicode UTF-8 (recommended) (Default)
    • ISO-8859-1
    • ISO-8859-2
    • ISO-8859-3
    • ISO-8859-4
    • ISO-8859-5
    • ISO-8859-6
    • ISO-8859-7
    • ISO-8859-8
    • ISO-8859-9
    • ISO-8859-10
    • ISO-8859-13
    • ISO-8859-14
    • ISO-8859-15
    • koi8_r
  • Include family pages (disabled by default)
  • Include GENDEX file (/gendex.txt) (disabled by default):
    This option creates a GENDEX file placed at the top of the website. You can see sites which support this format and read more about it at the GENDEX Wikipedia article)(checkbox unchecked by default)
  • Enable page configuration (enabled by default):
    This enables the configuration after report generation, see configuration by the Web site users section below. This configuration is accessed with the cogwheel button on the pages top-right. It allows to configure the layout without having to export the report again. It is very helpful to find the convenient layout without re-exporting the report each time.
  • Include half and/ or step-siblings on the individual pages,
    Use tabbed panels instead of sections,
    Show last modification time,
    Insert sources author in the sources title,
    Suppress Gramps ID:
    See the help for the configuration by the Web site users section below.

Tab Indexes

For the options below, see the help for the configuration after report generation section.

  • Default format for the surnames index
  • Default format for the persons index
  • Default format for the families index
  • Default format for the sources index
  • Default format for the places index
  • Include dates columns on the index pages
  • Include a column for partners on the index pages
  • Include a column for parents on the index pages
  • Include a column for media path on the index pages
  • Include references in indexes


  • Default number of entries in the indexes (10 by default):

The number of entries per page in the index tables is memorized by the browser for each user and each table. This value is the initial default value before the users select their own preference.

Tab Pages

  • Header / footer:
    The Gramps notes used as header / footer could include special features, described in the custom pages section below.
  • Brand name / icon:
    The gramps note used could embed an image or any other special field described in the custom pages section below.
    When no brand name/icon is used, the Gramps icon is used.
    Specify an empty note for disabling the Gramps icon.

Tab Trees

Most of these configuration parameters could also be tuned after report generation, see configuration by the Web site users section.

  • Colors:
    The gradient colors are used for all gradients (based on generation, time period, or age).
    The gender colors are set in the Gramps Prefrences (in Edit menu).
    The Color scheme classic view : It is hardcoded in Gramps. The colors are those used in the Chart view, for the "Descendant Fan", when configuring background to Color scheme classic view
    The Color scheme classic report: Same as Color scheme classic view.
  • Duplicates:
    For people appearing several times in the tree (for example, when both parents share a common ancestor).

Tab Custom pages

It is possible to add custom pages built from a note. These pages could be used for:

  • A customized home page
  • A contact page
  • A download page
  • Etc.

These pages have the following options:

  • Title for the custom page
  • Menu for the custom page (enabled by default): allows to have a page without any menu.
  • Note for the custom page: This note could include
    • Text formating
    • Links to other Gramps objects
    • External HTTP links
    • Relative HTTP links: They are given as regular HTTP links, but in the form relative://<relative path>
    • Special fields:
      These fields are given as text in the note and are replaced in the generated report.
      Export date: __EXPORT_DATE__
      GRAMPS homepage: __GRAMPS_HOMEPAGE__
      GRAMPS version: __GRAMPS_VERSION__
      Number of families: __NB_FAMILIES__
      Number of persons: __NB_INDIVIDUALS__
      Number of media objects: __NB_MEDIA__
      Number of sources: __NB_SOURCES__
      Number of repositories: __NB_REPOSITORIES__
      Number of places: __NB_PLACES__
      Search form: __SEARCH_FORM__
      Embedded image: __MEDIA_<Gramps ID>__ (for example: __MEDIA_O0011__)
      Embedded image thumbnail: __THUMB_<Gramps ID>__

Tab Pages selection

Allows to enable, disable and order pages.

Media files organization

There 3 possibilities for using the media files in the report:

  1. Copy, rename files with an internal Gramps identifier:
    The media files are copied at every report generation, in the directory "image", and their names and changed into a unique obfuscated name. This behavior is identical to the Narrative Web Site report.
  • Copy, keep file names unchanged:
    The media files are copied at every report generation, in the directory "image", but their names kept intact. The files that are in the same directory are copied into the same directory. The directory names are replaced by unique obfuscated names.
  • Do not copy, reference existing files:
    The media files are not copied.
    The relative path from the generated report to the media files is used.
    Therefore, the relative path from Web report to the media object shall stay the same between local computer and the web server where the web site is uploaded.
    On Windows: The report shall be generated on the same disk drive where the media files are located.
    For example:
    The media files are located in the directory: C:\Users\Mewtwo\genealogy\media\
    The report is generated in the directory: C:\Users\Mewtwo\genealogy\reports\DynamicWeb
    Then the relative path is: ..\..\media
    Therefore, on the web server, the media files and report shall be located in something like: http://my.web.site.com/path/to/report/media and http://my.web.site.com/path/to/report/reports/DynamicWeb

Optimizations for big databases

The report was tested with a database with over 120,000 people without blocking issue.

Nevertheless, some users could have performance issues.

The technology used for this report (client-side Javascript) is not designed for managing big amounts of data.

This could lead to performance issues, for databases over 5000 people, when the configuration is not properly set. The following tunings could be used:

  • The optional index columns should be discarded
  • The indexes should be displayed as lists and not as tables

Another possibility is to use only a portion of the Family Tree database. Generating the report with a smaller filter enhances the performances and provides a smoother experience for the Web site users.

Gnome-important.png
Do you really want to use the entire Family Tree database ?

Be aware that if you select the Entire Database filter option for your Family Tree database that very big files will be generated (depending on the size of your Family Tree database). It is recommended to start with a smaller filter (for example: ancestors of a certain person) to simplify the output while you learn about the Dynamic Web report.

Moreover, when rendering large datasets, the report disables some fancy features for better performances.

Then again, exporting a portion of the database helps.

Help for the Web site users


Configuration by the Web site users

DynamicWeb-conf-1.png

Some configuration parameters are accessible after the report generation, using the cogwheel button at the top-right of the pages.

This cogwheel button is enabled in the Advanced tab, described above.

  • Use a table format for the index, for the surnames, persons, families, sources or places indexes:
    • When enabled, the indexes are shown as tables. These tables could be sorted by any column, and filtered.
    • When disabled, the indexes are shown as lists. When possible, these lists are indexed alphabetically. The lists could also be sorted by name, date, etc. depending on the type of data shown.
  • Include columns on the index pages for dates, partners, parents, media path:
    • Includes the corresponding columns in the indexes, when the indexes are shown as lists.
  • Include references in indexes:
    • When enabled, the references between objects are shown in the indexes, when they are shown as lists..
    • For example, objects citing a source are shown in the sources index.
  • Include Place map on Place Pages:
    • Whether to include a place map on the Place Pages, where Latitude/ Longitude are available.
  • Include a map in the individuals and family pages:
    • Whether to include a place map on the pages, where Latitude/ Longitude are available.
  • Include half and/ or step-siblings on the individual pages
  • Insert sources author in the sources title:
    • The source author is always shown with the source title. This covers the case when source titles are too generic, like "baptize registry" for example.
  • Use tabbed panels instead of sections:
    • Changes the layout of the pages. With tabbed panels, the pages are more compact. With sections, all the data is visible at the same time (no need to switch between tabs).
    • Note: the sections are collapsible.
  • Show last modification time:
    • Adds a modification date/time in the page footer.
  • Suppress Gramps ID:
    • Allows to hide the Gramps ID. The Gramps ID is an identifier for each object stored in the Family Tree database. It could be used to precisely identify an element (person, family, source, etc.).
  • Restore default settings:
    • Restores the settings used when the report was generated.
    • This button also resets the user preferences, like the number of items per pages in the index tables.


Graphical tree options

DynamicWeb-conf-2.png

The Graphical aspect of the tree could be modified, depending on users preferences.

  • SVG tree graph type
    • Ascending tree: Only ancestors of the chosen person are shown
    • Descending tree: Only descendants of the chosen person are shown
    • Descending tree with spouses: Descendants of the chosen person are shown, along with their spouses
    • Ascending and descending tree: Ancestors and descendants of the chosen person are shown
    • Ascending and descending tree with spouses: Ancestors and descendants of the chosen person are shown, along with their spouses
  • SVG tree graph shape
    • Vertical (↓): Ancestors on the top of the page, descendants on the bottom of the page
    • Vertical (↑): Ancestors on the bottom of the page, descendants on the top of the page
    • Horizontal (→): Ancestors on the left of the page, descendants on the right of the page
    • Horizontal (←): Ancestors on the right of the page, descendants on the left of the page
    • Full Circle: Chosen person is in the center opf the page
    • Half Circle: Chosen person is in the bottom-center of the page. This graph shape is not available when displaying both ancestors and descendants.
    • Quadrant: Chosen person is in the bottom-left of the page. This graph shape is not available when displaying both ancestors and descendants.
  • SVG tree parents distribution, SVG tree children distribution
    • Size proportional to number: The size allocated to each individual depends on how many ancestors/descendants there are. This improves the readability.
    • Homogeneous distribution: The size is allocated homogeneously to each individual.
  • Background
  • Ancestors: Number of ancestors generations.
  • Descendants: Number of descendants generations.
  • Show duplicates: Outlines the people appearing several times in the tree (for example, when both parents share a common ancestor).
  • Restore default settings:Restores the settings used when the report was generated.


Graphical tree navigation

Tree view example
  • Use the mousewheel to zoom in and out.
  • Use the mouse drag and drop to move the graph.
  • Use the mouse left-click to center the graph on a person.
  • Use the mouse right-click to open a context menu. This menu gives access to:
    • The person page,
    • The persons related to this person (parents, children, siblings, souses).
  • Use Shift + left-click to go to the person page (same as using the context menu from the right-click).


Map navigation

Map example
  • The mouse left-click expands the map full-screen (or restores it back).


Issues

Issues and features requests are managed in the Gramps bug tracking system