How to save a list of plugins

Gramps 5.1.4, Fedora 35

Is there a way to save a list of all the installed plugins? Reports, views, rules … Everything that shows up in the Plugin Manager. Saving to TXT file or print to PDF would be fine.

I want to compare the list among several computers to make sure they have the same set of plugins. I also want to document the list for future reference and installations.

Thanks - Bill Gee

1 Like

There is a new_addons.txt file in your user version directory. \gramps\gramps51\

I install all available addons so I am not sure if/how an addon that is not installed is listed. After the addon category, all my addons have a '1' which I assume means it is installed.

The new_addons.txt file is only present if you have the enhanced plugin manager installed.

1 Like

If you use SuperTool (isotammi-addons/source/SuperTool at master · Taapeli/isotammi-addons · GitHub)
then you can try the following script (list-all-plugins.script):

[Gramps SuperTool script file]
version=1

[title]
list all plugins

[category]
Dashboard

[initial_statements]
from gramps.gen.plug._pluginreg import PluginRegister, PTYPE, PTYPE_STR
def all_plugins():
	pgr = PluginRegister.get_instance()
	for ptype in PTYPE:
		for pd in pgr.type_plugins(ptype):
			yield (ptype, pd)

plugins = []
for ptype, pd in all_plugins():
	s = "{:20} {:40} {:80} {}".format(PTYPE_STR[ptype], pd.id, pd.fpath, pd.fname)
	plugins.append(s)

[statements]

[filter]

[expressions]
plugins

[scope]
selected

[unwind_lists]
True

[commit_changes]
False

[summary_only]
True

Please use SuperTool version 1.1.6, the previous version 1.1.5 was broken.

2 Likes

I think the new-addons.txt file contains everything. It has exactly the same contents on all of my machines even though the installed plugins are not the same. The third field is ‘i’ on every line in my files.

Perhaps examining the contents of ~/.gramps/gramps51/plugins? I am not sure that includes rules, but it does seem to cover the other categories.

Supertool looks nice, but I am leery of the installation process. Installation requires replacing the “Where to check” field with a different URL. Once that is done, then Gramps will no longer check the master location. Or, if I change it back after installing Supertool, then it will no longer check for updates to Supertool. Is it possible to put several locations in this field?

Installing SuperTool does not require changing this path. That just is the easy way using the automated installer.

You can download the zip file for any plugin and expand it to a folder in the plugins folder of your User Directory. The next time Gramps starts, the registration check will find the new folder and try to compile the contents & add its functionality to Gramps.

An alternate method is, while the path is still on the Isotammi add-on repository, add the Isotammi Configuration Gramplet. This (dashboard ONLY) Gramplet lets you easily change between repository paths.

An observation. If you are uncomfortable with changing paths manually, you are probably going to find SuperTool unfriendly. It has no safety nets and blissfully will let you do massive damage.

I am not uncomfortable about changing a pathname or URL - ONCE! But in this case it would have to be changed every time I checked for updates. Since the field can apparently have only one URL, then checking for updates would require entering a URL, checking for updates, and then entering another URL and checking for updates again. No more automated checks. A manual install does not help much since I still have to check for updates manually. Perhaps a feature request is in order - Create some way to allow the “Where to check” field to contain a list of URLs.

What about looking at the contents of the plugins directory? Would that be a reasonable way to see what is installed? And does that directory include all categories of plugins? I am thinking of rules, but there may be other categories that go somewhere else.

The Isotammi Configuration does this. It has a functionality to flip between paths & a button to open preferences so you can check for updates. (See documentation.)

Yes, looking at the plugins folder is a quick way to gain an overview of your installed add-ons.

However, this overlooks the built-in plug-ins.

If you are using the Plug-in Manager Enhanced, then the locally stored list @prculley compiles has both.

I set up a Media object to make opening Paul’s list easier. (Although I had to trick Gramps into linking something in a hidden folder as a Media Object.)

Given that my purpose is to be able to replicate a Gramps installation from one computer to another, the list of built-ins is not important. They will be there as part of the base install.

I am using Plugin Manager Enhanced. Where is the “locally stored list” that you mentioned?

Thanks!

It is in your User Directory. The creator of the add-on, Paul, mentioned the file in a reply earlier in this thread:

Ah, OK. I have looked at that file. The file was byte-identical between two of my computers which have widely different sets of installed plugins.

I suspect it is not a list of installed plugins, but rather a list of all plugins, both installed and available. My guess is that it is created whenever “Check for updates” is run.

1 Like

It should also indicate disable & hidden add-ons. (Or is that an .ini item for the Plug-in Manager Enhanced?)

This script generates a list preceded on each line with the ID of the active object in the currently active View category & a comma. (That’s just before the PTYPE_STR[ptype] value.)

[update: Toggling the “Summary only” checkbox (two times) cleared the extraneous ID column]

And while it lists the plugin’s category, internal name (ID), the plugin location, and the source code filename,

The Plugin Manager (advanced) and its info dialogs