# Where are the defaults for new objects defined?

**URL:** <https://gramps.discourse.group/t/where-are-the-defaults-for-new-objects-defined/6488>\
**Category:** Help\
**Tags:** hacks\
**Created:** [November 24, 2024, 6:34pm UTC](https://gramps.discourse.group/t/where-are-the-defaults-for-new-objects-defined/6488 "2024-11-24T18:34:12Z")\
**Posts on this page:** 18\
**Page:** 1

<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:** [November 24, 2024, 6:34pm UTC](https://gramps.discourse.group/t/where-are-the-defaults-for-new-objects-defined/6488/1 "2024-11-24T18:34:12Z")

</div>

Where can the defaults for a new object be changed?

I want the default Confidence for a new Citation to be changed from `Normal` to `Low`

While fleshing out [an old stub article](https://www.gramps-project.org/wiki/index.php/How_do_I_find_the_information_that_are_missing_a_%27source%27_attachment) (so there would be at least one full article linked to the new [outline of features to find insufficient research](https://www.gramps-project.org/wiki/index.php/Find_what_is_missing,_blank_or_NULL)), it became obvious that I had been overlooking the Confidence feature for Citations.

In my research tree, I intend to drop the existing "Normal"s to “Low”. That will indicate that the Citation has not been manually validated. Solid indicators that the data is true (or untrue) will change the Confidence up (or down) a level.

The default of “Normal” encourages complacency and even ignoring the feature. GEDCOM (version 5.5.1 and 7) and only has 4 “[Quay)” levels (0-3) for confidence. Not very useful while researching but probably sufficient for a completed work.

> ## v.7.0.15 g7:enumset-QUAY

> ## v.5.5.1 : [CERTAINTY\_ASSESSMENT](https://gedcom.io/specifications/ged551.pdf#page=43):= {Size=1:1}
> 
> [0 | 1 | 2 | 3]  
> The QUAY tag’s value conveys the submitter’s quantitative evaluation of the credibility of a piece of  
> information, based upon its supporting evidence. Some systems use this feature to rank multiple  
> conflicting opinions for display of most likely information first. It is not intended to eliminate the  
> receiver’s need to evaluate the evidence for themselves.  
> 0 = **Unreliable** evidence or **estimated** data  
> 1 = **Questionable** reliability of evidence (interviews, census, oral genealogies, or potential for bias  
> for example, an autobiography)  
> 2 = **Secondary** evidence, data officially recorded sometime after event  
> 3 = **Direct and primary** evidence used, or by dominance of the evidence

---

<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:** [November 24, 2024, 7:17pm UTC](https://gramps.discourse.group/t/where-are-the-defaults-for-new-objects-defined/6488/2 "2024-11-24T19:17:10Z")

</div>

Why is it that Gramps’ values don’t correspond to the GEDCOM spec?

On the other hand, the GEDCOM values seem to be a mix of two different concepts. The difference between “Secondary” vs. “Direct and primary” is important to know, and such sources may correlate with greater reliability, but they don’t guarantee it.

I guess, as with so many things, the decision of what value to use depends on whether or not you intend to export the data, and what the receiving system does with it.

---

<div class="post-metadata">

**Author:** ![comeng](https://avatars.discourse-cdn.com/v4/letter/c/2acd7d/32.png) [@comeng](https://gramps.discourse.group/u/comeng)\
**Post date:** [November 24, 2024, 8:01pm UTC](https://gramps.discourse.group/t/where-are-the-defaults-for-new-objects-defined/6488/3 "2024-11-24T20:01:04Z")

</div>

Like a lot of things I gave up trying to make sense of the Confidence  
terminology  
So I settled for my own Quality terms in the form of Tags that I can use  
anywhere/everywhere

1. Pure Speculation
2. Not Proven
3. On Balance of Probabilities
4. Beyond Reasonable Doubt  
All relatively understandable in Plain English after all there appears  
to be no mathematical methodology for determining the quality of the  
data and it is therefore down to an individuals judgement call.  
phil

---

<div class="post-metadata">

**Author:** ![DaveSch](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/davesch/32/40_2.png) [@DaveSch](https://gramps.discourse.group/u/DaveSch)\
**Post date:** [November 24, 2024, 8:03pm UTC](https://gramps.discourse.group/t/where-are-the-defaults-for-new-objects-defined/6488/4 "2024-11-24T20:03:06Z")

</div>

> [@emyoulation](#):
>
> I want the default Confidence for a new Citation to be changed from `Normal` to `Low`

Edit `gramps\gen\lib\citation.py`

at [line 84](https://github.com/gramps-project/gramps/blob/f3724f046d90469ba849000ef9f17755200c44d1/gramps/gen/lib/citation.py#L84) (5.2.3)

`self.confidence = Citation.CONF_NORMAL # 4`

to

`self.confidence = Citation.CONF_LOW # 4`

---

<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:** [November 24, 2024, 8:22pm UTC](https://gramps.discourse.group/t/where-are-the-defaults-for-new-objects-defined/6488/5 "2024-11-24T20:22:57Z")

</div>

> [@emyoulation](#):
>
> I want the default Confidence for a new Citation to be changed from `Normal` to `Low`

Alternatively, you could change the description of the default value from “Normal” to “Not yet validated”. Otherwise, how will you distinguish between citations that you have already reviewed and deemed to be Low, versus those you haven’t yet reviewed?

---

<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:** [November 24, 2024, 8:29pm UTC](https://gramps.discourse.group/t/where-are-the-defaults-for-new-objects-defined/6488/6 "2024-11-24T20:29:33Z")

</div>

> [@GeorgeWilmes](#):
>
> Alternatively, you could change the description of the default value from “Normal” to “Not yet validated”. Otherwise, how will you distinguish between citations that you have already reviewed and deemed to be Low, versus those you haven’t yet reviewed?

Changing the description would be counter-productive.

Low just means they need more investigation. They need to been dismissed as `very low`, or gain the superficial approval (or neutrality) of `Normal`.

They cannot achieve `High` or `Very high` confidence without a substantial amount of research.

---

<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:** [November 24, 2024, 8:50pm UTC](https://gramps.discourse.group/t/where-are-the-defaults-for-new-objects-defined/6488/7 "2024-11-24T20:50:18Z")

</div>

> [@emyoulation](#):
>
> I want to change the default

New Object defaults in [`gramps/gen/lib`](https://github.com/gramps-project/gramps/blob/f3724f046d90469ba849000ef9f17755200c44d1/gramps/gen/lib/)

- [Person](https://github.com/gramps-project/gramps/blob/f3724f046d90469ba849000ef9f17755200c44d1/gramps/gen/lib/person.py#L91):
  - Type: Birth Name
  - Origin: Null (Should be based on Name guessing. e.g., Patrilineal )

- Family
  - Type: Unknown ([Family relationship override](https://github.com/gramps-project/gramps/blob/8ca2326523ca3093c3a07c0182804f2ad8c5cb00/gramps/gen/lib/familyreltype.py#L66) in Data tab of Preferences)

- Event (code [comments](https://github.com/gramps-project/gramps/blob/master/gramps/gen/lib/placetype.py#L41) indicate some kind of adaptive Event type based on the source)
  - Type: Birth (Person), Marriage (Family)
  - Role: Primary ([Person](https://github.com/gramps-project/gramps/blob/8ca2326523ca3093c3a07c0182804f2ad8c5cb00/gramps/gen/lib/eventroletype.py#L68)), Family (Family)

- [Place](https://github.com/gramps-project/gramps/blob/master/gramps/gen/lib/placetype.py#L41)
  - [Type](https://github.com/gramps-project/gramps/blob/8ca2326523ca3093c3a07c0182804f2ad8c5cb00/gramps/gen/lib/placetype.py#L70): Unknown

- Citation
  - [Confidence](https://github.com/gramps-project/gramps/blob/f3724f046d90469ba849000ef9f17755200c44d1/gramps/gen/lib/citation.py#L84): Normal

- Repository
  - [Type](https://github.com/gramps-project/gramps/blob/8ca2326523ca3093c3a07c0182804f2ad8c5cb00/gramps/gen/lib/repotype.py#L59): Library

- Note
  - Type: [General](https://github.com/gramps-project/gramps/blob/8ca2326523ca3093c3a07c0182804f2ad8c5cb00/gramps/gen/lib/notetype.py#L81) (adaptive if secondary to a object: \<object type\> Note)

- Attribute
  - [Attribute](https://github.com/gramps-project/gramps/blob/8ca2326523ca3093c3a07c0182804f2ad8c5cb00/gramps/gen/lib/attrtype.py#L71): Identification Number

- Internet
  - [Unknown](https://github.com/gramps-project/gramps/blob/8ca2326523ca3093c3a07c0182804f2ad8c5cb00/gramps/gen/lib/urltype.py#L54)

- Association
  - Association: Godfather _ **This is a superseded value** _ [Bug report 13509 filed](https://gramps-project.org/bugs/view.php?id=13509)

- LDS
  - Ordinance: Baptism ([Person](https://github.com/gramps-project/gramps/blob/8ca2326523ca3093c3a07c0182804f2ad8c5cb00/gramps/gen/lib/ldsord.py#L74)), Sealed to Spouse (Family)
  - [Status](https://github.com/gramps-project/gramps/blob/8ca2326523ca3093c3a07c0182804f2ad8c5cb00/gramps/gen/lib/placetype.py#L70): \<No Status\>

---

<div class="post-metadata">

**Author:** ![DaveSch](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/davesch/32/40_2.png) [@DaveSch](https://gramps.discourse.group/u/DaveSch)\
**Post date:** [November 24, 2024, 9:01pm UTC](https://gramps.discourse.group/t/where-are-the-defaults-for-new-objects-defined/6488/8 "2024-11-24T21:01:45Z")

</div>

Most defaults are set in `gramps\gen\lib\` and then the different files ending in `....type.py`. These files set up the defined Gramps types and usually there will be a line…

`_DEFAULT = LIBRARY` (this from repotype.py)

---

<div class="post-metadata">

**Author:** ![DaveSch](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/davesch/32/40_2.png) [@DaveSch](https://gramps.discourse.group/u/DaveSch)\
**Post date:** [November 24, 2024, 10:16pm UTC](https://gramps.discourse.group/t/where-are-the-defaults-for-new-objects-defined/6488/9 "2024-11-24T22:16:32Z")

</div>

> [@emyoulation](#):
>
> Association
> 
> - Association: Godfather

Godfather is hard coded as the only option. I changed all of mine to “Guardian”.

Edit `gramps\gui\editors\displaytabs\personrefembedlist.py`

If you search for “`ref.rel = _(`” you will find one “Godfather” and two “Unknown”.

I changed all three to “Guardian”. Now if I d-n-d a person into the list, the association will be Guardian instead of Unknown.

---

<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:** [November 24, 2024, 10:43pm UTC](https://gramps.discourse.group/t/where-are-the-defaults-for-new-objects-defined/6488/10 "2024-11-24T22:43:02Z")

</div>

> [@DaveSch](#):
>
> I changed all of mine to “Guardian”.

That may be imprudent. Godparent has no civil standing. It tends to be conferred as part of a Baptism or Christening.

But Guardian is a designation in Wills with legal standing. And the legal status is conferred in probate or by the State if parents are declared unfit or die intestate.

Regardless, I rarely use Godparent as an Association. But I’m not sure what would be a better, more common default Association.

---

<div class="post-metadata">

**Author:** ![DaveSch](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/davesch/32/40_2.png) [@DaveSch](https://gramps.discourse.group/u/DaveSch)\
**Post date:** [November 24, 2024, 11:30pm UTC](https://gramps.discourse.group/t/where-are-the-defaults-for-new-objects-defined/6488/11 "2024-11-24T23:30:57Z")

</div>

Most of my use of guardian are from colonial records when a guardian was selected for someone under age when the father died. The mother was often still living. The child often selected their guardian. The child often stayed living with their mother.

---

<div class="post-metadata">

**Author:** ![comeng](https://avatars.discourse-cdn.com/v4/letter/c/2acd7d/32.png) [@comeng](https://gramps.discourse.group/u/comeng)\
**Post date:** [November 25, 2024, 9:00am UTC](https://gramps.discourse.group/t/where-are-the-defaults-for-new-objects-defined/6488/12 "2024-11-25T09:00:51Z")

</div>

How about DNA the only one I use

> Regardless, I rarely use Godparent as an Association. But I’m not  
> sure what would be a better, more common default Association.

phil

---

<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:** [November 25, 2024, 6:00pm UTC](https://gramps.discourse.group/t/where-are-the-defaults-for-new-objects-defined/6488/13 "2024-11-25T18:00:11Z")

</div>

> [@comeng](#):
>
> How about DNA…?

I only have enough DNA data to test new features. And the DNA evaluation tools are all addons at this point. So “DNA” default Associations wouldn’t be something that I can endorse.

But… now you know where to look and can tweak the defaults for your instance of Gramps.

If you _ **do** _ make such a change, be certain to add a Note to your Placeholder person in Gramps about how to do the tweak and why. So when you upgrade Gramps and that tweak is wiped out, you have a better chance of remembering your customizations.

---

<div class="post-metadata">

**Author:** ![comeng](https://avatars.discourse-cdn.com/v4/letter/c/2acd7d/32.png) [@comeng](https://gramps.discourse.group/u/comeng)\
**Post date:** [November 25, 2024, 7:19pm UTC](https://gramps.discourse.group/t/where-are-the-defaults-for-new-objects-defined/6488/14 "2024-11-25T19:19:22Z")

</div>

Thanks Brian

Was just being a little cheeky mods already made and noted.

phil

---

<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:** [November 25, 2024, 7:33pm UTC](https://gramps.discourse.group/t/where-are-the-defaults-for-new-objects-defined/6488/15 "2024-11-25T19:33:52Z")

</div>

Cool. Just converted [the list](https://gramps.discourse.group/t/where-are-the-defaults-for-new-objects-defined/6488/7) to a Wiki.

If anyone wants to add links to the specific line numbers for where a default is defined, that would be great.

For example, from the @DaveSch hint, I found and linked the “Primary” role for the Events under Persons. But have not found the “Family” role for Events under Families

[gramps/gen/lib](https://github.com/gramps-project/gramps/blob/f3724f046d90469ba849000ef9f17755200c44d1/gramps/gen/lib/)

---

<div class="post-metadata">

**Author:** ![DaveSch](https://yyz2.discourse-cdn.com/free1/user_avatar/gramps.discourse.group/davesch/32/40_2.png) [@DaveSch](https://gramps.discourse.group/u/DaveSch)\
**Post date:** [November 25, 2024, 10:03pm UTC](https://gramps.discourse.group/t/where-are-the-defaults-for-new-objects-defined/6488/16 "2024-11-25T22:03:51Z")

</div>

> [@emyoulation](#):
>
> I found and linked the “Primary” role for the Events under Persons. But have not found the “Family” role for Events under Families

`gramp\gen\lib\eventroletype.py`

Lines 71-81 (5.2.3)

```python

    def is_primary(self):
        """
        Returns True if EventRoleType is PRIMARY, False otherwise.
        """
        return self.value == self.PRIMARY

    def is_family(self):
        """
        Returns True if EventRoleType is FAMILY, False otherwise.
        """
        return self.value == self.FAMILY

```

---

<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:** [November 25, 2024, 11:56pm UTC](https://gramps.discourse.group/t/where-are-the-defaults-for-new-objects-defined/6488/17 "2024-11-25T23:56:11Z")

</div>

> [@DaveSch](#):
>
> Lines 71-81 (5.2.3)

Aren’t those the compares to see if then Events are part of the Person or Family’s timelines rather than the defaults.

Thanks for the feedback. The new Event list had the default ‘Primary’ role cross-linked to the Attributes Types module. It is fixed and set to Line 68 now.

> <https://github.com/gramps-project/gramps/blob/8ca2326523ca3093c3a07c0182804f2ad8c5cb00/gramps/gen/lib/eventroletype.py#L68>

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/free1/uploads/gramps/original/1X/2ac1e712b7adf612e31ca08a55419f4cf37c0158.png) [@system](https://gramps.discourse.group/u/system)\
**Post date:** [December 25, 2024, 11:56pm UTC](https://gramps.discourse.group/t/where-are-the-defaults-for-new-objects-defined/6488/18 "2024-12-25T23:56:19Z")

</div>

Closed on December 25, 2024, 11:56pm UTC

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
