RootsPersona

Plugin Banner

RootsPersona

by urryes

Download
Description

RootsPersona turns the GEDCOM file of your genealogy program into a family history website. Every person gets a real WordPress page with their name in the title — found by Google, linked from your posts, open for comments, editable in your page builder. When the tree changes, upload the new file: pages, addresses and photos stay with their people.

Everything is free. No account, no external service, your data stays on your site.

From your genealogy program

  • GEDCOM 5.5, 5.5.1 and 7.0 / 7.1 from any program, also as a GEDZIP archive (.gdz) or a .zip with the photos.
  • Any encoding: UTF-8, UTF-16, ANSEL, Windows code pages (Cyrillic “ANSI” files are recognised).
  • Tags of common programs: married names (_MARN, _MARNM), adoption (_FREL, _MREL), other names (_AKA), the main photo (_PRIM), the person codes (_UID, FamilySearch ids).
  • Large trees are imported in small steps with a progress bar, so the host’s time limit does not stop them. A report after the import tells what was loaded.
  • Re-importing updates the tree. People renumbered by your program are recognised by their code, by name and birth year or by their relatives. If the file looks like another tree, the import stops before anything is changed.
  • Export back to GEDCOM 5.5.1, GEDCOM 7.0 or GEDZIP with the photos: a backup, or a copy for relatives and other programs, with or without living people.

The persona page

  • Names (birth, married, also known as, nickname), events and facts with dates, places, addresses, age and cause, notes, sources with the cited page and quoted text.
  • Parents, spouses, children, divorce, adoption and fostering, and a three-generation tree.
  • Dates in the site language: “15 March 1822”, “about 1890”, “between 1852 and 1854”. Julian (Old Style) dates show the New Style too: “15 (27) March 1822”.
  • Any number of photos: the portrait and a gallery with a lightbox. The photos your program links to people go onto their pages by themselves (see the FAQ).
  • A map of the places of the person’s life (OpenStreetMap), when the GEDCOM file has coordinates.
  • Three layouts — Classic, Archive card and Chronicle — with colour sets and a live preview. A page can be printed in parts, so your own text, memoirs or audio can sit between them, in the block editor or in Elementor.
  • schema.org markup (Person) for search engines.

For visitors

  • A front page for the tree: the tree in numbers, faces of the older generations, remembrance days around today, ways into the tree, births per decade, families by surname, places on a map.
  • Instant search over people (all their names, places and years) and the posts of the site; it also finds names that sound alike (Fesenko — Fisenko, Petroff — Petrov, Latin or Cyrillic letters).
  • An index of people and a top surnames widget.
  • Family book: the descendants or the ancestors of one person as a book to print or save as PDF — title page, contents, a chapter per generation with numbered people (1.2.3 for descendants, Ahnentafel for ancestors), dates, places, biography, photo, marriages, children and an index of names (Tools Family book).
  • This day in the family: a widget with the birthdays, wedding days and days of remembrance around today, and a letter every Monday with those of the coming week.
  • “How are you related?”: a visitor marks themselves once (“This is me”), and every persona page tells how its person is related to them — great-grandfather, second cousin once removed, wife of a first cousin — with the chain of people between; any two people can be compared. Russian sites get the Russian terms (двоюродный дядя, внучатый племянник, свёкор, деверь…).
  • “Suggest a correction” at the end of a persona page: relatives write what is wrong or missing, the note comes to the keeper of the tree (switch it on in Settings RootsPersona Pages and other).

Privacy

  • Each person is Public, Members only or Private; the default for living people is a setting.
  • A person without dates is judged by their own events and by their relatives.
  • Hidden people get “Private” as their page title, a noindex tag, and are left out of sitemaps, menus, search, the front page and the export. Visitors can be sent to a page you choose.

Editing on the site

If RootsPersona is your “system of record”, people and their facts can be edited online and new people added, without a genealogy program.

  1. Install RootsPersona from Plugins Add New, and activate it. A setup wizard opens and walks you through the steps below; you can also try everything first with a demo family that comes with the plugin and remove it with one click.
  2. Go to Tools RootsPersona Upload GEDCOM and upload the file (.ged, .gdz or .zip) exported from your genealogy program.
  3. Choose who gets a page in Tools RootsPersona Add Uploaded Persons (select several people or the whole list). Pages are created under the parent page set in Settings RootsPersona; any number of people can be added at once.
  4. If your program links photos to people, open Tools RootsPersona Upload photos and choose the photo folder (not needed for a .gdz or .zip with the photos).
  5. Make a front page for the tree with [rootspersona_hub] and a search box with [rootspersona_search] (see the FAQ), and add them to your menu.

Choose the layout, colours, privacy rules and what each page shows in Settings RootsPersona.

When the tree changes, export it again from your program and upload it with the same Batch Id: the pages are updated, new people can get pages.

  1. A persona page (Archive card layout): portrait, facts, biography and the photo gallery.

    A persona page (Archive card layout): portrait, facts, biography and the photo gallery.

  2. The family on a persona page: grandparents, parents, spouses and children, with the number of descendants.

    The family on a persona page: grandparents, parents, spouses and children, with the number of descendants.

  3. The front page of the tree, [rootspersona_hub]: the tree in numbers and the faces of the older generations.

    The front page of the tree, [rootspersona_hub]: the tree in numbers and the faces of the older generations.

  4. Remembrance days around today, ways into the tree and births per decade.

    Remembrance days around today, ways into the tree and births per decade.

  5. Families by surname and the places of the tree on an OpenStreetMap map.

    Families by surname and the places of the tree on an OpenStreetMap map.

  6. The chart of the whole tree, [rootspersona_chart]: zoom, drag and search; every person links to their page.

    The chart of the whole tree, [rootspersona_chart]: zoom, drag and search; every person links to their page.

  7. Tools → Upload photos: choose the photo folder of your genealogy program, the photos go onto the pages of their people.

    Tools → Upload photos: choose the photo folder of your genealogy program, the photos go onto the pages of their people.

  8. Tools → Export GEDCOM: GEDCOM 5.5.1, GEDCOM 7.0 or GEDZIP with the photos, with or without living people.

    Tools → Export GEDCOM: GEDCOM 5.5.1, GEDCOM 7.0 or GEDZIP with the photos, with or without living people.

  9. Settings → Privacy: who counts as living, what visitors see, a page for private people.

    Settings → Privacy: who counts as living, what visitors see, a page for private people.

Which GEDCOM versions and programs are supported?

GEDCOM 5.5 and 5.5.1 from any program, and GEDCOM 7.0 / 7.1, also as GEDZIP archives with photos. The file may be in UTF-8, UTF-16, ANSEL or a Windows code page: Cyrillic “ANSI” files (Windows-1251) are recognised. Tags of common programs are understood: married names (_MARN, _MARNM), adoption (_FREL, _MREL), other names (_AKA), the main photo (_PRIM). When a new version of the tree is uploaded, people renumbered by the program are recognised by its code (_UID, FamilySearch ids), by name and birth year or by their relatives, so their pages, addresses and photos stay with them.

Can I reload a GEDCOM file?

Yes, and it is the normal way to keep the site up to date: upload the new file with the same Batch Id. People and families are updated in place; pages, their addresses, your own text on them and the photos stay. Your program may give people new numbers (I123) — RootsPersona recognises them by their code, name and birth year or relatives. If too many people cannot be recognised, the file is probably another tree, and the import stops without changing anything (a checkbox lets you load it anyway). People who are no longer in the file are listed in the report, their pages are not deleted. When the tree is already on the site, choose what the new file does: Update, Only add the new, or Replace with the file (people no longer in the file are removed, their pages go to the trash).

My genealogy program links photos to people. How do they get onto the site?

The GEDCOM file only names the photo files on your computer. Open Tools RootsPersona Upload photos and choose the folder with the photos: only the files the tree refers to are uploaded, and each appears on the pages of its people — the person’s own first photo as the portrait, the others in the gallery. Names are matched loosely (“Ivanov Ivan[1].jpg”, ё/е, spaces and dashes), and a photo already on a page under another file name is recognised and not uploaded twice. Running it again is safe. Or upload the tree as an archive — a GEDZIP file (.gdz, GEDCOM 7) or a .zip with the GEDCOM file and the photos — on the Upload GEDCOM page: the photos then go onto the pages by themselves.

My persona pages are built with Elementor (or another page builder). Does that work?

Yes. Put the persona shortcode in a Shortcode widget, whole ([rootsPersona personId="I1" batchId="1" /]) or in parts with part="intro", part="family", part="photos", part="map", part="sources" or part="rest", and your own widgets in between. Photo upload puts the portrait into the widget with the intro and other photos into the widget with the photos.

How do I make a front page for the family tree?

Put [rootspersona_hub] on a page (in Elementor: the Shortcode widget). It shows the tree in numbers, faces of the older generations, remembrance days around today, ways into the tree (earliest ancestor, largest family, longest life, a random person), births per decade, the families of the tree by surname and the places with a map. Surname and place pages open on the same page. The parts also work alone, for example on the home page: [rootspersona_faces count="12"], [rootspersona_today days="7"], [rootspersona_start], [rootspersona_timeline], [rootspersona_surnames count="30"], [rootspersona_places]. Everything is counted over the people the visitor may see; birthdays and portraits of living people are shown to logged-in users only. With several trees on one site, add batch="2".

Can I show the chart of the whole tree drawn by my genealogy program?

Yes. Export the chart as an SVG file (for example from “Древо Жизни”) and upload it on Tools RootsPersona Tree chart. If the chart has photos, upload a ZIP with the SVG file and the folder of photos the program saved next to it, or put that folder into the media library. Every box whose name and years match a person of the tree becomes a link to their page; namesakes are told apart by the years, the birth surname in brackets and by where their parents, spouses and children are drawn. A report lists the boxes that could not be linked. Put [rootspersona_chart] on a page: the chart opens there with zoom (wheel, two fingers, buttons), drag, full screen and a search that finds and highlights people. A click on a person lights up their ancestors, descendants and spouses on the chart and opens a card with the photo, how many of them are drawn, “Open the page” and “Show them all”; the address then points to that person (#person=I123), to share or bookmark. Ctrl+click opens the page at once. Scripts and outside links are removed from the uploaded file. After a GEDCOM import or when new pages are created, the links are made again by themselves. Without such a program the plugin draws a chart itself from the uploaded GEDCOM file: Tools RootsPersona Draw the tree chart; it is kept apart from an uploaded chart and shown with [rootspersona_chart type="drawn"].

How do I add search?

Put [rootspersona_search] where the box should be, for example in the header, and [rootspersona_search_results] on a search results page; point the box to it with [rootspersona_search results="/search/"]. Suggestions appear while typing: people by any of their names, places and years (ё and е are the same), and the posts of the site. Names that sound alike are found too, after the exact matches: spelling variants such as Fesenko for Fisenko or Petroff for Petrov, Petrova for Petrov, and a name typed in Latin letters finds its Cyrillic spelling (this can be turned off in Settings RootsPersona Pages and other). Visitors search a prebuilt index, so it is instant; logged-in users also find the people only they may see.

Which shortcodes are there?

  • [rootsPersona personId="I1" batchId="1" /] — the persona page (part="…" for a part of it, see above).
  • [rootsPersonaIndexPage batchId="1" /] — index of all people.
  • [rootspersona_book_link batch="1" root="I1" type="desc"] — a link to the family book (type="anc" for the ancestors); visitors see only who they may see.
  • [rootspersona_today days="5"] — the remembrance days around today (also a widget: “RootsPersona: this day in the family”).
  • [rootspersona_kinship batch="1"] — relationship calculator for any two people of the tree; on persona pages with part="kinship".
  • [rootsPersona personId="I1" batchId="1" part="suggest" /] — only the “Suggest a correction” form, for page layouts that place it themselves.
  • [rootspersona_hub] and its parts — front page of the tree.
  • [rootspersona_search], [rootspersona_search_results] — search.
  • [rootspersona_chart] — the chart of the whole tree uploaded on Tools RootsPersona Tree chart; type="drawn" for the chart the plugin drew (Tools RootsPersona Draw the tree chart).
  • [rootsEvidencePage batchId="1" /] — the sources of the tree; with sourceId="S1" one source and the people it is cited for.
  • The older panel shortcodes (rootsPersonaHeader, rootsPersonaFacts, rootsPersonaAncestors, rootsPersonaFamilyC, rootsPersonaFamilyS, rootsPersonaPictures, rootsPersonaEvidence, rootsPersonaBio, rootsPersonaDescendancy) still work for the Classic layout.

Who counts as living, and what do visitors see of them?

A person born less than 110 years ago without a death is living; the age is a setting (Settings RootsPersona Privacy Age limit of the living, from 80 to 150). A person without dates is judged by their own events (a burial means deceased) and by their parents, spouses and children; with no clue at all the “People without dates” setting decides. What living people show — everything, only to members, or nothing — is set in Settings RootsPersona Privacy, and each page can override it. Hidden people are left out of titles, menus, sitemaps, search, the front page and, if you choose, the GEDCOM export.

Where does the map on a persona page come from? Does it contact other servers?

When the GEDCOM file gives coordinates for a place (PLAC with MAP, LATI and LONG), the persona page shows the places of the person’s life on a map. The map is drawn with Leaflet (included in the plugin, BSD 2-Clause license) and the map images come from OpenStreetMap: when a visitor scrolls to the map, their browser loads the images from the OpenStreetMap servers, which see the visitor’s IP address. Mention this in your privacy policy if your site needs one. The map can be switched off in Settings (Show on the page Map of places), and developers can use another map provider with the rootspersona_map_tiles filter.

What happens to the GEDCOM file I upload?

The file on your computer is untouched. The copy uploaded to the site is read into the plugin’s database tables and then deleted, together with any archive it came in. The photos of an archive go to the media library.

A GEDCOM import fails or shows “Database update error”. What should I send to the developer?

RootsPersona keeps its own import log. Open Tools RootsPersona Upload GEDCOM, scroll to the Import log box, press Download log and send the downloaded file to the plugin developer. The box also shows where the file is stored on your site (wp-content/uploads/rootspersona-logs/). The log lists every import step, the GEDCOM record that was being processed when the error happened and the exact database error. To get a clean log, press Clear log first and then repeat the import. The log may contain short fragments of your family data (names, notes), so send it only to the developer.

How can I help translate RootsPersona or correct a translation?

RootsPersona is translated by the community at translate.wordpress.org. Open your language there and suggest or correct a string. Once the language team approves it, WordPress delivers it to all sites automatically – no plugin update is needed.

I am upgrading from a version earlier than 2.4.0.

Upgrade to 2.4.0 first, then to the current version.

Slow & counterintuitive

By tom coady (tomcoady) on December 29, 2023

The instructions are quite hard to follow even though I can see a lot of effort has been put into this with multiple screenshots. There should be some warning before creating thousands of pages.

Excellent Support

By joevansteen on July 30, 2022

I was trying different plugins to read and display GEDCOM data. I had assembled a file and tried to upload it, resulting in an error. Ed gave me an early release of a new version that fixed the problem immediately.

Just wow

By wasanajones on November 25, 2018

when I send the website link to my family they’re going to go nuts

Perfect

By MinotauR69 on March 2, 2017

A very good job. Thank you for this plugin 😉 Only, it lacks the possibility of translating the Months (JAN, FEB, etc.) into other languages. Maybe something like that:
$dict = array(
    'JAN' => __('JAN', 'rootspersona'),
    'FEB' => __('FEB', 'rootspersona'),
    'MAR' => __('MAR', 'rootspersona'),
    'APR' => __('APR', 'rootspersona'),
    'MAY' => __('MAY', 'rootspersona'),
    'JUN' => __('JUN', 'rootspersona'),	
    'JUL' => __('JUL', 'rootspersona'),
    'AUG' => __('AUG', 'rootspersona'),
    'SEP' => __('SEP', 'rootspersona'),
    'OCT' => __('OCT', 'rootspersona'),
    'NOV' => __('NOV', 'rootspersona'),
    'DEC' => __('DEC', 'rootspersona'),
); 
///...///

great!

By willemvdz on December 29, 2016

Installed version 3.6.0 uploaded a gedcom file and its working great!

The best! imports GEDCOM files and works wonderfull

By Meine van der Sluis (MvdSluis) on September 3, 2016

Very good plugin to publish GEDCOM files from your local Family Tree program. Now with dutch translation!

Zeer goede plugin om je GEDCOM-bestanden bijv. uit Legacy of welk ander genealogisch programma dan ook, te publiceren op je WordPress site. Installatie en inrichting soms niet altijd even overzichtelijk. Maar vergeet niet om op de site informatie hier over op te zoeken. Ik heb een Nederlandse vertaling gemaakt, die ik dit najaar ga vervolmaken. Als deze nog niet meegeleverd wordt, kun je deze bij mij bestellen.

Melhor plugin

By farrapeira on September 3, 2016

Melhor plugin para arvore genealogia!!! Testei vários e sempre encontro erros, bugs, mas nesse está rodando certinho.

The best Family Tree plugin

By mikerayjones on September 3, 2016

My family tree has over 3,500 individuals, and RootsPersona handles it all flawlessly. The only really helpful additional feature that I can think of would be a “how is person A related to person B” shortcode.

Regardless, 5 stars well deserved!

Best Geneology Solution out there for WP!

By Charles Winders (web503) on February 7, 2017

I’ve tried many different plugins for both WP and Joomla. In the end this is the clear winner. We have a very large GEDCOM file created with Family Tree Maker and it imported, created the pages and had us off and running in a short time. We actually wanted it customized and contacted Ed the creator of RootsPersona and made a small contribution to sponsor the upgrade. He nailed it and now we have the perfect solution for our family tree project. Top notch 5* all around! Thanks again Ed Thompson for your support.

4.4.0

  • Fix: automatically generated tree charts respect current page visibility and password protection. They are served without browser caching; obsolete static generated charts are removed so closing a person’s page also removes their name from subsequent chart requests.
  • New: setup wizard for new sites — from a GEDCOM file (or the demo family that comes with the plugin) to a family tree website in four steps: pages with layout and privacy, photos, a front page of the tree and search. It opens after the first activation and stays available on Tools RootsPersona.
  • New: the age limit of the living is a setting (Settings RootsPersona Privacy, 110 years by default): someone without a recorded death who was born fewer years ago counts as living. It can also be set in the setup wizard.
  • New: the search finds names that sound alike — spelling variants (Fesenko — Fisenko, Petroff — Petrov, Petrova — Petrov, Toporovskaya — Taparovsky) and names typed in Latin letters for Cyrillic ones and back. They come after the exact matches; Settings RootsPersona Pages and other Search turns it off.
  • New: tree chart — a click on a person lights up their ancestors (blue), descendants (green) and spouses (purple), the others step back; a card shows the photo and name from the box, how many relatives are on the chart, “Open the page” and “Show them all”. A link with #person=I123 opens the chart with that person chosen. Ctrl+click (or the middle button) opens the page at once, as before.
  • New: the plugin draws a new chart of the whole tree from the uploaded GEDCOM file (Tools RootsPersona Draw the tree chart) — no genealogy program needed: generations in rows with the oldest at the bottom, couples side by side, children above their own couple, lines from the joint of the couple, relationships to a chosen forefather in the boxes (“son”, “great-granddaughter”), a couple of two people of the tree with the husband’s or the wife’s family. It is kept apart from a chart uploaded from a program and shown by [rootspersona_chart type="drawn"] with zoom, search and the highlighting of relatives, the generation labels stay at the left edge, people hidden from visitors are drawn without a name, and it is drawn on request using the current tree data and visibility settings.
  • New: family book (Tools Family book) — the descendants or the ancestors of one person as a book for printing or PDF: a title page with the photo, contents, a chapter per generation, numbered people (d’Aboville numbers 1.2.3 for descendants, Ahnentafel 1, 2, 3 … for ancestors) with their dates, places, occupations, biography, photo, parents, marriages and children linked inside the book, and an index of names. Living people only for members of the family who ask for them. A link for visitors: [rootspersona_book_link].
  • New: this day in the family — a widget (“RootsPersona: this day in the family”) with the birthdays, wedding days and days of remembrance around today, and, when switched on, a letter every Monday morning with those of the coming week to the addresses chosen in Settings RootsPersona Pages and other.
  • New: a clear choice when a tree is uploaded again (Upload GEDCOM File “If the tree is already on the site”): Update (as before: the new are added, changes applied, families no longer in the file removed, people no longer in the file kept and listed), Only add the new (people and families already on the site, with what was edited there, are left exactly as they are; a person already there is only linked to families that are new) and Replace with the file (people no longer in the file are removed too; their pages go to the trash, where they can be restored).
  • New: relationship calculator, “How are you related?” — on persona pages and with [rootspersona_kinship]. A visitor marks themselves once (“This is me”, kept only in their browser), and every page tells how its person is related to them, with the chain of people between; any two people can be compared. Blood relatives at any distance (cousins with “removed”, half-brothers and half-sisters) and relatives by marriage one marriage away (in-laws, step-parents, “wife of a first cousin”); Russian sites get the full Russian system of terms. People the visitor may not see are left unnamed. Off by default: Settings RootsPersona Pages and other.
  • New: “Suggest a correction” — a form at the end of persona pages where relatives write what is wrong or missing (a date, a name, a relative). Notes are listed on Tools Suggested corrections and sent by e-mail to the site address; the owner enters them in the genealogy program and marks them as entered, so the GEDCOM file stays the one place where the tree is kept. Off by default: Settings RootsPersona Pages and other. It works on cached pages and without JavaScript, with a hidden field, a fill-in time check and an hourly limit against spam.

4.3.0

  • New: GEDCOM 7.0 / 7.1 import, and GEDZIP (.gdz) or .zip archives with the photos.
  • New: GEDCOM files from more programs: UTF-16, ANSEL and Windows code pages (Cyrillic “ANSI” recognised), KOI8-R, old Mac line ends, very long lines; tags _MARNM, _FREL / _MREL, _AKA, _PRIM, _UID, _FSFTID.
  • New: re-importing keeps people on their own pages when the program renumbers them: they are recognised by their code (_UID), name and birth year or relatives. A file of another tree is stopped before anything changes. Families no longer in the file are removed; people no longer in it are listed in the report.
  • New: GEDCOM export (Tools RootsPersona Export GEDCOM) as GEDCOM 5.5.1, GEDCOM 7.0 or GEDZIP with the photos, optionally without living and private people.
  • New: Upload photos — choose the photo folder of your tree, and the photos go to the media library and onto the pages of their people, also on pages built with Elementor. A photo already on a page under another name is not uploaded twice.
  • New: a map of the places of a life on the persona page (Leaflet and OpenStreetMap, can be switched off).
  • New: front page of the tree, [rootspersona_hub], with faces, remembrance days, ways into the tree, timeline, surnames and places; its parts work alone too.
  • New: instant search, [rootspersona_search] and [rootspersona_search_results], over all names, places and years of the people and the posts of the site.
  • New: schema.org Person markup on persona pages.
  • New: adoption and fostering, sources in the Archive card and Chronicle layouts.
  • Fix: the import now keeps everything the file has: coordinates, addresses, age, notes and photos of events, quoted source text, repositories, restrictions; Cyrillic text cut in the middle of a letter, cause of death (CAUS) and line breaks in notes were lost before. Editing a person no longer drops their source citations, other names and own event types.
  • Fix: full names no longer have double spaces; page title sync keeps each page’s own name order.
  • Fix: the search results page shows one search box.
  • Fix: a photo caption with square brackets (genealogy programs write titles like “Name[1]”) no longer breaks the persona page, which printed “‘ /]” and lost the photos after it. Captions that are file names become readable names, and pages already broken are repaired on update.
  • New: Tree chart — upload the SVG chart of the whole tree from your genealogy program; its people become links to their pages, and [rootspersona_chart] shows it with zoom, drag and search.
  • Performance: GEDCOM import is 6 to 10 times faster: each step is written in one database transaction, and records new to an empty tree skip looking for old data. A tree of 5000 people now loads in about 16 seconds instead of 160, a reload takes 42 seconds instead of 254.
  • New: a persona page takes any number of photos (it was 27); the edit form shows the page’s photos and an “Add photo” button.

4.2.4

  • New: two persona page templates besides the classic layout, “Archive card” and “Chronicle”, with colour sets (Sepia, Neutral, Dark or the theme’s colours), colour pickers and a live preview. A template page can be printed in parts with [rootsPersona part=”intro|family|photos”], so your own content (contents, memoirs, galleries) can sit between them.
  • New: dates are shown in the site language instead of raw GEDCOM: “15 March 1822”, “about 1890”, “between 1852 and 1854”, “from 1846 to 1890”. Julian (Old Style) dates show the New Style in brackets, e.g. “15 (27) March 1822”. The edit form keeps the raw date, so saving no longer drops the Old Style mark.
  • New: divorce, other names (birth name, married name, also known as), nickname and the cited page of each source are now shown.
  • New: “Page for private people” option — visitors who may not see a person are redirected to a page you choose (for example “Closed. Private access.”).
  • New: “People without dates” option. A person without a birth year is now judged by their other events and by their parents, spouses and children (a child born in 1850 means the parent is deceased; a spouse born in 1990 means living). With no clue at all the option decides; the default is “living” (such people used to be public). A burial without a death date now means deceased.
  • New: the Settings page is organised in tabs, with “Show …” checkboxes and page dropdowns.
  • Privacy: persona pages are no longer listed in automatic page lists and menus (block theme navigation, Pages widget), which showed thousands of entries — including names of living people — on every page.
  • Privacy: pages of living/private people get “Private” as page, browser and Yoast / Rank Math title, a noindex tag, and are left out of the WordPress and Yoast XML sitemaps.
  • Fix: “Add Uploaded Persons” works for any number of people. Selecting more than about 1000 at once used to create nothing (PHP max_input_vars); pages are now created in chunks with a progress line. Entries show years and the GEDCOM id, so namesakes can be told apart.
  • Fix: every residence was stored and shown twice. Pages show it once now; reloading the GEDCOM cleans the database.
  • Fix: families with events but no marriage date no longer disappear from the person page.
  • Fix: “@#DJULIAN@” no longer shows in marriage dates; stray ” – ;” in the facts list removed; the empty “Family Group Sheet – Child” table of “?” is not shown for people without parents.
  • Performance: public pages load only the scripts they need (about 40 fewer files per page); the jQuery UI widgets stay on admin screens.
  • Fix: PHP 8.1+ deprecation notices during GEDCOM import.
  • The experimental SVG tree module is off by default (enable with the ROOTSPERSONA_ENABLE_SVG constant).
  • Russian translation completed.

4.2.2

  • Fix: the Settings page and plugin activation no longer stop with a PHP 8 fatal error (“Unknown format specifier” / “ArgumentCountError” in sprintf) when a translation has a damaged placeholder such as “% pages” instead of “%s pages”. Translated messages are now built through a safe formatter that repairs or neutralises a broken format instead of failing.
  • Fix: repaired the damaged placeholders in the French and Dutch translations (thanks to lucv59 for the report).

4.2.1

  • Fix: reloading a GEDCOM that was already imported (same Batch Id) no longer stops with “Database update error” part-way through. Existing families, notes and sources are now updated in place, the same way individuals already were, instead of being treated as a fatal duplicate.
  • New: the plugin now keeps its own import log (wp-content/uploads/rootspersona-logs/). It records every import step, the GEDCOM record being processed when something fails, and the real database error. On the Upload GEDCOM File page you can see the file location and use “Download log” / “Clear log” to send it to the developer.
  • Fix: a PHP fatal error or exception during an import step (for example a time or memory limit) is now reported on the upload page and written to the log instead of leaving the progress bar stuck.

4.2

  • Ed Thompson transferred ownership and maintenance of RootsPersona to Yuriy Fisenko on January 27, 2026.
  • New: GEDCOM uploads are now imported in small, time-boxed steps via AJAX with a progress bar, instead of parsing the whole file in a single request. Large trees (and full reloads) that used to fail with a PHP execution-time timeout should now complete regardless of the file size.
  • Fix: removed leftover debug output that could leak into the GEDCOM import response, occasionally showing a duplicated or garbled error message on the upload page.
  • Dev: when a GEDCOM import fails with “Database update error”, the real underlying database error is now written to the server’s PHP error log to make the cause easier to diagnose.
  • Fix: the photo lightbox now sizes the image to fill the available height instead of a flat ratio that left it looking small on tall screens, and no longer occasionally shows the caption before the image has finished loading.
  • Fix: the persona edit form’s “Cancel”/”New” button now correctly shows “View” when a page already exists for the persona being edited, and only offers “New” when RootsPersona is set as the System of Record.
  • Dev: the chunked GEDCOM upload now moves the uploaded file via the WP_Filesystem API instead of calling move_uploaded_file() directly.
  • Dev: the ANSEL-to-Unicode character mapping used for older GEDCOM files is now parsed in memory instead of writing a temporary file into the plugin’s own folder.
  • Updated “Tested up to” to 7.1.

4.1

  • Security: removed the custom CSS (custom_style) and custom shortcode/page (custom_page) options that allowed arbitrary code insertion; page styling now uses dedicated, validated fields only.
  • Security: settings are saved with proper sanitizers — colours via sanitize_hex_color(), image URLs via esc_url_raw().
  • Security: added nonce verification to the persona edit action and signed every edit/add link with wp_nonce_url().
  • Security: added missing sanitize_text_field() validation to legacy input fields found during a repository-wide security audit.
  • Fix: resolved multiple PHP Deprecated notices on modern PHP versions (PHP 8.2+ / 8.4) by explicitly declaring properties in the individual record class.

4.0

  • Security bug fixes
  • Numerous bug fixes; compatibility with current WordPress and PHP.
  • Fixed a bug: when editing on the site, a person could be added back to the page addition list after re-uploading the gedcom file, resulting in duplicate pages.
  • Added Lightbox functionality for photos;
  • Added text fields for photo titles and captions.

3.7.6 Forked

  • Security issues fixed by Yury Fisenko

3.7.4

  • incorporated name formatting fixes by Tony Smith

3.7.3

  • fix evidence title
  • fix groupd sheet
  • fix classification & persona_name

3.7.2

  • fix count on empty field

3.7.1

  • fix issue with attaching images

3.7

  • IMPORTANT Rootspersona now requires PHP5.6 or above
  • do not delete Evidence Index when deleting persona pages
  • minor bug fixes
  • fix SOR save issue

3.6.3

  • Dutch translation files

3.6.2

  • fix 404 jquery.tablesorter.js not found issue
  • fix issue with evidence page javascript

3.6.1

  • fixed data access issue for SOR mode

3.6.0

  • updated for PHP 7

3.3.3

  • fix issue with page title changing back to last name first

3.3.2

  • fix surname widget (missing div)
  • add batch id to notes lookups

3.3

  • added hide donation button option
  • fixed validation tool issue with corrupting page titles

3.2

  • fix jquery drag and drop issue on admin screen (WP 3.6.1 compatability issue)
  • fix parent page for evidence causing large top level menus
  • include name suffix (Jr, Sr, etc…) when displaying name(including page titles)
  • surname widget now has links
  • fixed bug blocking new facts in Persona Editor

3.1.2

  • some users reported install issues. read only file was opened rw, perm issues

3.1.1

  • minor error when adding new page

3.1.0

  • fix WP 3.5 compatability issue with JQuery (showed itself on widget screen)
  • Added advanced template feature
  • Fixed 404 error when permalinks used
  • Fixed error in bio shortcode (not retrieving data)

3.0.7

  • fix issue with FACT types versus EVENT types
  • added option to make Editor optional edit privileges

3.0.6

  • fix errant join when multiple batches
  • fix problem with pictures not appearing on edit screen
  • fix save privacy issue at persona level
  • address jQuery issue in WP 3.4

3.0.4

  • remove errant wp_ from table name

3.03.

  • fix event and fact matching

3.0.2

  • fix issue with mysql connections and families
  • fix issue with parental links when mysql connections needed

3.0.1

  • Added System of Record support, including adding and editing persons
  • Better handling of surname slashes to avoid mushed names
  • Updated installer to support multi-site WP
  • removed null surnames from top ten list
  • added error check for failure to upload a file

2.5.0

  • Facts panel now displays Facts and Events
  • Cleaned up the options screen
  • fixed a couple of minor javascript bugs
  • fixed IE incompatability with the delete method

2.4.0

  • Support for HTML5 microdata from historical-data.org
  • Added a top 10 surname widget

2.3.2

  • minor fix to CSS for date fields

2.3.1

2.3.0

  • Reroute private person link on public person page site url
  • new style options to work with more themes
  • fox spousal dates on Descendants panel

2.2.0

  • Added Descendancy Charts to persona page
  • Minor bug fixes

2.1.1

  • Fixed missing batch_id for page edits
  • Fixed missing argument 1 error for edits
  • Use first 60 characters of TITLE if ABBR missing from GEDCOM

2.1.0

  • fixed issue with the Hide Locations option
  • reorganized options page
  • added more style overrides (backgrounds and border colors)
  • added option to delete data after deleting pages
  • fixed issue with multiple entries on index when the GED has multiple names
  • fixed localization bug (pointing to wrong directory)
  • added support for defining different ‘batches’ for GED files (support for separate ‘trees’)

2.0.4

  • rows per page option for indices made visible
  • added style attribute to index shortcodes – supports paginated (default) and scrollable

2.0.3

  • Fix issue with competing index pages

2.0.2

  • Fix issue with missing name in index if full name is not really complete
  • fix issue with multiple birth dates in GEDCOM overwriting death date
  • added surname attribute to index shortcode to support index by shortcode.

2.0.1

  • changed the underlying code to be database driven
  • added more flexible privacy options
  • pictures now wrap on the persona page
  • No more xsl processing
  • plugin processes with less memory
  • picture selection now interfaces with the WordPress media picker
  • improved localization
  • indexes now paginated (but sorting is gone)
  • you can now customize the banner (the divider between persona panels) to be more consistent with your theme
  • support for multiple character encodings
  • added a second panel design for the header panel that display a bio
  • added an optional bio panel

1.6.6

  • misc bug fixes

1.6.2

  • sorting Evidence Index by title
  • formatting Evidence title

1.6.1

  • sorry, few bugs in 1.6

1.6

  • added more events to the Facts panel
  • added validation of parent page assignment to page validation
  • upload process uses less memory
  • upload process now converts most character encodings to UTF-8
  • added error checking for file not found, empty HTML pages
  • added Evidence pages