Is anyone working on or thinking about WordPress?

Currently, I use generate a narrated web site from my data and put it on my Boldts and Molls - Home website. However, my main site (currently down however after undergoing a server migration) uses WordPress.

Is there any work going on to export Gramps data to a WordPress plugin? Would anyone be interested in such a thing?

interested, yes…

or to an Omeka site… (hosted or self hosted)


Note that JoomlaGen exist for Joomla sites and was written in PHP also, but I’m not sure if it still works since its last update in 2014! It showed, Database statistics and events. Overview per individual. and Tree of ancestors.

The more I think of it, the more I think that an export to WordPress is definitely needed. These days, the complexities of web site development pretty much require the use of a content management system. And WordPress is the most commonly used CMS, used by more than 40% of the top 10 million web sites.

Going forward, I plan on writing up a high-level design and posting it for review within the next few days. It should be an interesting project, with elements implemented in at least 3 different programming languages: Python, PHP, and JavaScript.

So far, I envision a WP plugin that would initially show the most common names in the website’s database, along with a search function that would bring up a list of people. Clicking on a person would bring up the details for that person, with more or less the same information as on the narrated web site.

I don’t know if its possible in WP, but a lot of the large research presentation software solutions, like Omeka, Arches, Heurist etc. support import from json-ld (owl/rds), so maybe it is some plugin for WP that also do that, then “all you need” would be to create a json-ld export from Gramps, containing data…

And TNG do have a WP Plugin, but you would need a TNG site and a self hosted WP site to use it I think…

Just a tips, so please don’t behead me.

Keep your head on, no one likes brainstorming as much as I do!

I’m not sure if I’ll need json-ld for this type of project, but it’s good to know about anyways. And I’m now wondering if related FOAF concepts could be applied to genealogy research. At least, in the data I want to present, I want to include events where the primary person is a witness to some other event, and include links to those other people.

I use network graph tools for those links… and Obsidian with a few addons as a research log/journal tool, where I can build those links with wiki-links, view them as styled network graph with the Juggl addon (cytoscape.js), and if I need to “do more”, i can save the graph with all notes data to a cytoscape json file in Juggl and open it in cytoscape desktop… it will also be possible to open/display that cytoscape json file on a web page utilizing cytoscape.js… If I was a developer :rofl:
I also test out Foam for VSC as a research log tool, and adds all the markdown files to the Gramps objects as media… that way I at least have some kind of linking between my research notes/logs and the objects in Gramps, in addition I also use Zotero with both the export to MD for zotero and the citation plugin for both VSC and Obsidian, keeping my bibliography and citations in the same format for all the software I use…

What would the objective be for the plugin? Import XML or the database directly? Display the tree content in a similar representation as Gramps? Something else entirely?

Looked at the wiki page on the Gramps data lost during export to GEDCOM after reading your posting. So if you’re talking about bringing in XML or pickled SQLite data, I’m guessing you’re wanting to do more with some of that specific data than the current WP plugins that can play with GEDCOM.

Maybe you just want a different representation in the page layout?

Brian: This is just a different way to publish the data to others, a WordPress specific alternative to the narrated web site.

Consider the narrated web site. For example, the information about a person (such as my great-grandfather Gerrit Moll). I would present, within a WordPress plugin, more or less the same type of information. I wouldn’t bother with all the other object types that the narrated web site provides.

One approach would be to just upload the Gramps XML file to the server. I don’t want to do that since it would require significant load on the server when the data is uploaded. I’d rather do the processing on the Gramps side, converting the detailed individual information to a json string, which can be easily saved in the WP database and extracted when needed. My goal is to keep it as simple as possible while presenting complete detail for an individual.

Anyways, I’m currently writing up a high-level design document which should explain things further. I’ll upload that to github later today or tomorrow. Since this involves several different components with several different programming languages, I’ll need a road map to plan things out properly.

1 Like

Another benefit for many users will be that they can add notes and get comments and create blog posts for their relatives within a more familiar environment (many already use WP), and they can do more with very little or none programming knowledge…

i.e. me, I would be able to relatively easy add my markdown research notes from Foam or Obsidian to a WP site… with working links etc.
(just an example)

I foresee including research notes in the data presented for each individual.

Getting comments from site visitors is more problematical since WP comments apply to the page/post, not to individual content. May be sufficient to have an e-mail link to provide comments directly to the webmaster. But I’ll think some more about that.

I’ve uploaded a rough first draft to gramps-wordpress-design.pdf.

Comments welcome.

I did not know this… thanks…

— I just mentioned it because I think TNG’s plugin have some feature like that, but I have never actually tried it…

There are probably a hundred ‘feedback’ plugin that can be added to WP. If you aren’t sanitizing your URLs, I expect SOME of those will deliver a parsable URL that could used to categorize. Some appear to allow individual objects on a specific page to be flagged.

Worst case? Something like open source YBug attaches a screen capture that the user has the option of annotating.

Of course that means building a mechanism to manage integration of the feedback into the master Gramps data. (And possibly a feature that invites a re-visit when the update is posted. It is very annoying to give feedback that is never acknowledged or acknowledged without action.)

Good points, Brian. Thanks for reminding me that I’ll need to make sure I have a unique URL for each individual, and that the WP plugin will have to check the query string.

@ukulelehans, although this does not answer your question, the issue of setting up a genealogy blog while at the same time linking objects (people, places, events, …) in the blog posts to the research data (trees, sources, …) was one of my main reasons to start working on Gramps.js, which also has a blog section (where each blog post is represented by a source with note and media in Gramps). That might be a good fit if you are thinking about a blog with access to a limited amount of people (i.e. if you want to share also all the data in your database that is not explicitly set to private).

If you choose to go the Wordpress way, you might still consider hosting your Gramps data in an instance of the Gramps Web API and write your WP plugin such that it makes authenticated requests to this REST API. You would essentially just have to implement turning the JSON objects into pretty HTML objects. The web API comes with a powerful full text search engine over the entire Gramps database included.

End of advertisement :wink:


Hi David! I am aware of the Gramps Web API project, and I do find that exciting, and I look forward to great things from that. I just want to put as little load on my web hosting service as possible, so that approach may be a bit too heavy-weight for my purposes.

My goal is for a simple, light-weight alternative to the current narrated web site that can run from WordPress. Detailed information about individuals will be converted to JSON on the Gramps side and then saved on WP. The WP plugin will just serve up these JSON snippets when requested, with no or little processing on the server. The most load on the server will be for the search function, a feature that the narrated web site lacks.

Anyways, I’m almost done with the Gramps side of the coding, at least for the first version. I’m now starting to bring myself back up to speed on WP plugin programming. I’ve implemented some simple plugins in the past, and this will be my most ambitious WP plugin so far.

Cheers! Hans

1 Like

Status update. Making progress on the server side. Here are some screen shots of the WordPress plugin in action:

First, a shot of the “home” page with the search dialog expanded:

Next, a screenshot of search results:

Finally, a shot of the information about a person:

This is still rough, and the “Events”, “Gallery”, and “Sources” sections aren’t yet implemented. But it should give an idea of what I’m implementing. Some of the information is stored in the SQL database so it can be searched, but I use the server’s file system to save images, thumbnails, and detailed info.


Another progress report. Things are running nicely, with most of the functional coding done. Next step, going through the code to make things more robust.

Anyways, if anyone is interested in trying this out, please let me know. Ideally, I’d like a few people testing this out, and looking at the code before I put this into use on my own website and making it available to others.

Here are a couple more screenshots of the WP plugin running on my computer. First, a shot of the “Events” panel. A few things to note. First, I include (optionally) witnesses to events, as well as (optionally) events where the person is a witness or informant to some event. Second, I include (optionally) the relationship of the other people to the primary person.

Second, a screenshot of the pedigree. Again, optional.

Third, a screenshot of the “Gallery” panel. Clicking on the thumbnail will pop up a larger view of the image.

Finally, a screenshot of the “Sources” panel.


That’s looking good Hans!

Shame I am using drupal on my website. Otherwise I would give it a go.