Artículo
Eduardo Anglada · Sep 7 Lectura de 3 min
ObjectScript sobre ODBC
Este es un ejemplo de código que funciona en IRIS 2020.1 y en Caché 2018.1.3 
No se mantendrá sincronizado con las nuevas versiones.  
Y NO cuenta con el servicio de soporte de InterSystems.
De vez en cuando, puedes encontrarte una situación en la que, por diferentes razones, ODBC es la única opción para acceder a un sistema remoto. Lo cual es suficiente mientras necesites examinar o cambiar tablas. Pero no puedes ejecutar directamente algunos comandos o cambiar algunos globals.
00
0 0 45

El lenguaje ObjectScript de InterSystems IRIS tiene un motor de metadatos muy potente llamado XData. Esta característica permite crear definiciones de metadatos para tus clases, que serán utilizadas por el compilador o por los programas para ampliar las características estándar del lenguaje, basándose en las definiciones XData de su campo de acción.

Un ejemplo es IRIS Publisher, una aplicación de código abierto de la Comunidad, capaz de recopilar todas las definiciones de XData en formato HTML y/o Markdown, y que puede generar un Portal web con todos los documentos de la aplicación, recopilados a partir de estos elementos XData.

00
0 0 23

Hola a todos.

Me encontré con algunos problemas cuando configuré los scripts por lotes de freeze/thaw para usarlos con VMWare en un ecosistema de Windows, y quería compartir lo que encontré por si pudiera ayudar a otros. Esto se llevó a cabo en un entorno que utiliza HealthConnect 2019.1.x.

00
0 0 21
Aunque agosto es el mes de vacaciones por excelencia, en la Comunidad de Desarrolladores no paramos!
¿Os perdisteis algo de lo que pasó por aquí?
No os preocupéis, que os traemos un resumen de todo: lo más visto, lo más comentado, lo más votado...
¡Echadle un vistazo y no os quedéis con ganas de aprender!
Datos generales
24 nuevas publicaciones en agosto:
    – 12 artículos
    – 10 anuncios
    – 2 preguntas
00
0 0 16

¡Hola a todos!

Hace poco aprendí algo nuevo mientras trabajaba en un problema con el Centro de Soporte Internacional (WRC), y quería compartirlo con todos por si pudiera ayudar a alguien más.

Escenario:

Tienes archivos que se escriben inexplicablemente en una carpeta de tu servidor y, debido a la cantidad de archivos en la carpeta y al rendimiento general del sistema, no es posible trabajar sobre los archivos para localizar el origen.

00
0 0 30
Artículo
Kurro Lopez · Ago 31 Lectura de 2 min
FOREACH para ObjectScript

Como sabes, ObjectScript no tiene un comando o función de sistema FOREACH.
Pero tiene un amplio margen para la creatividad.

Pero la tarea es recorrer una matriz global o local y hacer algo PARA CADA elemento.

Hay dos posibles soluciones:

  • Crear una macro que genere las secuencias de código requeridas
  • Crear un comando extendido para realizar la acción.

00
0 0 30

¡Hola Comunidad!

Os traemos un nuevo vídeo, ya disponible en el Canal de YouTube de la Comunidad de Desarrolladores en inglés.

Es la grabación de una de las ponencias realizadas en la Convención Anual de InterSystems del año pasado, así que el idioma del vídeo es el inglés. Pero recordad que podéis activar los subtítulos en inglés, por si os resulta más fácil entender el vídeo leyendo el texto.

Gestión de APIs de FHIR (Virtual Summit 2020)

00
0 0 13

¡Hola Comunidad y Partnes de InterSystems!

Compartimos con vosotros una excelente noticia para los Partners dados de alta en el Directorio de Partners de InterSystems -> el listado de servicios gratuitos que podéis usar para ser más visibles dentro de la Comunidad de InterSystems.

 

Como Partners de InterSystems podéis contratar, cada seis meses, uno de estos servicios sin ningún coste:

00
0 0 35

¡Hola desarrolladores!

Estamos encantados de anunciar el lanzamiento del Directorio de Partners de InterSystems.

A partir de ahora, éste será el lugar al que acudir para encontrar servicios y soluciones comerciales creadas con productos de InterSystems.

¿Por qué un Directorio de Partners de InterSystems?

20
0 2 40

¡Hola desarrolladores!

Algunas veces necesito planificar una tarea por medio de un programa.

Y en el 99% de los casos necesito que algún método de clase sea llamado periódicamente.

Y quiero que la tarea programada comience con una línea. Como un trabajo en crontab.

Decidí incorporar un módulo de este tipo con el módulo iris-cron-task.

Os comento los detalles a continuación.

00
0 0 24

¡Hola desarrolladores!

¿Estáis listos para un nuevo reto? Nos encanta anunciaros el primer concurso de redacción de artículos técnicos de InterSystems (en inglés):

🏆 Concurso de Artículos Técnicos de InterSystems 🏆

Escribe un artículo en inglés en la Comunidad de Desarrolladores, sobre cualquier tema relacionado con la tecnología de InterSystems, del 15 de julio al 15 de agosto de 2021. 22 de agosto – ¡ampliamos el plazo!

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.

Premio principal: Apple iPad


 

¡Participa en el concurso y tu artículo será leído por miles de miembros de la Comunidad de Desarrolladores!

10
0 3 38

Tengo una clase que parsea un XML para extraer toda la información. En este XML hay un atributo que tiene saltos de línea:

<record date="2021-08-11T14:25:21" entity="TEXTO"><OBSERVACIONES o="" n="Esto es un texto de prueba:
1. Contiene información importante
2. Es útil para el usuario
3. Sigue siendo una prueba"/></record>

Usando %XML.TextReader puedo acceder a toda la información del XML, pero esos saltos de línea se pierden. Esto es lo que obtengo:

00
0 2 37
Artículo
Ricardo Paiva · Ago 19 Lectura de 2 min
Persistencia atípica
Este es el ejemplo de un código que funciona en Caché 2018.1.3 e IRIS 2020.2 
No se mantendrá sincronizado con las nuevas versiones 
¡Además NO cuenta con el servicio de Soporte de InterSystems!

Durante mi búsqueda de un snapshot de un objeto persistente, conocí una característica que me gustaría compartir, ya que podría ser útil en algunas situaciones especiales. Mi objetivo era tener una imagen del antes y el después durante las pruebas unitarias.

00
0 0 28

InterSystems IRIS ofrece la posibilidad de crear interfaces REST con el enfoque spec-first, esto es, partiendo de las especificaciones de la API.

Puedes echarle un vistazo a este artículo para más información al respecto : https://es.community.intersystems.com/post/cómo-desarrollar-una-api-rest-con-un-enfoque-spec-first.

00
0 0 26
Artículo
Eduardo Anglada · Ago 12 Lectura de 3 min
Escaneo y división de globals
Este es un ejemplo de código que funciona en IRIS 2020.1 y en Caché 2018.1.3 
No se mantendrá sincronizado con las nuevas versiones.      
Y NO cuenta con el servicio de soporte de InterSystems.

En la mayoría de los casos, un global que se utiliza como almacenamiento predeterminado tiene solo 1 nivel de subíndice que representa el IDKEY.
Para un índice de globals podemos ver 2 o más niveles de subíndices.
Las matrices, las relaciones de herencia padre hijo o las clases persistentes que extienden una clase base, son ejemplos en los que vemos más niveles. Aunque todos estos globals son bastante uniformes.

10
0 0 38
Artículo
Ricardo Paiva · Ago 11 Lectura de 3 min
Cómo aprovechar al máximo $Query

Me encontré con un interesante caso de uso de ObjectScript con una solución general que quería compartir.

Caso de uso:

Tengo una matriz JSON (específicamente, en mi caso, una matriz de problemas de Jira) que quiero agregar en algunos campos, por ejemplo: categoría, prioridad y tipo de problema. Después quiero combinar los agregados en una lista simple con el total de cada uno de los grupos. Por supuesto, para la agregación, tiene sentido utilizar una matriz local en el formulario:

10
0 0 37
Artículo
Dani Fibla · Ago 9 Lectura de 2 min
REST API que consume SQL y devuelve JSON

¡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.

20
0 0 39

¡Hola Comunidad!

Probablemente todos ya conocéis Discord y muchos de vosotros ya lo utilizáis. Por eso, os invitamos a acercaros aún más a la tecnología de InterSystems uniéndoos al club social de nuestros desarrolladores! Y podréis disfrutar de una comunicación super rápida con otros colegas:

💥 Canal de Discord de los Desarrolladores de InterSystems💥


00
0 1 24