Introducción y motivación

Una unidad de código en ObjectScript (pongamos, un ClassMethod) puede producir una gran variedad de efectos secundarios inesperados cuando interactúa con partes del sistema que están fuera de su propio alcance y no han sido depuradas adecuadamente. En forma de lista parcial, se incluyen:

0 1
1 105
Artículo
· 17 dic, 2020 Lectura de 3 min
Cómo crear código de "Solo escritura" (Irónicamente)

Uno de los principales beneficios de ObjectScript es la velocidad y eficiencia que ofrece a un desarrollador experimentado. Veamos un ejemplo de todos los beneficios que se pueden obtener con ObjectScript.

Imagina que tienes una clase que almacena nombres de sus usuarios. Llamaremos a la clase **Data.User**, y le daremos las mismas propiedades que tiene una cadena _Name_. A continuación, necesitaremos un método para crear un nuevo usuario o actualizar uno ya existente. Un enfoque inexperto y simplista sería muy similar al siguiente ejemplo:

3 0
0 105
Artículo
· 7 ene, 2022 Lectura de 2 min
Lectura para las vacaciones: ¡Lo que hay por debajo!

Para aquellos que sois nuevos en IRIS, e incluso para los que habéis utilizado Cache o IRIS durante un tiempo pero queréis explorar más allá de los límites y prácticas normalmente admitidos, puede que os guste bucear en esta investigación detallada del motor de la base de datos, situado en su centro, y descubrir lo que realmente podéis hacer con él, yendo más allá de lo que InterSystems ha hecho con él por vosotros.

0 0
0 105

InterSystems ha corregido varios defectos críticos que pueden ocasionar problemas de integridad de datos. Estos defectos han sido identificados y corregidos en un breve espacio de tiempo, por lo que InterSystems ha simplificado el proceso de actualización consolidándolos en un único paquete. Los efectos de estos fallos puede que no sean siempre visibles. Los defectos afectan a los productos InterSystems IRIS, IRIS for Health, Health Connect, Caché, Ensemble y HealthShare. Todos los defectos están relacionados con la aplicación de datos de journals.

0 0
0 104

InterSystems IRIS Business Intelligence te permite mantener actualizados tus modelos analíticos o cubos de varias formas. Este artículo tratará sobre Construir/Generar vs Sincronizar. Hay maneras de actualizar manualmente los cubos, pero son casos muy especiales y casi siempre los cubos se mantienen actualizados por medio de la (Re)construcción o la sincronización.

¿Qué es Construir?

0 1
0 103

Transforma fácilmente un archivo CSV en una vista previa de DeepSee: la plataforma de inteligencia de negocios de InterSystems.

Puedes encontrar AnalyzeThis en InterSystems Open Exchange. Utiliza el enlace de descarga para ir a GitHub y comienza a instalar el proyecto. Sigue las instrucciones de la sección Installation del README de GitHub.

0 0
0 99

Hola buenos días,

Agradeceríamos si ustedes nos leen y responden:

Disponemos de 2 entornos: INTegracion en HealthConnect 2020 y PREproduccion en Ensemble 2018

¿Que un tipo de dato sea %GlobalCharacterStream influye? en concreto: ¿se generan ficheros .stream en el servidor si subimos clases que hagan uso de %GlobalCharacterStream?

Ojeando la documentación, parece que explica lo siguiente:

Parece que NO sería persistente , parece que "almacena caracteres en nodos de datos globales"

0 2
0 99

A menudo recibimos preguntas sobre los cambios en la lista de plataformas y frameworks que están soportados por la plataforma de datos InterSystems IRIS. Esta publicación pretende compartir los cambios recientes, así como nuestro la información más actualizada sobre los cambios que vienen, pero predecir el futuro es difícil y esto no debe considerarse como una hoja de ruta cerrada.

Dicho esto, vamos con la actualización

Sistemas Operativos y Arquitecturas de CPU para trabajar con IRIS en producción

0 0
0 98
Artículo
· 19 jul, 2022 Lectura de 3 min
Índices únicos y valores nulos en InterSystems IRIS

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:

0 0
0 98
Artículo
· 14 dic, 2022 Lectura de 1 min
Rutinas con privilegios y $Roles

Las rutinas con privilegios te permiten elevar los roles de un usuario mientras las utiliza. Estas rutinas con privilegios (Privileged Routine Application) pueden utilizarse con rutinas y también con clases / métodos.

Cuando las utilices, es importante asegurarse de incluir new $ROLES, antes de elevar los privilegios con AddRoles(). Por ejemplo:

 new $ROLES
 set status=$System.Security.AddRoles("MyPrivilegedRoutineApplication")

0 0
0 95

Todos los desarrolladores hemos cometido alguna vez el error de accidentalmente dejar código temporal de depuración en lugar de eliminarlo al finalizar lo que estamos investigando.

Lo interesante de escribir en ObjectScript es que hay una forma de hacer que el código provisional sea realmente provisional y se auto-destruya automáticamente! Incluso puede hacerse de manera que el código no aparezca en tu sistema de control de código fuente, lo que puede ser útil igualmente.

El secreto radica en utilizar el "intermediate code" (.INT), que se genera cuando se compilan clases (.CLS), código de rutina (.MAC) o páginas CSP (.CSP). El código INT se utiliza entonces para crear el código OBJ, que es el que finalmente se ejecuta.

1 1
0 95

¡Hola Comunidad!

Os traemos un nuevo vídeo del Global Summit de este año, disponible en el Canal de YouTube de la Comunidad de Desarrolladores en inglés:

Adopción de InterSystems IRIS

https://www.youtube.com/embed/UrI0JMkm1h0
[Este es un enlace integrado, pero no puede ver el contenido integrado directamente en el sitio porque rechazó las cookies que se necesitan para acceder a él. Para ver el contenido integrado, debe aceptar todas las cookies desde la Configuración de cookies]

0 0
0 93
Artículo
· 20 mar, 2020 Lectura de 2 min
SPOOL - El dispositivo olvidado

Hola a tod@s,

En recientes conversaciones, respuestas y comentarios, la redirección IO (con el famoso código) se veía como la solución indiscutible. Sin duda, es una solución potente y no solo permite registrar la salida, sino también hacer captura de teclas en la entrada.

Pero creo que para simplemente generar un registro (log), supone un sobretrabajo. Si solo necesitas obtener un texto o descargar sus variables u objetos, entonces SPOOL debería ser suficiente.

1 0
0 92

InterSystems FAQ

Puedes evitar este error especificando un objeto de tipo stream como argumento de la función %ToJSON usando durante la generación del string JSON desde el objeto dinámico.

A continuación podéis ver un ejemplo.

1 0
0 91

InterSystems anuncia la Versión de Mantenimiento (Maintenance Release, MR) 2018.1.8 de Caché, Ensemble y HSAP. Es una versión de mantenimiento con muchas actualizaciones en una gran variedad de áreas.

Caché y Ensemble

Los kits completos de instalación de producto se pueden descargar de la página de distribución de software del Centro de Soporte Internacional (WRC):

0 0
0 89
Artículo
· 1 abr, 2022 Lectura de 1 min
$ZTIMESTAMP in hora local

Con el reciente cambio de horario en España me surgió esta duda:

¿Como obtenéis un $ZTIMESTAMP en horario local?.

He encontrado esta forma y funciona:

 Set LocalTimestamp=$ZDATETIMEH($ZTIMESTAMP,-3)

¿Conoces alguna forma mejor de hacerlo?

0 0
0 89

Para todos aquellos que aún utilizáis el IDE Studio para programar con ObjectScript y vais a pasar por el proceso de migración a VS Code, ¿sabíais que hay una sección en la documentación de VS Code justo para vosotros? Echad un vistazo al apartado Migración desde Studio. Incluye los siguientes aspectos:

  • Edición del lado del servidor y control de código fuente
  • Proyectos de Studio
  • Importación de definiciones de servidor desde el Registro de Windows
  • Carga de fragmentos de código de Studio y colores de sintaxis

Y ahora hay una sección llamada Atajos de teclado, que muestra los atajos equivalentes en VS Code a los que estéis acostumbrados, para que las manos no tengan que dejar el teclado. En muchos casos el atajo es el mismo, por lo que no será necesario re-aprender. Y recordad, todos los atajos en VS Code son configurables por el usuario, por lo que tendréis un nivel de control que Studio nunca ofreció.

2 0
0 88

Actualización 30/01/2020

*** Las versiones afectadas de los productos han cambiado ***

*** Las versiones afectadas son Caché y Ensemble desde 2016.2.0. ***

*** Caché y Ensemble 2016.1.0 no está afectada por este defecto ***

InterSystems ha corregido un defecto que puede ocasionar degradación de la base de datos en circunstancias muy excepcionales. Puede incluir (y no limitarse a) problemas relacionados, como datos de la aplicación incorrectos o desaparecidos y sistemas bloqueados.

Este defecto afecta a:

0 0
0 88

Hola a todos,

Compartimos hoy un truco que quizá le resulte útil a aquellos que tienen que trabajar con JavaScript embebido.

Si tienes que trabajar con CSP o Zen probablemente más de una vez has necesitado utilizar JavaScript embebido. Supón que tienes que programar algunos bucles, que utilizan los caracteres < o > en alguna expresión, por ejemplo:

0 0
0 88