How to present baptism date

Found an old baptism: person XYZ baptized here (date given), born at ABC (no date given)

Now if I make a birth event (no date at ABC) and a baptism event (with date at XYZ) the date remains empty both in the event list and the person-list. If I leave out the birth event the list shows the baptism date in italics (which I really like)

What would be a sensible solution to be able show the baptism date (when present) if the birth date is empty?

gramps AIO64-5.2.3-r1-aa03f5a

Baptism is a fallback for the birth event.

The italicized dates only appear when using a Fallback… which requires that the front-line event must not exist.

So if you don’t know the date of the birth but DO know the christening data and a birthplace, you could use a custom Event type to hide the partial info from the Fallback system. For instance, use “Birthplace”, Then schedule a regular (monthly? quarterly?) workflow to filter for reviewing that type. You should convert any that have a Date from a “Birthplace” event into a regular “Birth” type.

You could use the Event Role to hide it too. (i.e., use a Role other than Primary or Family.) But Roles are too well hidden to use as a suppression method.

IMO, the most sensible thing is to make Gramps a bit smarter, maybe by writing a small enhancement proposal, in which you suggest that Gramps’ strategy to use the baptism date as a fallback should not depend on the existence of the birth event, as it seems to be now, but on the availability of an actual birth date.

And that would probably be quite simple to code.

4 Likes

Because I upload to WikiTree that required the birth and death dates in the gedcom, I create the birth event with the date as “before (baptism date)” and the death date as “before (burial date)”. The birth Place either comes from the Baptism or what is recorded on a Census or other document if not the same as the Baptism. The same logic applies to the Death Place if recorded differently than the burial place. If there is a source just showing the quarter I use the “between” dates. I can quickly see the difference when looking at a report or list because the before or between words are not there. This means I always have a birth or birth and Baptism however many records are missing the Death/Burial event because a source was not found.

2 Likes

Since the 5.2 release, you can use Quarters … the parser will convert it to a “between”.

e.g., “q2 1820” becomes “between 1 Apr 1820 and 30 Jun 1820”

Looking at the logic in the probably_alive module, it checks for birth event having a primary role but then also checks for a valid date. If either is false then it looks for a date in the fallback events.
Is there any reason why the logic should be different when simply displaying a birth date?

This issue is also in the addon TimelinePedigreeView, where if you have a baptism date and a birth event with place only then it looks like it accepts the date of zero as valid and you need to scroll back to the year zero to find certain people.
I suppose it is year zero, but the scale disappears long before that.
I was just trying to see if there was common code used, but I cannot even work out where the source for this addon lives.

https://github.com/gramps-project/addons-source/tree/maintenance/gramps52/TimelinePedigreeView

1 Like

Thanks for the link @Gioto
The issue in general is not quite trivial to code up.

The utility routine called is get_birth_or_fallback(), which returns the first primary event that it finds, looking at births first.
Easy to modify, except that it is called dozens of times, and it would likely break something else.
On the other hand, a quick look shows that there are places where it really wants a date - for example get_age() and get_timeperiod(), so these will not work as you might hope in the case discussed here.
A solution might be new utility functions, for example get_birth_or_fallback_with_date() that guarantees the event returned has a valid date. and code could gradually be changed as required. My first attempt at this trivial change didn’t work :disappointed:

The fallback functions are defined in gramps\gen\lib\eventtype.py. I have no idea how you could add a missing date for the fallback to return as true.

@DaveSch The ones I see in gen/lib/eventtype.py are like is_birth_fallback(), which simply return true/false whether an event type can be used as a fallback.
The routines I was referring to (such as get_birth_or_fallback()) are in gen.utils.db.py and return an event object.

No, that won’t work, because presumably if you have birth place enabled for listing as well as birth date then you’d want the actual birth place shown as well as the fallback date. That would require creating a temporary replacement event and returning that in such cases.
I’d have to say that this is more encouragement to do what @Davesellers describes and enter approximate dates. I would also add that I invariably change Gramps’ default limits down from 50 years, usually to one or two. If I have an occasion that I think really is so uncertain that 50 years would be appropriate then use a “between” date format.

And then even such a merged pseudo-event would not work, because of code such as format_person() in gen/utils/libformatting.py. Between main code and add-ons, it is called from 23 different places and does not allow for date and place to be formatted differently.

Gramps has an addon to automate that for you :slight_smile:

  • Calculate Estimated Dates tool Addon is used to add and remove birth and death events for people that are missing these events.

My before and after defaults are set for 3 years.

It generates the date estimates by calling the probably_alive_range() code, which I have basically rewritten and am currently in the process of testing.

1 Like