Internal Server prerequistes and the new Addon Manager

Is there an appropriate Prerequisite (Depends_on) filtering option that can be leveraged to preclude offering add-ons that would conflict with a Gramps fork?

Example:
The Gramps Web fork by @DavidMStraub is a server implementation. But the Deep Connections Graph dashboard addon by @kku and Interactive Family Tree by @PeWu both depend on spawning an internal server. So It seems like that might cause a conflict with the GrampsWeb server. What kind of Prerequisite so be in the .gpr.py for the addons?

@daleathan has a comment in the GitHub thread discussing the New Addon Manager with a lot of reference links:
[] for addon prerequistes have a look at converting them to use "depends_on = " like in the following addons

In a similar vein, registering Network/Internet access as a prerequisite would increase confidence that the application is not doing ‘bad things’
Whenever plugins that send/receive Packets are active, it might activate a Process-specific activity monitor (with Lock?) in the status bar.

An obvious example is the Headline News gramplet. There are no prerequisites registered for it.

.gpr.py registration would have the drawback of being voluntary participation. And that participation requires awareness that the option is available.

Although there are things like pytest-socket that affect all Python’s socket interface traffic.

Beckoning rabbit holes :

  • Blinky is a tool in C that uses a GtK gadget to show packet traffic.
  • simplemonitor is a Python-based network and host monitor

The plugin data optionally contains the following fields:

  1. depends_on This is a list a Gramps plugins that the plugin depends on. They will be installed along with the plugin.

  2. requires_mod This is a list of external python modules required by the plugin. By setting a configuration option, Gramps will automatically attempt to install them using PyPI.

  3. requires_exe This is a list of external executables required by the plugin. They cannot be automatically installed, but Gramps can display them in a list of requirements.

  4. requires_gi This is a list of GObject introspection modules required by the plugin together with the required versions. Like the executables, they cannot be automatically downloaded.

The requires_mod, requires_mod and requires_mod fields are new in v5.2. I have already updated our third-party repository accordingly.

The advantages of the new approach is that requirements can be specified by the addon developer and used for automatically loading modules and for reporting missing prerequisites.

2 Likes

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