Artículo Alberto Fuentes · jul 26, 2022 8m read

Servir el café: Cómo crear y programar una tarea

¿No te gustaría que una taza de café caliente te esperara justo al llegar a la oficina? ¡Vamos a automatizar eso!

Cache e IRIS incorporan un Administrador de tareas, que debería resultar familiar a quienes estén acostumbrados a utilizar el programador de tareas de Windows o a usar cron en Linux. Tu cuenta de usuario requerirá tener acceso al recurso %Admin_Task para utilizarlo, y puedes acceder a él desde el portal de administración en System Operation -> Task Manager. Cuando se instala por primera vez, hay aproximadamente 20 tipos de tareas que puedes programar.

Si quieres añadir tus propias tareas, empieza creando una clase que extienda %SYS.Task.Definition. Como mínimo, debes sobreescribir el método OnTask, que tiene una firma de Method OnTask() As %Status. El código de ese método se ejecutará cada vez que se lance la tarea. De hecho, si tu tarea arroja "Error #5003: No implementado (Error #5003: Not Implemented)" cada vez que se ejecuta, es porque este método no se sobreescribió correctamente. De manera muy básica, podría ser:

0
0 300
Anuncio Esther Sanchez · jun 22, 2022

¡Hola Comunidad!

Os invitamos a participar en la tercera edición del Concurso de Artículos Técnicos en Inglés:

🐍 Concurso de Artículos Técnicos de InterSystems en Inglés: Edición Python 🐍

Escribe un artículo en inglés sobre cualquier tema relacionado con el uso de Python con las tecnologías de InterSystems.

🗓️ Duración: del 20 de junio al 31 de julio - ¡ampliado!

🎁 Premios para todos los participantes: Todas las personas que publiquen un artículo en inglés durante la vigencia del concurso recibirán un premio

🏆 Premios principales: Auriculares inalámbricos Apple AirPods Max; Reloj inteligente Apple Watch SE; Altavoz inteligente Apple HomePod mini / Lápiz inteligente Apple Pencil 

 

3
0 208
Artículo Ricardo Paiva · jul 25, 2022 2m read

Google tiene una interesante herramienta llamada Google Data Studio. Esta aplicación permite crear cuadros de mando (dashboards) interactivos, con tus datos, disponibles en internet. Además, ofrece cientos de conectores con cualquier fuente de datos, desarrollados por la comunidad. Y también visualizadores desarrollados por la comunidad. Lo más importante es que Google ofrece una forma de desarrollar tu propio conector con tus datos. 

FHIRaaS ofrece una REST API, y está disponible desde internet. Así que he decidido probar a crear un informe básico con los datos almacenados allí. Y al final, conseguí esto.

0
0 181
Pregunta Kurro Lopez · jul 21, 2022

Hola a todos,

Acabo de actualizar la versión de WebTerminal usando el link, pero ahora no funciona.

Cuando llamas a /terminal está mostrando el siguiente error:

{
    "errors":[ {
            "code":5002,
            "domain":"%ObjectErrors",
            "error":"ERROR #5002: Error de cache: <INVALID OREF>zWrite+5^WebTerminal.StaticContent.1",
            "id":"ObjectScriptError",
            "params":["<INVALID OREF>zWrite+5^WebTerminal.StaticContent.1"
            ]
        }
    ],
    "summary":"ERROR #5002: Error de cache: <INVALID OREF>zWrite+5^WebTerminal.StaticContent.
2
0 174
Artículo Nancy Martínez · jul 22, 2022 1m read

¡Hola desarrolladores!

Solo quiero compartir con vosotros mi conocimiento, es decir, experiencia en algo que os puede hacer ahorrar unas cuantas horas algún día. 

Si estás creando una REST API con IRIS que contiene más de un nivel de "/", por ejemplo: '/patients/all',  no te olvides de añadir el parámetro 'recurse=1' en tu script de despliegue en %Installer. Si no, todas las entradas de nivel secundario y de mayor profundidad no funcionarán. Y todas las entradas de nivel primario funcionarán.

/patients

- funcionará, pero

/patients/all

- no funcionará.  

Este es un ejemplo de sección CSPApplication que arregla el problema y que puede que quieras usar en tu clase %Installer:

0
0 170
Anuncio Esther Sanchez · jul 21, 2022

¡Hola Comunidad!

Acabamos de publicar los vídeos de todas las ponencias del Global Summit.

Podéis ver todas las sesiones de las tardes > y la mayoría de las presentaciones generales (keynotes) de las mañanas >  

Así que... ¡no os las perdáis! ¡Hay más de 60 ponencias para elegir!

Dadle al Play... ¡y a disfrutar! smiley

Nota: no hemos podido publicar algunas de las presentaciones de los ponentes externos.

 

0
0 144
Artículo Muhammad Waseem · jul 19, 2022 3m read

Recientemente surgió un patrón interesante en torno a los índices únicos (en una discusión interna re: isc.rest) y me gustaría destacarlo para la Comunidad.

Como caso de uso motivador: supón que tienes una clase que representa un árbol, donde cada nodo también tiene un nombre, y queremos que los nodos sean únicos por nombre y nodo principal. Queremos que cada nodo raíz también tenga un nombre único. Una implementación natural sería:

Class DC.Demo.Node Extends %Persistent
{

Property Parent As DC.Demo.
0
0 153
Artículo Ricardo Paiva · jun 24, 2021 6m read

Publicación Original por: Anton Umnikov
Arquitecto Senior de soluciones en la nube en InterSystems
AWS CSAA, GCP CACE

 

AWS Glue es un proceso ETL (extraer, transformar y cargar) completamente gestionado, que hace sencillo y rentable clasificar los datos, limpiarlos, enriquecerlos y moverlos de forma fiable entre diferentes almacenes de datos.

En el caso de InterSystems IRIS, AWS Glue permite mover grandes cantidades de datos a IRIS desde fuentes de datos tanto en la nube como en las propias instalaciones (on-premise). Las fuentes de datos potenciales incluyen, pero no se limitan a, bases de datos on-prem, archivos CSV, JSON, Parquet y Avro que residen en buckets S3, bases de datos nativas en la nube como AWS Redshift y Aurora, y muchas otras.

1
0 526
Artículo Evgeny Shvarov · jul 18, 2022 2m read

¡Hola Comunidad!

@Joan.Pérez publicó una reseña en la que comentó que no está muy claro qué aplicaciones están disponibles para InterSystems Package Manager. ¡Gracias por tu pregunta, Joan! De hecho, la respuesta merece una publicación.

Existen al menos dos formas de conocer las aplicaciones con ZPM:

1. Ejecutar el comando find en zpm:

IRISAPP>zpm

=============================================================================
|| Welcome to the Package Manager Shell (ZPM).                             ||
|| Enter q/quit to exit the shell. Enter ?
0
1 124
Artículo Ricardo Paiva · jul 14, 2022 6m read

A veces es necesario transferir o migrar datos y esquemas de datos de Postgres a IRIS. Actualmente hay varias opciones para hacerlo, pero las dos más populares son DBeaver y SQLGateway. Ésta última es descrita por Robert Cemper en este excelente artículo: DB Migration using SQLgateway (Migración de base de datos usando SQLgateway).

0
0 979
Artículo Muhammad Waseem · jul 12, 2022 8m read

Hola Comunidad,

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

iris-climate-change  importa el conjunto de datos Temperature Change, de la Organización de las Naciones Unidas para la Agricultura y la Alimentación (FAO), usando la funcionalidad LOAD DATA (SQL) y analiza y visualiza los datos con la ayuda del framework Python Flask Web, la librería Pandas Python data analysisPlotly Open Source Graphing Library for Python y la librería Plotly JavaScript Open Source Graphing.

0
0 202
Artículo Alberto Fuentes · abr 28, 2021 8m read

Introducción

Si resuelves problemas complejos en ObjectScript, probablemente tienes mucho código que funciona con los valores de %Status. Si has interactuado con clases persistentes desde una perspectiva de objetos (%Save, %OpenId, etc.), casi seguro que las ha visto. 

Un %Status proporciona una envoltura alrededor de un mensaje de error localizable en las plataformas de InterSystems. Un estado OK ($$$OK) simplemente es igual a 1, mientras que un mal estado ($$$ERROR(errorcode,arguments...)) se representa como un 0 seguido de un espacio seguido de una lista $ListBuild con información estructurada sobre el error.

1
1 232
Artículo Kurro Lopez · jul 10, 2022 1m read

Durante mucho tiempo hemos estado usando una utilidad en producción para exportar el resultado de una consulta a una hoja de cálculo Excel. Además, hemos hecho una modificación en ella, en la que la configuración explícita de los formatos de las columnas es una prioridad.

Esta utilidad usaba el módulo %SYS.ZENReportExcelExporter y se basa en un programa java. Todos los años el informe crecía y no había suficiente memoria RAM en java, por lo que teníamos que aumentar el valor de la variable entorno. El valor ha alcanzado los 7gb y se ha convertido en un problema.

0
0 215
Artículo Javier Lorenzo Mesa · jul 8, 2022 4m read

Este artículo describe un diseño arquitectónico de complejidad intermedia para DeepSee. Al igual que en el ejemplo anterior, esta implementación incluye bases de datos separadas para almacenar la información, la implementación y la configuración de DeepSee. También presenta dos nuevas bases de datos: la primera para almacenar los globals necesarios para la sincronización, la segunda para almacenar tablas de hechos e índices.

0
0 213
InterSystems Official David Reche · jul 7, 2022

Ya están disponibles las versiones de prueba 2022.2 de InterSystems IRIS, IRIS for Health y HealthShare Health Connect para desarrolladores.

Esta es el segunda de una serie de lanzamientos que forman parte del programa de versiones de prueba para desarrolladores. Las próximas versiones de prueba se espera que sean actualizadas cada dos semanas, aproximadamente, y añadirán funcionalidades según estén listas. Este programa nos permite obtener feedback sobre las funcionalidades y mejoras según están disponibles. Más abajo verás una lista de mejoras para la versión 2022.2.

0
0 105
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 Alberto Fuentes · jul 5, 2022 1m read

ObjectScript no incluye ningún método por defecto para añadir un array JSON a otro. Este es un fragmento de código que utilizo y que es equivalente al método concat() de JavaScript.

Puedes llamarlo con cualquier número de argumentos para concatenarlos en un nuevo array. Si un argumento es un array dinámico, sus elementos serán añadidos. Si no, el argumento en sí será añadido.

ClassMethod ConcatArrays(pArgs.) As %DynamicArray
{
	set outArray = []
	for i=1:1:pArgs {
		set arg = pArgs(i)
		if ($IsObject(arg) && arg.%IsA("%DynamicArray")) {
			set iter = arg.
0
0 335
Anuncio Esther Sanchez · jul 4, 2022

¡Hola a tod@s!

La Convención Anual (Global Summit) de InterSystems de este año en Seattle terminó hace más de una semana y ya podéis ver en YouTube algunas de las presentaciones que allí se realizaron.

Pero antes... algunos de los miembros más activos de la Comunidad de Desarrolladores os saludan personalmente desde sus países de origen. ¿Queréis conocerles?

Las presentaciones están disponibles en esta lista de reproducción en YouTube: 

0
0 147
Artículo Jose-Tomas Salvador · jun 30, 2022 2m read

¡Hola desarrolladores!

En Docker Hub hay publicadas imágenes para los contenedores de InterSystems IRIS Community Edition e InterSystems IRIS Community for Health.

¿Qué es esto?

Hay un repositorio en que se publican estás imágenes (que, de hecho, son las mismas que las imágenes de IRIS Community Edition que tienes en el Registro de Contenedores de InterSystems a las que se les ha pre-cargado el cliente del ObjectScript Package Manager).

Así que si ejecutas este contenedor con IRIS CE o IRIS CE for Health puedes empezar a usar ZPM inmediatamente e instalar paquetes desde el Registro de la Comunidad o cualquier otro.

¿Que significa esto para ti?

0
0 118
Artículo Alberto Fuentes · jun 29, 2022 2m read

¡Hola Comunidad!

Me gustaría anunciaros brevemente tres nuevos paquetes, disponibles en Open Exchange / a través de ZPM, que pueden realmente ayudaros a acelerar el desarrollo en IRIS de aplicaciones full-stack modernas. Todo esto se anunció la semana pasada en una sesión del Global Summit, pero muchos no pudisteis asistir. Además, me acabo de enterar de que justo ahora está en marcha un concurso de desarrollo de aplicaciones full-stack!

En el corazón de todo esto está isc.

0
0 176
Artículo Muhammad Waseem · jun 28, 2022 1m read

IRIS Interoperability, antes conocida como Ensemble, viene con muchos adaptadores integrados. No tiene un servicio o un adaptador para recibir correo. He escrito un servicio de correo electrónico para recibir mensajes de correo a través de SMTP que se pueden pasar a la operación de correo electrónico.

Ahora quiero hacer una prueba de carga de una producción que envía mensajes a un servidor de correo externo mediante la operación de correo electrónico. El equipo del servidor de correo no quiere que les envíe miles de mensajes.

0
0 166
Artículo Muhammad Waseem · jun 28, 2022 3m read

¡Hola Comunidad!

Recientemente, migré una serie de repositorios de Objectscript de formato XML a UDL. Después de la migración, me decepcionó un poco la presentación en la interfaz web de GitLab.

Dado que la sintaxis de Objectscript es compatible con GitHub, pensé que también sería compatible con GitLab. Desafortunadamente, la librería utilizada por GitLab para resaltar el código no tiene una extensión para admitir Objectscript.

GitLab usa la librería Rouge, que puede resaltar más de 200 idiomas. Es una librería escrita en Ruby (consulta la página de GitHub), pero Objectscript no está en la lista.

0
0 180
Anuncio Jose-Tomas Salvador · jun 27, 2022

Hola Comunidad,

es un placer invitaros al próximo webinar para lanzar el siguiente reto/concurso: InterSystems Full Stack Contest Kick-off  centrado en problemas del cambio climático! El tema de este webinar está dedicado a la Competición Full Stack.

Discutiremos los retos clave y los problemas que el cambio climático y el calentamiento global nos plantean y cómo podrían ser resueltos. Como siempre, nuestros expertos responderán a preguntas sobre como desarrollar, contruir y desplegar soluciones full-stack utilizando InterSystems IRIS.

Date & Time: Lunes,  Junio 27 – 15:00 CEST (09:00 AM EDT)

Oradores:  
🗣 ​​​Ainar Abdrakhmanov, experto en cambio climático, co-autor de 4 waves course, Co-Fundador, SEO en Longevica
🗣 @Timothy Leavitt, InterSystems Development Manager
🗣 @Evgeny Shvarov, InterSystems Developer Ecosystem Manager

0
0 112
Anuncio Esther Sanchez · jun 24, 2022

Como sabéis, hay una etiqueta llamada "Mejores Prácticas", que se utiliza para destacar artículos de la Comunidad de Desarrolladores que incluyen recomendaciones sobre cómo desarrollar, probar, implementar y administrar mejor las soluciones de InterSystems. Cada 1-2 semanas los expertos de la companía eligen un nuevo artículo.

Hasta ahora, solo tienen dicha etiqueta artículos originales en inglés o artículos en español traducidos al inglés. La buena noticia es que ya podéis proponer artículos en español para que sean evaluados, aunque no estén traducidos al inglés.

 

¿Cómo podéis proponer un artículo?

0
0 117