Artículo
· 27 abr, 2022 Lectura de 3 min
¿Qué o quién está consumiendo mis licencias?

De vez en cuando, recibimos la pregunta anterior en soporte, algo o alguien está usando más licencias de las esperadas y necesitamos encontrar qué está pasando.

Tenemos dos escenarios. El primer escenario es cuando nos damos cuenta que las licencias están agotadas porque la aplicación no funciona o porque intentamos conectarnos a través del terminal y sale el "encantador" mensaje <LICENSE LIMIT EXCEEDED>:

2 0
0 187
Artículo
· 8 jun, 2022 Lectura de 4 min
Cómo hacer que Github ejecute tus pruebas unitarias

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
0 291

¡Hola desarrolladores!

Solo quiero compartir una antigua pero muy relevante buena práctica en el cambio de namespaces que @Dmitry Maslennikov compartió conmigo.

Consideremos el método:

classmethod DoSomethingInSYS() as %Status

{

set sc=$$$OK

set ns=$namespace

zn "%SYS"

// try-catch in case there will be an error

try {

// do something, e.g. config change

}

catch {}

 zn ns    ; returning back to the namespace we came in the routine

return sc

}

1 0
0 119

Nota: Lo que sigue es solo una guía. Cada cliente es diferente.

A través de nuestra experiencia en soporte ayudando a clientes, hemos visto muchos casos en los que no tener un plan de actualización adecuado (y documentado) conduce a problemas inesperados con prioridad de Crisis. En algunos casos, podemos solucionar el problema durante el periodo de actualización, pero no siempre, ya que algunas situaciones pueden requerir una investigación más exhaustiva que puede llevar días o incluso meses.

Es esencial documentar el proceso de actualización, incluyendo los pasos que se deben efectuar antes, durante y después de la actualización, ¡incluso en servidores y aplicaciones pequeñas! Además, un plan de actualización documentado es muy útil cuando involucra a terceros, como proveedores de software o hardware. Al entregar este documento a un proveedor externo (como InterSystems) se acelerará la comprensión de todo el contexto.

Después de trabajar con diferentes documentos, me gustaría compartir unas instrucciones generales para ayudaros a crear un plan de actualización o para ponerlo al día. Por supuesto, se me escaparán algunas cosas. Estoy seguro de que algunos de vosotros tenéis mucha experiencia y podréis añadir ideas y sugerencias, ¡así que no dudéis en comentar este artículo!

0 0
0 76

Hola!

Aquí les dejo un video que hice para mostrar cómo se configura la alta disponibilidad (mirroring) en IRIS en un ambiente docker, el video esta completamente en español y los archivos necesarios estarán en mi Github.

El video en YouTube en https://youtu.be/rBdiTxavWmU

https://github.com/I-am-seven/iris-mirroring-video

Espero les sea de Utilidad!

Joel

0 0
1 40
Artículo
· 30 dic, 2022 Lectura de 2 min
Integración de InterSystems con Node-RED

El concepto de desarrollo "low code" es cada vez más importante en todas las industrias. Y todo el que empieza con el desarrollo low code, se acabará encontrando inevitablemente con Node-RED. InterSystems IRIS es reconocido por su interoperabilidad y por eso debería ser accessible a través de Node-RED.

Para aquellos que no habéis oído hablar de Node-RED todavía: Node-RED es una herramienta de desarrollo Low-Code, basada en los llamados "nodos", que se organizan en flujos. Los nodos procesan los mensajes entrantes y los envían al siguiente nodo conectado. Debido a su gran comunidad, Node-RED ofrece una gran variedad de nodos para todo tipo de aplicaciones.

Conocido esto, sería muy útil tener un nodo que pudiera interactuar con InterSystems IRIS, ¿verdad? ¡Y eso es exactamente lo que he hecho!

0 0
0 65
Artículo
· 11 abr, 2023 Lectura de 3 min
Creando una conexión ODBC - Paso a paso

Introducción

Este artículo tiene la intención de ser un sencillo tutorial de cómo crear conexiones ODBC y trabajar con ellas, ya que me pareció que empezar con ellas es un poco confuso. Yo tuve la ayuda de unas personas increíbles, y creo que todos merecemos ese apoyo.

Voy dividir cada pequeña parte en sesiones, así que puedes ir directamente a la que necesites, aunque recomiendo leerlo todo.

0 0
0 254
Artículo
· 25 mayo, 2023 Lectura de 1 min
Configuraciones de producción

Cuando se desarrollan producciones de interoperabilidad, puede ser útil tener configuraciones fuera de un Business Host. La razón principal es cuando necesitas una configuración que afecte a varios Business Hosts diferentes y quieres garantizar que el valor es el mismo. Aunque las Configuraciones Predeterminadas del Sistema (CPS) pueden ser usadas para propagar configuraciones para Business Hosts, pueden ser cambiadas al anular el valor a nivel de BH (aunque la ventaja de las configuraciones del Business Host definidas a través de las CPS es que no requieren código personalizado, que sí es requerido por nuestro enfoque actual).

Otra razón es cuando necesitas afectar partes no configuradas de la configuración del Business Host (PoolSize, Enabled, etc.)

Añadiremos una configuración env a una producción.

0 0
0 63

¡Hola Comunidad!

Me alegra anunciar la nueva versión de iris-pex-embedded-python (v2.3.1) con una nueva interfaz de línea de comandos.

Esta línea de comandos se llama iop por Interoperability On Python.

Primero me gustaría presentar los principales cambios del proyecto desde la versión 1.

Breve historia del proyecto

La versión 1.0 fue una prueba de concepto para mostrar cómo el framework de interoperabilidad de IRIS se puede utilizar con un enfoque python first mientras sigue siendo compatible con cualquier código existente de ObjectScript.

¿Qué significa eso? Significa que cualquier desarrollador Python puede usar el framework de interoperabilidad de IRIS sin ningún conocimiento de ObjectScript.

Ejemplo:

from grongier.pex import BusinessOperation

class MyBusinessOperation(BusinessOperation):

    def on_message(self, request):
        self.log.info("Received request")

Genial, ¿cierto?

0 0
0 39
Artículo
· 4 dic, 2023 Lectura de 2 min
Cómo crear errores definidos por el usuario

Preguntas frecuentes de InterSystems

Para crear un error definido por el usuario, hemos de preparar un XML que describa el código de error y el mensaje correspondiente que desea utilizarse como error definido por el usuario.

Hemos de establecer el código de error como un número entero negativo.

0 0
0 53

Preguntas frecuentes de InterSystems

Para resolver el error <PROTECT>, hay que eliminar el atributo de solo lectura de la base de datos de la biblioteca de todo el sistema (IRISLIB para InterSystems IRIS, CACHELIB para Caché/Ensemble/HealthShare (basado en Caché))

0 0
0 59