|
1 |
| -# ObjectScript Package Manager Client - ZPM |
| 1 | +# InterSystems Package Manager - IPM |
2 | 2 |
|
3 |
| -Helps to install ObjectScript classes and routines, globals, Embedded Python modules, CSP and Frontend packages, and any files into InterSystems IRIS published on the official [ZPM Registry](https://pm.community.intersystems.com/packages/-/all) or private ZPM registry of your own. |
| 3 | +Helps to install ObjectScript classes and routines, globals, Embedded Python modules, CSP and Frontend packages, and any files into InterSystems IRIS published on the official [Registry](https://pm.community.intersystems.com/packages/-/all) or private registry of your own. |
4 | 4 |
|
5 | 5 | ## Documentation
|
6 | 6 | * [The official documentation in the wiki](https://github.com/intersystems-community/zpm/wiki/)
|
7 | 7 | * [Articles on the InterSystems Developer Community](https://community.intersystems.com/tags/objectscript-package-manager-zpm)
|
8 | 8 | * [Videos on YouTube](https://www.youtube.com/playlist?list=PLKb2cBVphNQRcmxt4LtYDyLJEPfF4X4-4)
|
9 | 9 |
|
| 10 | +## Compatibility Note |
| 11 | +With the release of IPM v0.9.0 on Dec 2024, IPM is no longer mapped across namespaces. |
| 12 | +This is an intentional change so that users can have different IPM versions and configurations in different namespaces. |
| 13 | +If you install IPM on an instance without the legacy 0.7.x version, IPM is only installed to the current namespace. |
| 14 | + |
| 15 | +* To retain the old behavior where %IPM routines and classes mapped across all namespaces, run `zpm "enable -map -globally`. This is automatically performed when upgrading from a legacy version and can be undone by running `zpm "unmap -globally"`. |
| 16 | +* You can optionally choose to map IPM repositories across namespaces with `zpm "enable -map -repos -namespaces NS1,NS2,NS3` or `zpm "enable -map -repos -globally`. Repositories are only mapped if %IPM classes and routines are also mapped from the same namespace. |
| 17 | +* As a convenience command, `zpm "enable -community"` will make IPM behave essentially the same as legacy versions (v0.7.x) by setting up the the community registry and maping %IPM routines and classes, as well IPM repository settings to all namespaces. |
10 | 18 |
|
11 | 19 | ## Installing ObjectScript Package Manager Client:
|
12 | 20 |
|
13 | 21 | 0. Use one-liner in terminal call or programmatically:
|
14 | 22 | ```
|
15 |
| -s r=##class(%Net.HttpRequest).%New(),r.Server="pm.community.intersystems.com",r.SSLConfiguration="ISC.FeatureTracker.SSL.Config" d r.Get("/packages/zpm/latest/installer"),$system.OBJ.LoadStream(r.HttpResponse.Data,"c") |
| 23 | +s version="latest" s r=##class(%Net.HttpRequest).%New(),r.Server="pm.community.intersystems.com",r.SSLConfiguration="ISC.FeatureTracker.SSL.Config" d r.Get("/packages/zpm/"_version_"/installer"),$system.OBJ.LoadStream(r.HttpResponse.Data,"c") |
16 | 24 | ```
|
| 25 | +**If you want the legacy behavior of mapping IPM classes, routines, and repository settings to all namespaces, run `zpm "enable -community"` after installing IPM. See `zpm "help enable"` for details.** |
| 26 | +**In a CI script, for deterministic behavior, you should replace version="latest" with the IPM version you wish to use.** |
17 | 27 |
|
18 | 28 | OR:
|
19 | 29 |
|
@@ -65,4 +75,4 @@ Here is the [alternative supported folder structure.](https://openexchange.inter
|
65 | 75 |
|
66 | 76 | ## Support and Collaboration
|
67 | 77 | ObjectScript Package Manager is a community supported project and thus open to collaboration via Pull Requests.
|
68 |
| -Issues and feature requests [are very welcome](https://github.com/intersystems-community/zpm/issues) |
| 78 | +Issues and feature requests [are very welcome](https://github.com/intersystems-community/zpm/issues) |
0 commit comments