The good news is that we have ~30 plugins and more to come.
The trick is that we’ll need some better organizational and search options for the “Manage Plugins” dialog and I’d like some feedback and suggestions.
As I indicated in the image, we currently include the README file from the plugin on the right side as a preview. I’d like to include more metadata:
- authorship (i.e., @matterhorn103 for
xtb) to provide real credit - download count (30 days? 60 days?)
- a link to report bugs (e.g. :beetle: links to the GitHub issues or relevant bug tracker)
- a button to copy citation information (maybe in BibTeX?)
I’m thinking that adding some sort of keywords or tagging for the plugins might be helpful for the search bar.
Other ideas? Should the table view add organization based on types?
Great ideas!
Given the counts that have accumulated within less than three weeks, I think a count of 30-day/monthly downloads would be both fair and typical. I suppose you’d add that to the stats file alongside the all and recent counts?
Python packaging has standard URL labels that include an
issueslabel, so we should look forproject.urls.issues(and potentially the aliases listed at the linked page too, e.g.bugs) and encourage people to use that mechanism.I’d suggest we also provide a general link to the plugin’s repository as well, which we don’t have to rely on the
pyproject.tomlfor, we already have that info in the plugin database.Here I’d also suggest reusing the standard mechanism, encouraging authors to use the
project.keywordsfield and then extracting that. We’ll need the search to match on substrings of the plugin name too though, in case a plugin doesn’t specify any keywords.Isn’t that already possible by sorting on the Features column?
Right now “recent” is defined as 180 days. I’d just change it to 30.
I’d just want to make sure we have a fallback for plugins that don’t add the
project.urls.issuesorbugs. Right now, for example, I see that “description” is missing on one of mine (mattersim)As for citations, GitHub suggests
CITATION.cfffiles, but I kind of like theduecreditpackage which handles NumPy and SciPy, as well as MDAnalysis already.My concern is that as the number of plugins grow, we’ll want more organization than a sorted list. I feel like ~30 is starting to get to that point and certainly ~50 will start to feel a bit overwhelming.
I’m also thinking about some ways to add a “plugin gallery” to the website - since some users don’t realize we already have plugins for RDKit, xtb, etc. based on the survey.
We could just fall back to the main repo URL. Or, the script in
avogadro/pluginsthat extracts the metadata from the plugins’ TOML files to generate the index could automatically generate the appropriate issues URL for any plugin that is on GitHub and doesn’t manually specifyproject.urls.issues.Not sure I’m a huge fan of something that’s Python-specific, encodes the metadata using Python code, and is a solution specific to that one implementation. This
CITATION.cffis GitHub’s own solution, but it is at least supported by Zotero and Zenodo. But I don’t have strong feelings. It’s a shame there’s no standardized way to handle companion publications, really – it would be good if citations of academic papers were part of the SPDX Bill of Materials specification, for example.