Review and improve installation modes
With v0.9, IPM gains the ability to be installed namespace-specific, but is currently restricted to explicitly not run in %SYS.
Really the main goal had been to get it out of IRISSYS, not to prevent legitimate use cases (meaning, currently: not modifying IRISLIB) from running in the %SYS namespace.
Need to review %IPM.Main:EnableNS to better handle enabling instance-wide. This might be able to use %ALL (which would be valid), need to test; otherwise it'll be a ton of namespace-specific mappings.
Upon migration from v0.7, instance-wide should be the default.
Actual requirements for enabling IPM instance-wide:
- [x] It should be easy to say, after installing IPM, "I want this version of IPM to be used in all namespaces"
- [x] It should be easy to upgrade IPM instance-wide from any namespace to which the instance-wide installation is mapped (note: IPM installed version metadata needs to be tracked in the right DB!) - this might mean tracking the namespace through which IPM is managed, and only allowing upgrades through that namespace.
- [x] It should be easy, with or without an instance-wide installation of IPM, to install and run different IPM versions in different namespace.
- [x] There should be a way to see which namespaces have IPM available, at which versions, and where it's mapped from in each namespace.
- [x] Interactive use of the zpm command should direct the user properly if IPM is not available in the current context.
- [x] After enabling of IPM in a namespace with 0.7.x (or earlier) installed, need to run the data migration process.
Dev is done; still needs doc.
Doc is covered through a handful of wiki updates.