View Issue Details

IDProjectCategoryView StatusLast Update
0002561Slicer4Core: Building (CMake, Superbuild)public2017-06-07 23:27
Reporterjcfr Assigned Tojcfr  
PrioritylowSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Product Version 
Target VersionSlicer 4.2.0Fixed in VersionSlicer 4.2.0 
Summary0002561: Create script allowing to "version" na-mic data tree
Description

Currently data are associated with 4.2 sub-folder, when we will be releasing, we should probably create the "Nightly" set of folders based on the 4.2 ones.

TagsNo tags attached.

Relationships

related to 0002704 closedjcfr Improve script allowing to "version" na-mic data tree 
related to 0002722 closedjcfr Think about organization of Data/Modules directory on midas to accomodate extension relationship 
child of 0002060 acknowledgedjcfr Move testing data onto Midas 

Activities

jcfr

jcfr

2012-10-17 06:27

administrator   ~0006589

The idea would be to create a python module named "release.py" that would leave in slicer tree under "Base/Python/slicer/ "directory.

For now, that module would provide the following functions:

//------------------
versionDataModuleDirectory(modulename, sourceversion, targetversion)

=> This function would copy the directory and sub-directories from:

     NA-MIC/Public/Slicer/Data/Modules/SkullStripper/<sourceversion>

   into 

     NA-MIC/Public/Slicer/Data/Modules/SkullStripper/<targetversion>

//------------------
versionDataApplicationDirectory(sourceversion, targetversion)

=> This function would copy the directory and sub-directories from:

     NA-MIC/Public/Slicer/Data/Application/<sourceversion>

   into 

     NA-MIC/Public/Slicer/Data/Application/<targetversion>

//------------------
listDataModules()

 => Return the list of modules directory existing under "NA-MIC/Public/Slicer/Data/Modules/"

//------------------
versionData(sourceversion, targetversion)

 => Using "listDataModules", "versionDataModuleDirectory" and "versionDataApplicationDirectory", this function would copy the strucutre and items from "sourceversion" to "targetversion".

Pydas module could probably be used. See [1] and [2]

Usage:

For now, consider this script wouldn't have any dependency on slicer python, it could either be used from within slicer or from a regular python interpreter.

While developing the module I would recommend to install your own instance of Midas. See [3]

Moving forward, I also envision to integrate the versioning of the documentation into this module. See [4]

[1] https://github.com/midasplatform/pydas
[2] http://pydas.readthedocs.org/en/latest/
[3] http://www.kitware.com/midaswiki/index.php/Documentation/Latest/User/Setup/Installation
[4] https://github.com/jcfr/mwdoc#readme

sankhesh

sankhesh

2012-10-25 12:36

developer   ~0006765

Pushed topic here: https://github.com/sankhesh/Slicer/tree/2561-version-namic-data-tree

jcfr

jcfr

2012-10-25 13:18

administrator   ~0006774

Excellent. That is great.

Really liked the demo. Following our hangout, consider the comments added here: https://github.com/sankhesh/Slicer/commit/e86a3edd51682ef3224f363e13cdc1fb4036e55d

jcfr

jcfr

2012-10-26 13:27

administrator   ~0006824

Last edited: 2012-10-26 13:28

Will provide you with more feedback soon. After running the script on the actual instance.

jcfr

jcfr

2012-10-29 15:53

administrator   ~0006890

Worked great. Na-mic data tree has been "versioned".
See http://slicer.kitware.com/midas3/folder/301

jcfr

jcfr

2012-10-29 16:04

administrator   ~0006891

Since the release can be used standalone, there is not need to integrate the topic into Slicer trunk.

jcfr

jcfr

2014-03-06 05:08

administrator   ~0010995

Closing resolved issues that have not been updated in more than 3 months

jcfr

jcfr

2017-06-07 23:27

administrator   ~0014615

Fix committed to 2145-support-for-installing-extension-from-file branch.

Related Changesets

Slicer: 2145-support-for-installing-extension-from-file 55902344

2013-08-19 14:01:05

jcfr

Details Diff
ENH: Script to version the na-mic data tree on Midas

This script can be used to duplicate the Nightly NA-MIC data tree on
Midas to a new folder tagged by the release version. The script used the
pydas api as well as some of Midas web-api for the methods not yet
ported to pydas. The script does not take any input arguments. All the
arguments should be provided as options using the option flags. For a
full list of options: "python release.py --help".
For now, it is assumed this script does not depend on slicer python. It
can be used from the regular python interpreter.

Added a function called versionData that takes the same arguments as
input as the command line module. This facilitates the use of this
script as a python importable module.
Improved documentation. Added docstring style documentation for
functions.

Added a new directory called release that will contain all scripts
that can be used when tagging Slicer for a new release. For example,
versioning Midas NA-MIC data tree, documentation generation, etc.

Added dry run functionality that prints the structure of the source
folder that is going to be duplicated. Made changes to test script as
well.

Added a an "_" before all functions that are not required by the user to
hide them.
Added an __all__ in the __init__.py for the package to know which module
it can import.
So, when you do a
from release import *
only, midasdata should be imported and not the unittest.

Fixes 0002561
Fixes 0002704

Co-authored-by: Jean-Christophe Fillion-Robin <JChris.FillionR@kitware.com>

From: Sankhesh Jhaveri <sankhesh.jhaveri@kitware.com>

git-svn-id: http://svn.slicer.org/Slicer4/trunk@22296 3bd1e089-480b-0410-8dfb-8563597acbee
add - Base/Python/slicer/release/__init__.py Diff File
add - Base/Python/slicer/release/midasdata.py Diff File
add - Base/Python/slicer/release/midasdata_test.py Diff File

Issue History

Date Modified Username Field Change
2012-09-24 08:14 jcfr New Issue
2012-09-24 08:14 jcfr Status new => assigned
2012-09-24 08:14 jcfr Assigned To => jcfr
2012-09-24 08:14 jcfr Assigned To jcfr => sankhesh
2012-09-24 08:14 jcfr Target Version => Slicer 4.2.0 - coming release
2012-09-24 08:14 jcfr Relationship added child of 0002060
2012-09-25 10:48 jcfr Priority normal => low
2012-10-17 06:27 jcfr Note Added: 0006589
2012-10-25 12:36 sankhesh Note Added: 0006765
2012-10-25 13:18 jcfr Note Added: 0006774
2012-10-26 13:27 jcfr Status assigned => feedback
2012-10-26 13:27 jcfr Note Added: 0006824
2012-10-26 13:28 jcfr Note Edited: 0006824
2012-10-29 15:51 jcfr Relationship added related to 0002704
2012-10-29 15:53 jcfr Note Added: 0006890
2012-10-29 15:53 jcfr Status feedback => resolved
2012-10-29 15:53 jcfr Fixed in Version => Slicer 4.2.0 - coming release
2012-10-29 15:53 jcfr Resolution open => fixed
2012-10-29 16:04 jcfr Note Added: 0006891
2013-09-04 13:04 jcfr Relationship added related to 0002722
2014-03-06 05:08 jcfr Note Added: 0010995
2014-03-06 05:09 jcfr Status resolved => closed
2017-06-07 23:27 jcfr Changeset attached => Slicer 2145-support-for-installing-extension-from-file 55902344
2017-06-07 23:27 jcfr Note Added: 0014615
2017-06-07 23:27 jcfr Assigned To sankhesh => jcfr