Closed jools-r closed 4 years ago
@jools-r @Bloke @petecooper @bloatware I've created a JSON 'library card' repo for this here: https://github.com/textpattern/textpattern-curated-plugins-list
Actual JSON format to be decided by committee - keeping in mind we want to make this as easy and quick as possible for contributors to update the JSON cards.
We have been doing extensive work on this model now, and it is coming along nicely. :)
JSON cards are imported from the curated plugins list repo to the server periodically (twice an hour, currently, with the option to do an immediate import if necessary), merged into the Textpattern-powered plugins site, and output as a page.
Next step is to serve a new JSON file for each plugin directly from within the Textpattern site which outputs an extended JSON file including our curated content over an above the original JSON file that was imported.
This will in turn allow Textpattern's core from 4.9 onwards to check for newer versions of a plugin, check the compatibility, and provide an auto-update upon user's request. It should hopefully also allow us to flag when a plugin has been superseded by core features.
This concept is now built and working. A few additions to do but I think I'll close this issue.
This discussion is being brought over from here and here.
Synopsis so far (mostly based on @philwareham's overview):
Problem
A current problem is that the Textpattern plugins website uses the GitHub v4 API (GraphQL) to populate most of the content on the individual plugin page. However after trying that the following limitations surface:
Idea
Create a repo (or repurpose https://github.com/textpattern-community/textpattern-plugin-archive) to house some JSON manifests or whatever that serve as ‘library cards’ for each plugin. Make the content of those extremely easy to edit, then read those into an interpreter or even GraphQL parser on the plugins site. To create a new plugin entry you would create a card on the repo, then create a page on the Textpattern plugin site (which you have to do anyway) and point a custom field to the resource.
This repo could be managed by the Textpattern community with a small steering group adding / accepting PRs.
Advantages
‘Library card’ format + contents
We should be quite careful in thinking through what data is in the manifest, so we get this right first time. Of course we can add to manifests in future, but the core entries need to be well thought out. It needs to be:
Thoughts?