-
Notifications
You must be signed in to change notification settings - Fork 24
Fix v0.10.5 release blockers #1016
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
base: main
Are you sure you want to change the base?
Conversation
isc-kiyer
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@isc-dchui few minor comments. Looks good!
|
|
||
| /// This method is called directly in LoadNewModule() instead of with an <Invoke> in the module.xml | ||
| /// because the old mappings break load/install before any <Invokes> can be run. | ||
| ClassMethod CleanupOldMappings() As %Status |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can this not be called from the Invoke() in IPM.Installer above in the XData block instead? It should also probably query all namespaces on the instance to fix these mappings in namespaces that map IPM instead of installing it in there
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tried that and it didn't work. For details, I set up the old mappings using
do ##class(%IPM.Utils.Module).AddGlobalMapping($namespace,"oddStudioDocument:(BEGIN):(""%ZP"")","IRISLIB")
do ##class(%IPM.Utils.Module).AddGlobalMapping($namespace,"oddStudioDocument:(""%ZP""):(""A"")","IRISSYS")
do ##class(%IPM.Utils.Module).AddGlobalMapping($namespace,"oddStudioDocument:(""Ens""):(""Ent"")","ENSLIB")
then called load /home/irisowner/zpm to install IPM again, which resulted in this error:
ERROR! User defined document 'ZPM.ZPM' not supported. No user defined document class in this namespace.
> ERROR #6315: Errors reporting importing XML subelement in file '/home/irisowner/zpm/module.xml' at line '3' offset '28', skipping this item.
It seems the problem is that the mappings break IPM before any of the lifecycle stages can happen, which is when an <Invoke> would occur.
Good call on checking the other namespaces though, I've added that change.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@isc-dchui Hmm I think I was unclear. I meant the Invoke() in IPM.Installer as part of the installer manifest. Also, to test this, we should emulate how a customer would install IPM which loads IPM.Installer and runs the installer manifest from there instead of using load directly on IPM source files.
546fa99 to
f076a58
Compare
Fixes #999
Fixes #1000
Fixes #1007
Fixes #1015