I’ve implemented a new Gramps “UAWebPack” addon. It shows Ukrainian sources in the context menu. The default lang is English, and a Ukrainian locale is added:
I also have some observations about the libwebconnect library:
Some improvements could significantly expand the capabilities of my addon and others. In some existing addons, I saw commented-out attempts to use the “place” variable in the context menu on the Place tab. I also intended to do this, but libwebconnect does not have an implementation for Place, only Person. Is there any plan to improve this library? I even tried adding a Place implementation by analogy, but the context menu does not appear on the Place tab. Is it blocked at the core Gramps level?
The library explicitly overwrites the setting:
config.register("behavior.middle-name", "remove")
However, for Ukrainian names, “separate” mode would be more relevant:
@Urchello You should submit the source code to the addons-source repository. We will then build it for you and publish the tgz with updated listings in the addons repository.
Yes. See pull request #2008 which enables the Web Connection menu in all list views. It is a small change, but we would not normally allow this in a maintenance branch.
Changes to the libwebconnect library would also be required, but these could be done outside of the core development cycle.
This setting is specific to the libwebconnect library. It is possible to change the setting, but it would affect all web connection addons.
The setting is never changed, so there is certainly room for improvement here.
@Urchello , I found the WebConnect to be very useful when fresh. But it is highly susceptible to linkrot and the UI being a scrollable submenu of a Context Menu is awkward.
Perhaps you might consider converting it to a Gramplet? Or a Tool that adapts to the current Category, like SuperTool does.
And it could use the same lists system that @kmikkels uses for the Historical Context gramplet with selectable external CSV files ? That would allow reducing compacting to a single Addon instead of a core module plus language packs. And make maintenance less painful too.
Yes, I think, now I have enough skills to make it. I also thought about something similar but in a bit another way:
We could use a single WebPack addon with an identical structure, but the WEBSITES = [...]
list would be configured in a JSON file inside the package and would contain locale-based keys.
If the user’s locale matches a key in the JSON file, the corresponding website list will be used. If there is no match, a default list will be loaded—for example, including well-known resources like FamilySearch and MyHeritage, which are useful for everyone. We even can move this json configuration to a separate file. In this case we will work via context menu as is.
But what is better, context menu vs gramplet in sidebar ? As for me context menu is better here. But long lists are not good… Is it possible make nested context menu from the addon?
When using US Web Connect lookups (while logging cross-references), I tended to do 3 or 4 look ups in a row: FindAGrave, FamilySearch, WikiTree, MyHeritage, and so on.
So that was a LOT of fussy Context Menu navigating for each Person. I’d much rather a Tool or Gramplet where I can work down the list efficiently.
return {
"first": first or "",
"middle": middle or "",
"surname": surname or "",
"birth_year": self.get_birth_year(person) or "",
"death_year": self.get_death_year(person) or "",
"birth_place": self.get_birth_place(person) or "",
"death_place": self.get_death_place(person) or "",
}
Since these gramplets can be detached/undocked and can key off different (Person, Place) objects, there should be a disambiguation header line indicating the object being used for the lookup: Person or Place
Agreed. That is obvious to the creator of the gramplet, but not necessarily obvious to users. You have a Category column. Perhaps a Person or Place icon could be prefixed to the Category?