saltcorn
saltcorn copied to clipboard
Store marketplace
The packs live in a database on this site: https://store.saltcorn.com/
You are right however that it is not currently possible to inspect the source (which is a JSON object). I will fix that
The packs are very cool feature. Thank You for this great thing.
I just written some ideas below around packs and store:
It will be totally killer thing if you make ability to export packs and make more marketplace functionality for Store https://store.saltcorn.com/. For exampe, ability to add own packs to marketplace for other developers, description page for packs, checksum or signing of packs.
Of course, the some packs can have price and in that case Store will need payment integration .
Also for corporate usage best thing is ability to create internal corporate marketplace for trusted packs and plagins.
As result Store url needs to be define in Configuration section.
The pack contents can now be seen in the store website (https://store.saltcorn.com/)
I agree @AleksandrSokolov on a marketplace, that will definitely happen at some point.
@glutamate What is correct way to publish packs to Saltcorn Store? For example I've published pack with several triggers useful in non-standard installation of Store: https://github.com/pyhedgehog/saltcorn-store-triggers/releases/latest/download/pack.json
- How to publish it to Saltcorn Store?
- How to update it in Saltcorn Store?
- How to update it (or any other pack) after installation?
@pyhedgehog the store is a simple Saltcorn application. Whoever (currently only me) has access can edit the tables for packs and plugins. I think i should build it out so people can submit to it and I can just approve new items
@glutamate I'm again returning to this issue. I've ever about to implement patch for "Saltcorn store" pack that will implement separate storage for proposals to include into store... But got an idea: this is already implemented in GitHub. All we need is to create repository with two directories (packs and plugins) where each entry will be JSON file. Everybody who wants to publish or update something in store will create pull request. Than you merge (or reject) them and github workflow collect all files to store. Do you have an arguments against this method of store management?
I think in general this is a good idea and I'm not opposed to it @pyhedgehog. I think this can be done without modifying saltcorn code at all except changing the default store - if we set up the github repo cleverly. I created a blank store repo here for this https://github.com/saltcorn/store
However, some counter arguments:
-
Privacy - now there is one more third-party actor(Github) that can potentially monitor your saltcorn usage. Previously we had store.saltcorn.com, but we could point to the store pack and say this was open source, although the user has no means of verifying this. Also, contacting the store potentially leaks much less information than npm.com which sees the packages you install. Probably only a minor concern even to the paranoid.
-
Discoverability - harder for non-technical users to browse plugins/packs. I know a couple of people have asked me how to see what plugins are available before trying Saltcorn. This could potentially be fixed with a GitHub Action generating some nice user-readable markdown.
-
Packs - I believe the way pack install works is that the full pack is only downloaded when you install it. We therefore need one json file which has the list of packs with name and description but not the contents, and then a pack file for each pack with the contents in a separate file. Again this would probably need a github action if we want to avoid redundancy and potential for inconsistencies.
@glutamate We can still use store.saltcorn.com, but fill it from repository. I mean we can configure github workflow that will push aggregated result to saltcorn store using single admin api token.
@glutamate I've prepared PoC store and repo:
- https://store20231015.saltcorn.com/
- https://github.com/pyhedgehog/store20231015
Right now you can simply copy triggers
update_ext
andupdate_pack
from first one and.github
directory from second. It you want, please register on store20231015 tenant and I'll promote you to admin (if you can't do it yourself).
https://github.com/saltcorn/store/pull/1
@glutamate, ping about https://github.com/saltcorn/store/pull/1 Have you seen it? What objections do you have?
Yes its good. I am half way through your steps, will try to finish ASAP @pyhedgehog