#InterSystems Package Manager (IPM)

0 Seguidores · 47 Publicaciones

InterSystems Package Manager (IPM): una herramienta para implementar los paquetes y soluciones en InterSystems IRIS con dependencias.

Descargar el cliente de Package Manager.

Artículo Muhammad Waseem · mar 29, 2022 5m read

 

He desarrollado una aplicación para importar de forma dinámica 12 conjuntos de datos junto con 43 tablas usando el comando LOAD DATA, que carga los datos de una fuente a una tabla SQL de IRIS. 

Lista de los conjuntos de datos

0
0 700
Artículo Alberto Fuentes · jun 8, 2022 4m read

Hola desarrolladores!

Este es otro artículo para simplificar la vida de los desarrolladores. Hablamos de hacer que GitHub ejecute tus pruebas unitarias (unittest) con cada push que hagas a tu repositorio simplemente añadiendo un fichero. Gratis :). En GitHub Cloud. Suena genial, ¿no?

Es factible, y además muy sencillo. El mérito es para @Dmitry Maslennikov (y su repo), el gestor de paquetes ZPM y las GitHub Actions. Vamos a ver cómo funciona todo en conjunto.

Something for Nothing by Robert Sheckley - YouTube

0
0 566
Artículo Dani Fibla · ago 9, 2021 3m read

¡Hola desarrolladores!

A veces, cuando desarrollamos una maqueta o una Prueba de Concepto (PoC), necesitamos una interfaz sencilla que proporcione datos en IRIS en JSON contra consultas SQL.

Y recientemente contribuí con un sencillo módulo que hace exactamente eso:

acepta una sentencia SQL y devuelve JSON.

¿Cómo se instala? Solo llama:

zpm "install sql-rest"

Si lo instalas en un namespace X, configurará un endpoint /sql en tu sistema, que aceptará solicitudes POST con una sentencia SQL  y te devolverá el resultado para los datos disponibles en el namespace X.

0
0 556
Artículo Alberto Fuentes · mayo 6, 2021 4m read

¡Hola desarrolladores!

Supón que tienes una clase persistente con datos y quieres tener una interfaz de usuario Angular sencilla, para ver los datos y llevar a cabo operaciones CRUD.

En este artículo describíamos cómo desarrollar una interfaz de usuario Angular para InterSystems IRIS utilizando RESTForms2.

A continuación vamos a explicar cómo conseguir una interfaz de usuario Angular sencilla que permita realizar operaciones CRUD y ver automáticamente los datos de tu clase de InterSystems IRIS en menos de 5 minutos.

¡Vamos!

1
0 345
Artículo Jose-Tomas Salvador · jun 29, 2023 2m read

¡Hola Comunidad!

Me gustaría compartir con vosotros un ejercicio que he hecho para crear "mi propio" chat con ChatGPT en Telegram.

Ha sido posible gracias a dos componentes de Open Exchange: Telegram Adapter, de @Nikolay Solovyev e IRIS Open-AI, de @Kurro Lopez 

Así que con este ejemplo podréis configurar vuestro propio chat con ChatGPT en Telegram. 

¡Veamos cómo hacerlo funcionar!

0
0 343
Artículo Jose-Tomas Salvador · mar 28, 2023 1m read

¡Hola Comunidad!

Recientemente tuve que configurar un servidor FHIR local usando IRIS for Health y creo que encontré la forma más sencilla y simple de hacerlo.

Simplemente ejecuta estas dos líneas en el terminal:

docker run --rm --name my-iris -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/irishealth-community

y

docker exec -it my-iris iris session iris -U "USER" '##class(%ZPM.PackageManager).Shell("install fhir-server")'

Y tendrás un servidor FHIR ejecutándose localmente en http://localhost:9092/fhir/r4.

¡Y eso es todo!

El servidor FHIR usará la última versión de InterSystems IRIS for Health Community Edition y desplegará el servidor FHIR desde esta app a través del paquete IPM en el namespace FHIRSERVER.

0
0 333
Artículo Muhammad Waseem · jun 1, 2022 3m read

¡Hola comunidad!

Esta publicación es una introducción a mi aplicación iris-fhir-client en Open Exchange.

Usando Python embebido y con la ayuda de la librería fhirpy, iris-fhir-client puede conectarse a cualquier servidor FHIR abierto.
Obten información de recursos por terminal y mediante el uso de la aplicación web CSP.

0
0 325
Artículo Daniel Aguilar · jun 12, 2023 3m read

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:

  1. Instalación de ZPM
  2. Generación del Módulo
  3. Búsqueda, Instalación y Publicación de módulos dentro del Registro
2
0 321
Artículo Alberto Fuentes · mayo 20, 2022 3m read

Si estás desarrollando soluciones en IRIS y quieres utilizar Git, ¡es genial! Sólo tienes que utilizar VSCode con un repositorio git local y enviar los cambios al servidor, así de fácil.

Pero qué sucede si:

  • Colaboras con otros desarrolladores en un entorno de desarrollo remoto compartido y quieres evitar la edición simultánea del mismo archivo
  • Utilizas editores basados en el portal de administración para BPL, DTL, tablas dinámicas, cuadros de mando, etc. y quieres incluir esos elementos en el control de código de forma sencilla.
  • Aún utilizas Studio para realizar algunas cosas y/o ocasionalmente vuelves a usarlo desde VSCode. O tu equipo todavía no ha adoptado completamente VSCode y algunos miembros del equipo todavía quieren utilizar Studio
  • Trabajas en varios proyectos diferentes al mismo tiempo en el mismo namespace - digamos, en varios paquetes definidos mediante InterSystems Package Manager - y quieres trabajar con todos ellos desde una vista de edición de isfs (en vez de en varios proyectos distintos) con los cambios rastreados automáticamente en el repositorio de git apropiado
1
1 296
Artículo Alberto Fuentes · ene 7, 2020 2m read

¡Hola Comunidad!

El gestor de paquetes InterSystems Package Manager (ZPM) es una gran herramienta, pero es aún mejor si la puedes usar directamente en lugar de tener que instalarla.  

Hay varias formas de hacer esto, a continuación veremos una forma de tener un contenedor IRIS con ZPM instalado a través del Dockerfile.

Hemos preparado un ejemplo con algunas líneas en el Dockerfile que se ocupan de la descarga e instalación de la última versión de ZPM
Añade estas líneas a tu Dockerfile estándar que utiliza el IRIS Community y tendrás ZPM instalado y listo para usar.

Para descargar la última versión del cliente ZPM:

0
0 260
Artículo Alberto Fuentes · ago 31, 2022 2m read

¡Hola desarrolladores!

Cuando desarrollas con ObjectScript Package Manager, un aspecto crucial es la versión del paquete, que situamos en el fichero module.xml. Cuando añadimos cambios al paquete y estamos listos para publicar una nueva versión del paquete en el registro, también necesitamos aumentar el número de versión. Esto está claro, pero es un poco molesto, y a menudo podemos olvidarnos de hacerlo. 

Este breve artículo os ayudará a automatizar ese proceso.

Probot logo

0
0 256
Artículo Alberto Fuentes · sep 13, 2021 2m read

¡Hola desarrolladores!

A veces necesitamos importar datos CSV de forma programática en InterSystems IRIS desde un fichero o una URL. Y esperamos además que automáticamente se genere una clase con los tipos de datos adecuados y los datos importados.

Echadle un ojo al módulo csvgen en Open Exchange que hace exactamente eso que hemos descrito.

Si necesitas importar un fichero CSV en IRIS puedes hacer esto:

USER>do ##class(community.csvgen).Generate("/usr/data/titanic.csv",,"Data.Titanic")

Class name: Data.
0
0 252
Artículo David Reche · nov 29, 2019 4m read

¡Hola desarrolladores!

Siempre que desarrollamos una biblioteca, herramienta, paquete o lo que sea en InterSystems ObjectScript, nos surge una pregunta: ¿cómo desplegar este paquete en la máquina destino?

Adicionalmente, en muchas ocasiones se supone que debe haber otras bibliotecas instaladas de las que depende nuestro código y a menudo de una versión particular de las mismas.

Cuando uno programa en javascript, python, etc., el rol de despliegue de paquetes con gestión de dependencias se realiza por el package manager o gestor de paquetes.

Por eso, me complace anunciar que ya está disponible nuestro administrador de paquetes, el InterSystems ObjectScript Package Manager .

0
0 247
Artículo Jose-Tomas Salvador · mayo 7, 2021 3m read

¡Hola desarrolladores!

Recientemente anunciamos la versión de prueba con Python embebido en InterSystems IRIS - echad un vistazo a este vídeo en inglés de @Robert.Kuszewski.

Python embebido ofrece la posibilidad de cargar y ejecutar el código Python en el servidor de InterSystems IRIS. Podéis utilizar módulos de librerías de Python instalándolos con pip, como NumPy, Pandas, etc., o podéis escribir vuestros propios módulos de Python como archivos .py independientes.

Bien, pero una vez que ya estáis satisfechos con el desarrollo de vuestra solución de Python embebida en IRIS, hay otra cuestión muy importante: cómo desplegar la solución.

Una de las opciones que podéis considerar es utilizar el Administrador de paquetes ZPM, que os voy a describir en este artículo.

0
0 240
Artículo Alberto Fuentes · dic 17, 2021 6m read

¡Hola desarrolladores!

Hace un tiempo lanzamos InterSystems Package Manager - ZPM. Uno de los objetivos de ZPM es permitir empaquetar soluciones y enviarlas al registro de ZPM para que su implementación sea tan sencilla como el comando "install tu-paquete".

Para ello es necesario introducir el archivo module.xml en tu repositorio, que describe en qué consiste tu paquete de InterSystems IRIS.

En este artículo se describen las diferentes partes de module.xml, que te ayudarán a configurar el tuyo.

Comenzaré por el paquete samples-objectscript, que instala en IRIS la aplicación Sample ObjectScript y se puede instalar mediante:

zpm: USER>install samples-objectscript

Este es probablemente el paquete más sencillo y aquí está el archivo module.xml, que describe el paquete:

<?xml version="1.0" encoding="UTF-8"?>
<Export generator="Cache" version="25">
  <Document name="samples-objectscript.ZPM">
    <Module>
      <Name>samples-objectscript</Name>
      <Version>1.0.0</Version>
      <Packaging>module</Packaging>
      <SourcesRoot>src</SourcesRoot>
      <Resource Name="ObjectScript.PKG"/>
    </Module>
    
  </Document>
</Export>
0
0 233
Anuncio Uthman Shabeer · abr 30, 2020

¡Hola desarrolladores!

Como sabéis, en el segundo concurso, introdujimos unos bonus tecnológicos.  Aquí podéis ver la publicación >>

Se puede ver qué aplicaciones han obtenido bonus en el menú de Bonus Tecnológicos:

Y aquí quiero compartir con todos las aplicaciones que obtuvieron los bonus. ¡Veámoslas!

ZPM Module Bonus

Para obtener el bonus ZPM, los concursantes deberían haber publicado un módulo en el Community Package Manager.

0
1 218
Artículo Alberto Fuentes · ago 9, 2023 5m read

Cada vez es más común ver coloridas insignias o badges en el archivo README.MD, con información útil sobre un proyecto en repositorios como GitHub, GitLab y otros.

Por ejemplo:

image image

Incluso la iniciativa sobre calidad del código que está en marcha en la comunidad actualmente también ofrece su propia insignia. Esta insignia muestra el estado de validación de código del proyecto.

Para incluirla, debes añadir la siguiente línea en el README.MD:

 [![Quality Gate Status](https://community.objectscriptquality.com/api/project_badges/measure?
0
1 212
Artículo Alberto Fuentes · dic 24, 2021 4m read

¡Hola desarrolladores!

Como sabéis, es muy fácil publicar un paquete en el repositorio de la Comunidad de Desarrolladores

Pero, ¿cómo se puede probar antes de publicarlo? ¿Cómo se puede garantizar que todo lo que se introdujo en module.xml funciona correctamente?

¡Seguid leyendo las instrucciones que os detallo a continuación!

0
0 201
Artículo Muhammad Waseem · jun 6, 2022 3m read

¡Hola Comunidad!

Este artículo muestra cómo crear Pacientes y Recursos de Observación de Pacientes mediante el uso de la aplicación iris-fhir-client.
image

Recomiendo leer mi primer artículo sobre esta aplicación y ver el vídeo de Youtube antes de continuar.

¡Empezamos!

0
0 199
InterSystems Official Jose-Tomas Salvador · nov 11, 2022

Me alegra anunciar un nuevo hito en el ciclo de vida de ObjectScript Package Manager (ZPM). El gestor de paquetes ha ofrecido a los desarrolladores la posibilidad de empaquetar de forma clara y sencilla el código de ObjectScript y la configuración de sus parámetros de despliegue, así como la información de la versión. Durante los últimos años ha evolucionado mucho, convirtiéndose en una parte fundamental de muchos workflows de desarrollo.

0
0 191
Artículo Ricardo Paiva · jul 7, 2022 15m read

Si tuvieras la oportunidad de cambiar algo en el Visualizador de Mensajes de Interoperabilidad en IRIS, ¿qué harías?

Después de publicar el artículo Panel de Control "IRIS History Monitor", recibí algunos comentarios muy interesantes y varias peticiones. Una de ellas fue un Visualizador de Mensajes mejorado.
 
Si aún no lo has hecho, echa un vistazo al proyecto: merece la pena que le dediques un rato, y además ganó el 3er premio (Bronce) a Los mejores desarrolladores y aplicaciones de InterSystems Open Exchange en 2019.
 
Empecé a pensar algunas ideas sobre lo que me gustaría incluir en el "nuevo" Visualizador de Mensajes pero ¿cómo podría mostrar estos recursos de la forma más rápida y sencilla?
0
0 189
Artículo Kurro Lopez · mar 2, 2021 1m read

¡Hola, desarrolladores!

Como sabeis, los errores de la aplicación están en el global ^ERRORS. Aparecen si los llamas:

d e.Log() 

en la sección Catch de Try-Catch.

Con la propuesta de @Robert Cemper, ahora se puede utilizar SQL para examinarlo.

Inspirado por el módulo de Robert, presenté un módulo simple de IRIS Analytics que muestra estos errores en un dashboard:

0
0 177
Artículo Alberto Fuentes · abr 24, 2024 4m read

¡Hola, amigos!

A menudo, cuando desarrollamos soluciones comerciales, existe la necesidad de desplegar soluciones sin código fuente, por ejemplo, para preservar la propiedad intelectual.

Una de las formas de conseguirlo es utilizar InterSystems Package Manager.

Aquí he pedido a Midjourney que pinte una propiedad intelectual de software:

¿Cómo se puede lograr esto con IPM?

De hecho, es muy sencillo; basta con añadir la cláusula Deploy="true" en el elemento Resource del manifiesto module.xml. Ver Documentación.

He decidido pasaros el ejemplo más simple posible para ilustrar cómo funciona y también para daros una plantilla de entorno de desarrollo que os permita empezar a construir y desplegar vuestros propios módulos sin código fuente. ¡Allá vamos!

0
0 156
Artículo Jose-Tomas Salvador · jul 16, 2024 3m read

Introducción a la ejecución de WSGI en IRIS

Con IRIS 2024+, los usuarios podéis alojar aplicaciones WSGI utilizando Security.Applications. Como ejemplo, un usuario puede hacer algo como esto

Ejemplo de trabajo mínimo

zn "%SYS"
Kill props
Set props("Description") = "Sample WSGI Application"
Set props("MatchRoles") = ":%All"
Set props("WSGIAppLocation") = "/path/to/flaskapp"
Set props("WSGIAppName") = "myapp"
Set props("WSGICallable") = "app"
Set props("DispatchClass") = "%SYS.Python.WSGI" // important, otherwise will be recognized as CSP application
Set sc = ##class(Security.Applications).
0
0 156
Artículo Ricardo Paiva · nov 4, 2021 5m read

En este artículo describiré los procesos para ejecutar pruebas unitarias mediante ObjectScript Package Manager (consulta https://openexchange.intersystems.com/package/ObjectScript-Package-Manager-2), incluyendo el cálculo de la Cobertura de pruebas (mediante https://openexchange.intersystems.com/package/Test-Coverage-Tool).

Pruebas unitarias en ObjectScript

Ya hay mucha documentación sobre cómo escribir pruebas unitarias en ObjectScript, por lo que no repetiré nada de eso. Puedes consultar el Tutorial de Pruebas Unitarias aquí: https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?

0
0 149
Anuncio Esther Sanchez · oct 25, 2019

¡Hola a tod@s!

Como sabéis, durante el Global Summit de este año en Boston celebramos una Reunión de Desarrolladores de InterSystems. ¡Y ya podéis descubrir qué desarrollos sobre InterSystems IRIS se discutieron! 

El vídeo de la reunión está disponible en el Canal de YouTube de la Comunidad de Desarrolladores en inglés:

⏯ Reunión de Desarrolladores de InterSystems - Global Summit 2019

 

0
0 148
Artículo Eduardo Anglada · dic 28, 2021 1m read

¡Hola desarrolladores!

El Administrador de paquetes ZPM se está haciendo muy popular y por ello la librería de paquetes está creciendo.

Así, algunas soluciones o muestras pueden crearse con InterSystems IRIS y uno o dos paquetes instalados.

Me gustaría compartir con vosotros iris-docker-zpm-usage-template - una plantilla que se puede utilizar exactamente con esa finalidad.

0
0 148
Anuncio Jose-Tomas Salvador · nov 23, 2021

Se ha publicado una nueva versión del ZPM - ZPM 0.3.2.

Novedades en esta versión:

  • Varios cambios en el comando output de la ayuda
  • Cambios en los colores en las salidas
  • Añadida la posibilidad de incluir mas tipos de repo
  • Añadida la posiblidad de especificar un mensaje de post-instalación, con la etiqueta AfterInstallMessage en module.
0
0 142
InterSystems Official Jose-Tomas Salvador · jun 5, 2023

InterSystems anuncia que el componente central de InterSystems Supply Chain Orchestrator™, la versión 2023.1 de InterSystems IRIS for Supply Chain, está disponible de manera general (GA).

InterSystems Supply Chain Orchestrator está construido sobre InterSystems IRIS®, nuestra plataforma de datos más completa para entornos on-premise, en nube e híbridos, que posibilita una arquitectura de smart data fabric para hacer más fácil la creación e implementación de aplicaciones de alto rendimiento, que hacen uso de técnicas de machine learning y que permiten conectar silos de aplicaciones y datos. Combina la potencia de InterSystems IRIS con aceleradores y frameworks específicos de la cadena de suministro, para ofrecer soluciones optimizadas para la orquestación de la cadena de suministro, percepción de demanda y previsión, compleción de ordenes y reempaquetado de productos que han de moverse rápidamente.

0
0 139
Artículo Luis Angel Pérez Ramos · sep 30, 2025 12m read

¡Bienvenidos, estimados miembros de la Comunidad!

En este artículo vamos a presentar un ejemplo de un proyecto de implementación de una solución basada en FHIR. Este proyecto se basará en el proyecto nacional (nacional de España), conocido como ÚNICAS.

¿Qué es ÚNICAS?

Usando sus propias palabras:

Un proyecto cuyo objetivo es crear un ecosistema de alianzas para mejorar la atención sanitaria de pacientes pediátricos con enfermedades minoritarias (EEMM) complejas.

6
1 137