Using this comment by @Nick-Hall to start a new topic:
My suggestion would be to use an approach similar to HACS (Home Assistant) or Nextcloud: each addon lives in a separate Github repository (based on a template provided by the Gramps project that can be cloned to start addon development) and the addon maintainer is responsible for maintaining the repository and creating tags.
Then there are two options:
There is no official endorsement of addons, so users must manually add Github repositories as āaddon sourcesā. Advantages: no review required, risk is transparent to the user (no false sense of security of using āendorsedā apps), fast workflow. Disadvantages: no review done, possibly difficult for users to find addons.
Addon owners must get their repository approved once. Advantages: official list of addons (as it is now), review is possible. Disadvantages: review required which makes it slower.
The second option would still be better than today as it would not require approval of every single changem which IMO makes maintaining & improving an addon painful.
Personally Iād prefer option 1 since it is the fastest way to publish new addons. This workflow would also reduce the amount of code Gramps developers have to maintain. Disadvantages like ādifficult for users to find addonsā can be reduced by users maintaining lists of addons on the Gramps wiki or elsewhere.
In a parallel vein, Kari Kujansuu @kku implemented a ZipInstallā¦ tool that will install into the gramps51/plugins folder a ZIP downloaded when GitHub generates after choosing āDownload ZIPā from the repositoryās <> Code button (or ZIPs that have been eMailed).
This tool opens a GtkFileChooser dialog. That dialog has a button for navigating to the āDownloadsā folder for Windoze. Hopefully, an equivalent button existing for Linux and macOS.
(In a conversation earlier this year, Kari wrote that the tool does not handle the .tgz compressed files served to the Gramps add-on manager and which we currently link from the Addon List on the wiki page. However, the GtkFileChooser filter lists .zip files and .tgz files in addition to Supported files option.)
A Tool like this needs to be in the Gramps core plugins. It provides a Workaround option.
Hereās a capture of the confirmation dialog that appears for Kariās ZipInstall after selecting a download (from my GitHub repository) with a matching registered version (Sometimes, the version numbers in the .gpr.py are not updated with a minor tweak. So a user will want to overwrite despite that.):
Followed by a confirmation:
Note: the overwrite install with no backup took quite a bit longer than expected.
I have a noob question about tweaking plugins. I see a suggestion to clone the entire gramps & addons-source repositories in the gramps-project GitHub space.
But when I see those clones in public repository of different GitHub users, the only āZIP Downloadā is for the ENTIRE repository. Drilling down to a folder of a plugin (built-in or add-on) that they tweaked does not offer to ZIP just that folder. So ZIPInstall would do ugly things to my plugins installation.
So, in my GitHub space, Iām doing a repository for the connected add-ons that Iām hacking. Just because that will offer a usable GitHub ZIP generator.
Has the project seen a decline in thoughput? Thereāve been some very nice updates to the software in the last couple years and a surge of impressive plug-ins and external tools.
Looking at the activity of the list of the Gramps repository GitHub Contributors, have we dropped below the volume of active senior developers needed to keep things moving? Too many of the contributors shown on the main page havenāt logged a commit to Gramps in years.
Maybe the process is getting in way of progress. If the process is too onerous, we lose volunteers.
From: Nick Hall <niā¦@grā¦> - 2018-06-30 20:54:56
On 30/06/18 14:52, Paul Franklin wrote:
I repeat again:
Should we require pull requests for significant changes?
There have already been some posts about this in the governance thread and opinions seem to be divided.
After considering the feedback, I suggest we keep both approaches for now. Direct merging will still be acceptable for minor changes. Since this only applies to senior developers, I will leave the definition of āminorā up to the individual developer.
Paul,
We eventually decided that pull requests are required except for trivial changes. As a rule of thumb, if a change is modifies more than one file or more than a few lines of code you should submit a pull request.
So just to make things really clear:
Your proposed change is not regarded as trivial.
Your proposed change requires a pull request.
Regards, Nick.
Perhaps some of the active People here could be promoted to senior status?
Having a few others with less Gramps code experience but extra enthusiasm doing triage may be necessary. (Iām not suggesting that for me! I lack the code skills to even read Python properly.) Perhaps these brave souls would even be given ability to re-categorize some PRs asā trivial changesā during triage. That kind of power will surely create some problems but thatās the nature of change. People will grow into it.