ZPM está diseñado para funcionar con aplicaciones y módulos de InterSystems IRIS. Está formado por dos componentes: el Cliente ZPM, que es un CLI para gestionar módulos; y El Registro, que es una base de datos de módulos y meta-información. Podemos utilizar ZPM para buscar, instalar, actualizar, eliminar y publicar módulos. Con ZPM se pueden instalar clases de ObjectScript, aplicaciones Frontend, producciones de Interoperabilidad, soluciones de BI de IRIS, conjuntos de datos de IRIS o cualquier otro archivo, como paquetes wheel de Python Embebido.
En este artículo repasaremos tres secciones:
- Instalación de ZPM
- Generación del Módulo
- Búsqueda, Instalación y Publicación de módulos dentro del Registro
1. Instalación de ZPM
- Descarga la última versión de ZPM (debería ser un único archivo XML) Descárgalo aquí directamente
- Importa a IRIS el XML que has descargado y solo puede ser instalado en IRIS. Abre el terminal de IRIS terminal y escribe
write $SYSTEM.OBJ.Load("C:\zpm.xml", "c")
Ten en cuenta que "C:\zpm.xml" es la ruta del archivo XML descargado. Este paso podría tardar un rato.
- Cuando termine la instalación, escribe simplemente zpm, haz clic en Enter para entrar en el shell de zpm.
2. Generación del Módulo
Antes de empezar a generar el módulo, tenemos que preparar una carpeta que tiene uno o más archivos listos para cargar. Por tanto, he creado un archivo en C llamado zpm.
Ejecuta el comando generate C:/zpm
Tras especificar todo lo necesario, tu primer módulo se ha generado correctamente y verás:
Notas:
- la versión del módulo usa el versionado semántico
- la carpeta fuente del módulo es la carpeta que tiene todos los archivos de clase
- zpm también ofrece la opción de añadir aplicaciones web y dependencia, en este ejemplo lo dejaré en blanco
Ahora abre el explorador de archivos. Verás un archivo llamado "module.xml", como en este pantallazo:
Escribe el comando load C:\ZPM\ Verás que tu módulo ha sido recargado, validado, compilado y activado.
3. Búsqueda, Instalación y Publicación de módulos dentro del Registro
Busca los paquetes disponibles en el Registro actual: zpm:USER>search
Instala el paquete desde el Registro actual. Como ejemplo, vamos a instalar un módulo llamado zpmshow en el Registro público: zpm:USER>install zpmshow (el comando es: install "moduleName")
Publica el módulo después de que se haya cargado: zpm:USER>publish myFirstZPMDemo
Puedes usar zpm:USER>search para verificar que se ha publicado. En mi caso puedes ver que "myfirstzpmdemo 0.1.0" está situado en el Registro actual.
Nota: Si cuando publicas un módulo obtienes un error que dice: "ERROR! Publishing module, something went wrong", asegúrate de que el estado del Registro actual está activado y disponible.
Puedes usar zpm:USER>repo -list, para verificar el estado del Registro actual.
Vídeo explicativo: Aquí podéis ver un vídeo con todos los pasos comentados
Excelente resumen!. Además, desde hace unos meses, ZPM fue adoptado oficialmente por InterSystems y pasa a llamarse IPM. Se mantiene eso sí como open source, pero pasa a estar soportado por InterSystems como Package Manager... Para el que quiera contribuir dando ideas para mejorarlo, comentar problemas, dudas, etc... dejo aquí el GitHub: GitHub - intersystems/ipm: InterSystems ObjectScript Package Manager. Tambien tendréis acceso a versiones beta...