Set a source to be automatically added to created entries? [Source-based processing]

Adding the very same citation to the entries I register seems to be overly tedious. In my case, a single marriage event means ~40 datapoints (see below) where each has to individually receive the very same citation of the very same source. Sharing the same source among them is still ~40 unnecessary mouse moves.

Is there a solution where I set a source active and then whatever I add to Gramps automatically receives the source as citation? Already existing entries, when edited, should receive the source in addition to existing citations (i.e. be sure not replace existing ones). If no solution exist, is there already a request filed that I can support?

I vaguely remember reading about this request earlier here, but could not find it now. Here is however a relevant StackExchange.Genealogy & Family History post that describes source-based processing.

A worst case estimate of datapoints from a single marriage event from a registry that all need to be cited with the same source:

  • persons (6): groom, bride, 4 parents
  • events (15): marriage, residence (6), birth dates of groom and bride (2), death dates of parents (4), prior marriages of groom and bride (2)
  • attributes (12): religion (6), occupation (6)
  • FAMS (5): groom-bride, parent families (2), prior marriages (2)
  • FAMC (2): groom, bride
  • associations (3): witnesses (2), minister (1)

In total: 43, not counting notes or further attributes. Yes, 10 entries is a more reasonable estimate, but when one has to process 1000+ marriages, that is still a lot of unnecessary clicks.

1 Like

I hadn’t thought about it like this, but I guess a marriage could drive those entries.
I only add the marriage citation in the family record of the couple. I don’t add guests or other persons who attend the marriage because they have no connection to the family tree.
Adding the new person to the tree (bride or groom) then means adding parents and siblings, however, the marriage citation is not included with those records.
I don’t understand how you would automate this based on a marriage citation. Every person has their own events which have their own citations.

There’s an add-on Forms, that can be used for multiple updates - primarily censuses.
@RenTheRoot has worked on enhancing the Forms add-on, but I’m not sure how this is proceeding. The Forms might not be the solution for your case, but take a look here:
https://gramps-project.org/wiki/index.php/Addon:Forms_Gramplet

1 Like

The biggest problem is if you add all these not related to your family,
your tree will end up with hundreds of disconnected people what a mess I
have been there when doing the census I now do not add servants,
visitors, lodgers etc etc as people but have created a notes field in
the Details Section of my Form where I can input them.
On marriages if the witnesses are not related again I do not add them as
people but as Witnesses in the Headings Section of my Form.
No idea how you would add that many individuals to a wedding event
unless you used a Note. Added complication in UK at one time witnesses
were paid by the church and you could have dozens of marriages with the
same witnesses all unrelated
phil

Several of these can just use non-primary (and non-Family) Roles in a shared Marriage or Marriage License Event. Then the Citation for that Event carries through to the participants.

That is better than the Association because the Event also carries a Date and Place content.

And Events attached to a Family with a “Family” role apply equally to the Bride and Groom (but not any children). So you need not redundantly attach the event to those persons.

I’ve installed this [Forms] addon, and have followed the instructions given on the linked page (and in a video). However, after generating an initial Source form with the necessary Attribute key-value pair, the “Source” drop-down menu in the “Select Form” window is still totally empty. It does not even contain any US census forms that I expected to be there as the defaults. Any idea what causes this?

Try
Add Source “test”
Add Attribute
Type = Form
Value = US1930
It should find it if the file is there
phil

Ok, now I see that I can only refer to a form via an Attribute that is already stored as an xml file, thanks @comeng. That was not clear from the description.

Yes, I was pondering of this option (sharing Marriage with non-primary participants), but I have a problem with this approach. Perhaps you can help me figure out how to do it in a sensible way.

Let’s suppose there is a marriage event which, additionally to the standard data (bride, groom, parents, …) states some extra information, e.g. groom was 24 yo, living at X street, father was a soldier at the time. So I store the marriage event with Description including information directly relating to the event (e.g. the couple was promulgated 3 times). But I do NOT want to store groom- or father-specific (or any Person-specific) information in the event’s Description, as it would quickly grow too large, and I’d have to explain to whom each bit of information belongs to. Also, it would be unreadable at a glance in a Person’s Events list. Unfortunately, when I share the Marriage event with the father (with Role=Father) as he was presumably attending, I cannot add a father-specific Description to the event, as it already has its Description defined above. So I have no way to share the event AND specify role-dependent Description for the different participants.

So I end up adding independent events (Residence, Occupation, etc.) to the groom and father (and others having extra info) that holds information relevant only for them. I do not see how I can link up all this information in a single shared event without losing the benefit of easily glance through residences and occupations in the Events list of a Person or Family. Which brings me to my original question, of how to avoid clicking so many times adding the same citation to all these events.

What do you think of this? Am I missing some obvious solution here?

If you wanted to try Forms and look at creation of your own in
custom.xml this is a copy of mine to play with

 <heading>

   <_attribute>Cert No./Page</_attribute>

 </heading>

 <heading>

   <_attribute>Entry Number</_attribute>

 </heading>

 <heading>

   <_attribute>Banns/Licence</_attribute>

 </heading>

 <heading>

   <_attribute>Registration District</_attribute>

 </heading>

 <heading>

   <_attribute>Solemenized At</_attribute>

 </heading>

 <heading>

   <_attribute>Solemenized By</_attribute>

 </heading>

 <heading>

   <_attribute>Witnesses</_attribute>

 </heading>

 <heading>

   <_attribute>Parish Of</_attribute>

 </heading>

 <heading>

   <_attribute>County</_attribute>

 </heading>

 <section role="Family" type="family" title="Groom/Bride">

   <column>

     <_attribute>Name</_attribute>

   </column>

   <column>

     <_attribute>Signed</_attribute>

   </column>

   <column>

     <_attribute>Age</_attribute>

   </column>

   <column>

     <_attribute>Condition</_attribute>

   </column>

   <column>

     <_attribute>Occupation</_attribute>

   </column>

   <column>

     <_attribute>Residence</_attribute>

   </column>

 </section>

 <section role="Groom Father" type="person" title="Groom's Father">

   <column>

     <_attribute>Name</_attribute>

   </column>

   <column>

     <_attribute>Deceased</_attribute>

   </column>

   <column>

     <_attribute>Occupation</_attribute>

   </column>

 </section>

 <section role="Bride Father" type="person" title="Bride's Father">

   <column>

     <_attribute>Name</_attribute>

   </column>

   <column>

     <_attribute>Deceased</_attribute>

   </column>

   <column>

     <_attribute>Occupation</_attribute>

   </column>

 </section>

 <section role="Witness" type="multi" title="Witnesses">

   <column>

     <_attribute>Name</_attribute>

   </column>

   <column>

     <_attribute>Signed</_attribute>

   </column>

 </section>
phil

I want to stay on topic by further elaborating on my struggles, but I might digress from the title. Please indicate it, and I will gladly break this off to another topic.

My method of data collection has evolved to the point where I can much more efficiently type all relevant data continuously into a text file (using my own conventions and abbreviations) than manually adding any entry/form to Gramps. As a result, my database sereously lags behind my text notes. So, instead of setting a source to be automatically added to registered entries, I was wondering if it is more straightforward to format my notes to proper input and then mass-import them into Gramps.

I can easily process my notes to any format and denote already existing entries with proper IDs (so merging should be straightforward and without issues). Is it possible to programmatically add a lot of entries, given the IDs are resolved hence merging should be unambiguous? What is the best way to import processed and curated data into Gramps that automatically handles merging?

It might be useful to have a “Source Mode” button in the notes so that you can paste formatted text with the link pointing to the ID of the person or event (or any other Gramps object). This would allow you to format in an external editor and copy text and tags into the Gramps source mode editor. Obsidian has this, allowing you to access the Markdown code of any page, it’s really useful sometimes:

Reading mode:

Source mode:

1 Like

This dovetails into another “bluesky” discussion about Natural Language Processing. You are speaking doing the same ‘noun’ isolation portion manually.

The linker in the in Note Editor and the marquee tagger in the photo tagging gramplet share a lot of conceptual functionality. Both similarly both fall short of supporting convenient workflows.

In the photo tagger, you draw marquee rectangles and a list appears down the right side where it must be associated with a Person object.

In the Linker of the Note Editor, you highlight a block of text and select an object (of any type) with that text.

Both are part of the way there for work flow. In each, you do one-by-one linking. (You cannot outline your workflow – highlight everything to create a worklist, then process the list by grouping/prioritizing or annotating before linking.) And while the phototagger supports face detection on some OSes, the Note Linker neither has NLP noun detection nor the convenient linked list in a side pane.

And the Note Linker has a nasty bug where it overwrites any clipboarded data with the highlighted text. (I suppose it might be a feature intended to help with pastable text for searching in the object selector. But that could/should have be done with another mechanism rather than overwriting the clipboard.)

@zed
I had the same questions as you, because I also record not only the bride and groom in marriages, but other individuals as well. In my case, they are often relatives, and this helps build the family tree more accurately in places where assumptions have to be made. Although I probably have fewer than 40 places where I attach the same citation, it’s still quite a lot—around 20, I think. So far, I haven’t found a good solution and still do this work manually. The Forms addon doesn’t work for me. I was really counting on the improved version of that addon from @RenTheRoot. Unfortunately, it seems that development on it is currently on hold.

I also wanted to automate this with my own code and even took some initial steps in that direction, but I quickly realized there are too many exceptions to the rules for it to be fully automated. I still believe it’s possible, but the logic of that code would be so complex that I’d have to manually review its results every time anyway.

1 Like

@kku created a Note Markdown trimmer script for SuperTool that might be a foundation for link highlighter feature.

The script generates a list identifying all the markdown in a Note with an option to purge selected items.

If there was a similar option to convert selected items to a linking worklist, it would streamline the linking process.

Hello,

New to Gramps, I too was negatively impressed by the complexity (number of clicks) of entering an event with witnesses (not to mention the risk of forgetting a relationship).
Then I discovered the forms function, which is similar to the “entry from document” function in my current software.

I saw tutorials on YouTube for using and customizing forms.
However, these tutorials are several years old, and I can’t find the custom forms in question (I’m using Windows).

Where are they hidden?

You must create your own form definitions in custom.xml, a file you can find in your %AppData%\gramps\gramps60\plugins\forms directory (I think, but as I am not facing my PC, if it don’t work try %AppData%\gramps and find gramps[version]\addons or plugins\forms)

My file looks like this: https://www.dropbox.com/scl/fi/rvqxtkh30tvtzkm28qjjm/custom.xml?rlkey=n2jolzcman9gng344l2zuc3br&st=2q2g11ng&dl=0

1 Like

I don’t know if automation would be a good solution? Textual analysis of a source can be so rich, especially in marriage certificates, that I try to enter every piece of information into Gramps (witness, presence, profession, age, etc.). This is how we accumulate clues for future research… So, no external note-taking. It’s certainly demanding… But I just wanted to point out the existence of the Gramplet Recent Item, which was the subject of a discussion thread Add a "Recent" sub-menu - #87 by kku Considerably improves the case of repetitive entry. Just for information.

2 Likes

I believe that Gramps would benefit greatly from having a visual form builder or at least a text-based form constructor that allows users to perform tasks like the following:

For example, a researcher wants to add several hundred marriages. They could fill in data — either through a CSV file (similar to what the “Forms” addon uses) or via a gramplet interface. Then, with a single click, all the entered information would generate actual records: people, events (such as birth date estimation, marriage, residence, military service, etc.), attributes (like social status), associations (e.g. witnesses), and so on — all properly linked together.

Why a form builder? Because each type of document — or even regional differences — might require specific rules for how the system should interpret the input.
Some users may want to create a Residence event, others may not.
Some may want to add social status attributes, others may ignore them.
Some may calculate birth years based on age at marriage, others might not.

It’s similar in spirit to the Forms addon, but instead of just importing data, this feature would create real Gramps objects — people, events, attributes, associations, etc.

This would be an excellent compromise, combining user-friendliness with the flexibility and power that Gramps already offers.

2 Likes

@RenTheRoot is in the process of adding rules to the Form addon. I think that they are going to be called templates and will allow conclusion objects to be created from the information that we currently record.

A full visual form builder will probably not be included in the first release though.

1 Like