¡Hola Comunidad!

Siempre estamos pensando nuevas ideas para la Comunidad de Desarrolladores y en esta ocasión hemos decidido reconocer los méritos de vosotros, nuestros estimados miembros, y compartir vuestra creatividad e imaginación con los demás.

Por ello, vamos a introducir una nueva etiqueta: "InterSystems Memes"! 😜

0 0
0 88
La Comunidad de desarrolladores de InterSystems es una comunidad de 17,845 desarrolladores increíbles
¡Somos un lugar donde los programadores de InterSystems IRIS aprenden y comparten, se mantienen actualizados, crecen juntos y se divierten!
Artículo
· 23 ago, 2022 Lectura de 3 min
Generar y validar código CAPTCHA

Supongamos que has desarrollado tu propia aplicación web con las tecnologías de InterSystems y ahora quieres realizar una validación de Captcha en el lado del cliente para saber si el usuario es humano o no y hacerla más segura. Existen algunos frameworks modernos para abordar el problema de Captcha, pero la mayoría de ellos necesita acceso a Internet para generar códigos y, a veces, son complejos de implementar. Toma esto como un ejemplo básico, teniendo en cuenta que el reconocimiento de imágenes se ha vuelto demasiado bueno.

0 0
0 668

¡Hola desarrolladores!

Me gustaría compartir con vosotros un truco útil para presentar código de ObjectScript en ficheros Script en VSCode.

Los ficheros Script son simplemente ficheros con líneas de ObjectScript que introducimos en cualquier sitio, por ejemplo en IRIS durante el procedimiento Docker baking.

Caso de uso típico - este es el Scriptfile

este es el Dockerfile donde lo introducimos.

Y así es como se ve normalmente en VSCode:

Screenshot 2021-08-05 at 09 51 06

Podría ser más elegante, ¿verdad?

0 0
0 101
Artículo
· 11 ago, 2022 Lectura de 3 min
Bienvenido, Django

Gracias a las últimas mejoras al soporte de Python en IRIS y al continuo trabajo en el soporte a la DB-API de Python por parte de InterSystems, he implementado el soporte de IRIS en el proyecto Django, en el que la DB-API de Python se usa para trabajar con otras bases de datos.

Vamos a probar una sencilla aplicación en Django, que almacena sus datos en IRIS.

todo App

1 0
1 92

Esta es el cuarta de una serie de lanzamientos que forman parte del programa de versiones de prueba 2022.2 para desarrolladores. Las próximas versiones de prueba se espera que sean actualizadas cada dos semanas, aproximadamente, y añadiremos funcionalidades según estén listas. Se han añadido muchas actualizaciones y mejoras en 2022.2, en la gestión de SQL, integración cloud, adaptadores Kafka y JMS, SQL Loader y otras áreas.

0 0
0 84

La aplicación Carbon Footprint Counter utiliza el GHG Protocol para medir las emisiones de carbono en las empresas. El Protocolo de Gases de Efecto Invernadero (GHG Protocol) establece marcos estandarizados globales integrales para medir y gestionar las emisiones de gases de efecto invernadero (GHG) de las operaciones del sector público y privado, las cadenas de valor y las acciones de mitigación.

Sobre la base de una asociación de 20 años entre el Instituto de Recursos Mundiales (WRI) y el Consejo Empresarial Mundial para el Desarrollo Sostenible (WBCSD), el GHG Protocol trabaja con gobiernos, asociaciones industriales, ONGs, empresas y otras organizaciones. (fuente: https://ghgprotocol.org/about-us).

La aplicación Carbon Footprint Counter utiliza InterSystems IRIS para implementar APIs REST y la base de datos SQL para administrar el inventario de emisiones de carbono en las empresas. La interfaz es Angular 12 con el framework PrimeNG (líder de código abierto para Angular).

0 0
0 163

Al igual que los servidores hardware, los servidores virtuales en nubes públicas y privadas pueden generar cuellos de botella en los recursos, según aumentan las cargas de trabajo. Si utilizas y administras instancias de InterSystems IRIS implementadas en nubes públicas o privadas, es posible que te hayas encontrado la situación en la que para solucionar problemas de rendimiento o de otro tipo se requiere aumentar la capacidad del servidor de una instancia (es decir, escalar verticalmente).

0 1
0 76

¡Hola Comunidad!

Estamos encantados de anunciar que vuelven los webinars de la Comunidad!

Os invitamos al webinar Cómo escalar el servidor FHIR de InterSystems en Amazon Web Services con ECP.

Fecha: Jueves 18 de agosto, 14:00 (CEST)
👨‍🏫 Ponente: @Ron Sweeney, Full Stack Architect en Integration Required
➡️ El webinar será en inglés

0 0
0 94

¡Hola desarrolladores!

Solo quiero compartir una antigua pero muy relevante buena práctica en el cambio de namespaces que @Dmitry Maslennikov compartió conmigo.

Consideremos el método:

classmethod DoSomethingInSYS() as %Status

{

set sc=$$$OK

set ns=$namespace

zn "%SYS"

// try-catch in case there will be an error

try {

// do something, e.g. config change

}

catch {}

 zn ns    ; returning back to the namespace we came in the routine

return sc

}

1 0
0 119

Buenos días,

Nos gustaría compartir lo que estamos investigando y en lo que necesitamos su apoyo, para continuar con ello:

1) Hemos desarrollado un Circuito REST: Servicio REST + Proceso + Operacion REST.

Los cuales reciben un fichero de estudios de imágenes médicas .dcm y lo envían tal cual. Para ello enviamos mediante el simulador dcm4che y en concreto mediante la línea:

0 2
0 147
Artículo
· 1 ago, 2022 Lectura de 1 min
La inspiración para interoperability-manager

Mientras pensaba en lo que podría desarrollar para el Concurso Full Stack de InterSystems, vi esta pregunta:
https://community.intersystems.com/post/how-access-production-items-through-objectscript

Desarrollé ProductionManager.csp. Muestra elementos en la producción activa. También muestra la Clase en uso y la fecha y hora del último mensaje. Creo que estos puntos de datos pueden ayudar a tomar decisiones sobre qué elementos eliminar de la producción.

0 0
0 74

Durante una actualización a una versión principal (major) es aconsejable recompilar las clases y rutinas de todos tus namespaces (ver Tareas tras la instalación de una versión major).

do $system.OBJ.CompileAllNamespaces("u")
do ##Class(%Routine).CompileAllNamespaces()

Para automatizar esta tarea de administración y mantener un registro de cualquier error, os muestro un ejemplo de una clase para importar y compilar en el namespace USER, que puedes usar después de cada actualización: admin.utils.cls

1 1
0 135

¡Hola desarrolladores!

Hemos introducido una nueva funcionalidad en la Comunidad de Desarrolladores – Preguntas clave de los Desarrolladores.

Hemos añadido una etiqueta especial: #PreguntaClave para destacar preguntas relacionadas con InterSystems y que sean consideradas especialmente relevantes.

Cada mes, expertos de InterSystems elegirán las preguntas y los autores serán premiados.

¿Cuál es el premio? Os contamos todos los detalles más abajo en esta publicación.

0 0
0 104

Docker 20.10.14 (lanzado el 23 de marzo de 2022) cambia las funcionalidades que Linux da a los contenedores de una manera que es incompatible con el Linux capability checker en los contenedores de InterSystems IRIS 2021.1 (y posteriores).

Los usuarios ejecutando Docker 20.10.14 en Linux encontrarán que los contenedores de IRIS 2021.1+ fallarán al iniciarse y los logs reportarán de forma incorrecta que las funcionalidades requeridas de Linux no se encuentran. Por ejemplo:

0 0
0 77
Artículo
· 28 jul, 2022 Lectura de 4 min
Cómo añadí ObjectScript a Jupyter Notebook

ObjectScript Kernel Logo

Jupyter Notebook es un entorno interactivo formado por celdas que permiten ejecutar código en un gran número de lenguajes de marcado y programación diferentes.

Para hacer esto, Jupyter debe conectarse a un kernel apropiado. No había un Kernel ObjectScript, por lo que decidí crear uno.

Puedes probarlo aquí.

Este es un adelanto de los resultados:

1 0
0 125
Artículo
· 25 mayo, 2021 Lectura de 12 min
Cómo desarrollar una API REST con un enfoque spec-first

En este artículo, me gustaría hablar sobre el enfoque spec-first para el desarrollo de una API REST.

Mientras que el desarrollo tradicional code-first de una API REST es así:

  • Escribir el código
  • Habilitarlo en REST
  • Documentarlo (como una API REST)

Spec-first sigue los mismos pasos, pero a la inversa. Comenzamos con una especificación, — que también actúa como documentación — , generamos el código base de la aplicación REST a partir de ella, y finalmente escribimos la lógica de negocio concreta que nos haga falta.

Esto ofrece varias ventajas:

0 1
0 712

Esta es el tercera 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ñadiremos funcionalidades según estén listas. Se han añadido muchas actualizaciones y mejoras en 2022.2, en la gestión de SQL, integración cloud, adaptadores Kafka y JMS, SQL Loader y otras áreas.

0 0
0 121
Artículo
· 26 jul, 2022 Lectura de 10 min
Conversión de zona horaria usando Python Embebido

La fecha y la hora son factores importantes en nuestra vida. Porque todas las aplicaciones son interesantes según la fecha y la hora. Pero el mundo está dividido en múltiples zonas horarias. Si nuestro producto se lanza al mundo, para mantener el historial de eventos, debemos convertir todas las horas a nuestra hora local o UTC (Tiempo Universal Coordinado). Por lo que sé, muchos lenguajes de programación conocidos de C#, JavaScript, Java, etc., ofrecían la librería para convertir la fecha y la hora, es decir, con un nombre de zona horaria podemos convertir sin conocer la diferencia horaria.

La base de datos TZ no existe en los productos de InterSystems. En el pasado, escribí la función en C# (C# tiene una librería para esto) y la usé dentro de InterSystems como una clase contenedora.

Pero ahora, IRIS comenzó a ser compatible con Python Embebido. Por eso, podemos usar la conversión de zona horaria de Python en InterSystems fácilmente.

0 0
0 743

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
0 191

¡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

0 3
0 157
Artículo
· 25 jul, 2022 Lectura de 2 min
Conector de Google Data Studio con FHIRaaS

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
0 130

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

    <CSPApplication Url="${CSPAPP}"
      Recurse="1"
      Directory="${CSPAPPDIR}"
      Grant="${RESOURCE},%SQL"
      AuthenticationMethods="96"
      />

0 0
0 118