0.9 marks significant progress towards our 1.0 goals. IPM now supports using container registries for package distribution.
We've made a few incompatible changes so please read the latest release notes.
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 or private registry of your own.
With the release of IPM v0.9.0 on Dec 2024, IPM is no longer mapped across namespaces.
This is an intentional change so that users can have different IPM versions and configurations in different namespaces.
If you install IPM on an instance without the legacy 0.7.x version, IPM is only installed to the current namespace.
zpm "enable -map -globally
. This is automatically performed when upgrading from a legacy version and can be undone by running zpm "unmap -globally"
.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.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.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")
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.
In a CI script, for deterministic behavior, you should replace version=“latest” with the IPM version you wish to use.
OR:
After that you can use PackageManager to install modules from community repository in any namespace.
zpm: USER>
USER> zpm
zpm: USER>repo -list-modules -n registry
deepseebuttons 0.1.7
dsw 2.1.35
holefoods 0.1.0
isc-dev 1.2.0
mdx2json 2.2.0
objectscript 1.0.0
pivotsubscriptions 0.0.3
restforms 1.6.1
thirdpartychartportlets 0.0.1
webterminal 4.8.3
zpm 0.0.7
zpm: USER> install webterminal
USER> zpm
zpm: USER> uninstall webterminal
This is described in the following set of articles
The simplest and template repository can be found here.
Here is the alternative supported folder structure.
ObjectScript Package Manager is a community supported project and thus open to collaboration via Pull Requests.
Issues and feature requests are very welcome