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
Conversation
Yes. This was not done originally as |
468077e
to
6380a59
Compare
f2ed023
to
acf5c19
Compare
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. |
The problem here, compared to the database migration systems I'm used to, is that:
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. |
3e3109a
to
6094cbb
Compare
Should now be fixed, but that makes the upgrades very awkward. |
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. |
ed8ea19
to
fa5dc0f
Compare
Checks whether upgrade from Cell module to Output module can be performed safely (i.e. no input ports besides the object to be output is connected or set).
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).
d64b5ac
to
3c44bd7
Compare
Module upgrades for output modules
It probably make sense to upgrade from
*Cell
modules to*Output
modules.MplFigureCell
->MplFigureOutput
TableCell
->TableOutput
VTKCell
->vtkRendererOutput
RichTextCell
->RichTextOutput
ImageViewerCell
->ImageOutput
(Implements ImageOutput and fixes output mode priorities #1013)*Cell
module if some ports are connected/set