View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002145 | Slicer4 | Core: Extensions | public | 2012-05-31 13:18 | 2017-06-10 08:51 |
Reporter | jcfr | Assigned To | matthew-woehlke | ||
Priority | normal | Severity | minor | Reproducibility | have not tried |
Status | closed | Resolution | fixed | ||
Product Version | |||||
Target Version | Slicer 4.4.0 | Fixed in Version | Slicer 4.4.0 | ||
Summary | 0002145: Provide a mechanism allowing to easily install extension given the location of the package | ||||
Description | Different aspect could be considered: 1) After dropping the extension package within the Extension install folder, this one could be automatically extracted and installed at Slicer start. 2) A input box or more specialized widget added to the extension manager dialog could allow to the user to select an extension package and install it. 3) Installing a package could be exposed to the python API. | ||||
Tags | No tags attached. | ||||
See http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=20295 Also back-ported to 4.1.1 - See http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=20297 |
|
Fixed in https://github.com/jcfr/Slicer/tree/2145-support-for-installing-extension-from-file |
|
@Matt: Since I don't want to interfere in the work you are currently doing with the extension infrastructure, I delegate the final step regarding topic [1]. After installing the extension given an archive, the user should be given the option to "force" the revision and ensure Slicer won't complain the extension is not compatible at the next startup. [1] https://github.com/jcfr/Slicer/tree/2145-support-for-installing-extension-from-file |
|
From: http://slicer-devel.65872.n3.nabble.com/Adding-library-paths-for-modules-tp4028431p4028432.html As explained here [1], when extension are installed using the extension manager, launcher setting are updated to consider Slicer modules location and also standard location like "/path/to/extension/{bin, lib/Slicer-4.2}" [2][3]. (Note that the value of these paths is abstracted using Slicer_BIN_DIR and Slicer_LIB_DIR). But when you manually add the module path through the settings ... launcher settings are not updated. This will be fixed as part of issue 2145 [3] It means that after the user install your extension, launcher setting will be automatically updated. If you would like to help us improving the system so that launcher settings can be updated after manually adding module path to the settings, let me know and I would be happy to provide guidance. Thanks [1] http://slicer-devel.65872.n3.nabble.com/Unloaded-module-when-linked-to-OpenCV-tp4028392p4028399.html [2] https://github.com/Slicer/Slicer/blob/master/Base/QTCore/qSlicerExtensionsManagerModel.cxx#L581-595 [3] https://github.com/Slicer/Slicer/blob/master/Base/QTCore/qSlicerExtensionsManagerModel.cxx#L443-472 |
|
This is implemented by https://github.com/mwoehlke-kitware/Slicer/tree/2145-install-extension-from-package. Some notes:
|
|
It works well. I like the menu in the extension manager. Few remarks: a) When installing an extension archive, is it possible to:
b) If installing an extension that has slicerRevision different from the current running Slicer, would it be possible to remind the user he did so. (the slicerRevision associated with the installed extension is in the bundled description file) c) In case of dependent extension, since the dependency are also stored in the bundled description file. We should let the user know which dependency are missing. d) It should be possible to pass a list of extension archives. If passed in the right order, no warning about missing extension should be displayed. |
|
(a) Done. (b) The .s4ext in the archive does not currently contain the slicer revision. (I'm not sure how I feel about relying on the name of the archive for that purpose. I guess it would be okay to do so if it is just a warning.) (c) AFAIK Just Works (and "already" did; see 0002912). (d) How to specify the list, and install order, is potentially non-trivial. We decided not to do this at this time. |
|
Before we integrate "2145-install-extension-from-package", is it possible to also add the "theme" tweak ? Similarly to what has been done for [1] [1] https://github.com/Slicer/Slicer/commit/ef0a5efe3e6f074e23ff8735c276d2b2f03b283c |
|
Fixed by r23398 -> r23404 See http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=23398 |
|
Import 2017-06-07 23:51:09: master fc739771 2014-06-30 17:18:28 mwoehlke Details Diff |
ENH: Initial refactoring of extension manager UI Refactor right corner area of extension manager into a .ui file, similar to how the left corner area (navigation buttons) is already handled. This allows us to have separate search widgets per tab (allowing for independent search states, if/when support for searching installed extensions is added), and also to add a 'configure' button (which we do) that provides independent menus per tab. The menus are created, but not yet functional. Icons (from the Public Domain Tango theme) are also added. (The 'check for updates' icon uses the theme pixmaps. Tango does not provide a 'configure' icon as such, so the modified svg from which the pixmaps were generated is also being committed.) Issue 0002089 Issue 0002145 git-svn-id: http://svn.slicer.org/Slicer4/trunk@23398 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Base/QTGUI/CMakeLists.txt | Diff File | ||
add - Base/QTGUI/Resources/Icons/Large/SlicerCheckForUpdates.png | Diff File | ||
add - Base/QTGUI/Resources/Icons/Large/SlicerConfigure.png | Diff File | ||
add - Base/QTGUI/Resources/Icons/Medium/SlicerCheckForUpdates.png | Diff File | ||
add - Base/QTGUI/Resources/Icons/Medium/SlicerConfigure.png | Diff File | ||
add - Base/QTGUI/Resources/Icons/Scalable/SlicerConfigure.svg | Diff File | ||
add - Base/QTGUI/Resources/Icons/Small/SlicerCheckForUpdates.png | Diff File | ||
add - Base/QTGUI/Resources/Icons/Small/SlicerConfigure.png | Diff File | ||
add - Base/QTGUI/Resources/Icons/XLarge/SlicerCheckForUpdates.png | Diff File | ||
add - Base/QTGUI/Resources/Icons/XLarge/SlicerConfigure.png | Diff File | ||
add - Base/QTGUI/Resources/Icons/XSmall/SlicerCheckForUpdates.png | Diff File | ||
add - Base/QTGUI/Resources/Icons/XSmall/SlicerConfigure.png | Diff File | ||
mod - Base/QTGUI/Resources/UI/qSlicerExtensionsActionsWidget.ui | Diff File | ||
mod - Base/QTGUI/Resources/UI/qSlicerExtensionsManagerWidget.ui | Diff File | ||
add - Base/QTGUI/Resources/UI/qSlicerExtensionsToolsWidget.ui | Diff File | ||
mod - Base/QTGUI/qSlicerExtensionsManagerWidget.cxx | Diff File | ||
Import 2017-06-07 23:51:09: master 7fed1f7c 2014-06-30 17:18:32 mwoehlke Details Diff |
ENH: Add ability to install extension from file Hook up 'install from file' action in extension manager. Create an overload of qSlicerExtensionsManagerModel::installExtension taking only an archive file name, which uses the new list_archive method to determine the extension name and then hands off to the existing method. Modify the existing overload to cope with the lack of server metadata that occurs in this case, and to fill in a sufficient subset from common information (i.e. the os/arch/revision of currently running Slicer) and the description file provided in the extension archive. This should allow users to install extensions from externally obtained archives of the same (e.g. manually downloading from the server with an external web browser). Issue 0002145 git-svn-id: http://svn.slicer.org/Slicer4/trunk@23401 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Base/QTCore/qSlicerExtensionsManagerModel.cxx | Diff File | ||
mod - Base/QTCore/qSlicerExtensionsManagerModel.h | Diff File | ||
mod - Base/QTGUI/qSlicerExtensionsManagerWidget.cxx | Diff File | ||
mod - Base/QTGUI/qSlicerExtensionsManagerWidget.h | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2012-05-31 13:18 | jcfr | New Issue | |
2012-05-31 13:18 | jcfr | Status | new => assigned |
2012-05-31 13:18 | jcfr | Assigned To | => jcfr |
2012-05-31 13:18 | jcfr | Target Version | => Slicer 4.2.0 - Sept 1st 2012 |
2012-05-31 13:18 | jcfr | Summary | Provide a mechanism to easily install extension given the location of the package => Provide a mechanism allowing to easily install extension given the location of the package |
2012-05-31 15:15 | jcfr | Note Added: 0004715 | |
2012-05-31 15:21 | jcfr | Note Edited: 0004715 | |
2012-08-20 10:13 | jcfr | Target Version | Slicer 4.2.0 - Feature freeze Sept 1st 2012 => Slicer 4.2.5 |
2012-08-21 09:40 | jcfr | Target Version | Slicer 4.2.5 => Slicer 4.3.0 |
2013-04-26 11:58 | jcfr | Relationship added | related to 0003089 |
2013-04-26 14:50 | jcfr | Relationship added | related to 0003093 |
2013-08-30 13:57 | jcfr | Target Version | Slicer 4.3.0 => Slicer 4.3.1 |
2013-10-01 11:50 | jcfr | Target Version | Slicer 4.3.1 => Slicer 4.3.2 |
2014-03-06 10:15 | nicole | Target Version | Slicer 4.3.2 => Slicer 4.4.0 |
2014-03-07 10:21 | jcfr | Note Added: 0011377 | |
2014-05-12 19:37 | jcfr | Assigned To | jcfr => matthew-woehlke |
2014-05-12 19:39 | jcfr | Note Added: 0011737 | |
2014-06-05 06:39 | jcfr | Note Added: 0012030 | |
2014-06-05 06:57 | jcfr | Relationship added | related to 0003730 |
2014-06-05 11:08 | matthew-woehlke | Note Added: 0012031 | |
2014-06-05 11:08 | matthew-woehlke | Status | assigned => feedback |
2014-06-06 09:12 | jcfr | Note Added: 0012033 | |
2014-06-06 09:12 | jcfr | Note Edited: 0012033 | |
2014-06-17 15:26 | matthew-woehlke | Note Added: 0012085 | |
2014-06-17 17:03 | jcfr | Note Added: 0012086 | |
2014-06-30 14:51 | jcfr | Note Added: 0012114 | |
2014-06-30 14:51 | jcfr | Status | feedback => resolved |
2014-06-30 14:51 | jcfr | Fixed in Version | => Slicer 4.4.0 |
2014-06-30 14:51 | jcfr | Resolution | open => fixed |
2014-07-14 09:19 | jcfr | Status | resolved => closed |
2017-06-10 08:51 | Changeset attached | => Slicer master 7fed1f7c | |
2017-06-10 08:51 | Changeset attached | => Slicer master fc739771 |