A new WebSearch gramplet is ready

Thank you!

@emyoulation also the updated link and broken regular expression fix will be available in the new release.

Now I’m preparing the release and PRs to 5.2 and 6.0.

1 Like

this worked well. It is a separate listing for a Maiden name search. And, since a lot of the maiden name data is approximated from census data, with birth and death years having a ±1 year accuracy :
People,Find A Grave (Maiden),1,https://www.findagrave.com/memorial/search?firstname=%(given)s&middlename=%(middle)s&lastname=%(surname)s&birthyear=%(birth_year)s&birthyearfilter=1&deathyear=%(death_year)s&deathyearfilter=1&includeMaidenName=true

and sorted the services alphabetically:

Navigation type,Title,Is enabled,URL                                                                                                                                         ,Comment
People,Find A Grave,1,https://www.findagrave.com/cgi-bin/fg.cgi?page=gsr&GSfn=%(given)s&GSmn=%(middle)s&GSln=%(surname)s&GSby=%(birth_year)s&GSbyrel=in&GSdy=%(death_year)s&GSdyrel=in&GScntry=0&GSst=0&GSgrid=&df=all&GSob=b,
People,Find A Grave (Maiden),1,https://www.findagrave.com/memorial/search?firstname=%(given)s&middlename=%(middle)s&lastname=%(surname)s&birthyear=%(birth_year)s&birthyearfilter=1&deathyear=%(death_year)s&deathyearfilter=1&includeMaidenName=true
People,FindMyPast,1,https://www.findmypast.com/search/results?firstname=%(given)s&firstname_variants=true&lastname=%(surname)s&eventyear=%(birth_year)s&eventyear_offset=2&yearofdeath=%(death_year)s&yearofdeath_offset=2&sid=999,Account Login: free
People,Geneanet (favrejhas),0,https://gw1.geneanet.org/index.php3?b=favrejhas&m=NG&n=%(surname)s&t=N&x=0&y=0,
People,Hathi Trust,1,https://babel.hathitrust.org/cgi/ls?q1=%(surname)s+%(given)s+&lmt=ft&a=srchls,
People,Legacy,1,https://www.legacy.com/search?countryId=366899&countryUrl=united-states-of-america&dateRange=All&firstName=%(given)s&lastName=%(surname)s,
People,Roglo,1,https://roglo.eu/roglo?m=NG&n=%(given)s+%(surname)s&t=PN,
People,WeRelate,1,https://www.werelate.org/wiki/Special:Search?sort=score&ns=Person&a=&st=&g=%(given)s+%(middle)s&s=%(surname)s&p=&bd=%(birth_year)s&br=1&bp=&dd=%(death_year)s&dr=1&rows=20&ecp=c,
People,Wikipedia,1,https://en.wikipedia.org/w/index.php?search=%(given)s+%(surname)s,
People,WikiTree,1,https://wikitree.sdms.si/function/WTWebProfileSearch/Profiles.htm?&Query=%(given)s+%(surname)s+B%(birth_year)s+D%(death_year)s&MaxProfiles=500&SortOrder=Default&PageSize=10,
1 Like

Two PRs are created:
[WebSearch] 5.2 updates including issue https://gramps-project.org/bugs/view.php?id=13751 by jurchello · Pull Request #702 · gramps-project/addons-source · GitHub (for Gramps 5.2)
[WebSearch] 6.0 updates including issue https://gramps-project.org/bugs/view.php?id=13751 by jurchello · Pull Request #703 · gramps-project/addons-source · GitHub (for Gramps 6.0)

1 Like

Got it. Thank you for the update. It will be added on the next release. I think we no need release it as hotfix.

1 Like

It will be a

The maiden name “Find A Grave” in that update does not work.

But you are right, since it is a tweak, it can wait wait for the next release rather than a hotfix.

But the revised CSV will be a good file for learning about configuring a personal library of WebSearch JSONs and CSVs.

1 Like

The new release with fixes should be already available via Gramps manager

1 Like

3 new tasks are closed:

  • 1 new feature (interaction with the ‘Internet’ tab),
  • 1 csv update (@emyoulation)
  • 1 small bugfix.

The new release will be later. This update doesn’t contain some critical fixes or urgent tasks, so I wouldn’t like make pull requests very often. I think we need wait at least several weeks. Maybe new tasks or bugs will be reported and implemented during the next weeks.
Anyway you can download the newest zip here: https://github.com/jurchello/WebSearch/archive/refs/heads/main.zip
I would be grateful for the new feature testing.


2025-04-05_20-46-28

1 Like

Here is a sample file with a variety of UID custom attributes to use while experimenting with the WebSearch gramplet. Read the To Do note for an introduction. Save as a .gramps file which can be imported; or, paste into the Import Text addon gramplet.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE database PUBLIC "-//Gramps//DTD Gramps XML 1.7.1//EN"
"http://gramps-project.org/xml/1.7.1/grampsxml.dtd">
<database xmlns="http://gramps-project.org/xml/1.7.1/">
  <header>
    <created date="2025-04-05" version="5.2.4"/>
    <researcher>
      <resname>Gramps Project</resname>
    </researcher>
  </header>
  <events>
    <event handle="_ece15d7c34c4804a307209872cc" change="1627829396" id="E86597">
      <type>Elected</type>
      <datespan start="1789" stop="1797"/>
      <description>President of the United States; 1st</description>
    </event>
    <event handle="_ece15f13bbeb7b7d1e244861c4" change="1743895014" id="E86598">
      <type>Birth</type>
      <dateval val="1732-02-22"/>
      <place hlink="_fdc526d5a3716743ce54b86a5a4"/>
    </event>
    <event handle="_ece15f1e05a31826a50b1e5f3cb" change="1743895151" id="E86599">
      <type>Death</type>
      <dateval val="1799-12-14"/>
      <place hlink="_fdc528223a02505174e7ad76b9b"/>
    </event>
  </events>
  <people home="_ecb8b8029934bacc832580ea41d">
    <person handle="_ecb8b8029934bacc832580ea41d" change="1743895069" id="IUS_P001">
      <gender>M</gender>
      <name type="Birth Name">
        <first>George</first>
        <surname>Washington</surname>
        <title>Pres.</title>
      </name>
      <eventref hlink="_ece15f13bbeb7b7d1e244861c4" role="Primary"/>
      <eventref hlink="_ece15d7c34c4804a307209872cc" role="Primary"/>
      <eventref hlink="_ece15f1e05a31826a50b1e5f3cb" role="Primary"/>
      <attribute type="billiongraves.memorial" value="President-George-Washington/27950659"/>
      <attribute type="myheritage.profile" value="https://www.myheritage.com/names/george_washington"/>
      <attribute type="geneastar.profile" value="https://en.geneastar.org/genealogy/washington/george-washington"/>
      <attribute type="_FSFTID" value="KNDX-MKG"/>
      <attribute type="FacebookID" value="groups/193364160767563"/>
      <attribute type="FindAGraveID" value="1075"/>
      <attribute type="FindAGraveID" value="6781"/>
      <attribute type="GeneeeID" value="george/washington"/>
      <attribute type="GeniID" value="George-Washington-1st-President-of-the-United-States/6000000008211776777"/>
      <attribute type="GNDID" value="54-0564701"/>
      <attribute type="GNDIDd" value="017521185"/>
      <attribute type="InstagramID" value="@mount_vernon"/>
      <attribute type="LinkedInID" value="company/mountvernon/"/>
      <attribute type="RogloID" value="1825727"/>
      <attribute type="VIAFID" value="31432428"/>
      <attribute type="WeRelateID" value="George_Washington_(6)"/>
      <attribute type="WikidataID" value="Q23"/>
      <attribute type="WikipediaID" value="George_Washington"/>
      <attribute type="WikiTreeID" value="Washington-11"/>
      <childof hlink="_ece15f626917b148446cac84abb"/>
    </person>
    <person handle="_fdc52711f2d190857917727f62c" change="1743895069" id="I000000">
      <gender>F</gender>
      <name type="Birth Name">
        <first>Mary</first>
        <surname>Ball</surname>
      </name>
      <parentin hlink="_ece15f626917b148446cac84abb"/>
    </person>
    <person handle="_fdc5274b9114fe2bc9e8bb41e74" change="1743895069" id="I000001">
      <gender>M</gender>
      <name type="Birth Name">
        <first>Augustine</first>
        <surname>Washington</surname>
      </name>
      <parentin hlink="_ece15f626917b148446cac84abb"/>
    </person>
  </people>
  <families>
    <family handle="_ece15f626917b148446cac84abb" change="1743895069" id="F0000">
      <rel type="Married"/>
      <father hlink="_fdc5274b9114fe2bc9e8bb41e74"/>
      <mother hlink="_fdc52711f2d190857917727f62c"/>
      <childref hlink="_ecb8b8029934bacc832580ea41d"/>
      <noteref hlink="_fdc5193861f3483e640c4772e79"/>
    </family>
  </families>
  <sources>
    <source handle="_fdc52f50e2430b0da6d7796eeab" change="1743896700" id="S0000">
      <stitle>George Washington</stitle>
      <sauthor>Thayer, William Roscoe, 1859-1923</sauthor>
      <spubinfo>Boston, New York, Houghton Mifflin Company, 11 June 1922</spubinfo>
      <reporef hlink="_fdc52f4a1263d0193dc555e53bc" callno="https://www.gutenberg.org/ebooks/12540" medium="Book"/>
    </source>
  </sources>
  <places>
    <placeobj handle="_fdc52630a37397323f1c6265c5" change="1743894954" id="P0000" type="Country">
      <pname value="USA">
        <dateval val="1776-07-04" type="after"/>
      </pname>
      <pname value="British Colonial America">
        <dateval val="1776-07-04" type="before"/>
      </pname>
    </placeobj>
    <placeobj handle="_fdc5265674d68c68291fd5abdb6" change="1743894959" id="P0001" type="State">
      <pname value="Virginia"/>
      <placeref hlink="_fdc52630a37397323f1c6265c5"/>
    </placeobj>
    <placeobj handle="_fdc52663d953b073d35a896fd2d" change="1743894965" id="P0002" type="County">
      <pname value="Westmoreland County"/>
      <placeref hlink="_fdc5265674d68c68291fd5abdb6"/>
    </placeobj>
    <placeobj handle="_fdc526d5a3716743ce54b86a5a4" change="1743895489" id="P0003" type="Farm">
      <pname value="Wakefield plantation"/>
      <coord long="-76.9202" lat="38.1839"/>
      <placeref hlink="_fdc52b0498f5df1da31a8c92c5d"/>
    </placeobj>
    <placeobj handle="_fdc52814228792c869f11bf8ed1" change="1743895705" id="P0004" type="County">
      <pname value="Fairfax county"/>
      <placeref hlink="_fdc5265674d68c68291fd5abdb6"/>
    </placeobj>
    <placeobj handle="_fdc528223a02505174e7ad76b9b" change="1743895710" id="P0005" type="Farm">
      <pname value="Mount Vernon Estate"/>
      <coord long="-77.08872" lat="38.70686"/>
      <placeref hlink="_fdc52814228792c869f11bf8ed1"/>
    </placeobj>
    <placeobj handle="_fdc52b0498f5df1da31a8c92c5d" change="1743895717" id="P0006" type="Town">
      <pname value="Colonial Beach"/>
      <placeref hlink="_fdc52663d953b073d35a896fd2d"/>
    </placeobj>
  </places>
  <repositories>
    <repository handle="_fdc52f4a1263d0193dc555e53bc" change="1743896371" id="R0000">
      <rname>Project Gutenberg</rname>
      <type>Archive</type>
      <url  href="https://catalog.loc.gov/vwebv/search?searchCode=LCCN&amp;searchArg=2010019154&amp;searchType=1&amp;permalink=y" type="Web Home"/>
    </repository>
  </repositories>
  <notes>
    <note handle="_fdc5193861f3483e640c4772e79" change="1743894623" id="N0000" type="To Do">
      <text>This is a test file for Unique Identifiers (of online databases) to be leveraged by the 2025 WebSearch addon gramplet by Yurii Liubymyi
For use with the Gramps open-source genealogical software 

It has a variety of Custom Attributes attached the George Washington 1732-1799 Person object. This historical figure was selected because of the sheer quanitity of digital data availble for him. Both in historical records and in currently active organizations. 

The GitHub repository is at : https://github.com/jurchello/WebSearch and its README.md documentation.

Gramps Community Support threads exist on Discourse social forum:
- https://gramps.discourse.group/t/a-new-websearch-gramplet-is-ready/7188/229

5 Apr 2025
</text>
      <style name="bold">
        <range start="93" end="102"/>
        <range start="121" end="136"/>
        <range start="153" end="159"/>
      </style>
      <style name="link" value="gramps://Person/handle/ecb8b8029934bacc832580ea41d">
        <range start="247" end="274"/>
      </style>
      <style name="link" value="https://github.com/jurchello/WebSearch">
        <range start="489" end="527"/>
      </style>
      <style name="link" value="https://gramps-project.org/blog/download/">
        <range start="153" end="193"/>
      </style>
      <style name="link" value="https://gramps-project.org/wiki/index.php/Addon:WebSearch#Additional_Features">
        <range start="93" end="117"/>
      </style>
      <style name="link" value="https://gramps.discourse.group/t/a-new-websearch-gramplet-is-ready/7188/229">
        <range start="630" end="705"/>
      </style>
      <style name="link" value="https://https://github.com/jurchello/WebSearch/blob/main/README.md">
        <range start="536" end="545"/>
      </style>
    </note>
  </notes>
</database>
1 Like

I (unsuccessfully) tried the “Alternative Approach: Using a Generalized Rule” in the
https://github.com/jurchello/WebSearch/blob/websearch-gramps60/README.md to try to convert the following pattern to a UID in my personal collection.

https://www.familysearch.org/tree/lite/person/KNDX-MKG

You already use the JSON portion using a FamilySearch.personID in example 2. Perhaps you could expand that example to include the “lite” lightweight (text only) FamilySearch profile webpage in the CSV portion?

1 Like

I will add “lite” to the collection. But maybe you can show how did you try to do this? Maybe my README instruction is unclear and I can extend it based on your case?

Do you suggest to add this instruction to the Websearch README ? Is it working? I’m not sure because instead of one not easy gramplet (Websearch) users must try to use two not easy gramplets (Websearch + xml Import). Additionally, this is import for testing only. Anybody can run it on the Main database. Or not? Could you explain pls?

It is just a test tree with enough data to exercise the WebSearch.

(The problem with starting from scratch is that users are unsure what is causing the problem when a test does not work. Did they mispell the attribute name? Is it case sensitive? Did they enter an invalid value? Are they in the wrong category? Do they have the wrong configuration selections?)

It is just an importable file that eliminates those confusions.

It also places the Attribute Name in the pull-down menu

1 Like

example2 has the JSON described but not the CSV. Since it needs both parts to do anything, this makes a complete example.

1 Like

Got it. So, we can add it to the README, right? And I think I can insert xml as a separate .gramps file into the data directory of the Websearch project. So, users can download ready .gramps file instead of creating a new one with copy/paste xml from README

I’ve added lite url to the list. It will be available in the next release:



I’ve imported it as a separate tree. It is a very good demonstration! I will add it to the project. Thank you!

@emyoulation can I also ask you to add any static links to the Internet tab and then export it as 5.2.4.

I already have 6.0, but I think 5.x version is better to support older versions.

1 Like

A minor issue, maybe not even an issue…

The ISO-639 language code for Swedish is ‘sv’ and the ISO-3166 country code for Sweden is ‘SE’.

The WebSearch flag icons are named after the country codes, the Swedish flag is thus named se.png

But: when running gramps with Swedish menus (using export LANG=sv_SE.UTF8), San Salvador’s flag (sv.png) shows up in my WebSearch gramplet.

This is purely cosmetic and no big deal. Since I have no relation to San Salvador, I’ve simply copied/overwritten se.png to sv.png.

Since country codes and language codes differ, I don’t know if this can be fixed at all. If too big an obstacle, please don’t bother.

1 Like

The running language should not have affect to the flags. The script businesslogic is the next:

  1. script exctracts the code from the csv file name. For example, in filename is “sv-links.csv” then the extracted code will be sv.
  2. it shows a flag icon with the same code.

So, I think the better solution is to rename the “sv-links.csv” file to “se-links.csv”. In this case Websearch will show se icon flag. @hamkg does it make sence? can you test this solution on your side? what do you think, is this solution correct? Looks like, all others csv files have country codes, and only SV is language code.

Now in WebSearch we have:

I think sv csv file should be renamed to se :thinking:.

Yes, renaming ‘sv-links.csv’ to ‘se-links.csv’ works fine, although I also had to edit the /.local/share/gramps/gramps60/plugins/WebSearch/configs/config.ini file:
enabled_files=[‘sv-links.csv’, ‘common-links.csv’] > enabled_files=[‘se-links.csv’, ‘common-links.csv’]

1 Like