-
Notifications
You must be signed in to change notification settings - Fork 0
Roadmap
Gramps Connect is under active development. This page is an honest account of what's not there yet, drawn from the project's own open-items list — useful for deciding whether it already covers what you need, or for picking somewhere to contribute.
- Editing coverage isn't complete. Place and Note are each missing specific fields. See Data Model and Editing for the full, type-by-type breakdown.
Merging duplicate records is supported for every type except Tag (which merges client-side instead) — see Data Model and Editing.
- A presence layer (who's currently viewing or editing what) is planned as a deliberately ephemeral, in-memory/Redis mechanism, kept separate from the durable transaction-history sync path described in Architecture.
-
Auth/permissions.
app/has a minimal login form using real credentials (nothing hardcoded outside the desktop build), but no refresh-token rotation or expiry handling yet. gramps-web's ownAuthclass is the reference being built against. -
Merge/conflict UX for genuinely concurrent edits to the same
object is an open design question, not yet resolved — the
dev-fixtures/layer3-sync/fixture (see Development) exists specifically to exercise this scenario. A save now detects when a record changed on the server since its edit form opened and refuses to overwrite it (see Data Model and Editing), but that's conflict detection, not resolution — there's still no way to see the two versions side by side or merge them. -
A
gramps-web-apifilter-pushdown gap: the olderGrampsObjectsResource.get()endpoint still unconditionally loads every object before applyingfilter/rules/gql/oql— a known performance issue on very large trees. A newerObjectQueryResourceendpoint (the one Gramps Connect's own/query/endpoints and GOQL depend on) already does real SQL pushdown via a different code path; whether that supersedes fixing the older endpoint is still an open question. - A full object-model UI redesign, a proper design system, and search-as-navigation are all directions being considered, not yet scoped.
- Letting Gramplets edit or create objects, not just read them (currently
read-only via
filter()/get_object()). - Supporting more Gramps add-on types beyond Gramplets — tools, reports.
- Generating PDF forms (would need a PDF importer).
- Moving the project under the
gramps-projectGitHub organization — among other things, this could open the door to translations through Gramps' existing Weblate infrastructure. - Recently-visited items.
- Undo, now that per-object change history (see Data Model and Editing) gives a UI a place to offer it from — a real implementation would still need its own review of correctness and conflict handling (what "undo" means once someone else has edited the record since), not just a button wired to the existing diff data.
- Real
<a href>links for in-app navigation (a record's title, "Open in its list page", ...) instead of today's button-styled clicks, so a browser's native right-click "Open in new tab" / middle-click work on them — handy for comparing two records side by side. - A real Gramps-level link between a map image overlay and the place it's attached to. Today the overlay's KML embeds the source image's handle in an app-internal way that Gramps itself can't see, so it won't show up in a "referenced by" search and desktop Gramps' remove-unused-objects tool won't know the two are related — if the image is later detached from whatever else references it, the overlay would silently break.
- Alternate-name editing for Place (see Data Model and Editing) would also let a map overlay's date-visibility read from a specific alternate name instead of requiring a separate place record per era — today, two overlays with different date ranges at the same physical spot each need their own place, since a place's date lives on its (primary) name.
A CI workflow now runs on every push and pull request: tests, type
checking, and a build, so a broken commit is caught automatically instead
of relying on someone running these by hand. build-docker.yml and
build-standalone.yml stay manual-trigger only (they need a registry push
or platform-specific runners, not worth spending on every commit). There's
still no linter (ESLint/Prettier) configured anywhere in the repo —
whether to add one is tracked as open work. See
Development for the test and typecheck commands CI
runs.
This page is a snapshot. The authoritative, continuously-updated version
is TODO.md in the gramps-connect repo —
check there (and the repo's issue tracker) for the current state before
assuming something listed here is still outstanding.
Gramps Connect is part of the family of Gramps-based software.
Using the app
- Overview
- Installing
- Deploying
- Messaging
- GOQL (advanced search)
- Gramplets & Add-on Store
- Data Model & Editing
- FAQ
Building & contributing