View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003269 | Slicer4 | Core: Extensions | public | 2013-08-01 06:36 | 2017-06-10 08:51 |
Reporter | lassoan | Assigned To | matthew-woehlke | ||
Priority | normal | Severity | feature | Reproducibility | have not tried |
Status | closed | Resolution | fixed | ||
Product Version | |||||
Target Version | Slicer 4.4.0 | Fixed in Version | |||
Summary | 0003269: Simplify process for contributing scripted modules to the extensions catalog | ||||
Description | Currently the overhead of sharing Python scripted modules with the Slicer community is very significant. Work out a simplified process: something like uploading the script on a web interface. | ||||
Tags | No tags attached. | ||||
related to | 0002981 | closed | pieper | Fix ModuleWizard to account for re-organized structure |
related to | 0002726 | closed | matthew-woehlke | Create / Update extension template |
parent of | 0003601 | closed | matthew-woehlke | Create developer documentation for new ExtensionWizard module |
has duplicate | 0003566 | closed | matthew-woehlke | Wizard: Simplify creation of extensions and modules |
related to | 0003606 | acknowledged | jcfr | Support for direct upload of scripted extension into the Extension Catalog |
related to | 0003727 | closed | jcfr | Update BuildTestPackageDistributeExtensions page to use the latest and greatest extension wizard feature |
From: Andras Lasso I think we all agree then :) I think we should maintain the list of scripts on the wiki for now, and migrate them to the extension catalog once the contribution process is simplified. I've entered a ticket to track this simplification effort: http://www.na-mic.org/Bug/view.php?id=3269 Andras From: Jean-Christophe Fillion-Robin Agreed :) Something we should consider after the release may be ? I would like to make it easier for developer to share their work by having a more pythonic approach to extension. On Thu, Aug 1, 2013 at 10:16 AM, Steve Pieper <pieper@ibility.net> wrote: Hi Julien - I totally agree that we want this unified from a user perspective, but I tend to disagree that the current extension process is "fast and easy" (don't get me wrong on that: I love it and am totally happy that it exists, I just find it pretty heavyweight for many purposes). To be specific, I have several scripts like the LandmarkRegistration I emailed about the other day[1], plus tests and experiments that I'd be happy for people to easily try and experiment with. If it was simply a matter of adding a link to the wiki I'd do it, but beyond that I tend to wait until things are more polished before adding to slicer core or an extension. The current extensions have all the needed pieces for C++ purposes, but many of them are overkill for python scripts. -Steve On Thu, Aug 1, 2013 at 9:58 AM, Julien Finet <julien.finet@kitware.com> wrote: From a user point of view, I don't see your script FillROI being different from the currently existing extensions. Julien.
On Thu, Aug 1, 2013 at 4:07 AM, Andras Lasso <lasso@cs.queensu.ca> wrote: Hi all, I’ve recently implemented a simple scripted module for filling a ROI in a labelmap with a specified color. This functionality may be useful for others, too, but I’m not sure how to share it. Creating an and maintaining an extension (customize an extension template, write documentation, create icon, request extension index update, etc.) for this single script would be too much overhead for me and it would clutter the extension manager if each single script would show up as a separate extension. People now use different locations to store examples (github gists, other hosted repositories, NAMIC sandbox, wiki, posting link or script contents to the Slicer mailing lists), but I always have difficulty in finding script samples because there is no one central place to store them. Could we set up a location for storing community-contributed scripts (scripted modules, examples, etc.) that the users can explore and where users/developers could easily contribute? It could be as simple as creating a wiki page where we would list all the scripts with a short description. Account management, version history, file description, indexing, searching, etc. would be all taken care of by the wiki and the workload for uploading a script is negligible. I’ve created an example page to illustrate the idea: http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/ScriptRepository. This could be later improved in many ways: we could create a module for browsing and automatic installing of scripts from the repository, a more sophisticated system could be created using Midas (similar to the Mathwork’s fileexchange: http://www.mathworks.com/matlabcentral/fileexchange), etc. What do you think? Andras |
|
See also http://wiki.slicer.org/slicerWiki/index.php/Documentation/Labs/EasyExtensionContribution |
|
For reference: https://github.com/mwoehlke-kitware/Slicer/tree/3269-publish-extension-wizard |
|
Rebased topic with integration of GitPython and PyGithub |
|
For reference: http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/ScriptRepository |
|
merged as r22945 - r23001 |
|
@Andras: Issue 0003606 somewhat capture what you mean by "something like uploading the script on a web interface." |
|
I'm sorry, but I don't really see what steps are simplified. The instructions described at http://wiki.slicer.org/slicerWiki/index.php/Documentation/Labs/EasyExtensionContribution contain several steps that many Python-script-writing people cannot or not willing to do and take some time for experienced developers (download and install git, find the repository URL on github and clone the repository, run commands in the console, create an s4ext file). The process should be as simple as uploading/editing a file on the wiki or midas. Maybe the simplest would be to implement the "install extension from file" and then allow python script install from URL. Then we could easily install and .py scripts directly from the wiki (or if we make a folder on Midas then from Midas, too). |
|
Please compare 'ExtensionWizard.py --contribute' to the old process, http://wiki.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers/Tutorials/Contribute_Extension_Description_File. Note that there is also ongoing work to create a GUI front-end around http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers/ExtensionWizard; see 0003606. |
|
I see that compared to the old process there is significant improvement. We just need some more simplification. The GUI front-end for template generation is also very helpful. Please make it available as a regular Slicer module, with GUI in Slicer (don't require the users to enter any commands in a console, because sadly most people cannot even create a folder and then open a command prompt in that folder). |
|
Closing resolved issues that have not been updated in more than 3 months. |
|
Import 2017-06-07 23:51:09: master 6eebeb1a 2014-04-08 17:15:52 mwoehlke Details Diff |
ENH: Add GitPython and PyGithub external projects Add external projects for GitPython, PyGithub, and their dependencies (python-setuptools, python-gitdb, python-async, python-smmap). These are required for full functionality of the SlicerWizard package. These are only built if Python and extension manager support are both enabled, and system Python is not used. Additionally, PyGithub is only requested if Python SSL support is enabled. Note that Python must be built with SSL support for PyGithub to be usable. Issue 0003269 Co-authored-by: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com> git-svn-id: http://svn.slicer.org/Slicer4/trunk@23059 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - SuperBuild.cmake | Diff File | ||
add - SuperBuild/External_GitPython.cmake | Diff File | ||
add - SuperBuild/External_PyGithub.cmake | Diff File | ||
add - SuperBuild/External_python-async.cmake | Diff File | ||
add - SuperBuild/External_python-gitdb.cmake | Diff File | ||
add - SuperBuild/External_python-setuptools.cmake | Diff File | ||
add - SuperBuild/External_python-smmap.cmake | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2013-08-01 06:36 | lassoan | New Issue | |
2013-08-01 06:36 | lassoan | Status | new => assigned |
2013-08-01 06:36 | lassoan | Assigned To | => jcfr |
2013-08-01 06:42 | lassoan | Note Added: 0009327 | |
2013-08-01 06:47 | jcfr | Target Version | => Slicer 4.4.0 |
2014-01-22 08:38 | jcfr | Assigned To | jcfr => matthew-woehlke |
2014-01-22 08:38 | jcfr | Relationship added | related to 0002981 |
2014-01-22 08:38 | jcfr | Relationship added | related to 0002726 |
2014-01-22 08:39 | jcfr | Note Added: 0010530 | |
2014-01-23 10:26 | matthew-woehlke | Relationship added | related to 0003566 |
2014-02-27 07:57 | jcfr | Note Added: 0010650 | |
2014-02-27 07:59 | jcfr | Note Added: 0010651 | |
2014-02-28 05:43 | jcfr | Relationship added | parent of 0003601 |
2014-02-28 07:28 | jcfr | Relationship added | related to 0003606 |
2014-02-28 11:28 | jcfr | Note Added: 0010655 | |
2014-03-12 11:49 | matthew-woehlke | Note Added: 0011426 | |
2014-03-12 11:49 | matthew-woehlke | Status | assigned => resolved |
2014-03-12 11:49 | matthew-woehlke | Resolution | open => fixed |
2014-03-12 12:17 | jcfr | Relationship replaced | has duplicate 0003566 |
2014-03-12 14:04 | jcfr | Note Added: 0011428 | |
2014-04-24 05:57 | lassoan | Note Added: 0011653 | |
2014-04-24 07:53 | matthew-woehlke | Note Added: 0011655 | |
2014-04-24 08:57 | lassoan | Note Added: 0011660 | |
2014-06-03 13:59 | jcfr | Relationship added | related to 0003727 |
2014-09-17 22:59 | jcfr | Status | resolved => closed |
2014-09-17 23:01 | jcfr | Note Added: 0012549 | |
2017-06-10 08:51 | Changeset attached | => Slicer master 6eebeb1a |