Files Specific to Gramps Web & Add-ons

If you want to just read my questions, skip to the end.

Background: I’ve been programming for over 5 decades, using various assemblers for the first couple decades and using C since then while dabbling in other programming languages along the way. About a year ago I decided I wanted to do some sort of an all-purpose genealogy project which would run on an individual’s home computer. I wanted it to be cross-platform and wanted to utilize a Web interface. So, I chose to use JavaScript and nodejs, and learned JavaScript as I proceeded with the project. Needless to say, JavaScript is pretty different from what I’m used to and I’ve encountered many bumps along the way. But, I’ve muddled through. (JavaScript is still pretty foreign to me in some ways.)

Just a couple of days ago I came across Gramps Web, and now I’m wondering if contributing to Gramps Web is a better way for me to go than doing my own project (I have a large vision for my project). To help make that determination, I first needed to see and try Gramps Web.

Something to keep in mind is that I’m a dinosaur, and not at all up to snuff on the modern way of doing things.

I’ve been running Linux since v1.0 (although I’m not still running v1.0 :).

It doesn’t look like I can install Gramps Web from the zip file, although I would think I should be able to (remember, I’m a dinosaur).

I tried to follow the instructions at Getting Started - Gramps Web (I have my own server) installing Docker and Docker Compose but “docker compose up -d” gets unknown shorthand flag: ‘d’ in -d

This is my first time using Docker for anything.

I was able to try Gramps Web using “try out locally”.

Disclaimer: I have little to no experience using any third party genealogy software. I’ve always kept my genealogy database on my computer in plain text format, and used Linux tools to maintain it.

I’ve used FamilySearch quite a bit but not so much to create and maintain a family tree, rather to look for leads and records.

Before trying Gramps Web, I tried Gramps. It looks like great software with lots of functions and add-ons. But, adding data in Gramps proper is confusing, difficult and clunky. I expect importing a Gedcom would make things a lot easier. I didn’t try that. Attracting new users who don’t yet have a Gedcom would be difficult I would think.

Gramps Web is a little better for adding data, but I just think it could, and should, be so much easier.

I’m not concerned too much with adding data. I’m more concerned with providing tools as aids to genealogists.

Questions:

It appears as though Gramps Web only uses Gramps files. Perhaps this is outside the objectives of Gramps Web, but is it able (or any plans) to read/write it’s own files (using nodejs) unknown to Gramps?

I didn’t see anything about add-ons in the Gramps Web docs. Are their any plans to allow add-ons?

3 Likes

Hi & welcome!

Any help with Gramps Web is always welcome, although admittedly the whole deployment as well as development setup can be a bit tricky at first.

JavaScript is pretty different from what I’m used to and I’ve encountered many bumps along the way. But, I’ve muddled through. (JavaScript is still pretty foreign to me in some ways.)

That sounds pretty similar to my experience when I learned JS to write the first version of the Gramps Web frontend…

It doesn’t look like I can install Gramps Web from the zip file, although I would think I should be able to (remember, I’m a dinosaur).

How easy it is to install it depends on whether you only want something running locally and accessible through the browser or whether you want to deploy it to the internet. Deploying it to the internet is the main use case, so all the documentation keeps that in mind. In that case, you do not only need the backend server (which can be easily installed with `pip`), but also a background task worker, in-memory database for the task queue, and a reverse proxy for SSL. Then it quickly gets complicated – that’s the reason why the examples in the documentation use Docker Compose, which in principle allow to achieve all of the above with the help of appropriately adapted configuration text files.

Gramps Web is a little better for adding data, but I just think it could, and should, be so much easier.

I’m mildly surprised by the first part and agree with the second part of the sentence. Improving the experience of adding data is one of the most pressing issues of Gramps Web in my view.

It appears as though Gramps Web only uses Gramps files. Perhaps this is outside the objectives of Gramps Web, but is it able (or any plans) to read/write it’s own files (using nodejs) unknown to Gramps?

Gramps Web uses the Gramps library as backend, in particular it uses the same database interface. All genealogical data is stored in a database. Files can be imported/exported in any format Gramps supports (Gramps XML, Gedcom, …)

What kind of files were you thinking about?

I didn’t see anything about add-ons in the Gramps Web docs. Are their any plans to allow add-ons?

Gramps Web using some Gramps addons under the hood, such as the PostgreSQL database addon or the FilterRules2 addon. But many addons in Gramps have a GUI component, and this is something Gramps Web cannot support.

We also cannot allow user installation of addons, because Gramps addons are usually programmed with a desktop environment in mind, where they have full access to the file system. On a web server, this potentially opens big security holes, so every addon has to be reviewed carefully.

1 Like

I agree with your assessment of awkward data entry. It is one of the reasons that I find the Data Entry addon gramplet to be an important expansion. And also have a data entry spreadsheet form that is cut&paste compatible with the Import Text gramplet (when the delimiter has been set to tabs instead of commas).

But it also seems to me that there is an excellent opportunity to use some of the web tools which allow fillable PDF forms to be a clean and crisp data entry interface.

Standard genealogical fillable PDF forms exist for recording 3-7 generation pedigree data, individual vital data, family group data.

(Although, suprisingly, none of the forms I have found online from Genealogical organizations have been optimized. The tabbing order is wonky on most. And the field names are typical left with the defaults created by the form editor or exporter. It seems like the form fields should have been named to imply the GEDCOM tags that would be used for the data. Which would help AIs to scrape and fill data more Intuitively.)

If Gramps Web could leverage these typical genealogical forms (both for data entry and for printing/exporting data) then Gramps Web would be immediately familar to many genealogists.

    Perhaps this is outside the objectives of Gramps Web, but is it able (or any plans) to read/write it's own files (using nodejs) unknown to Gramps?

What kind of files were you thinking about?

One kind of file I’m thinking about would be “current status” info. For example, the User Preferences … does Gramps Web use Gramps Preferences or does it have it’s own Preferences separate from Gramps?

Do the objectives of Gramps Web include adding functionality to Gramps? Or are the objectives not to add functionality, but just to provide a Web interface for what’s already there? If new functionality were to be added, Gramps Web may need it’s own tracking files.

Gramps Web using some Gramps addons under the hood, such as the PostgreSQL database addon or the FilterRules2 addon. But many addons in Gramps have a GUI component, and this is something Gramps Web cannot support.

What if the “add on” (so to speak) were a JavaScript function which could be incorporated into the Gramps Web code base?

The Map feature in Gramps Web is nice. Does Gramps already do that, or is that a feature of Gramps Web only?

If Gramps Web could leverage these typical genealogical forms (both for data entry and for printing/exporting data) then Gramps Web would be immediately familar to many genealogists.

Agreed. It seems this type of thing is already a top priority for Gramps Web.

1 Like

I think this is what this thread is about: Using Gramps Web API for adding new information - #22 by DavidMStraub

The great thing about Gramps Web having a REST API backend is that it’s very easy to write custom HTML (+ Javascript) forms that allow to add data.