Written by

Senior Startups and Community Programs Manager at InterSystems Corporation
Article Evgeny Shvarov · Jun 16, 2020 3m read

InterSystems Package Manager ZPM 0.2.3 release: test server, new commands, boilerplate generation and many more

Hi, folks!

We released a new version of ZPM, with one revolutionary feature, and a set of great enhancements, amongst of which, are:

  • module.xml boilerplate generator
  • test server
  • CLI commands order change,
  • and more!

See the details below

1. Official test server

To check if your package is published in the registry and then installed from it, use the test registry: https://test.pm.community.intersystems.com/registry/ login: test password: PassWord42

To switch to the test registry use the command

repo -r -n registry -url https://test.pm.community.intersystems.com/registry/ -user test -pass PassWord42

Once a day, the test registry is updated and all data in it is reset

2. New commands for the most frequent actions with the module

Previously, to publish a module in the current registry, you had to use the module-action command, e.g., module-action mymodule publish, and it could be written shorter mymodule publish.

Now you can use the publish command: publish mymodule - with the organic word order

Commands which support Command module-name order:

  • reload
  • compile
  • test
  • package
  • verify
  • publish

3. Generate command

Using the generate command, you can create a module.xml file template in a second.

Usage:

  • generate -template /my/project Creates a module.xml file with fictional data in /my/project
    After that you must open and edit this file to change module meta information and specify module resources (classes, csp pages, globals, test)

  • generate /my/project Without -template (or -t) flag this command creates a module.xml file in an interactive mode. Just answer several questions. Use -author (-a) flag to add information about module author

zpm: USER>generate /temp/zzzz

Enter module name: zzzz
Enter module version: 1.0.0 => 1.0.1
Enter module description: module description
Enter module keywords: module keywords
Enter module source folder: src => 

Existing Web Applications:
    /csp/user
    Enter a comma separated list of web applications or * for all: /csp/user
    Enter path to csp files for /csp/user:  src/web
Dependencies:
    Enter module:version or empty string to continue: sslclient:1.0.1
    Enter module:version or empty string to continue: 
zpm: USER>

4. Globals location

Now Globals are expected in /src/gbl (but not in /gbl ) This is not back-compatible, so please update your modules.

5. Version command

Version command displays currently installed zpm version number; shows locally installed zpm registry and connected remote repository and their version.

zpm: USER>version

 zpm 0.2.2
 Locally installed zpm-registry not found
https://pm.community.intersystems.com - 0.0.2

6.Switching back to a public repository

Run the following command to switch back to the public repository:

zpm: USER>repo -r -n registry -url https://pm.community.intersystems.com/

Stay tuned! Your collaboration, feedback, bug-reports are very welcome!

Comments

Evgeny Shvarov · Jun 16, 2020

Updated images:

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

intersystemsdc/iris-community:2020.1.0.215.0-zpm

intersystemsdc/iris-community:2020.2.0.204.0-zpm

intersystemsdc/irishealth-community:2020.1.0.215.0-zpm

intersystemsdc/irishealth-community:2020.2.0.204.0-zpm

intersystemsdc/iris-aa-community:2020.3.0AA.331.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.204.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.204.0-zpm

docker run --name my-iris -d --publish 9091:51773 --publish 9092:52773 intersystemsdc/iris-aa-community:2020.3.0AA.331.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!

0