-
Notifications
You must be signed in to change notification settings - Fork 6
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
Added instructions for the Marketplace #22
base: master
Are you sure you want to change the base?
Conversation
Added instructions for the Marketplace to the Contributing section
@@ -32,3 +32,13 @@ It is recommended to use [ClangFormat](http://clang.llvm.org/docs/ClangFormat.ht | |||
|
|||
### Contributing whole modules | |||
If you are working on a large Inviwo Module and possibly have dependencies on big external libraries, we have an extra [modules repository](https://github.com/inviwo/modules). | |||
|
|||
#### Inviwo Marketplace | |||
Additionally, there is the inviwo marketplace (see Screenshot) that allows developers to share their processors or shaders. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should this not refer to modules (not individual processors, even less shaders)
The template contains a workflow file for [GitHub Actions](https://github.com/features/actions). Using this workflow file, GitHub Actions can build your project automatically whenever you make a commit or manually invoke the build process. We provide an external action that retrieves all files that are necessary to build Inviwo. The workflow file in our template already invokes this action. Furthermore, the workflow file automatically creates a GitHub release after each commit and bundles the created artifacts with it. | ||
|
||
##### Citing your contribution | ||
[Zenodo](https://zenodo.org/) provides means to generate a DOI for GitHub Releases. GitHub provides an [easy-to-follow guide](https://guides.github.com/activities/citable-code/). After turning on the switch, Zenodo automatically generates a DOI for every new release. The last step of the guide also describes how to create a badge that always shows the latest DOI and links to it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does one want to have new DOIs for every commit to master?
So after you have generated the code template for a processor by following the [guide for generating processors](https://inviwo.org/manual-devguide-meta.html), you should create a repository on [GitHub](https://github.com/) based on our [template](link-to-template). | ||
|
||
##### Template | ||
The template contains a workflow file for [GitHub Actions](https://github.com/features/actions). Using this workflow file, GitHub Actions can build your project automatically whenever you make a commit or manually invoke the build process. We provide an external action that retrieves all files that are necessary to build Inviwo. The workflow file in our template already invokes this action. Furthermore, the workflow file automatically creates a GitHub release after each commit and bundles the created artifacts with it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this relate to the marketplace? is the "release" of inviwo or of the marketplace module?
@@ -32,3 +32,13 @@ It is recommended to use [ClangFormat](http://clang.llvm.org/docs/ClangFormat.ht | |||
|
|||
### Contributing whole modules | |||
If you are working on a large Inviwo Module and possibly have dependencies on big external libraries, we have an extra [modules repository](https://github.com/inviwo/modules). | |||
|
|||
#### Inviwo Marketplace |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: is marketplace the right name? Will users be able to sell modules? otherwise I think something like "Inviwo Module Index" would be more suitable
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agree about the marketplace, even though things can be for free. I still like "Marketplace" as it is quite general and to the point.
Other alternatives that I can think of:
Inviwo Module Repository - conflicts a bit with the "extra module repository", but we might call that something else.
Inviwo (Module) Packages - indicates that it enables retrieval of pre-built modules
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess it can be considered a form of package manager for Inviwo...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
python pip's pypi uses Python Package Index. Think that makes much more sense than calling it a marketplace. If I here marketplace I expect that I will have to pay to done load things. Repository is too overloaded.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Microsoft VS Code uses the term Marketplace for their extensions, but they also mark them as "free". I don't know if you can even pay for extensions there...
Inviwo Package Index sounds ok to me. A bit verbose with the "Index" in my opinion.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You need to pay for quite many of the VS extensions.
Inviwo Package Index, is ok I guess, although I find "package" quite vague, and overloaded. At least in the context of Inviwo development "module" is a somewhat well defined concept.
I guess the same vagueness applies to "Index". Think Index make sense if we are not actually hosting the modules, but just providing links/easy access to them. Similar to what pipy does. Not sure how we actually plan to do that?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
GitHub would host the modules through releases and we would only provide the links to access them
Thanks for the feedback, Peter! |
@@ -32,3 +32,13 @@ It is recommended to use [ClangFormat](http://clang.llvm.org/docs/ClangFormat.ht | |||
|
|||
### Contributing whole modules | |||
If you are working on a large Inviwo Module and possibly have dependencies on big external libraries, we have an extra [modules repository](https://github.com/inviwo/modules). | |||
|
|||
#### Inviwo Marketplace |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agree about the marketplace, even though things can be for free. I still like "Marketplace" as it is quite general and to the point.
Other alternatives that I can think of:
Inviwo Module Repository - conflicts a bit with the "extra module repository", but we might call that something else.
Inviwo (Module) Packages - indicates that it enables retrieval of pre-built modules
|
||
#### Inviwo Marketplace | ||
Additionally, there is the inviwo marketplace (see Screenshot) that allows developers to share their processors or shaders. | ||
So after you have generated the code template for a processor by following the [guide for generating processors](https://inviwo.org/manual-devguide-meta.html), you should create a repository on [GitHub](https://github.com/) based on our [template](link-to-template). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Title:
How to add your module to the marketplace
Create a repository ....
Additionally, there is the inviwo marketplace (see Screenshot) that allows developers to share their processors or shaders. | ||
So after you have generated the code template for a processor by following the [guide for generating processors](https://inviwo.org/manual-devguide-meta.html), you should create a repository on [GitHub](https://github.com/) based on our [template](link-to-template). | ||
|
||
##### Template |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Title: Inviwo github repository template?
Start with shortly explaining the purpose: Using this template will allow you to build your....
Then what it does and what one should do to use it: The template contains a workflow file....
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
could we find a way to gather all these repos and build them when we update core, similar to the test we have when building core right now? Could some kind of "registration" be part of the template?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For now the idea is to just have a file to register ones repo. Something like a json, providing a name, github url.. Using this file we could probably build an action that tests all registered modules. If one wants to submit their module to the "official" package index they would make a PR adding their module to this file. Reviewing this before merging will be rather manual for now I guess.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds resonable, just a suggestion looking at like how for example vcpkg handle that, it might be better to have a json file per registered module/repo. putting all in one file might make merges a bit more complicated...
Added instructions for the Marketplace to the Contributing section
This pull request is a draft so far. It is meant to be merged after the marketplace has been merged.
@xeTaiz knows the details :)