Documentation/Labs/AutomaticUpdateAndInstallationFramework/PreviousEfforts

From Slicer Wiki
Jump to: navigation, search
Home < Documentation < Labs < AutomaticUpdateAndInstallationFramework < PreviousEfforts

Current Process

  • Dennis added a third tab in the extension manager, using Qt Designer
  • extensionsInstallPath() returns platform-specific path to "NA-MIC" folder which has "Extensions-2456" subfolders for all installed Slicer versions
    • on Linux, that's in ~/.config/NA-MIC
    • on Windows, in AppData/Roaming
    • on OS X, seems to be a subdirectory of the application bundle
  • Dennis' idea: look for all Extensions-* subfolders – how to do that on OS X properly?
    • just found [Extensions]/InstallPath setting in .ini files -> by parsing all ini files, that could work cross-platform
    • on OS X, the inis are in ~/.config//www.na-mic.org
  • Dennis' plan was to use Python scripting, but using C++/Qt would also be a good option

Proposed Changes

  • a new (third) tab in the extension manager, which should list all previously installed extensions
  • view should have columns:
    • extension name
    • Slicer revisions / last revision in which the extension was installed
    • checkbox for batch installation, pre-checked from latest previous Slicer revision
    • rows with installed extensions could be grayed out
  • below that, a button for installing the checked extensions

Progress

  • Extract list of extensions installed. Look at npm for the format. ToBeDone
  • Extension manager:
    • Update ExtensionManageModel API so that "list" can be processed ToBeDone
    • Update entry "Install Extension from file" to "Install Extensions from file" and support "tar.gz", ".json" ToBeDone

Meta issue:

  • 2779: Mechanism to keep track of the installed extensions across version ToBeDone