Limpiar filtro
Pregunta
Daniel Seco · 3 feb, 2022
Estimados,
Junto con saludarles consulto han implementado InterSystems IRIS Mirroring para IRIS 2019.2 en AWS?. Necesito tener dos AZ, subredes privadas, y lograr configurar los nodos primario y secundario de IRIS base de datos. Los gateway que están en API Management (IAM) deberán enviar peticiones a una IP que esté delante de los nodos de base de datos de IRIS. Agradeceré compartir un esquema de arquitectura Hola Daniel,
Para esa configuración te recomiendo que emplees Kubernetes y en especial InterSystems Kubernetes Operator (IKO), se va a encargar de la configuración y despliegue. La documentación del IKO está aquí.
Los pasos a seguir son:
1. Instanciar el cluster
2. Instalar IKO con helm
3. Instanciar el mirror de IRIS, incluyendo las APIs. En la distribución del IKO hay un subdirectorio samples que contiene ejemplos, incluido un iris-sample.yaml que puedes usar para desplegar el mirror:
a.) En los nodos de datos busca los que tienen la opción mirrored: true
b.) Tus APIs las defines en el apartado del webgateway usando "applicationPaths" o usando el IAM
Es muy importante que definas el tipo de almacenamiento usando "volumesClaims" y el servicio de red "LoadBalancer" con la opción "externalTrafficPolicy: local"
En la comunidad anglosajona hay un artículo muy completo con diferentes opciones de arquitectura. Estimado Eduardo,
Muchas gracias por la información que me aportas. Comento que en la actual arquitectura entregada por nuestro proveedor se ha considerado el uso de servicios EC2 y trabajar con balanceador de carga. De lo que me aportas veo que mencionas el servicio NLB.
En nuestra revisión hemos considerado lo que dice en https://es.community.intersystems.com/post/mirroring-de-la-base-de-datos-sin-una-direcci%C3%B3n-ip-virtual
saludos,
DS
Anuncio
Esther Sanchez · 23 mar, 2022
¡Hola desarrolladores!
Ha llegado el momento para todos los usuarios de nuestra comunidad que hablan francés.
Estamos encantados de anunciar el lanzamiento oficial de la Comunidad de Desarrolladores de InterSystems en francés! 🎉
Y os presentamos a @Guillaume.Rongier7183, @Robert.Bira e @Irène.Mykhailova, las personas que gestionarán la nueva Comunidad de Desarrolladores.
Repasamos algunos de los aspectos básicos sobre las traducciones:
➡️ Podéis elegir el idioma de la Comunidad con los botones situados en la parte superior derecha de la página de inicio:
Si sabes hablar francés, sería genial que contribuyeras con artículos, preguntas, respuestas... en la nueva Comunidad!
Además...
➡️ Puedes usar el Botón de idioma para cambiar a la versión en francés de las publicaciones.
➡️ Si publicas un artículo en español o en cualquier idioma, puede ser traducido al francés por cualquiera, para que sea útil para más personas.
Ahora, cualquiera puede añadir la traducción de un artículo publicado en la Comunidad. Si quieres añadir una traducción, haz clic en el Botón de idioma, elige el idioma al que quieres traducir el artículo y aparecerán tres opciones: hacer la traducción directamente, pedir una traducción o añadir una URL si ya tienes la traducción hecha:
➡️ De la misma forma sucede con la Comunidad en francés – puedes traducir a inglés los artículos en francés. Solo debes asegurarte de que conoces bien los dos idiomas! :)
¡Bienvenidos todos a la Comunidad de Desarrolladores en francés! 🚀
¿Qué temas os gustaría ver publicados en la Comunidad en francés? Podéis responder en esta encuesta ☑️
O podéis compartir vuestras ideas y sugerencias en los comentarios.
Anuncio
Esther Sanchez · 9 mayo, 2022
¡Hoy empieza el Concurso Anual para desarrolladores de InterSystems IRIS!
Os invitamos a todos a participar en el 2º Gran Premio de Programación para crear soluciones open-source utilizando InterSystems IRIS.
¿Nunca has desarrollado con InterSystems IRIS? ¡No te preocupes! Regístrate en la Comunidad y eres bienvenido al concurso.
🏆 2º Gran Premio de Programación de InterSystems 🏆
Dotación en premios: más de $22 000
Duración: 9 - 29 mayo, 2022
Período de votación: 30 mayo - 5 junio, 2022
Temática
El Gran Premio de InterSystems es nuestro concurso de programación anual, para encontrar la mejor aplicación que utiliza InterSystems IRIS. ¡Se pueden presentar aplicaciones sobre cualquier tema!
Presenta cualquier aplicación que utilice InterSystems IRIS como backend (API o base de datos) con cualquier tipo de modelo de datos o API InterSystems IRIS.
También puedes mejorar las aplicaciones que presentaste en anteriores concursos de InterSystems y presentarlas a este Gran Premio. Por supuesto, se pueden presentar aplicaciones 100% nuevas.
Requisitos generales:
Aplicaciones aceptadas: aplicaciones nuevas en Open Exchange o existentes, pero con una mejora significativa. Nuestro equipo revisará todas las aplicaciones antes de aprobarlas para el concurso.
La aplicación debe funcionar en IRIS Community Edition o en IRIS for Health Community Edition o en IRIS Advanced Analytics Community Edition.
La aplicación debe ser Open Source y publicarse en GitHub.
El fichero README de la aplicación debe estar en inglés, contener los pasos de la instalación y contener una demo en vídeo o/y una descripción de cómo funciona la aplicación.
Se permiten 3 propuestas como máximo por desarrollador.
Premios:
1. Nominación de los Expertos – los ganadores serán elegidos por un equipo de expertos de InterSystems:
🥇 1er premio - $7 000
🥈 2º premio - $5 000
🥉 3er premio - $3 000
🌟 Puestos 4-20 - $100
2. Ganadores de la Comunidad – las aplicacions que reciban el mayor número de votos en total:
🥇 1er premio - $3 000
🥈 2º premio - $2 000
🥉 3er premio - $1 000
✨ Todos los premios incluyen insignias de Global Masters.
Nota: Si dos o más participantes obtienen la misma cantidad de votos, todos serán considerados ganadores y el dinero del premio se repartirá entre todos.
Fechas importantes:
🛠 Fase de desarrollo y registro de aplicaciones:
9 de mayo, 2022 (00:00 EST): Empieza el concurso.
29 de mayo, 2022 (23:59 EST): Fecha límite para participar.
✅ Fase de votación:
30 de mayo, 2022 (00:00 EST): Empieza la votación.
5 de junio, 2022 (23:59 EST): Termina la votación.
Nota: Los desarrolladores pueden mejorar sus aplicaciones a lo largo de todo el período de registro y el de votación.
¿Quién puede participar?
Cualquier miembro registrado en la Comunidad de Desarrolladores de cualquier país puede participar en el concurso, excepto los empleados de InterSystems (los "contractors" de InterSystems Corporation también pueden participar). Regístrate aquí en la Comunidad si aún no tienes una cuenta.
Los desarrolladores pueden hacer equipos para crear una aplicación colaborativa. Se permiten de 2 a 5 desarrolladores en cada equipo.
No os olvidéis de nombrar a todos los miembros del equipo en el README de vuestra aplicación – los perfiles de usuario de la DC.
Recursos útiles:
✓ Cómo trabajar con InterSystems IRIS (para principiantes):
Build a Server-Side Application with InterSystems IRIS
Learning Path for beginners
✓ Para principiantes en ObjectScript Package Manager (ZPM):
How to Build, Test and Publish ZPM Package with REST Application for InterSystems IRIS
Package First Development Approach with InterSystems IRIS and ZPM
✓ Cómo presentar una aplicación al concurso:
How to publish an application on Open Exchange
How to submit an application for the contest
✓ Sample IRIS applications:
objectscript-docker-template
rest-api-contest-template
native-api-contest-template
integratedml-demo-template
PythonGateway-template
iris-fhir-template
iris-fullstack-template
iris-interoperability-template
iris-analytics-template
¿Dudas, preguntas?
Únete al canal sobre el concurso en el servidor de Discord de InterSystems o escríbenos en los comentarios de esta publicación.
¡Estamos deseando ver vuestros proyectos! Buena suerte a todos 👍
Participando en este concurso, aceptas los Términos oficiales de la competición. Por favor, léelos con atención antes de participar. ¡Última semana para participar en el Gran Premio de Programación!
¿Os animáis alguno??
Artículo
Yuri Marx · 7 mar, 2022
InterSystems IRIS es una gran plataforma de datos y posee las funcionalidades que demanda el mercado. En este artículo, recojo las 10 mejores:
Puesto
Funcionalidad
¿Por qué?
Más información
1
Análisis adaptativo
Analizar los datos empresariales actuales "TAL CUAL" y en tiempo real, con menos esfuerzo de modelado, mayor velocidad de ejecución y soporte para los principales visores analíticos (incluyendo Excel) es un factor clave para la estrategia corporativa de las empresas.
Enlace
2
Administrador de API
Los activos digitales se consumen mediante la API REST. Se requiere controlar la reutilización, seguridad, consumo, catálogo de activos, ecosistema de desarrolladores y otros aspectos en un punto central. El Administrador de API es la herramienta adecuada para hacerlo. Por ello, todas las empresas tienen o quieren tener un administrador de API.
Enlace
3
Sharding de la base de datos
La cantidad total de datos creados, capturados, copiados y consumidos a nivel mundial aumenta rápidamente. Hasta 2025, se prevé que la creación de datos a nivel mundial crezca hasta más de 180 zettabytes. En este escenario, es crítico para las empresas poder procesar los datos de forma distribuida (en shards, como hadoop o mongodb), para aumentar y mantener el rendimiento. El otro aspecto importante es que IRIS es 3 veces más rápido que Caché y más rápido que las bases de datos de AWS, en la nube de AWS.
Enlace 1
Enlace 2
4
Soporte a Python
Python es el lenguaje más popular para hacer Inteligencia Artificial (IA). Y la IA está en el centro de la estrategia empresarial, porque permite obtener nuevos conocimientos, conseguir más productividad y reducir costes.
Enlace 1
Enlace 2
Enlace 3
5
Las APIs nativas (Java, .NET, Node.js, Python) y PEX
En EE. UU. hay casi un millón de ofertas de puestos de trabajo en TI (fuente: https://www.forbes.com/sites/stuartanderson/2021/03/18/over-1-million-job-vacancy-postings-in-computer-occupations-in-us/). Es muy difícil encontrar un desarrollador de ObjectScript. Por eso, es importante ser capaz de utilizar las funcionalidades de IRIS, como la interoperabilidad, con el lenguaje de programación oficial del equipo de desarrolladores (Python, Java, .NET, etc.).
Enlace 1
Enlace 2
Enlace 3
Enlace 4
Enlace 5
Enlace 6
6
Interoperabilidad, FHIR y IoT
Las empresas se conectan e intercambian datos constantemente. Los departamentos también deben trabajar conectados seguir procesos con mayor valor estratégico y menor coste. La mejor tecnología para ello son las herramientas de interoperabilidad, especialmente ESB, adaptadores de integración, motores de automatización de procesos empresariales (BPL), herramientas de transformación de datos (DTL) y la adopción de estándares de interoperabilidad del mercado, como FHIR y MQTT/IoT. La interoperabilidad de InterSystems soporta todo esto (para FHIR utiliza IRIS for Health).
Enlace 1
Enlace 2
Enlace 3
7
Cloud, Docker y Microservicios
Ahora todo el mundo quiere una arquitectura de microservicios en la nube. Quieren romper los monolitos para crear proyectos más pequeños, menos complejos, menos acoplados, más escalables, reutilizables e independientes. IRIS permite implementar microservicios de datos, aplicaciones y análisis, gracias a la compatibilidad de IRIS con shards, docker, kubernetes, computación distribuida, herramientas DevOps y menor consumo de CPU/memoria (¡IRIS soporta incluso procesadores de ARM!). Pero los microservicios requieren que la gestión de las APIs de los microservicios, usando el Administrador de API, se utilice de forma alineada con las empresas.
Enlace 1
Enlace 2
Enlace 3
Enlace 4
Enlace 5
8
Informes integrados
Los informes son cruciales para las empresas. El personal operativo y los responsables de la toma de decisiones utilizan los informes para respaldar su trabajo. Además, se entregan muchos informes a los clientes. Pero, con las aplicaciones móviles, y las aplicaciones de microservicios, es necesario habilitar los informes integrados. IRIS Reports soporta todo esto.
Enlace
9
Soporte para VSCode
VSCode es el IDE más popular e InterSystems IRIS tiene un buen conjunto de herramientas para usarlo.
Enlace 1
Enlace 2
Enlace 3
10
Ciencia de Datos
La capacidad de aplicar la ciencia de datos a las solicitudes y respuestas de integración y transacción de datos, utilizando Python, R e IntegratedML (AutoML) permiten que la IA sea inteligente en este momento que requieren las empresas. InterSystems IRIS proporciona IA con Python, R e IntegratedML (AutoML)
Enlace 1
Enlace 2
Enlace 3
Este artículo ha sido etiquetado como "Mejores prácticas" ("Best practices").
Los artículos con la etiqueta "Mejores prácticas" incluyen recomendaciones sobre cómo desarrollar, probar, implementar y administrar mejor las soluciones de InterSystems.
Anuncio
David Reche · 7 abr, 2022
Nos encanta anunciaros que hemos creado un nuevo Portal de Sugerencias: InterSystems Ideas.
El objetivo del Portal es mejorar los mecanismos para que podáis sugerir cómo mejorar nuestros productos y cómo hacerlos evolucionar para satisfacer vuestras necesidades. La sección de Preguntas es una excelente manera de interactuar con otros colegas sobre problemas específicos de código; y el Soporte a Clientes es la forma de obtener la solución a un problema.
Este nuevo portal pretende captar ideas a un nivel más elevado. Trata menos de cómo se hace algo ahora, y más de cómo os gustaría que los productos funcionaran en el futuro. Permite publicar vuestras experiencias y también comentar y/o votar las ideas de otras personas. InterSystems puede ver todas las sugerencias que publiquéis, responder directamente y actualizar el estado de vuestras ideas según avanzamos en ellas.
Así que... ahora os toca a vosotros. Compartid vuestras ideas y sugerencias... ¡y os leemos!
¡Muchas gracias!
Artículo
Luis Angel Pérez Ramos · 22 nov, 2022
Últimamente me han preguntado en varias ocasiones cómo hacer que el Framework Laravel funcione con InterSystems IRIS Data Platform. Ha pasado un tiempo desde la publicación de este anuncio sobre Laravel e InterSystems Caché. En este artículo mostraremos unas breves instrucciones sobre cómo configurar un proyecto Laravel para usarlo con InterSystems IRIS a través de ODBC.
¿Qué es Laravel?
Laravel es un framework PHP basado en arquitectura MVC. Usar Laravel simplifica y acelera el desarrollo del backend, a la vez que permite crear aplicaciones web modernas y seguras. Es muy fácil de aprender, muy utilizado en el mundo PHP y suele ser uno de los frameworks de backend más populares, según el ranking de github.com, que se puede ver en este vídeo. Claramente podemos ver los beneficios de combinar estas capacidades con la flexibilidad y el rendimiento de InterSystems IRIS como base de datos.
Esta publicación está organizada en 4 pasos, que representa una secuencia de acciones que hay que completar para que funcione la conexión. La forma de completar cada paso puede variar dependiendo de la plataforma. Los comandos se muestran para Ubuntu 22.02 (x64).
Configuración del Driver Manager (unixODBC)
Para hacer que la conexión funcione, necesitamos instalar un Driver Manager. Los driver managers más utilizados son 'unixODBC' and 'iODBC'. Utilizaremos 'unixODBC', que se puede descargar aquí http://www.unixodbc.org/ . Id a la sección 'Download' para descargar y ejecutar el build. Alternativamente, las instrucciones de build también se pueden encontrar aquí. Aquí utilizaremos paquetes del gestor de paquetes 'apt' para Ubuntu.
Instalación de paquetes
Instalamos el paquete unixodbc acompañado por libodbccr2 que proporciona la librería unixODBC Cursor.
sudo apt update
sudo apt -y install unixodbc libodbccr2 odbcinst
Creación de un enlace para Cursor LibraryEn algunos casos puede haber problemas con dependencias compartidas después de la instalación de unixODBC. Esto aparece como el error 'Can't open cursor lib'. En internet encontramos varias soluciones alternativas. Para resolver este problema, hacemos un enlace simbólico a una librería que queramos. Primero, localizamos la librería:
sudo find / -type f -name "libodbccr*"
Y después creamos un enlace
sudo ln -s /usr/lib/x86_64-linux-gnu/libodbccr.so.2.0.0 /etc/libodbccr.so
Configuración del Driver ODBC para InterSystems IRIS
El driver ODBC para InterSystems IRIS se puede obtener de varias maneras. Por ejemplo, está incluido en todos los kits de InterSystems IRIS. Otra opción sería el Portal de Distribución en wrc.intersystems.com.
También, los drivers para todas las plataformas soportadas se pueden encontrar aquí: https://intersystems-community.github.io/iris-driver-distribution/
Descargad, desempaquetad e instalad el Driver ODBC:
sudo mkdir -p /usr/lib/intersystems/odbc
cd /usr/lib/intersystems/odbc/
sudo wget -q https://raw.githubusercontent.com/intersystems-community/iris-driver-distribution/main/ODBC/lnxubuntu2004/ODBC-2022.1.0.209.0-lnxubuntu2004x64.tar.gz
sudo tar -xzvf /usr/lib/intersystems/odbc/ODBC-2022.1.0.209.0-lnxubuntu2004x64.tar.gz
sudo ./ODBCinstall
sudo rm -f ODBC-2022.1.0.209.0-lnxubuntu2004x64.tar.gz
Después, el driver se ubicará en esta carpeta /usr/lib/intersystems/odbc/bin/.
Podéis encontrar información adicional sobre los drivers y su uso en la documentación. Aquí utilizamos libirisodbcur6435.so como una librería de drivers.
Configuración del proyecto Laravel
La forma tradicional y práctica de interactuar con una base de datos desde Laravel sería usar su paquete Eloquent. Eloquent es un mapeador relacional de objetos (un ORM de toda la vida) que se incluye por defecto dentro del framework Laravel. Solo unos pocos proveedores de DBMS están soportados fuera de la herramienta. Así que para implementar la conexión y las especificidades de la construcción de consultas SQL para InterSystems IRIS (via ODBC) hace falta escribir código PHP adicional. Gracias a @Jean.Dormehl que descubrió y solucionó esta brecha en InterSystems Caché y que también se puede usar para InterSystems IRIS.En este artículo describimos los pasos para configurar la conexión para el proyecto Laravel existente, usando el paquete jeandormehl/laracache, asumiendo que la instalación y configuración de php, composer y Laravel ya se ha realizado.
Instalación de php-odbcAseguraos de que el módulo php-odbc está instalado. Podéis comprobar la lista de módulos instalados con el comando:
php -m | grep odbc
Para instalar la extensión php-odbc, usad el siguiente comando utilizando la versión adecuada de php instalada en vuestro entorno
sudo apt -y install php8.1-odbc
Configuración del paquete 'jeandormehl/laracache'Id a vuestro directorio del proyecto Laravel, instalad el paquete y publicad su archivo de configuración.
composer require jeandormehl/laracache
php artisan vendor:publish --tag=isc
Configuración de la conexión con IRIS
Editad vuestro fichero .env para que contenga las configuraciones necesarias para conectar a una base de datos. Para los usuarios de Unix debería ser algo tal que así:
DB_CONNECTION=isc
DB_WIN_DSN=
DB_UNIX_DRIVER=/usr/lib/intersystems/odbc/bin/libirisodbcur6435.so
DB_HOST=127.0.0.1
DB_PORT=1972
DB_DATABASE=USER
DB_USERNAME=_SYSTEM
DB_PASSWORD=sys
Después de editar el archivo .env puede que sea útil limpiar la caché de configuración de aplicaciones:
php artisan config:cache
Uso
Vamos a intentar recuperar algunos datos usando nuestro nuevo paquete. Como ejemplo, crearemos un Model heredado de Laracache\Cache\Eloquent\Model . Solo para probar, contaremos el número de mensajes enviados en el namespace de Interoperabilidad habilitado.
nano app/Models/EnsMessageHeader.php
<?php
namespace App\Models;
use Laracache\Cache\Eloquent\Model;
class EnsMessageHeader extends Model
{
protected $table = 'Ens.MessageHeader';
protected $fillable = [
'MessageBodyClassName'
];
}
Para ejecutar una consulta, podemos crear un comando de consola Artisan como este:
nano routes/console.php
<?php
use Illuminate\Foundation\Inspiring;
use Illuminate\Support\Facades\Artisan;
use App\Models\EnsMessageHeader;
Artisan::command('iris:test', function () {
echo EnsMessageHeader::count() . PHP_EOL;
});
Después, al ejecutar el siguiente comando, deberíamos recuperar el número de registros
php artisan iris:test
Este escenario debería funcionar en un amplio rango de productos basados en InterSystems IRIS.
Anuncio
Esther Sanchez · 15 dic, 2022
¡Hola Comunidad!
Un mes más, os traemos las novedades de InterSystems Ideas, el Portal de Sugerencias de InterSystems! Ya hay 148 ideas propuestas 👏
¿Y qué ha pasado con esas 148 ideas? Aquí os mostramos su estado:
✓ 42 ideas están siendo valoradas por los Product Managers de InterSystems.
✓ 46 ideas pueden ser implementadas por los miembros de la Comunidad de Desarrolladores.
✓ 11 ideas están siendo implementadas por InterSystems.
✓ 3 ideas ya han sido implementadas por InterSystems.
✓ 9 ideas han sido implementadas por los miembros de la Comunidad de Desarrolladores.
Estos son los estados por los que pasa cada una de las ideas que proponéis:
Estas son las ideas publicadas tras el 1er Ideatón (Maratón de Ideas) de InterSystems
Improve Ukrainian translation in IRIS
Code example
Full Code Debugger
Promote video contest
Create a tool for IRIS BI to test all the pivots and dashboards if they still work after changes made
Improve Spanish translation in IRIS
Add IRIS as a supported database for Apache Superset
For community articles, let admins (and possibly article authors) pin particular comments to the top
Add address standardization to Normalization (using Project US@ standards)
¿Sabéis todo lo que podéis hacer en el Portal de Sugerencias de InterSystems?
Filtrar las ideas por estado,
Publicar nuevas ideas para que sean comentadas públicamente,
Votar las ideas presentadas,
Comentar cualquier idea...
¿Habéis entrado ya en InterSystems Ideas?
¡Os leemos!!
Artículo
Nancy Martínez · 8 sep, 2022
¡Hola desarrolladores!
Los que usáis Dockerfile para trabajar con InterSystems IRIS a menudo tenéis que ejecutar varias líneas de ObjectScript. Para mí, esto era el juego de "escapar de esto y aquello" cada vez, solo para ejecutar unos pocos comandos en ObjectScript a IRIS. Idealmente, preferiría programar en ObjectScript sin usar comillas o caracteres de escape.
Recientemente he encontrado un buen "hack" sobre cómo esto podría ser mejorado a exactamente este estado. Lo cogí del repositorio de @Dmitry.Maslennikov y te permite usar Objectscript de una forma como si lo escribieras en el terminal de IRIS.
Esto es lo que tienes en dockerfile:
///
COPY irissession.sh /
SHELL ["/irissession.sh"]
RUN \
do $SYSTEM.OBJ.Load("Installer.cls", "ck") \
set sc = ##class(App.Installer).setup()
# bringing the standard shell back
SHELL ["/bin/bash", "-c"]
CMD [ "-l", "/usr/irissys/mgr/messages.log" ]
///
El truco es que antes de ejecutar ObjectScript, ejecutemos el comando irisession.sh que hace lo siguiente:
1. Inicia IRIS
2. Ejecuta unos comandos "estándar" de ObjectScript y toma el control de Dockerfile para dejarte introducir líneas en ObjectScript - instrucción "$@".
3. Para IRIS
Comprueba el contenido de irissession.sh:
#!/bin/bash
iris start $ISC_PACKAGE_INSTANCENAME quietly
cat << EOF | iris session $ISC_PACKAGE_INSTANCENAME -U %SYS
do ##class(%SYSTEM.Process).CurrentDirectory("$PWD")
$@
if '\$Get(sc) do ##class(%SYSTEM.Process).Process.Terminate(, 1)
do ##class(SYS.Container).QuiesceForBundling()
do ##class(SYS.Container).SetMonitorStateOK("irisowner")
Do ##class(Security.Users).UnExpireUserPasswords("*")
halt
EOF
exit=$?
iris stop $ISC_PACKAGE_INSTANCENAME quietly
exit $exit
Este $@ espera un comando RUN en Dockerfile que contendrá solo ObjectScript. Si necesitas utilizar algunos comandos más en Dockerfile, devuelve el control con shell estándar:
# bringing the standard shell back
SHELL ["/bin/bash", "-c"]
CMD [ "-l", "/usr/irissys/mgr/messages.log" ]
Este código está introducido en la community template de IRIS para que puedas empezar a usar ObjectScript en tus soluciones IRIS con un código preciso y legible.
Aprende cómo usar las plantillas Github con IRIS en este vídeo.
Artículo
Alberto Fuentes · 27 oct, 2022
# 1. Interoperability-embedded-python
Esta prueba de concepto pretende mostrar cómo el ***framework* de interoperabilidad de IRIS** puede utilizarse con **Python Embebido**.
## 1.1. Índice
- [1. Interoperability-embedded-python](#1-interoperability-embedded-python)
- [1.1. Índice](#11-table-of-contents)
- [1.2. Ejemplo](#12-example)
- [1.3. Registrar un componente](#13-regsiter-a-component)
- [2. Demo](#2-demo)
- [3. Requisitos previos](#3-prerequisites)
- [4. Instalación con Docker](#4-installation-with-docker)
- [5. Instalación sin Docker](#5-installation-without-docker)
- [6. Cómo ejecutar la muestra](#6-how-to-run-the-sample)
- [7. Qué hay dentro del repositorio](#7-whats-inside-the-repository)
- [7.1. Dockerfile](#71-dockerfile)
- [7.2. .vscode/settings.json](#72-vscodesettingsjson)
- [7.3. .vscode/launch.json](#73-vscodelaunchjson)
- [7.4. .vscode/extensions.json](#74-vscodeextensionsjson)
- [7.5. src folder](#75-src-folder)
- [8. Cómo añadir un nuevo componente](#8-how-to-add-a-new-component)
- [8.1. InboundAdapter](#81-inboundadapter)
- [8.2. OutboundAdapter](#82-outboundadapter)
- [8.3. BusinessService](#83-businessservice)
- [8.4. BusinessProcess](#84-businessprocess)
- [8.5. BusinessOperation](#85-businessoperation)
- [8.6. Registrar un componente](#86-regsiter-a-component)
- [8.7. Uso directo de Grongier.PEX](#87-direct-use-of-grongierpex)
- [9. Trabajo futuro](#9-future-work)
- [10. Créditos](#10-credits)
## 1.2. Ejemplo
```python
import grongier.pex
import iris
import MyResponse
class MyBusinessOperation(grongier.pex.BusinessOperation):
def OnInit(self):
print("[Python] ...MyBusinessOperation:OnInit() is called")
self.LOGINFO("Operation OnInit")
return
def OnTeardown(self):
print("[Python] ...MyBusinessOperation:OnTeardown() is called")
return
def OnMessage(self, messageInput):
if hasattr(messageInput,"_IsA"):
if messageInput._IsA("Ens.StringRequest"):
self.LOGINFO(f"[Python] ...This iris class is a Ens.StringRequest with this message {messageInput.StringValue}")
self.LOGINFO("Operation OnMessage")
response = MyResponse.MyResponse("...MyBusinessOperation:OnMessage() echos")
return response
```
## 1.3. Registrar un componente
**No es necesario código en ObjectScript**.
Gracias al método Grongier.PEX.Utils.RegisterComponent():
Inicia un Embedded Python Shell:
```sh
/usr/irissys/bin/irispython
```
A continuación, utiliza este método de clase para añadir un nuevo archivo py a la lista de componentes de interoperabilidad.
```python
iris.cls("Grongier.PEX.Utils").RegisterComponent(,,,,)
```
por ejemplo:
```python
iris.cls("Grongier.PEX.Utils").RegisterComponent("MyCombinedBusinessOperation","MyCombinedBusinessOperation","/irisdev/app/src/python/demo/",1,"PEX.MyCombinedBusinessOperation")
```
Esto es un truco, no es para producción.
# 2. Demo
La producción tiene cuatro componentes en Pure Python:
* Dos Business Services:
* Grongier.PEX.MyCombinedBusinessService, que envía continuamente mensajes de sincronización a una Business Operation
* Esos mensajes son objetos de Python en formato JSON y almacenados en Grongier.PEX.Message.
* Código de Python: src/python/demo/MyCombinedBusinessService.py
* Grongier.PEX.MyBusinessService, que básicamente no hace nada, es un Business Service en bruto que escribe registros de mensajes
* Código de Python: src/python/demo/MyBusinessService.py
* Dos Business Operations:
* Grongier.PEX.BusinessOperation, que recibe el mensaje de Grongier.PEX.MyCombinedBusinessService
* Código de Python: src/python/demo/MyBusinessOperation.py
* Grongier.PEX.CombinedBusinessOperation, puede recibir el mensaje Ens.StringRequest y la respuesta con Ens.StringResponse
* Código de Python: src/python/demo/MyCombinedBusinessOperation.py
Nueva traza json para los mensajes nativos de Python:
# 3. Requisitos previos
Asegúrate de tener instalado [git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) y [el escritorio Docker](https://www.docker.com/products/docker-desktop).
# 4. Instalación con Docker
Clona el repositorio a cualquier directorio local
```sh
git clone https://github.com/grongierisc/interpeorability-embedded-python
```
Abre el terminal en este directorio y ejecuta:
```sh
docker-compose build
```
Ejecuta el contenedor IRIS con tu proyecto:
```sh
docker-compose up -d
```
# 5. Instalación sin Docker
Instala el *grongier_pex-1.0.0-py3-none-any.whl* en tu instancia local de iris:
```sh
/usr/irissys/bin/irispython -m pip install grongier_pex-1.0.0-py3-none-any.whl
```
A continuación, carga las clases de ObjectScript:
```ObjectScript
do $System.OBJ.LoadDir("/opt/irisapp/src","cubk","*.cls",1)
```
# 6. Cómo ejecutar el ejemplo
Abre la [producción](http://localhost:52795/csp/irisapp/EnsPortal.ProductionConfig.zen?PRODUCTION=PEX.Production) y comienza a utilizarla. Se comenzará a ejecutar el código del ejemplo.
# 7. Qué hay dentro del repositorio
## 7.1. Dockerfile
Un dockerfile que instala algunas dependencias de Python (pip, venv) y sudo en el contenedor por conveniencia. Después, crea el directorio dev y copia el repositorio git.
Inicia IRIS e importa los archivos csv de Titanic, después activa **%Service_CallIn** para **Python Shell**. Utiliza el docker-compose.yml relacionado para configurar fácilmente parámetros adicionales como el número de puerto y dónde mapear contraseñas y carpetas del host.
Este dockerfile termina con la instalación de los requisitos para los módulos de python.
La última parte es sobre la instalación de Jupyter Notebook y sus kernels.
Utiliza el archivo .env/ para ajustar el dockerfile que se utiliza en docker-compose.
## 7.2. .vscode/settings.json
Archivo de configuración para poder codificar en VSCode con el [plugin VSCode ObjectScript](https://marketplace.visualstudio.com/items?itemName=daimor.vscode-objectscript)
## 7.3. .vscode/launch.json
Archivo de configuración si quieres depurar con VSCode ObjectScript
[Lee sobre todos los archivos en este artículo](https://community.intersystems.com/post/dockerfile-and-friends-or-how-run-and-collaborate-objectscript-projects-intersystems-iris)
## 7.4. .vscode/extensions.json
Archivo de recomendación para añadir extensiones si quieres ejecutar VSCode en el contenedor.
[Más información aquí](https://code.visualstudio.com/docs/remote/containers)

Esto es muy útil para trabajar con Python Embebido.
## 7.5. src folder
```
src
├── Grongier
│ └── PEX // ObjectScript classes that wrap python code
│ ├── BusinessOperation.cls
│ ├── BusinessProcess.cls
│ ├── BusinessService.cls
│ ├── Common.cls
│ ├── Director.cls
│ ├── InboundAdapter.cls
│ ├── Message.cls
│ ├── OutboundAdapter.cls
│ ├── Python.cls
│ ├── Test.cls
│ └── Utils.cls
├── PEX // Some example of wrapped classes
│ ├── MyBusinessOperationWithAdapter.cls
│ ├── MyBusinessOperationWithIrisAdapter.cls
│ ├── MyBusinessOperationWithPythonAdapter.cls
│ ├── MyBusinessService.cls
│ ├── MyOutboundAdapter.cls
│ └── Production.cls
└── python
├── demo // Actual python code to run this demo
│ ├── MyBusinessOperation.py
│ ├── MyBusinessOperationWithAdapter.py
│ ├── MyBusinessOperationWithIrisAdapter.py
│ ├── MyBusinessProcess.py
│ ├── MyBusinessService.py
│ ├── MyCombinedBusinessOperation.py
│ ├── MyCombinedBusinessProcess.py
│ ├── MyCombinedBusinessService.py
│ ├── MyInboundAdapter.py
│ ├── MyLoggingOperation.py
│ ├── MyNonPollingStarter.py
│ ├── MyOutboundAdapter.py
│ ├── MyRequest.py
│ ├── MyResponse.py
│ ├── MySyncBusinessProcess.py
│ └── SimpleObject.py
├── dist // Wheel used to implement python interoperability components
│ └── grongier_pex-1.0.0-py3-none-any.whl
├── grongier
│ └── pex // Helper classes to implement interoperability components
│ ├── _BusinessHost.py
│ ├── _BusinessOperation.py
│ ├── _BusinessProcess.py
│ ├── _BusinessService.py
│ ├── _Common.py
│ ├── _Director.py
│ ├── _InboundAdapter.py
│ ├── _Message.py
│ ├── _OutboundAdapter.py
│ └── __init__.py
└── setup.py // setup to build the wheel
```
# 8. Cómo añadir un nuevo componente
## 8.1. InboundAdapter
Para implementar InboundAdapter en Python:
Subclase de grongier.pex.InboundAdapter en Python. Sobreescribe el método OnTask().
## 8.2. OutboundAdapter
Para implementar OutboundAdapter en Python:
Subclase de grongier.pex.OutboundAdapter en Python. Implementar los métodos de acción requeridos.
## 8.3. BusinessService
Para implementar BusinessService en Python:
Subclase de grongier.pex.BusinessService en Python. Sobreescribe el método OnProcessInput().
## 8.4. BusinessProcess
Para implementar BusinessProcess en Python:
Subclase de grongier.pex.BusinessProcess en Python. Sobreescribe los métodos OnRequest(), OnResponse() y OnComplete().
## 8.5. BusinessOperation
Para implementar BusinessOperation en Python:
Subclase de grongier.pex.BusinessOperation en Python. Sobreescribe el método OnMessage().
## 8.6. Registrar un componente
Iniciar un Embedded Python Shell:
```sh
/usr/irissys/bin/irispython
```
A continuación, utiliza este método de clase para añadir un nuevo archivo py a la lista de componentes de interoperabilidad.
```python
iris.cls("Grongier.PEX.Utils").RegisterComponent(,,,,)
```
por ejemplo:
```python
iris.cls("Grongier.PEX.Utils").RegisterComponent("MyCombinedBusinessOperation","MyCombinedBusinessOperation","/irisdev/app/src/python/demo/",1,"PEX.MyCombinedBusinessOperation")
```
## 8.7. Uso directo de Grongier.PEX
Si no quieres utilizar la utilidad RegisterComponent. Puedes añadir un componente Grongier.PEX.Business* y configurar las propiedades:
* %module :
* Nombre del módulo correspondiente a tu código de python
* %classname :
* Nombre de la clase de tu componente
* %classpaths
* Ruta donde se encuentra tu componente.
* Puede ser una o más Rutas de clase (separadas por el carácter '|') necesarias además de PYTHON_PATH
Por ejemplo:
# 9. Trabajo futuro
- Solo se ha probado Service y Operation.
- Trabajo en curso sobre el adaptador
# 10. Créditos
La mayor parte del código procede de PEX para Python, de Mo Cheng y Summer Gerry.
La parte del registro procede del formulario de características no liberado de IRIS 2021.3. Actualización:
Este módulo ahora está disponible en PyPI:
Instalar utilizando PyPI
```
pip3 install iris_pex_embedded_python
```
Importa las clases ObjectScript, abrir una sesión de Embedded Python y ejecutar:
```
from grongier.pex import Utils
Utils.setup()
```
Atención
Si el módulo no está actualizado, asegúrate de borrar la versión antigua:
```
pip3 uninstall iris_pex_embedded_python
```
o borra manualmente el directorio `grongier` en `/lib/python/`
o fuerza la instalación con pip:
```
pip3 install --upgrade iris_pex_embedded_python --target /lib/python/
```
Anuncio
Jose-Tomas Salvador · 20 sep, 2022
¡Buenas noticias!, la extensión a Docker Desktop para el InterSystems Container Registry ya está disponible para todo el mundo.
Está ya disponible en el marketplace del Docker Desktop. Se publicó hace un par de días y es necesario reiniciar Docker Desktop para verla.
No dudes en publicar cualquier feedback en el repositorio de GitHub, aquí.
Anuncio
Esther Sanchez · 23 sep, 2022
¡Hola Comunidad!
Estamos encantados de anunciar un nuevo tipo de concursos - ¡los concursos de ideas! Presentamos:
💡 El Primer Ideatón de InterSystems 💡
Publicad una idea sobre los Productos y Servicios de InterSystems, entre el 26 de septiembre y el 16 de octubre (3 semanas) y podréis ganar un estupendo premio.
Nota.- Los empleados de InterSystems también pueden participar!
>> Publica aquí tus ideas <<
Reglas
El Ideatón de InterSystems está organizado a través de InterSystems Ideas, el Portal de Sugerencias de InterSystems, en el que se pueden enviar peticiones de mejora de producto y también ideas relacionadas con nuestros servicios (Documentación, Comunidad de Desarrolladores, Global Masters, etc.). Además, se puede votar las ideas de otras personas.
En este concurso, os invitamos a todos a compartir vuestras ideas en el Portal y también a votar las ideas de otros.
Para participar en el concurso, solo hay que añadir una idea en InterSystems Ideas.
Ideas aceptadas en el Concurso:
ideas creadas durante el período de duración del concurso;
ideas creadas por usuarios registrados en el Portal InterSystems Ideas (se puede iniciar sesión en él a través del SSO);
ideas no publicadas anteriormente - solo se aceptan nuevas ideas;
ideas que no describan functionalidades existentes en los Productos o Servicios de InterSystems;
ideas que contengan un título y una explicación clara y detallada de la esencia de la idea;
ideas publicadas en inglés;
ideas aceptadas como significativas por los expertos.
Todas las ideas seleccionadas tendrán un estatus especial nuevo: “Idea-A-Thon” en el Portal de Ideas de InterSystems y podrán encontrarse fácilmente filtrando por ese estado: Idea-A-Thon Ideas.
¿Quién puede participar?
Invitamos a TODOS a participar en el Ideatón - tanto los empleados de InterSystems como los miembros de la Comunidad de Desarrolladores.
Premios
1. Premio para todos los participantes – todas las personas que añadan una idea válida recibirán premio.
🎁 Camiseta con el logo de InterSystems
2. Premio de los Expertos – el ganador será elegido por un equipo de expertos de InterSystems, y ganará:
🎁 Figura R2-D2™ de Star Wars™, de LEGO / Sleepbuds™ II, de BOSE / Altavoz Bluetooth SoundLink Flex inalámbrico, de BOSE
3. Premio de la Comunidad – la idea con más votos ganará:
🎁 Figura R2-D2™ de Star Wars™, de LEGO / Sleepbuds™ II, de BOSE / Altavoz Bluetooth SoundLink Flex inalámbrico, de BOSE
Importante: los empleados de InterSystems solo pueden conseguir el premio por participación. El Premio de los Expertos y de la Comunidad solo puede ser ganado por miembros de la Comunidad que no sean empleados de InterSystems.
Duración del concurso
📝 26 septiembre - 16 octubre: Publicación de ideas y periodo de votación.
Publica una o varias ideas durante ese periodo y vota otras ideas publicadas – esos votos contarán para el Premio de la Comunidad.
Nota: Cuanto antes publiquéis vuestras ideas, más tiempo tendréis para conseguir votos.
Así que...
Publicad vuestra(s) idea(s) en InterSystems Ideas para conseguir premios. ¡Y estad atentos a las actualizaciones de estado de vuestras ideas!
¡Suerte a todos! 👍
Nota importante: Los premios están sujetos a disponibilidad y opciones de envío. Algunos premios puede que no estén disponibles para ser enviados internacionalmente a algunos países. Los premios no pueden ser enviados a residentes en Crimea, Rusia, Bielorrusia, Irán, Corea del Norte, Siria u otros países embargados por Estados Unidos. Os informaremos si un premio no está disponible y ofreceremos un premio alternativo.
El Ideatón de InterSystems empezó ayer y ya tenemos 4 brillantes ideas! Podéis verlas aquí: Ideas del Ideatón >>
Y recordad que podéis enviar vuestras ideas, votar las que más os gustan y también comentar cualquier idea 👍
¡Nos vemos por InterSystems Ideas!
Anuncio
Jose-Tomas Salvador · 22 feb, 2023
Comenzando este año 2023, hemos programado una serie de cursos oficiales sobre InterSystems IRIS que iremos realizando a lo largo del año. Los cursos se impartirán on-line y ya están abiertos para que os podáis registrar si estáis interesados (hasta un máximo de 10 personas por curso, quorum mínimo 5 asistentes). Toda la información está disponible en nuestro sitio web: Formación en el aula virtual | InterSystems
Para cualquier duda o necesidad adicional de formación, no dudéis en indicárnoslo más abajo o enviándonos un email a formacion@intersystems.com.
Anuncio
Esther Sanchez · 14 feb, 2023
Ya podemos anunciar los ganadores del Concurso de Herramientas para Desarrolladores de InterSystems!
Pero en primer lugar, me gustaría dar las GRACIAS a todos los participantes, que han presentado 21 aplicaciones maravillosas 🔥
Estamos muy contentos de saber que este tema es tan importante para vosotros.
Y ahora, sin más dilación, ya podemos decir eso de: "Y los ganadores son..."
Nominación de los Expertos
🥇 1er puesto y $5,000 para la app irissqlcli, creada por @Dmitry.Maslennikov
🥈 2º puesto y $3,000 para la app DX Jetpack for VS Code, creada por @John.Murray
🥉 3er puesto y $1,500 para la app OpenAPI-Suite, creada por @Lorenzo.Scalese
🏅 4º puesto y $750 para la app iris-geo-map, creada por @Muhammad.Waseem
🏅 5º puesto y $500 para la app iris-tripleslash, creada por @José.Pereira, @Henrique.GonçalvesDias y @Henry.HamonPereira
Puestos 6-10:
🏅 $100 para la app iris-log-viewer, creada por @Oliver.Wilms
🏅 $100 para la app iris-persistent-class-audit, creada por @Stefan.Cronje1399
🏅 $100 para la app iris-connections, creada por @Yuri.Gomes
🏅 $100 para la app cos-url-shortener, creada por @Daniel.Aguilar
🏅 $100 para la app iris-deploy-tools, creada por @Francisco.López1549
Nominación de la Comunidad
🥇 1er puesto y $1,000 para la app iris-tripleslash, creada por @José.Pereira, @Henrique.GonçalvesDias, @Henry.HamonPereira
🥈 2º puesto y $750 para la app Intersystems IRIS platform queue trend monitoring component, creada por @yubo.mao
🥉 3er puesto y $500 para la app irissqlcli, creada por @Dmitry.Maslennikov
Aquí podéis ver todas las apps presentadas y los votos de cada tipo que ha obtenido cada una: 21 apps presentadas
¡Enhorabuena a los ganadores! ¡Y muchísimas gracias a todos los participantes!
Valoramos mucho el trabajo y esfuerzo dedicado a participar en el concurso y os agradecemos mucho el tiempo que le habéis dedicado. 🙌
¡Nos vemos en el próximo concurso! 😉 ¡Enhorabuena especialmente a @Daniel.Aguilar y a @Kurro Lopez por su premio!! ¡Qué cracks! 👏👏🎉🎉
¡Animaos todos a participar en el siguiente concurso!! 😊 Muchas gracias @Esther.Sanchez, animo a todos a participar!!
Anuncio
Esther Sanchez · 31 mar, 2023
¡Hola Comunidad!
Os traemos las últimas novedades de InterSystems Ideas, el Portal de Sugerencias de InterSystems. Éstas han sido:
✓ Muro de la fama (Hall of fame) - una nueva página en el Portal de Ideas
✓ Integración con Global Masters - obtención de puntos por vuestras ideas
✓ Lista de ideas que están planeadas para implementación
11 desarrolladores ya han implementado ideas del Portal de Ideas. Y para honrarles como se merecen, hemos creado una nueva página para ellos, el Hall of Fame, en la que aparecen:
el nombre de las ideas implementadas
los desarrolladores que han implementado las ideas
los nombres de la implementación, con enlaces para consultar más información
Para aparecer en el Muro de la Fama, solo hay que implementar alguna de las ideas con el estado Community Opportunity 😉
Desde hace un mes, los desarrolladores que envían ideas de producto han empezado a conseguir puntos por dichas ideas.
En concreto, desde el 22 de febrero, los autores ya han recibido un total de 18 200 puntos en Global Masters por estas ideas:
15 ideas de producto que han sido publicadas, promocionadas o implementadas:
Cross-production Interoperability Messages, Service and Operation by @Stefan.Cronje1399
Additional Data Types for ISC Products by @Stefan.Cronje1399
Change data capture from IRIS to kafka using SQL commands by @Yuri.Gomes
Allow graphical editing of Interoperability components BPL, DTL and Business Rules in VS Code by @Steve.Pisani
Examples to work with IRIS from Django by @Evgeny.Shvarov
Install python and java libraries from ZPM and Installation Manifest (%Installer) by @Yuri.Gomes
Set password through environment variable by @Dmitry.Maslennikov
Add a project that helps to generate unittests for an ObjectScript class by @Evgeny.Shvarov
Create a UI for convenient and easy transfer of projects (classes, globals, applications, users, roles, privileges, grants, namespace mapping, SQLgateways, libraries, etc.) to other system instances for fast deployment. by @MikhailenkoSergey
Add a wizard similar to the SOAP wizard to generate a REST client from OpenAPI specification by @Jaime.Lerga
Public API for access to shared memory by @Alexey.Maslov
Fold code on loops and If's on studio by @Heloisa.Paiva
Chat bot to help with TrakCare customization/settings by Sumana Gopinath
Iterative build of TrakCare configuration/code tables utilising FHIR and HL7 Messaging. by Linda McKay
BPL, DTL, Business Rule Editor in VSCode by @Cristiano.Silva
Vosotros también podéis publicar vuestras ideas y obtener puntos por ellas!
Y para terminar, estas son las ideas que están planeadas para ser implementadas
Publish the InterSystems IRIS Native SDK for Node.js on npm by @John.Murray
Move users, roles, resources, user tasks, Mappings (etc) to a seperate Database, other than %SYS, so these items can be mirrored by @Sean.O'Connor1391
Please add google oauth authorization to login to the management portal by @Aleksandr.Kolesov
InterSystems Ideas - Long Term by @Vinay.Purohit3109
BPL, DTL, Business Rule Editor in VSCode by @Sawyer.Butterfield
Add Favorites in GM by @Irène.Mykhailova
LIMIT OFFSET support for IRIS SQL by @Dmitry.Maslennikov
Introduce WITH into IRIS SQL engine by @Evgeny.Shvarov
Security settings for mirror configurations by @Evgeny.Shvarov
A modern management portal to manage InterSystems IRIS by @Evgeny.Shvarov
copy/sync system configurations and user accounts between IRIS instances by @Evgeny.Shvarov
Jupyter Notebook by Guest
Os recordamos que, en InterSystems Ideas, podéis:
filtrar las ideas por estado,
publicar vuestras ideas,
votar y/o comentar otras ideas,
suscribiros a cualquier idea para hacerle seguimiento,
implementar las ideas clasificadas como Community Opportunity,...
¡Esperamos veros a todos por InterSystems Ideas! 🤗
Anuncio
Esther Sanchez · 19 mayo, 2023
¡Hola Comunidad!
Os traemos las últimas novedades de InterSystems Ideas, el Portal de Sugerencias de InterSystems. Éstas han sido:
✓ Cómo crear una nueva idea en InterSystems Ideas
✓ Ideas implementadas el mes pasado por los miembros de la Comunidad
✓ Nuevas ideas creadas recientemente
El artículo "Cómo crear una nueva idea en InterSystems Ideas" describe paso a paso el proceso de creación de una idea. Leedlo cuando queráis añadir una nueva idea al portal.
El Muro de la Fama ha sido actualizado con los miembros de la Comunidad que han implementado ideas que tenían el estado Community Opportunity:
Add IRIS as a supported database for Apache Superset, de @Herman.Slagman7521, implementada por @Dmitry.Maslennikov
Please add google oauth authorization to login to the management portal, de @Aleksandr.Kolesov, implementada por @Yuri.Gomes
👏¡Muchas gracias por vuestro trabajo!👏
Y para terminar, estas son las nuevas ideas publicadas desde el anterior boletín
1. Dump SQL tables by @Dmitry.Maslennikov 2. Java Hibernate support for IRIS by @Dmitry.Maslennikov 3. Add legitimate special symbol-separator for ObjectScript variable names by @Evgeny.Shvarov 4. allow cancel "Pending approval" by @Robert.Cemper1003 5. provide a switch to Hide/Unhide posts. or fix Re-Publish by @Robert.Cemper1003 6. Traceroutes to Java Gateway Display by @Scott.Roth 7. On Developer Community put animated GIFs behind a play/pause button by @John.Murray 8. Community in numbers on a GEO Dashboard by @Yuri.Gomes 9. Unit testing in VSCode by @Robert.Barbiaux 10. Saving Searched Criteria within Message Search by @Scott.Roth 11. Featured Article or Question by @Yuri.Gomes
👏Thank you for posting new ideas👏
Os recordamos que, en InterSystems Ideas, podéis:
filtrar las ideas por estado,
publicar vuestras ideas,
votar y/o comentar otras ideas,
suscribiros a cualquier idea para hacerle seguimiento,
implementar las ideas clasificadas como Community Opportunity,...
¡Esperamos veros a todos por InterSystems Ideas! 🤗