Difference between revisions of "Slicer3:Loadable Modules:Status"
From Slicer Wiki
Line 4: | Line 4: | ||
== Overview == | == Overview == | ||
+ | |||
+ | This page describes the Slicer3 Extensions mechanism: | ||
* Implementation | * Implementation | ||
** Run slicer | ** Run slicer | ||
** View->Module Search | ** View->Module Search | ||
− | *** Wizard searches http://ext.slicer.org/ext/... | + | *** Archived of precompiled extensions which can be: |
+ | **** shared libraries of C++ code (vtk, itk, teem, etc) that link to slicer but have no GUI | ||
+ | **** loadable modules that provide C++ code and have hooks to create a slicer GUI | ||
+ | **** executables (Command Line Modules) written in any language that will run on the target machine (tcl, python, java...) | ||
+ | **** tcl or python scripted modules | ||
+ | *** Extensions can depend on other extensions and/or on specific modules in Slicer3 (to resolve compile and run time library dependencies) | ||
+ | *** Wizard searches http://ext.slicer.org/ext/... using information contained in lib/Slicer3/Slicer3Version.txt | ||
**** Subdirectories define which version of slicer they contents are built against. | **** Subdirectories define which version of slicer they contents are built against. | ||
***** first level named based on svn directory of Slicer3 (i.e. trunk/ branches/Slicer-3-2 ...) | ***** first level named based on svn directory of Slicer3 (i.e. trunk/ branches/Slicer-3-2 ...) | ||
Line 15: | Line 23: | ||
****** e.g. BubbleMaker-cvs2009-03-30-2009-03-30-darwin-x86.zip (cvs version from March 30, 2009 built on March 30, 2009 for darwin x86) | ****** e.g. BubbleMaker-cvs2009-03-30-2009-03-30-darwin-x86.zip (cvs version from March 30, 2009 built on March 30, 2009 for darwin x86) | ||
****** ExampleLoadableGuiLessModule-svn31-2009-03-30-darwin-x86.zip (svn version 31 built on March 30, 2009 for darwin x86) | ****** ExampleLoadableGuiLessModule-svn31-2009-03-30-darwin-x86.zip (svn version 31 built on March 30, 2009 for darwin x86) | ||
− | |||
** Select modules | ** Select modules | ||
*** TODO: wizard checks for newer versions of existing modules (later: give user option of always checking during slicer boot) | *** TODO: wizard checks for newer versions of existing modules (later: give user option of always checking during slicer boot) | ||
*** TODO: wizard grabs .s3ext file (uploaded by the extend script) | *** TODO: wizard grabs .s3ext file (uploaded by the extend script) | ||
− | |||
*** TODO: make home page hot linked | *** TODO: make home page hot linked | ||
− | |||
− | |||
− | |||
** Modules are downloaded and unpacked into user-specific Slicer install cache directory | ** Modules are downloaded and unpacked into user-specific Slicer install cache directory | ||
** Restart Slicer | ** Restart Slicer | ||
Line 35: | Line 38: | ||
*** specify: svn/cvs repository, dependencies, homepage... | *** specify: svn/cvs repository, dependencies, homepage... | ||
*** Commit .s3ext file or ask a slicer developer to do so | *** Commit .s3ext file or ask a slicer developer to do so | ||
− | ** Nightly build gets uploaded to ext.slicer.org | + | ** Nightly build gets uploaded to ext.slicer.org |
* Phase 1: (finished) [[Slicer3:Loadable_Modules:Phase1|Slicer internals]] | * Phase 1: (finished) [[Slicer3:Loadable_Modules:Phase1|Slicer internals]] |
Latest revision as of 12:13, 30 March 2009
Home < Slicer3:Loadable Modules:StatusSlicer3:Loadable_Modules:Status_2009-01-20
Status - updated 2009-03-30
Overview
This page describes the Slicer3 Extensions mechanism:
- Implementation
- Run slicer
- View->Module Search
- Archived of precompiled extensions which can be:
- shared libraries of C++ code (vtk, itk, teem, etc) that link to slicer but have no GUI
- loadable modules that provide C++ code and have hooks to create a slicer GUI
- executables (Command Line Modules) written in any language that will run on the target machine (tcl, python, java...)
- tcl or python scripted modules
- Extensions can depend on other extensions and/or on specific modules in Slicer3 (to resolve compile and run time library dependencies)
- Wizard searches http://ext.slicer.org/ext/... using information contained in lib/Slicer3/Slicer3Version.txt
- Subdirectories define which version of slicer they contents are built against.
- first level named based on svn directory of Slicer3 (i.e. trunk/ branches/Slicer-3-2 ...)
- next level contains svn revision number and build platform
- Module names encode cvs/svn version, build date, and platform:
- e.g. BubbleMaker-cvs2009-03-30-2009-03-30-darwin-x86.zip (cvs version from March 30, 2009 built on March 30, 2009 for darwin x86)
- ExampleLoadableGuiLessModule-svn31-2009-03-30-darwin-x86.zip (svn version 31 built on March 30, 2009 for darwin x86)
- Subdirectories define which version of slicer they contents are built against.
- Archived of precompiled extensions which can be:
- Select modules
- TODO: wizard checks for newer versions of existing modules (later: give user option of always checking during slicer boot)
- TODO: wizard grabs .s3ext file (uploaded by the extend script)
- TODO: make home page hot linked
- Modules are downloaded and unpacked into user-specific Slicer install cache directory
- Restart Slicer
- Can remove modules
- Developer
- make slicer build tree locally
- create module from a template (GUI, Logic, MRML) see NITRC example modules
- test locally on their platform
- create .s3ext file and test with slicer's extend script
- specify: svn/cvs repository, dependencies, homepage...
- Commit .s3ext file or ask a slicer developer to do so
- Nightly build gets uploaded to ext.slicer.org
- Phase 1: (finished) Slicer internals
- runtime module discovery
- module template
- like CommandLineModuleFactory
- Phase 2: (in process) web development, deployment
- prototype on wiki
- versions, download,
- upload