# Gramps Connect, first hosted demo

**URL:** <https://gramps.discourse.group/t/gramps-connect-first-hosted-demo/9985>\
**Category:** Gramps Connect\
**Tags:** websolutions\
**Created:** [September 13, 2026, 4:57pm UTC](https://gramps.discourse.group/t/gramps-connect-first-hosted-demo/9985 "2026-09-13T16:57:57Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![dsblank](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/dsblank/32/3649_2.png) [@dsblank](https://gramps.discourse.group/u/dsblank)\
**Post date:** [September 13, 2026, 4:57pm UTC](https://gramps.discourse.group/t/gramps-connect-first-hosted-demo/9985/1 "2026-09-13T16:57:57Z")

</div>

Want to try out Gramps Connect, the hosted version? This is the first run of the new app, still in development, but making progress since … exactly one month ago today. Happy Birthday Gramps connect! 🎂

Go to:

> **[Gramps Connect](https://gramps-connect.duckdns.org/)**

And log into one of the accounts:

- Username: editor-1, password: editor-1
- Username: editor-2, password: editor-2
- Username: editor-3, password: editor-3

Why three different editor accounts? Because you can talk to each other, and plan your research.

What to try on the Gramps Example family tree:

1. Start a discussion on a gramps person, family, etc.
2. Try out the fanchart with lifespans
3. Checkout the Stories, and make a new one on a Person or Family
4. Edit an object, see its history of edits
5. Add a “Map overlay” to a place

And much more. What do you like? What don’t you like? Feedback appreciated!

If you want to also try the stand-alone desktop version (very small footprint, same functionality of the hosted version) :

> **[Releases · dsblank/gramps-connect](https://github.com/dsblank/gramps-connect/releases)**
>
> A modern, fast Gramps-based web app for genealogy and family histories - dsblank/gramps-connect

---

<div class="post-metadata">

**Author:** ![csam](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/csam/32/5361_2.png) [@csam](https://gramps.discourse.group/u/csam)\
**Post date:** [September 13, 2026, 5:21pm UTC](https://gramps.discourse.group/t/gramps-connect-first-hosted-demo/9985/2 "2026-09-13T17:21:18Z")

</div>

> [@dsblank](#):
>
> Why three different editor accounts?

Thanks for all your efforts.  
First thought - I think it should be possible to see who is online.

---

<div class="post-metadata">

**Author:** ![dsblank](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/dsblank/32/3649_2.png) [@dsblank](https://gramps.discourse.group/u/dsblank)\
**Post date:** [September 13, 2026, 5:27pm UTC](https://gramps.discourse.group/t/gramps-connect-first-hosted-demo/9985/3 "2026-09-13T17:27:47Z")

</div>

> [@csam](#):
>
> First thought - I think it should be possible to see who is online.

Yes, that was my first thought too 🙂 The backend gramps-web-api doesn’t yet support that, but the logged in people who have made a change (including replying to a discussion) in the last few minutes will appear as an icon in the top-right corner.

---

<div class="post-metadata">

**Author:** ![dsblank](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/dsblank/32/3649_2.png) [@dsblank](https://gramps.discourse.group/u/dsblank)\
**Post date:** [September 13, 2026, 5:30pm UTC](https://gramps.discourse.group/t/gramps-connect-first-hosted-demo/9985/4 "2026-09-13T17:30:39Z")

</div>

If you click on their profile circle, you can send them a message. I just did!

---

<div class="post-metadata">

**Author:** ![dsblank](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/dsblank/32/3649_2.png) [@dsblank](https://gramps.discourse.group/u/dsblank)\
**Post date:** [September 13, 2026, 6:50pm UTC](https://gramps.discourse.group/t/gramps-connect-first-hosted-demo/9985/5 "2026-09-13T18:50:29Z")

</div>

Bonus use: the discussions are a great way to give feedback and ask questions during development. I’ve already adopted a few suggestions already.

 ![image](https://global.discourse-cdn.com/free1/uploads/gramps/original/2X/a/ae89e221a9c4d2ee55e7cd44bf8bdbcea0736c8f.png)

---

<div class="post-metadata">

**Author:** ![emyoulation](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/emyoulation/32/67_2.png) [@emyoulation](https://gramps.discourse.group/u/emyoulation)\
**Post date:** [September 13, 2026, 7:42pm UTC](https://gramps.discourse.group/t/gramps-connect-first-hosted-demo/9985/6 "2026-09-13T19:42:44Z")

</div>

> [@dsblank](#):
>
> Bonus use: the discussions are a great way to give feedback and ask questions during development. I’ve already adopted a few suggestions already.

Could you add an option to clipboard the Chat conversation? I will probably want to copy the thread as a worklist in a new Note in whichever Genealogy tool I might be using.

(It is very attractive.)

---

<div class="post-metadata">

**Author:** ![dsblank](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/dsblank/32/3649_2.png) [@dsblank](https://gramps.discourse.group/u/dsblank)\
**Post date:** [September 13, 2026, 9:04pm UTC](https://gramps.discourse.group/t/gramps-connect-first-hosted-demo/9985/7 "2026-09-13T21:04:35Z")

</div>

> [@emyoulation](#):
>
> Could you add an option to clipboard the Chat conversation? I will probably want to copy the thread as a worklist in a new Note in whichever Genealogy tool I might be using.
> 
> (It is very attractive.)

Yes, being able to save it is a good idea. What about archiving it as a note? Then you could also copy it.

And thank you for testing it and for the suggestion 🙂

---

<div class="post-metadata">

**Author:** ![dsblank](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/dsblank/32/3649_2.png) [@dsblank](https://gramps.discourse.group/u/dsblank)\
**Post date:** [September 13, 2026, 9:21pm UTC](https://gramps.discourse.group/t/gramps-connect-first-hosted-demo/9985/8 "2026-09-13T21:21:22Z")

</div>

Thinking about this more, I think a “Copy” button on most things would be very useful.

---

<div class="post-metadata">

**Author:** ![eugene](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/eugene/32/1911_2.png) [@eugene](https://gramps.discourse.group/u/eugene)\
**Post date:** [September 14, 2026, 8:19pm UTC](https://gramps.discourse.group/t/gramps-connect-first-hosted-demo/9985/9 "2026-09-14T20:19:04Z")

</div>

Thank you very much! It looks great.  
I love the way you can add places with a little help from wikidata.

There is so much talent in the Gramps team! There are several websolutions though…  
I hope you will not spreading your resources too thin.  
Grampsweb, Grampsconnect, Greatgramps.  
What is the difference between them and should there be a focus, a direction the whole team should be working on?  
I hope it is cooperation and not competition.

---

<div class="post-metadata">

**Author:** ![dsblank](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/dsblank/32/3649_2.png) [@dsblank](https://gramps.discourse.group/u/dsblank)\
**Post date:** [September 14, 2026, 8:48pm UTC](https://gramps.discourse.group/t/gramps-connect-first-hosted-demo/9985/10 "2026-09-14T20:48:47Z")

</div>

> [@eugene](#):
>
> Thank you very much! It looks great.  
> I love the way you can add places with a little help from wikidata.

Thank you, and thanks to those who have already made suggestions!

> [@eugene](#):
>
> There is so much talent in the Gramps team! There are several websolutions though…  
> I hope you will not spreading your resources too thin.  
> Grampsweb, Grampsconnect, Greatgramps.  
> What is the difference between them and should there be a focus, a direction the whole team should be working on?

You are right that Gramps has so much talent, and that we are standing on the shoulders of many decades of developers and users.

I wrote up an overview of the Gramps ecosystem here, noting that projects like greatgramps (static generators) were not included but should be:

> [@The Gramps ecosystem](https://gramps.discourse.group/t/the-gramps-ecosystem/9874):
>
> I thought I’d make a post giving an overview of the Gramps ecosystem since a couple of new projects have opened up new workflows. I didn’t include any of the website generator projects, nor any of the addons, and addon “app stores”. The following list may not be complete. Let me know if I left out things, and I will update the diagram. First, let’s take a look at an overall picture of the main components: In the bottom, left-hand corner is the gramps desktop that most of us use. Of c…

> [@eugene](#):
>
> I hope it is cooperation and not competition.

There is a huge amount of cooperation because gramps-web and gramps-connect depend on gramps-web-api, and that depends on gramps-core. The hope is that even if we have to twist something to work today, in the future some of that will work its way to benefit the entire ecosystem.

I wouldn’t necessarily say components are in competition, but I will say that we are challenging and pushing the systems to be better. And there is a lot of variety, the spice of life 🙂

---

<div class="post-metadata">

**Author:** ![Cynwrite](https://avatars.discourse-cdn.com/v4/letter/c/d6d6ee/32.png) [@Cynwrite](https://gramps.discourse.group/u/Cynwrite)\
**Post date:** [September 16, 2026, 3:35pm UTC](https://gramps.discourse.group/t/gramps-connect-first-hosted-demo/9985/11 "2026-09-16T15:35:37Z")

</div>

This is deeply cool! Is there any chance of getting Map Overlays/KMLs in Gramps Desktop? That would be amazing.

---

<div class="post-metadata">

**Author:** ![dsblank](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/dsblank/32/3649_2.png) [@dsblank](https://gramps.discourse.group/u/dsblank)\
**Post date:** [September 16, 2026, 3:38pm UTC](https://gramps.discourse.group/t/gramps-connect-first-hosted-demo/9985/12 "2026-09-16T15:38:34Z")

</div>

They are already there!

> [@Adding places from KML \[Keyhole Markup Language\] files](https://gramps.discourse.group/t/adding-places-from-kml-keyhole-markup-language-files/175):
>
> I would like to learn how to create KML files that are acceptable to Gramps on the Geography view, when I right-click on the map and select “Add place from KML”. I have tried creating polygons in Google Maps and Google Earth, and saving them as KML files, but nothing happens when I add them. The [example](https://gramps-project.org/wiki/index.php/Gramps_5.0_Wiki_Manual_-_Categories#Adding_places_from_KML_files) in the wiki looks like it has a shaded polygon. Does anyone have any samples that work? Thanks.

Although I expanded on the idea and created an editor, the idea came from Gramps-core itself, and those developers and that discussion.

---

<div class="post-metadata">

**Author:** ![emyoulation](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/emyoulation/32/67_2.png) [@emyoulation](https://gramps.discourse.group/u/emyoulation)\
**Post date:** [September 16, 2026, 4:20pm UTC](https://gramps.discourse.group/t/gramps-connect-first-hosted-demo/9985/13 "2026-09-16T16:20:59Z")

</div>

> [@dsblank](#):
>
> They are already there!

Yep. They are just a major undertaking to figure out how to use in Gramps Desktop.

---

<div class="post-metadata">

**Author:** ![romjerome](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/romjerome/32/1489_2.png) [@romjerome](https://gramps.discourse.group/u/romjerome)\
**Post date:** [September 22, 2026, 8:50am UTC](https://gramps.discourse.group/t/gramps-connect-first-hosted-demo/9985/14 "2026-09-22T08:50:29Z")

</div>

> [@dsblank](#):
>
> 1. Add a “Map overlay” to a place

I do not know if it is related. I added one place where I can guess the dynamic (evolution) between 1800[1] and 1870[2].

[1] 1800 : [OpenHistoricalMap](https://embed.openhistoricalmap.org/#map=15.63/48.669742/7.711612&layers=O&date=1800-01-01)  
[2] 1869 : [OpenHistoricalMap](https://embed.openhistoricalmap.org/#map=15.63/48.669742/7.711612&layers=O&date=1869-01-01)

Some data was/were also linked with wikidata to contributions via Domus [(_see related post_).](https://gramps.discourse.group/t/domus-house-history-project/9920)

Now, around an other project, some shared images (retrieved from wikimedia commons [via its thumb](https://thumb.wikimedia.org/wikipedia/commons/thumb/5/51/Vendenheim_rTemple_6_%284%29.JPG/1280px-Vendenheim_rTemple_6_%284%29.JPG)) will no more displayed at the top of some notices. eg., [https://www.archi-wiki.org/Adresse:6\_rue\_du\_Temple\_(Vendenheim)](https://www.archi-wiki.org/Adresse:6_rue_du_Temple_(Vendenheim)) → [RDF content](https://www.archi-wiki.org/?title=Sp%C3%A9cial:Export_RDF/Adresse:6_rue_du_Temple_(Vendenheim)&xmlmime=rdf)

It looks like (I could be wrong) that wikimedia commons (or wikidata) is trying to block the file caption from 3rd party projects, maybe by guessing that it is an AI bot or something like that. Note, this can also be a bug on this project too as some small versions are displayed on the same notice. One bug report has been filled, which should cover my first impression about this issue. Wikimedia commons seems to make the job, there is maybe rather an issue around these external ressources for properly handling data (thumb) into a project

> <https://github.com/Archi-Strasbourg/archi-mediawiki-skin/issues/53>
>
> « \_setupHeaderImage dans \`resources/js/hack.js\` ne gère pas les images du dépôt …étranger Commons : l'URL reconstruite pointe vers \`thumb.wikimedia.org\` sans le segment \`/thumb\`, qui ne sert pas d'images pleine taille.\_ »
> 
> \*\*Résumé du bug\*\* (\_mis en forme avec Mistral AI\_)
> 
> 1. Sur les notices, l'image d'en-tête n'est pas dans le HTML : le script setupHeaderImage() (resources/js/hack.js du skin \[archi-mediawiki-skin\](https://github.com/Archi-Strasbourg/archi-mediawiki-skin)) la copie en background-image de #header-image2 et masque la \< figure \> d'origine.
> 
> 2. Pour fabriquer l'image de fond, il part du src de la vignette, retire le dernier segment (/330px-…) puis le segment \`/thumb\`, pour viser l'image en pleine taille.
> 
> 3. Ce calcul marche pour les images locales : \`/images/thumb/a/a5/F.jpg/180px-F.jpg\` → \`/images/a/a5/F.jpg\` ✔️
> 
> 4. Pour une image Commons (InstantCommons), la vignette est sur \`https://thumb.wikimedia.org/.../thumb/5/51/F.JPG/330px-F.JPG\` → le script en déduit \`https://thumb.wikimedia.org/.../5/51/F.JPG\`, or ce serveur ne délivre que des vignettes ; l'original vit sur upload.wikimedia.org. Résultat : background-image en 404, image d'en-tête absente (et la figure d'origine déjà masquée → plus aucune image visible).
> 
> \*\*Le correctif\*\*
> Dans \`setupHeaderImage()\`, traiter les URL de dépôt distant, par exemple :
> 
> \`\`\`js
> if (featuredThumbUrl.indexOf('thumb.wikimedia.org') !== -1) {
> // Dépôt étranger : garder une vignette Commons plus grande au lieu de l'original
> featuredImageUrl = featuredThumbUrl.replace(/\\/(\\d+)px-/, '/1280px-');
> } else {
> // logique actuelle (images locales)
> featuredThumbUrl = featuredThumbUrl.substr(0, featuredThumbUrl.lastIndexOf('/'));
> featuredImageUrl = featuredThumbUrl.replace(/\\/thumb/, '');
> }
> \`\`\`
> (\_Demander une vignette 1280px est même préférable à l'original : plus léger, et ça reste dans la syntaxe que thumb.wikimedia.org accepte.\_)
> 
> \---
> Complément (\_analyse Mistral AI\_)
> 
> "\_dans ce même fichier une coquille de précédence (substr(0, lastIndexOf('thumb') \>= 0) — le test \>= 0 est à l'intérieur des parenthèses de substr) : elle semble neutralisée dans la version en production puisque les images locales s'affichent, mais ça mérite d'être nettoyé\_"

Anyway, I do not want an internet into a big set of sandboxes, but like for hardcoded url or ark (Archival Resource Key), I dislike the idea of broken online ressources. So, does it makes sense to keep some data “offline” (or local) for `gramps-connect`, like historical data around maps? A map layer, like on `gramps` desktop version.

Translated (technical stuff) with the help of an AI:

> <https://github.com/romjeromealt/gramps-connect/pull/1>
>
> \## 📋 Proposal: Offline-First Map Data Management
> 
> This PR adds a \*\*comprehensive… proposal\*\* to address the critical dependency on external map services (OpenHistoricalMap, Wikimedia Commons) in Gramps Connect. Currently, the map view \*\*fails entirely without network connectivity\*\*, which is inconsistent with the app's local-first philosophy.
> 
> \### 🎯 Key Goals
> 1. \*\*Offline functionality\*\*: Maps should work without an internet connection.
> 2. \*\*Resilience\*\*: No broken links or missing tiles due to external service changes/blocks.
> 3. \*\*User control\*\*: Full visibility and management of cached/offline map data.
> 
> \### 📄 What's Included
> \- \*\*Full proposal document\*\*: \`docs/OFFLINE\_MAPS\_PROPOSAL.md\`
> - Problem analysis (Wikimedia blocks, OHM dependency)
> - Detailed architecture (OPFS cache, local styles, proxy server)
> - 5-phase implementation plan (2-13 weeks total)
> - Risk assessment and mitigation strategies
> 
> \### 🔗 Related Discussion
> \- \[Discourse Thread\](https://gramps.discourse.group/t/gramps-connect-first-hosted-demo/9985/14?u=romjerome)
> 
> \### 🚀 Next Steps
> 1. \*\*Review\*\*: Please provide feedback on the proposal.
> 2. \*\*Prioritize\*\*: Decide which phases to tackle first (recommendation: Phase 1 - Tile Cache + Offline Mode).
> 3. \*\*Implement\*\*: Start with the highest-priority phase.
> 
> \### 📊 Phases Overview
> | Phase | Duration | Focus | Benefits |
> |-------|----------|-------|----------|
> | 1 | 2-4 weeks | Tile cache + offline mode | ✅ Basic offline maps |
> | 2 | 3-5 weeks | Offline historical layers | ✅ No OHM dependency |
> | 3 | 1-2 weeks | Robust overlay management | ✅ No broken KML links |
> | 4 | 2-3 weeks | Wikimedia Commons proxy | ✅ Bypass image blocks |
> | 5 | 3 weeks | UI & user control | ✅ Full management |
> 
> \*\*Full details\*\*: \[docs/OFFLINE\_MAPS\_PROPOSAL.md\](docs/OFFLINE\_MAPS\_PROPOSAL.md)
> 
> Closes #9985 (related to the Discourse discussion)

It is just proposals and documentation (_no implementation_)

---

<div class="post-metadata">

**Author:** ![DavidMStraub](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/davidmstraub/32/7_2.png) [@DavidMStraub](https://gramps.discourse.group/u/DavidMStraub)\
**Post date:** [September 22, 2026, 9:19am UTC](https://gramps.discourse.group/t/gramps-connect-first-hosted-demo/9985/15 "2026-09-22T09:19:55Z")

</div>

> [@eugene](#):
>
> There is so much talent in the Gramps team! There are several websolutions though…  
> I hope you will not spreading your resources too thin.  
> Grampsweb, Grampsconnect, Greatgramps.  
> What is the difference between them and should there be a focus, a direction the whole team should be working on?  
> I hope it is cooperation and not competition.

Also adding my two cents in this thread 🙂

I agree with everything @dsblank wrote.

Apart from what the _developers_ can do to cooperate, what we should also emphasize is what the _community_ can do: those that have time to test the different tools that are available in the ecosystem, if there is a feature in one of them that you would like to see in another one of them, please let the devs know by opening a feature request. There are two reasons why this is important:

- Developers might not have time to try out “the other” tools as they are busy maintaining their own project.
- It’s often easier for _users_ to see the value of a particular feature rather than developers who first think in terms of code changes or architectures.

---

<div class="post-metadata">

**Author:** ![dsblank](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/dsblank/32/3649_2.png) [@dsblank](https://gramps.discourse.group/u/dsblank)\
**Post date:** [September 22, 2026, 2:28pm UTC](https://gramps.discourse.group/t/gramps-connect-first-hosted-demo/9985/16 "2026-09-22T14:28:41Z")

</div>

> [@romjerome](#):
>
> It is just proposals and documentation (_no implementation_)

Follow-up discussion in the PR.

---

<div class="post-metadata">

**Author:** ![soig](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/soig/32/10073_2.png) [@soig](https://gramps.discourse.group/u/soig)\
**Post date:** [October 22, 2026, 1:09pm UTC](https://gramps.discourse.group/t/gramps-connect-first-hosted-demo/9985/17 "2026-10-22T13:09:40Z")

</div>

This looks very promising. And fast.  
One feature is missing though : there’s no graphical tree view like in gramps?  
(the tab that’s between the “families” & “events” tabs)

---

<div class="post-metadata">

**Author:** ![dsblank](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/dsblank/32/3649_2.png) [@dsblank](https://gramps.discourse.group/u/dsblank)\
**Post date:** [October 22, 2026, 1:42pm UTC](https://gramps.discourse.group/t/gramps-connect-first-hosted-demo/9985/18 "2026-10-22T13:42:10Z")

</div>

Thanks for testing, and noticing the speed. Performance is one of the main goals.

There is a section called “Graphs” that is accessible from each person (under their name on right) and in general from from the “View” menu:

 ![image](https://global.discourse-cdn.com/free1/uploads/gramps/original/2X/8/81385253c6a5ce3e2a18833ef13a24e269eaba7e.png)

There we currently have three types of graphs: tree (hourglass ancestor/descendant), fan chart (with slice by age), and a new one called “Generations”. Generations will show generations of relatives (including step and half siblings)

 ![image](https://global.discourse-cdn.com/free1/uploads/gramps/original/2X/5/56a0bdd982b3c2cd78e9c88eec1bdf6ec1fa18d5.png)

Discoverability is also an important goal for the UI, and I’m still exploring possibilities.

---

<div class="post-metadata">

**Author:** ![GeorgeWilmes](https://avatars.discourse-cdn.com/v4/letter/g/c57346/32.png) [@GeorgeWilmes](https://gramps.discourse.group/u/GeorgeWilmes)\
**Post date:** [October 22, 2026, 2:07pm UTC](https://gramps.discourse.group/t/gramps-connect-first-hosted-demo/9985/19 "2026-10-22T14:07:21Z")

</div>

Also try the “Compact” version of the Generations chart. It’s easy to miss, since the button is in the lower right corner of the screen:

![image](https://global.discourse-cdn.com/free1/uploads/gramps/original/2X/5/54f0b6344f5a882492f980ccf14df8e39091cb98.png)

---

<div class="post-metadata">

**Author:** ![dsblank](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/dsblank/32/3649_2.png) [@dsblank](https://gramps.discourse.group/u/dsblank)\
**Post date:** [October 22, 2026, 2:11pm UTC](https://gramps.discourse.group/t/gramps-connect-first-hosted-demo/9985/20 "2026-10-22T14:11:36Z")

</div>

> [@GeorgeWilmes](#):
>
> It’s easy to miss

Indeed! Need to make that more prominent for discoverability. And maybe also make compact the default?

[Next page](https://gramps.discourse.group/t/gramps-connect-first-hosted-demo/9985.md?page=2)
