Article
· Apr 17, 2020 3m read

ObjectScript Package Manager Release - ZPM 0.2.1

Hi Developers!

I'm pleased to announce a new release of InterSystems ObjectScript Package Manager - ZPM 0.2.1!

What are the new features?

  • Custom parameters for modules installation;
  • Show the module repository;
  • CSP and REST Application configurations improvement;
  • Documentation!

See the details below.

Custom parameters for modules installation

Often when we install the module we want to pass some parameters to tweak the behavior of the module's deployment scenario. E.g. if a module installs the web application often we want to pass the name of this web application to be created instead of hardcoded one. And so on. This release comes with the feature. You are able to pass parameters with to module with the following construction:

install module-name -Dparameter=value

E.g. to pass the parameter count=42 call 

zpm:USER>install module-name -Dcount=42

You can refer to the parameter inside module.xml as $(count) in this case.

And you can setup the default value for the parameter in case if the installation was called without passing a parameter's value:

 <Defaults>
        <Default Name="count" Value="7" />       
      </Defaults>

Module repository

When you start the zpm and call search  to check what are the repositories available, you see the list with names and versions:

zpm:USER>search 

All the modules you see were installed via Open Exchange and thus have a repository. With this release, you can see the repository.

Call search with the clause -show-repo and you can see it:

Improved CSP Description

First, we introduced a minor but important page which introduces the support of two fields:

SourcePath - for the folder in the repo to copy into the package

DeployPath - folder on the target server where files should be copied to during the package deployment.

An example of a CSP section:

<CSPApplication
        SourcePath="/html"
        DeployPath="${cspdir}webapp"
        Url="/webapp"
        ServeFiles="1"
        Recurse="1"
        CookiePath="/webapp"
        UseCookies="2"
        MatchRoles=":{$dbrole}"
        PasswordAuthEnabled="1"
        UnauthenticatedEnabled="0"
       />

And also we removed the requirement for REST applications to introduce abundant folder Path and Directory (or SourcePath, DeployPath) elements. E.g. REST API description can look like this now:

<CSPApplication 
        Url="/registry"
        Recurse="1"
        MatchRoles=":${dbrole}"
        PasswordAuthEnabled="1"
        UnauthenticatedEnabled="0"
        DispatchClass="REST.Dispatch"
        ServeFiles="1"
        CookiePath="/registry"
        UseCookies="2"

/>

 

ZPM Documentation

Yes. You were waiting for this, we too and we started working on documentation - here it is - wiki documentation for ZPM.

Now it includes:

Here all the issues which has been solved in this release.

Here is the kanban for the next version!

Please share your experience, introduce new requests!

Happy coding!

Discussion (3)2
Log in or sign up to continue

And we released images with IRIS 2020.1 and 2020.2 and ZPM 0.2.1. the tags are:

intersystemsdc/iris-community:2020.1.0.215.0-zpm

intersystemsdc/iris-community:2020.2.0.196.0-zpm

intersystemsdc/irishealth-community:2020.1.0.215.0-zpm

intersystemsdc/irishealth-community:2020.2.0.196.0-zpm

And to launch IRIS do:

docker run --name my-iris -d --publish 9091:51773 --publish 9092:52773 intersystemsdc/iris-community:2020.1.0.215.0-zpm

docker run --name my-iris -d --publish 9091:51773 --publish 9092:52773 intersystemsdc/iris-community:2020.2.0.196.0-zpm

docker run --name my-iris -d --publish 9091:51773 --publish 9092:52773 intersystemsdc/irishealth-community:2020.1.0.215.0-zpm

docker run --name my-iris -d --publish 9091:51773 --publish 9092:52773 intersystemsdc/irishealth-community:2020.2.0.196.0-zpm

And for terminal do:

docker exec -it my-iris iris session IRIS

and for control panel:

http://localhost:9092/csp/sys/UtilHome.csp

Happy coding!