Combining Gramps-Connect and GrampsWeb

… only heard of GreatGramps 2d ago, sorry!

I’ve been very impressed by GrampsWeb and now Gramps-Connect comes along offering really nice features (live chat, stories, map overlays …) and uses the same Gramps-Web-Api. So at the weekend I asked my friendly, neighbourhood AI how I could combine the 2 while using the same half-backend (web-api). Sure enough, 3 hours later, I now have on my home-lab Gramps Desktop 6.0.8 GrampsWebSyncing into Grampsweb running on a Pi4 in docker and in a separate docker-stack Gramps-Connect tapping into the same data. Live changes in Web or Connect are ‘live’, of course changes back to the desktop need a quick Sync, but they’re there afterwards.

Not everything works perfectly (e.g. stories can no longer be created, showing a gramplet error, but that’s another topic), but my test to use the same data with different front-ends worked. Even after updates to GrampsWeb and Gramps-connect latest releases, everything runs without problems (as long as I don’t break it). When collaborating with the family, it doesn’t matter to me that I can use different front-ends for different tasks, the compatibility and shared single-point of data are utmost important (I don’t want to have to sync AND export/import after every GrampsDesktop session.

I think it was Eugene who expressed his hopes that “cooperation and not competition” remains the course, I as a simple user who has no idea of the development processes in the background, second this. Sometimes trying to follow everything that is going on in Gramps feels very much over-complicated to me

I shall take the time to put in feature requests on both platforms (better here or on Github?) and contribute more to the forum instead of watching anonymously in the background.

I remain extremely thankful and impressed by the efforts of all who contribute to Gramps and it’s environment

Hi,

thanks for your feedback, tagging @dsblank and myself @DavidMStraub, the maintainers :smiley:

I’ve been asked repeatedly about my view on this topic, so let me share a couple of thoughts. For those that don’t know, I’m the maintainer of “Gramps Web API” (since 2020) and “Gramps Web” (since 2021).

My first experiments with a Gramps REST API started in 2019 (repo) and were reimplemented as an official Gramps project in 2020 after this Discourse thread. Although I already had a frontend back then, Gramps Web API was as a standalone REST API. So, already back then, the idea was to be able to turn this into a general backend for an ecosystem of apps.

So I think it’s great that new projects like Gramps Connect can be used with one and the same Gramps Web API deployment as the “official” Gramps Web frontend. Requirements of different apps plus the separation of concerns between Gramps Web API code and Gramps core code (which additionally evolve at different speeds) mean it’s not always trivial to find a good solution, but I definitely see it as a top priority to allow Gramps Web API to continue to play this role.

In case you follow the development progress of Gramps Web API, you’ll have already seen the impact of Gramps Web API being used by more projects: apart from @dsblank’s own contributions and contributions by community members developing or using MCP servers for AI agents, @dsblank’s push towards performance have also motivated me to improve on some long standing bottlenecks affecting Gramps Web (see e.g. 3.22.1).

Concerning frontends: as said, I think it’s great that our architecture allows creating customized user interfaces and being able to use them alongside each other, because it gives users the choice – that’s what open source is about. If there is interest, I could also deploy Gramps-Connect on Grampshub as an alternative frontend.

Then again – I am so busy with the two projects I maintain that I don’t really have the time to look at all the other cool projects out there and try to find out which part we can use to improve Gramps Web. So, if you’re using other projects like Gramps-Connect, GreatGramps, etc., and find something that you’ve been missing in Gramps Web: please do open a discussion or feature request in the Gramps Web repo as described in the contribution guide. A short description of the idea and what it would be useful for is very valuable to plan future improvements in Gramps Web.

David

Will Gramps Web and Gramps Connect be able to leverage any of the FamilySearch integration that is being added to Gramps Desktop? How much of it is in Gramps “core”? Would it require additional agreements with FamilySearch?

Ah, sorry, David, you lost me at ‘tagging’ and I was out on my feet by ‘Rest API’ :face_with_spiral_eyes:

I’m on vacation from next midweek and I shall use my time to sign up to GrampsHub, I’d love it if you could deploy Gramps-Connect on GrampsHub and maybe other parallel frontends. My only request to all developers would be, it seems, synching my Gramps Desktop into Gramps Web API (is that what happens?) to have my data available to all frontends simultaneously. No extra import/export. That way I can share my work with family, friends, interested parties and other victims at a level which they understand. GrampsWeb for the genealogy side, Gramps-Connect for the collaboration and maybe GreatGramps for the individual static Websites

Maybe using this plethora of quality tools, I can even persuade some young’uns to learn the skills they’ll need to help out on the future development of Gramps and all it’s ecosystem

Yours API-ly

There is the GrampsWebSync addon:

But that does require you to have the base tree in Gramps-core.

On the other hand, there is a new thing:

https://ftp.gramps-project.org/wiki/index.php/Addon:GrampsWebApiDb

I’ve made a few improvements since that original announcement, and has had some additional testing.

In this addon, you have to do some setup (get and set a GRAMPS_WEB_API key, and change the database type) but after that, you get live updates via gramps-web-api like gramps-connect and gramps-web.

Let me know if you try it out, and if you have any issues.

Are you saying that, using this addon, multiple users of Gramps desktop can (safely?) access the same database (if it’s hosted somewhere)? And be assigned various roles (admin, editor, contributor)? And other users could access the same database via Gramps Web or Gramps Connect (or their own custom front end that uses gramps-web-api)?

Yes! I need to make an announcement, and call for more testers, but that is exactly the goal. You don’t even need gramps-web or gramps-connect, just a hosted gramps-web-api somewhere (local or in the cloud).

Pretty cool?

We have already signed a contract with FamilySearch so no additional agreements would be required. Any new solution or changes to our existing solution would require certification though.

I did bring up the subject of Gramps Web in one of our early meetings with FamilySearch and got a positive response.

Grampshub is becoming a true Gramps hub!

This is it, just what I need! Thank you

And this just makes it even better, right! Thank you too!

So my way forward is to keep my base with Gramps Desktop, here I control my original data, backups etc. and can reset to an earlier version if necessary. I host my gramps-web-api on grampshub, so no faffing around with back- and front-ends etc. I use GrampsWebApiDb on my Desktop to keep all in sync and ask (very nicely with a cherry as iDüpferl)@DavidMStraub if he would allow/accomodate alternative front-ends (starting with gramps-connect) hosting on grampshub

Call me a luser, but I believe I’ve learned more in the last 2 days since opening my 1st topic than in a couple of years sitting quietly in the background admiring the stuff you do for fun! :folded_hands: