Modules:ExtensionsManagementWizard-Documentation-3.6

From SlicerWiki
Jump to: navigation, search
Home < Modules:ExtensionsManagementWizard-Documentation-3.6

Return to Slicer 3.6 Documentation


Slicer Extensions

General Information

Slicer's Extensions Management Wizard is an interface to additional modules that can be discovered, loaded or unloaded from Slicer. This interface can be used to add functionality to Slicer, or to uninstall modules you no longer need.

  • This mechanism allows contributors and software developers to post their own Slicer extensions and have them compiled against the "official" versions of Slicer.
  • Users can browse these contributed extensions and install them on their own versions of Slicer.

Note: We are currently using NITRC as a repository for contributed extensions. As a general rule, we do not test them ourselves, it is the downloaders' job to ensure that they do what they want them to do.

Slicer36-SlicerOnNITRC.png


Authors, Collaborators & Contact

  • Author1: Affiliation & logo, if desired
  • Contributor1: Affiliation & logo, if desired
  • Contributor2: Affiliation & logo, if desired
  • Contact: name, email

Module Description

To add extension modules to an installed binary of slicer:

  • Use the View->Extension Manager menu option:

Slicer36-ExtensionsViewMenu.png

or select the Extension Manager shortcut in the toolbar: Slicer36-ExtensionsIcon.png

  • The dialog will open initialized with the URL to the extensions that have been compiled to match your binary of slicer.
Slicer36-Extensions1.png
  • Note installing extensions from a different repository URL is likely to be unstable due to platform and software version differences.
  • You can select a local install directory for your downloaded extensions (be sure to choose a directory with enough free space).
  • Select the extensions you wish to install and click to download them. Installed extensions will be available when you restart slicer.
  • To turn modules on or off, you can use the Module Settings page of the View->Application Settings dialog:

Slicer36-ModulesManagement1.png

Slicer36-ModulesManagement2.png


Usability issues

Follow this link to the Slicer3 bug tracker. Please select the usability issue category when browsing or contributing.

FOR DEVELOPERS

Extensions must follow the appropriate architecture and must meet minimum documentation requirements for them to be made available to end users. See Slicer3:Loadable_Modules for an example of how to make GUI and GUI-less Loadable Modules. Command Line and Scripted Modules will also work with this framework.

You can choose the version of your code that you want to make available to end users by having the Subversion repository URL in the s3ext script point to either the trunk of your code base or to a stable branch.

To enable your Command Line, Scripted, or Loadable module, add an "s3ext" script to the /Slicer3/Extensions directory of the source repository:

PythonSampleScriptedModule.s3ext:

#
# first token of each non-comment line is the keyword and the rest of the line 
# (including spaces) is the value.
# - the value can be blank
#

# scm is source code manager (i.e. svn)
scm       svn
svnpath   https://www.nitrc.org/svn/slicer3examples/trunk/Slicer3ExampleModules/Scripted/PythonSampleScriptedModule
svnusername slicerbot
svnpassword slicer

# list dependencies 
# - these should be names of other modules that have .s3ext files 
# - the dependencies will be built first
depends ScriptedModule

# homepage
homepage  http://www.slicer.org

# match category in the xml description of the module (where it shows up in Modules menu)
category  Developer Tools

# give people an idea what to expect from this code 
# - is it just a test or something you stand beind?
status    Beta

# One line description of what the module does
description This is an example of an extension module written in python

Source code & documentation

More Information

Acknowledgment

This work was funded in part by collaborations between NA-MIC and NITRC.