Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Module upgrades for output modules #1017

Merged
merged 15 commits into from Apr 8, 2015
Merged

Conversation

remram44
Copy link
Member

It probably make sense to upgrade from *Cell modules to *Output modules.

  • matplotlib: MplFigureCell->MplFigureOutput
    • v2.1: 1.0.1, master: 1.0.4
    • 1.0.2: fixes to plots, 1.0.3: dont-use-modules-as-data, 1.0.4: added MplFigureToFile
    • will use 1.0.5
  • tabledata: TableCell->TableOutput
    • same version 0.1.5 because of backport (3d324de)
    • should bump to 0.1.6 after backport and will use that
  • vtk: VTKCell->vtkRendererOutput
  • spreadsheet: RichTextCell->RichTextOutput
  • ImageViewerCell->ImageOutput (Implements ImageOutput and fixes output mode priorities #1013)
    • v2.1: 0.9.2, master: 0.9.3
    • 0.9.3: dont-use-modules-as-data
    • will use 0.9.4
  • keep *Cell module if some ports are connected/set

@dakoop
Copy link
Member

dakoop commented Mar 17, 2015

Yes. This was not done originally as *Ouput had not received enough testing.

@remram44 remram44 modified the milestones: version 2.2, 2.2.0 Apr 3, 2015
@remram44
Copy link
Member Author

remram44 commented Apr 6, 2015

I just rebased this (across VTK package merge, #998); I'm running into issues with upgrades also. It looks that if I have upgrades for some modules from x to 1.0.0, and package version is 1.0.1, the upgrade fails. I think a call to attempt_automatic_upgrade() is missing somewhere, cc @dakoop.

@rexissimus
Copy link
Member

I had the same problem for VTK. Upgraded modules needed to have an upgrade path to the final version. Adding an attempt_automatic_upgrade() call somewhere can hopefully fix this.

@remram44
Copy link
Member Author

remram44 commented Apr 7, 2015

The problem here, compared to the database migration systems I'm used to, is that:

  • Upgrades are performed for each module, taken independently, rather than upgrading package versions in lockstep;
  • We do not have the "schema" for intermediate versions (or even the list of versions).

A lot could be inferred from the provided upgrades, but it's not easy.

I think what you ran into is different and is an actual bug.

@remram44
Copy link
Member Author

remram44 commented Apr 8, 2015

Should now be fixed, but that makes the upgrades very awkward.

@dakoop
Copy link
Member

dakoop commented Apr 8, 2015

So the problem is that the automatic upgrade is not performed after an earlier (non-automatic) upgrade is performed? For example, if you wish to upgrade from 2.0.0 to 2.1.1 and a 2.0.0 -> 2.1.0 upgrade is an explicitly defined upgrade, but 2.1.0 -> 2.1.1 would assume an automatic upgrade, that second upgrade does not happen? Yes, this should be fixed in the general upgrade logic.

@remram44 remram44 force-pushed the upgrade-to-output-modules branch 3 times, most recently from ed8ea19 to fa5dc0f Compare April 8, 2015 19:12
upgrade_cell_to_output() now returns an UpgradeModuleRemap object,
instead of a dict; it also handles an input of that type in addition to
dict.
We need to make sure we get to 1.0.1 via explicit upgrades.
Using the end_version as output_version is very broken because the new
module can be from a different package (with different versions).
remram44 added a commit that referenced this pull request Apr 8, 2015
@remram44 remram44 merged commit 543afc0 into master Apr 8, 2015
@remram44 remram44 deleted the upgrade-to-output-modules branch April 8, 2015 20:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants