You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ICON is part of the JSON description specification of a ChRIS plugin [1,2]. It's kind of awkward to have this defined in the Python source code of a ChRIS plugin.
By convention and per documentation, ICON is supposed to be an HTTPS URL to an image file. However, it is not currently used anywhere: All of our plugins (to my knowledge) define ICON as an empty string ("") and neither of our front-ends https://github.com/FNNDSC/ChRIS_ui/ nor https://github.com/FNNDSC/ChRIS_store_ui/ use the icon data.
ICON should no longer be something defined by the source code of a plugin. Instead, the ChRIS_store backend should provide the functionality to upload and serve icons. For example, one might upload a file like this:
https -a chris:chris1234 -f POST https://chrisstore.co/api/v1/plugins/6/icon/ icon@/home/jenni/my_icon.svg
The data returned from https://chrisstore.co/api/v1/plugins/6/ should fill in the correct value for icon (a URL to the static file, hosted on the backend).
The front-end(s) should make use of these icons.
Tasks
allow the icon field to be optional when uploading a plugin
upload icon file functionality
serving icon file functionality
The text was updated successfully, but these errors were encountered:
Current Situation
ICON
is part of the JSON description specification of a ChRIS plugin [1,2]. It's kind of awkward to have this defined in the Python source code of a ChRIS plugin.By convention and per documentation,
ICON
is supposed to be an HTTPS URL to an image file. However, it is not currently used anywhere: All of our plugins (to my knowledge) defineICON
as an empty string (""
) and neither of our front-ends https://github.com/FNNDSC/ChRIS_ui/ nor https://github.com/FNNDSC/ChRIS_store_ui/ use theicon
data.[1] https://github.com/FNNDSC/cookiecutter-chrisapp/blob/ad4fb567640ae312baad69d9727e5a4ada40970b/%7B%7Bcookiecutter.app_repo_name%7D%7D/%7B%7Bcookiecutter.app_name%7D%7D/%7B%7Bcookiecutter.app_name%7D%7D.py#L92
[2] https://github.com/FNNDSC/chrisapp/blob/1863f2dc6d0b74cf789590e84370890d26e24c7d/chrisapp/base.py#L425
Proposal
ICON
should no longer be something defined by the source code of a plugin. Instead, the ChRIS_store backend should provide the functionality to upload and serve icons. For example, one might upload a file like this:The ChRIS_store backend will store the uploaded file in OpenStack Swift Object Storage.
The uploaded file will be accessible from:
NOTE: the server should specify MIME type correctly.
An alternative implementation would be for the endpoint
/api/v1/plugins/6/icon/
to return something likeThe data returned from
https://chrisstore.co/api/v1/plugins/6/
should fill in the correct value foricon
(a URL to the static file, hosted on the backend).The front-end(s) should make use of these icons.
Tasks
icon
field to be optional when uploading a pluginThe text was updated successfully, but these errors were encountered: