-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add catalog and extension views #2
Comments
Thanks, JC. Getting started on this today. Your local girder instance is fine for getting started, but there should be docs for setting up https://github.com/girder/slicer_package_manager as a development server. |
This references @jcfr am I missing something? |
Agreed. I will be working on updating https://slicer-package-manager.readthedocs.io/en/latest/developer_guide.html
Thanks for the report I noticed when writing the issue and was initially thinking it would be there for newer packages but is it is not the case:
Good news is that:
Todo for @jcfr :
|
Trivial first pass. Right now, there's no info coming out of the backend about 1) extension author 2) thumbnail image 3) description so I can't really add that. Also need category info before I can do filtering. I'll see about doing the slicer integration parts next, and adding a page for extension details. |
Looks great ! Missing metadata have been added (description, icon_url, category, homepage, screenshots) |
Dummy details page addedExtension list updated
Aside from those caveats, I think this issue is mostly done. |
With the updated route, how would the user select operating system, arch and app version ?
List of contributors is purely descriptive and not related to Girder users. |
This application appears to be organized such that every OS/arch/appversion has a different and unique extension. This follows from your example of how to get information on a specific example above. I don't see a way in https://github.com/girder/slicer_package_manager/blob/master/server/api/app.py#L424-L441 to query for an extension by name where the os, arch, and version are able to be specified separately. In other words, I don't see a way to say "Show me ALL QuantitativeReporting extensions of any os, arch, version". I may be misreading the API.
Alright, I'll leave this information out of the app. |
NVM, figured it out... http://192.168.113.208:8080/api/v1/app/5aa3da37f3eb080001497b3d/extension?baseName=QuantitativeReporting&sort=created&sortdir=-1 I was missing I'll fix routing. |
🙏
See #6 |
After locally building the application:
Browsing to the following pages returns a blank page: http://localhost:8080/#/catalog/All/29189/macos |
@jcfr There is no It's FWIW, |
I tried these without success: (Note that there are extensions for Do you have an example of working URLs you could share ? |
@jcfr Looks like the server is fixed. This app uses history mode, so the correct url is: Note that |
It works 🎉 |
Catalog view
This view will display:
Proposed routes
Using
<server_url>/#/catalog/:app_revision/:os
should "redirect" to<server_url>/#/catalog/:app_revision/:os/:arch
Route parameters:
app_revision
:os
:['macos', 'linux', 'macos']
arch
:amd64
['i386', 'amd64']
Relevant API calls
List of extensions can directly be retrieved from the backend doing the following:
http://192.168.113.208:8080/api/v1/app/5aa3da37f3eb080001497b3d/extension?app_revision=27201&os=macosx&arch=amd64&sort=created&sortdir=-1
Initial design
Questions
How to generate the category list ?
In this first implementation, let's consider it is a flat list of categories associated with the set extension currently displayed in the catalog
If could be generated using code similar to this: https://github.com/Pierre-Assemat/Vuejs-Project/blob/77605bb2c4bf69128d1e381cd9dfbe871e45ec32/src/views/extensions-catalog/ExtensionsCatalogView.vue#L59-L83
In the second iteration, we will generate a tree (this is captured in #3)
How to integrate category in the router ?
Extension view
Proposed routes
Relevant API calls
Metadata specific to a given extension can directly be retrieved from the backend doing the following:
http://192.168.113.208:8080/api/v1/app/5aa3da37f3eb080001497b3d/extension?extension_id=5afff7a479e39e0001040ff0&sort=created&sortdir=-1
where the
extension_id
is_id
(which corresponds to an idem id) returned in the API call used to generated the catalog view.Initial design
Frontend configuration
app_id
backend_url
currently http://192.168.113.208:8080 but ultimately it will behttps://slicer-packages.kitware.com
when deployed in production. When developing, it could also be a local URLNotes
A revision can be associated with either a stable (also called release) version or a preview (also called draft) version of the application.
Since we could potentially deploy other instance of the frontend associated with different
app_id
(e.g a Slicer-based commercial application), let's keepapp_revision
in the code instead ofslicer_revision
The text was updated successfully, but these errors were encountered: