Hola comunidad, os anuncio el lanzamiento de la versión 1.8.0 de la extensión VS Code, que contiene las siguientes mejoras y correcciones de fallos que paso a resumir.

La más importante es el soporte a archivos de proyecto del lado del servidor, es una funcionalidad similar a la de los proyectos de Studio, como los más viejos del lugar recordarán. Si trabajas en el lado del cliente, VS Code ya tiene buenas funcionalidades para la gestión de proyectos. Puedes simplemente usar una carpeta como un proyecto, o usar workspaces multi-raíz. Pero si trabajas en el lado del servidor, podrás apreciar algunas mejoras en la gestión de artefactos. Puedes saber más en el nuevo capítulo Projects de la documentación.

0 0
0 90

Hay varias maneras de generar ficheros Excel usando tecnología InterSystems: por ejemplo utilizando informes generados con InterSystems Reports, o los antiguos informes ZEN, o incluso haciendo uso de librerías Java de terceros. Las posibilidades son casi infinitas.

Pero, ¿qué pasa si quieres crear una sencilla hoja de cálculo sólo con ObjectScript? (sin aplicaciones de terceros)

En mi caso, necesito generar informes que contengan muchos datos sin procesar (a los financieros les encantan), pero mi antiguo informe ZEN fallaba y me da lo que me gusta llamar un "archivo con cero bytes". Básicamente, Java se queda sin memoria y provoca una sobrecarga en el servidor de informes.

0 0
0 143

InterSystems anuncia la versión 2.0.0 del Language Server para VS Code. Language Server incrementa la extensión VS Code ObjectScript para ofrecer un mejor resaltado de sintaxis, documentación embebida, autocompletado de código y más.

Todos los detalles están disponibles en el archivo README del repositorio de GitHub. La versión 2.0.0 añade soporte a varias arquitecturas de plataformas, incluyendo M1 Macs! También reduce el tamaño del paquete, mejora el coloreado del SQL y arregla otros problemas que se detallan en el CHANGELOG.

0 0
0 101

Me complace anunciar el lanzamiento de la versión 1.4.4 de la extensión VS Code, que contiene las siguientes mejoras y correcciones de fallos. Los enlaces que llevan a las issues de GitHub han sido corregidos. Como siempre, si ya tienes la extensión instalada, VS Code debería actualizar automáticamente tu extensión. Si no la tienes instalada, sigue estas instrucciones para empezar.

Registro de cambios

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 84
Artículo
· 25 feb, 2022 Lectura de 6 min
Enviando mensajes a Kafka

Hola!

Llevaba un tiempo queriendo dedicarle un rato para implementar alguna DLL o algo que pudiese usar desde Caché y al final he sacado un huequillo, si te interesa poder producir mensajes que se envíen a Kafka de una manera rápida estás en el lugar adecuado ;-)

Antes de daros la chapa con lo que vamos a ver os hago un resumen para que decidáis si os puede interesar leer el artículo.

En este artículo nos vamos a centrar "solo" en la parte de producir mensajes y enviarlos a Kafka:

22 0
0 605

Hola compañeros/as, necesito de vuestra sabiduría.

En mi compañía programamos en ObjectScript y .int todo el día. Cuando entré nadie sabía apenas nada de clases y su uso era prácticamente sólo para definición de almacenamiento. Durante mi autoaprendizaje en caché descubrí que la programación orientada a objetos y el desarrollo de clases era posible en caché y comencé a codificar en .cls . Al ser algo autodidacta, puede que tenga algunas dudas básicas que se me hayan pasado en mis lecturas de documentación.

0 2
0 140

Viajar en el tiempo es como visitar París. No puedes simplemente leer la guía, tienes que arrojarte. Come la comida, usa los verbos equivocados, recibe el doble de cargos y terminas besando a completos desconocidos.

El Doctor

Vamos ahora a viajar por el tiempo, osea, vamos a ver fechas futuras y pasadas y como calcularlas en diferentes formatos. La TARDIS no espera, ponte a los mandos y sujétate fuerte.

Travel in TARDIS

13 0
0 197
Artículo
· 11 feb, 2022 Lectura de 5 min
Cómo convertirse en un señor del tiempo - El nacimiento

El tiempo dirá, siempre lo hace.

El Doctor.

No es una tarea facil dominar fechas y horas, siempre es un problema y a veces confuso en cualquier lenguaje de programación, vamos a aclarar y a poner unos cuantos tips para que esta tarea sea lo mas sencilla posible.

Súbete a la TARDIS que te voy a convertir en un Señor del tiempo

Tardis

24 0
0 389

¡Hola desarrolladores!

Os traemos el séptimo y último videotutorial de la serie de vídeos de iniciación a ObjectScript que ha realizado nuestro compañero @Jose Tomas Salvador, de InterSystems Iberia.

Capítulo 6: ¿Y cómo trabajo con SQL?

https://www.youtube.com/embed/13eLTwEmOaQ
[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]

1 0
0 114

@Ming Zhou hizo una buena pregunta: ¿Cómo conseguir todas las propiedades definidas en una clase desde %Dictionary.ClassDefinition? y la respuesta resume exactamente por qué ObjectScript es mi lenguaje favorito.

Cuando describo por primera vez ObjectScript o IRIS a alguien, siempre explico que puedes escribir una clase, compilarla, obtener una tabla y trabajar con tus datos desde una perspectiva orientada a objetos o relacional - la que resulte más natural. En cualquier caso, es sólo un fino envoltorio alrededor de los Globals, las estructuras de datos super rápidas existentes por debajo, y que también puedes usar cuando realmente necesitas ese acelerón extra.

1 0
0 144

¡Hola desarrolladores!

Os traemos el sexto videotutorial de la serie de vídeos de iniciación a ObjectScript que ha realizado nuestro compañero @Jose Tomas Salvador, de InterSystems Iberia.

Capítulo 5: Objetos en ObjectScript

https://www.youtube.com/embed/X0HHHMb4Uqo
[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 151
Artículo
· 6 sep, 2021 Lectura de 2 min
InterSystems ObjectScript 101++

Desde hace ya algunos años he echado en falta poder ofrecer, a todos los que se interesan por ObjectScript, un tutorial más o menos completo de iniciación a ObjectScript. Algo que pueda ayudar más y facilitarles las cosas a esos nuevos desarrolladores que se acercan a nuestra tecnología... algo intermedio, a medio camino entre el típico "Hola Mundo", que no te permite ir mucho más allá, y el "Curso Avanzado de Programación", que te resulta imposible por carecer de tiempo o medios.

Si existiese algo que de verdad sirviera no sólo como introducción al ecosistema, sino cómo empujón y punto de partida para empezar a hacer cosas de verdad en ObjectScript y avanzar por ti mismo... ¿no sería estupendo?

8 3
0 372

A veces es necesario ejecutar comandos desde la consola del sistema operativo del servidor, en el que se localiza tu programa ObjectScript, para lanzar programas, servicios de sistema operativo, programar tareas cron... entre otras actividades. Para ello, el lenguaje tiene una función llamada $ZF(-100). Se usa así:

0 0
0 119
Artículo
· 24 dic, 2021 Lectura de 4 min
Probar los paquetes que desarrollamos con ZPM

¡Hola desarrolladores!

Como sabéis, es muy fácil publicar un paquete en el repositorio de la Comunidad de Desarrolladores.

Pero, ¿cómo se puede probar antes de publicarlo? ¿Cómo se puede garantizar que todo lo que se introdujo en module.xml funciona correctamente?

¡Seguid leyendo las instrucciones que os detallo a continuación!

0 0
0 124
Artículo
· 3 dic, 2021 Lectura de 2 min
Tablas y clases semi-persistentes

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

0 0
0 135

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

Capítulo 4: Indirección y globals en ObjectScript

https://www.youtube.com/embed/IiaAjA9e858
[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 130

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

Capítulo 3: Mi contexto de ejecución

https://www.youtube.com/embed/rYPzP3UQAD4
[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]

1 0
0 117
Artículo
· 29 oct, 2021 Lectura de 2 min
Trucos para gestionar errores en ObjectScript

ObjectScript tiene diferentes formas para gestionar errores (códigos %Status, %Exception, SQLCODE, etc). La mayor parte del código de sistema utiliza códigos %Status pero las %Exception son en ocasiones más fáciles de gestionar.

Si tienes que trabajar o mantener aplicaciones con cierto recorrido seguramente acabes lidiando con distintas técnicas de gestión de errores. A continuación os dejo una chuleta u hoja de trucos que puede servir como referencia. ¡Espero que os sea útil!

3 0
0 93

¡Hola desarrolladores!

Últimamente he estado probando el módulo csvgen y buscaba un fichero CSV para probar. Resulta que encontré un fichero muy interesante en Data.World con estadísticas sobre los episodios de Game of Thrones (Juego de Tronos). Estadísticas sobre muertes 😱.

¡Han documentado todos los asesinatos a lo largo de las 8 temporadas y han anotado dónde, quién, qué clan y con qué arma ha matado a otro personaje!

0 0
0 205

¡Hola desarrolladores!

Os traemos el quinto tutorial grabado por @David Reche, y disponible en el canal de YouTube de la Comunidad de Desarrolladores en español: Cómo trabajar con InterSystems IRIS y Visual Studio Code.

En este tutorial de siete minutos, David nos mostrará cómo trabajar con InterSystems IRIS y ObjectScript, para lo que hay que instalar y configurar InterSystems ObjectScript, una extensión de VS Code.

Tutorial 5: Cómo trabajar con InterSystems IRIS y VS Code

https://www.youtube.com/embed/o1_YHig-CQo
[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]

1 0
0 149

¡Hola desarrolladores!

Os traemos el tercer videotutorial de la serie de vídeos de iniciación a ObjectScript que ha realizado nuestro compañero @Jose Tomas Salvador, de InterSystems Iberia.

Capítulo 2: Iterando

https://www.youtube.com/embed/xI-XTed9nQk
[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]

2 0
0 70

¡Hola desarrolladores!

Os traemos el segundo videotutorial de la serie de vídeos de iniciación a ObjectScript que ha realizado nuestro compañero @Jose Tomas Salvador, de InterSystems Iberia.

Capítulo 1: Ubicándonos

https://www.youtube.com/embed/1K3Dedw5QmY
[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]

1 0
0 73

Sobreescribiendo el método Read (que tiene un tipo de retorno %CacheString) en una nueva clase que hereda de %Stream.FileCharacter, se obtiene un error de compilacion informando que el tipo de retorno es incorrecto y ha de ser Binary, aun cuando matchea la firma del padre.

Mirando la global de codigo compilado vemos:

^oddCOM("%Stream.FileBinary","m","Read",42)="%Library.Binary"

Despues de más investigaciones encontramos que hay un método generator que mira la definicion de clase OdbcType.

Seteandolo a LONGVARCHAR nos da:

^oddCOM("User.CStream","m","Read",42)="%Library.String"

0 0
0 70

¡Hola desarrolladores!

Muchos de vosotros publicáis vuestras bibliotecas de InterSystems ObjectScript en Open Exchange y Github.

Pero, ¿qué puedes hacer para facilitar a los desarrolladores el uso y la colaboración en tu proyecto?

En este artículo, quiero presentar una forma sencilla de poner en marcha y contribuir en cualquier proyecto ObjectScript con solo copiar un conjunto estándar de archivos en tu repositorio.

¡Vamos!

0 0
0 180

¡Hola desarrolladores!

Otra forma de empezar a utilizar InterSystems Objectscript Package Manager es descargar las imágenes pre-construidas de InterSystems IRIS Community Edition o IRIS for Health Community Edition.

Estas imágenes de IRIS están desplegadas en DockerHub y puedes ejecutarlas directamente con este comando:

docker run --rm -p 52773:52773 --init --name my-iris -d intersystemsdc/iris-community:2021.1.0.215.0-zpm

A continuación, puedes lanzar una sesión de terminal de esta forma:

0 0
0 73

¡Hola desarrolladores!

Nuestro compañero @Jose-Tomas Salvador ha realizado varios videotutoriales de iniciación a ObjectScript, a modo de curso, para los nuevos desarrolladores que están conociendo la tecnología de InterSystems.

Iremos presentando cada videotutorial en distintos anuncios. Hoy os traemos el primero de la serie, en el que presenta el curso:

Capítulo 0: Introducción

https://www.youtube.com/embed/afegjXR1jtU
[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]

2 0
0 101