¡Hola desarrolladores!
Os traemos un vídeo sobre el Directorio de Partners de InterSystems, en el que @Elizabeth Zaylor explica en qué consiste, cómo darse de alta en él, cómo encontrar partners o soluciones y los beneficios que aporta a todos.
¡Hola desarrolladores!
Os traemos un vídeo sobre el Directorio de Partners de InterSystems, en el que @Elizabeth Zaylor explica en qué consiste, cómo darse de alta en él, cómo encontrar partners o soluciones y los beneficios que aporta a todos.
El Programador de Ensemble se utiliza para encender y apagar automáticamente los hosts en determinadas fechas y horas. Podrías usarlo si, por ejemplo, solo quisieras ejecutar un host de negocios de 9:00 a 17:00 todos los días. Por el contrario, si desea activar un evento para que ocurra en un momento específico, por ejemplo, un trabajo que se ejecuta a la 01:00, para agrupar y enviar todas las transacciones del día anterior en un archivo, recomendamos otros métodos como el Administrador de tareas.
Este artículo explica cómo funciona el Programador de Ensemble.
¡Hola a todos!
¿Alguno de vosotros tiene que cambiar su dirección de correo electrónico PRINCIPAL (email para iniciar sesión) y no quiere perder toda su actividad en los Ecosistemas para Desarrolladores de InterSystems (Comunidad, Global Masters y Open Exchange)?
¡Muy fácil! ¡Nosotros nos encargamos! ¿Queréis saber cómo?
¿Algún producto de InterSystems se ve comprometido por la vulnerabilidad de la librería Log4j de Apache?
Ya están disponibles las versiones de prueba 2021.2 de InterSystems IRIS, IRIS for Health e IRIS Studio.
Al ser versiones de prueba, estamos impacientes por aprender de vuestras experiencias con esta nueva versión antes de su lanzamiento oficial el próximo mes. Podéis compartir vuestros comentarios a través de la Comunidad de Desarrolladores, para crear entre todos un mejor producto.
InterSystems IRIS Data Platform 2021.2 hace aún más fácil desarrollar, desplegar y gestionar aplicaciones aumentadas y procesos de negocio que canalizan silos de datos y aplicaciones aisladas. Ofrece muchas nuevas funcionalidades, como:
Me gustaría compartir algunas funciones de almacenamiento que también existen en Caché y que son prácticamente desconocidas y en su mayoría no se utilizan. Por supuesto, están disponibles en IRIS y son más relevantes con arquitecturas de almacenamiento extensas y distribuidas.
¡Hola Comunidad!
¡Es el momento de demostrar nuestra pasión por la Comunidad de Desarrolladores de InterSystems! Estamos muy orgullosos de anunciar que Global Masters, la plataforma de fidelización de InterSystems, es finalista en los premios Influitive BAMMIE en la Categoría de Most Passionate Community🤩🤩🤩
¡Y esto ha sido posible gracias a todos vosotros, nuestra gran comunidad!
PERO, para ganar, necesitamos obtener más votos que los otros finalistas - ¡así que necesitamos vuestros votos!
¡Vamos equipo!! ¡Podemos GANAR!
¡Hola desarrolladores!
El Concurso de Programación sobre Seguridad ha terminado. ¡Muchas gracias a todos los que habéis participado!
Ya podemos anunciar los ganadores...
Un fuerte aplauso a estos desarrolladores y sus aplicaciones:
.png)
En este artículo, mostraré los conceptos básicos de la autenticación OAuth2 con la cuenta de GitHub con la ayuda de la demostración online
https://dappsecurity.demo.community.intersystems.com/csp/user/index.csp usando SuperUser | SYS
Así que... ¡empecemos!
Si defines una tabla/clase persistente, el compilador de clases genera una definición de almacenamiento adecuada. Otra opción es definir un mapeo SQL para un almacenamiento global que ya existe. Esto ya se explicó estupendamente en otra serie de artículos: El arte del mapeo de globales para Clases 1 de 3
¡Hola desarrolladores!
Os traemos el quinto videotutorial de la serie de vídeos de iniciación a ObjectScript que ha realizado nuestro compañero @Jose Tomas Salvador, de InterSystems Iberia.
¡Hola a todos!
Estoy intentando exportar una clase a xml y quitar la etiqueta "xmlns" de la clase madre. Estas son mis clases para crear el XML.
Class Class.Test Extends (%RegisteredObject, %XML.Adaptor)
{
Parameter NAMESPACE = "http://mynamespace.com/test";
Property Person As Class.Person; Property Address As Class.Address;
}Class Class.Person Extends (%RegisteredObject, %XML.Adaptor)
{
Parameter NAMESPACE = "http://mynamespace.com/test";
Property name As %String; Property age As %String;
}Class Class.Address Extends (%RegisteredObject, %XML.Adaptor)
{
Parameter NAMESPACE = "http://mynamespace.com/test";
Property location As %String;
}En la primera parte de esta serie de artículos, hablamos sobre cómo leer un fragmento "grande" de datos del contenido sin procesar de un método HTTP POST y guardarlo en una base de datos como una propiedad de flujo de una clase. Ahora veremos cómo guardar esos datos y metadatos en formato JSON.
Desafortunadamente, Advanced REST Client no permite configurar objetos JSON con datos binarios como valor de una clave (o quizá simplemente no he descubierto cómo hacerlo), así que decidí escribir un cliente simple en ObjectScript para enviar datos al servidor.
Creé una nueva clase llamada RestTransfer.Client y le añadí los parámetros Server = "localhost" y Port = 52773 para describir mi servidor web. Y creé un método de clases GetLink en el que creo una nueva instancia de la clase %Net.HttpRequest y establezco sus propiedades con los parámetros mencionados anteriormente.
¡Hola desarrolladores!
Os traemos la primera ponencia del Virtual Summit 2021, ya disponible en el Canal de YouTube de la Comunidad de Desarrolladores en inglés.
El idioma del vídeo es el inglés y podéis activar los subtítulos en inglés si os resulta más fácil entender el vídeo leyendo el texto. Solo tenéis que hacer clic en el icono de subtítulos abajo:
¡Hola desarrolladores!
¿Sabéis cómo crear una solución de analítica de datos con InterSystems IRIS?

Para empezar, pongámonos de acuerdo sobre lo que es una solución de analítica de datos - este podría ser un tema muy amplio -. Por ello, acotaremos el conjunto de soluciones que se podían presentar al Concurso de Analítica de Datos.
Y a continuación examinaremos tres tipos de soluciones para analítica de datos: de monitorización, de análisis interactivo y de elaboración de informes (reporting).
¿Eres un Implementation Partner de InterSystems? Si creas aplicaciones centradas en el cliente, aprovecha los amplios recursos de formación online que te ofrecemos.
Ahora hay disponibles tres nuevas rutas de aprendizaje (learning paths) en Finanzas, Salud y Todo tipo de industrias, que ofrecen una base sólida para todos los que quieran crear aplicaciones con los productos de InterSystems.
¡Échales un vistazo porque merecen la pena! Está todo muy bien explicado, paso a paso.
¡Hola desarrolladores!
Os traemos el cuarto videotutorial de la serie de vídeos de iniciación a ObjectScript que ha realizado nuestro compañero @Jose Tomas Salvador, de InterSystems Iberia.
Bajo el escenario que ya tenemos una API REST, funcionando, y queremos incorporarla a una producción para contar con trazabilidad y todas las ventajas que ofrece IRIS para interoperar, dejo este artículo para cambiar una API existente que responde un JSON, para responder el mismo JSON pero dejando sus trazas en una producción de la misma instancia.
Lo primero, ya contamos con una aplicación creada, llamada /restapi y que tiene como DispatchClass: Testing.REST.ApiDisp (o la clase que tenemos en nuestra instancia).
En esta minera - Operación de Candelaria para Lundin Mining - como en muchas otras, los sistemas de registro de eventos de la operación están separados de forma física y lógica. Buscando encontrar trazar la ubicación de material en el yacimiento y los diámetros de material relevante una vez molido lo extraído, sus ejecutivos usan herramientas no especializadas, planillas de cálculo en este caso, para bucear en los datos.
¡Hola Comunidad!
¡Os invitamos a participar en el segundo concurso de redacción de artículos técnicos de InterSystems (en inglés)!
🎄 Concurso de Artículos Técnicos de InterSystems: Edición Navidad 🎄
Escribe un artículo en inglés en la Developer Community, sobre cualquier tema relacionado con la tecnología de InterSystems:
Duración: del 25 de noviembre al 25 de diciembre de 2021
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 / Gafas de Realidad Virtual Oculus Quest 2 / Libro electrónico Amazon Kindle / Auriculares inalámbricos Apple AirPods Pro / Raspberry Pi

¡Participa en el concurso y tu artículo será leído por miles de miembros de la Comunidad de Desarrolladores!
Se ha publicado una nueva versión del ZPM - ZPM 0.3.2.
Novedades en esta versión:
output de la ayuda
AfterInstallMessage en module.Hace algún tiempo, empecé a recibir alertas de consumo excesivo de espacio en el sistema de archivos (filesystem) de un cliente, cuya solución utiliza la capa de interoperabilidad (IRIS / Ensemble) de manera masiva.
Me percaté que las bases de datos que crecían eran las dedicadas a la interoperabilidad, mas no la base de datos operacional de la solución, por tanto había que revisar los mensajes de las diferentes integraciones presentes.
También verifiqué los espacios libres de cada base de datos por si compactar y truncar podrían liberar algún espacio importante, pero no era el caso.
La primera vez que se intenta iniciar un servidor externo de lenguaje Python (de aquí en adelante Gateway de Python), en la versión en contenedor, intenta ejecutar cierto código para detectar si está instalado el paquete python3-venv.
La imagen que está en containers.intersystems.com:
Mas de una vez nos ha sucedido que requerimos añadir algún comportamiento a algún Bussiness Service core (tal como viene "de caja").
En este caso puntual, tomaré de ejemplo el BS EnsLib.RecordMap.Service.FileService, el cual nos permite leer un archivo (normalmente un csv) desde una carpeta configurable. A veces sucede que el archivo que estamos leyendo es muy grande, y por tanto contiene muchas filas, y nuestra lógica requiera saber exactamente cuando se termino de procesar y además generar un evento que incluso sea procesado por algún Host personalizado.
En algún momento, puede surgir la necesidad de llamar (sentencia CALL en BPL) de manera dinámica, porque hay mucha lógica de negocio compartida por distintos orígenes de datos, que da pie a que esa lógica se comparta y no se individualice cada llamada (CALL).
Esto tiene ventajas a nivel de mantenimiento de la lógica definida, catch de errores y administrar los hilos de ejecución de manera centralizada.
Entonces lo normal es que se defina una sentencia FOREACH que ejecute la sentencia CALL según cada ítem que se necesite.
<foreach name='Origenes activos' property='context.Tal como sucede con otros tipos de Host, en ciertos casos de uso nos conviene personalizar el comportamiento de algún Business Operation (BO) de caja. En este caso, tomaré de ejemplo el siguiente EnsLib.REST.GenericOperation
En principio, el caso de uso era un simple Pass Through de una petición HTTP Rest, por lo que se decidió usar tanto el BS y el BO core de IRIS para reenviarlo. Sin embargo, el destino de esta petición, necesitaba algunos Header por defecto, que no proporcionaba el request original.
Para efectos del ejemplo, añadiré estos Header a través de un BO personalizado.
Siempre que se trabaja con el repositorio FHIR, se tiene que interactuar con lógica de negocio propia de la institución donde se instala.
Surgió una regla bastante simple, para efectos de demostración, que consiste en validar la existencia de un paciente en el repositorio, aún si es una petición que contiene un Patient Resource enviado vía método POST, lo cuál por definición del estándar FHIR, corresponde a un Create Patient.
Estimados
Todos ya conocerán las propiedad y facilidades que entrega %Populate para las clases registradas, es una herramienta muy útil a la hora de realizar alguna demostración o presentación. Sin embargo, también habrán notado que por defecto tiene un set de datos localizado y creado para Estados Unidos lo que en algunas situaciones puede ser una dificultad.
Es por esta razón que les dejo este pequeño ejemplo de cómo usar POPSPEC para poder localizar y crear nuestro propio conjunto de datos de prueba.
En primer lugar creemos nuestra clase persistente:
Class Demo.
¡Hola amigos!
A veces necesitamos importar datos a InterSystems IRIS desde archivos de tipo CSV. Esto puede hacerse, por ejemplo, mediante la herramienta csvgen, que genera una clase e importa todos los datos a ella.
Pero, ¿qué pasa si tienes tu propia clase y quieres importar datos desde un archivo CSV a una tabla que ya existe previamente?
Hay varias formas de hacerlo, ¡pero puedes utilizar csvgen (o csvgen-ui) otra vez! Preparé un ejemplo y estoy encantado de compartirlo con todos. ¡Vamos allá!