Limpiar filtro
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! 🤗
Artículo
Esther Sanchez · 12 mayo, 2023
¡Hola Comunidad!
Os mostramos en este breve artículo cómo crear una idea en InterSystems Ideas.
0. Hay que iniciar sesión o registrarse en el Portal de Ideas. Os podéis registrar fácilmente utilizando vuestro ID de la Comunidad de Desarrolladores.
1. Haced clic en el botón "Añadir una nueva idea"
y aparecerá el formulario para añadir la idea.
2. En primer lugar, resumid la idea en una frase (es un campo obligatorio). Al empezar a escribir, aparecerá una lista de ideas con palabras similares en sus nombres o etiquetas. En caso de que se haya creado una idea similar a la vuestra, podéis votarla o comentarla. El tamaño óptimo para resumir una idea es entre 4-12 palabras.
3. A continuación, describid la idea en el campo "Please add more details".
Además del texto, podéis adjuntar pantallazos u otros archivos, insertar tablas y enlaces. Hay un modo de pantalla completa que permite ver la descripción entera de la idea sin tener que estar desplazando el cursor arriba y abajo.
4. Después hay que completar el campo obligatorio "Category". Indicar la categoría correcta permitirá asignar la idea a la persona adecuada en el equipo de InterSystems.
En caso de ordenar primero las ideas por categoría y después hacer clic en "Add a new idea", la categoría de la idea se añadirá automáticamente.
5. Opcionalmente, podéis añadir etiquetas a vuestra idea, para que otros usuarios puedan encontrarla fácilmente al buscar por etiquetas. La lista de etiquetas empieza con las que tienen la palabra "InterSystems", el resto de etiquetas se ordenan alfabéticamente.
6. Haced clic en "Add idea" para enviarla.
Espero que estas instrucciones os resulten útiles para compartir vuestras ideas con otros.
Si tenéis alguna pregunta, podéis enviarme un mensaje directo a @Vadim.Aniskin.
---------------------
Tened en cuenta que las ideas y los comentarios deber estar en inglés.
Los administradores del Portal de Ideas pueden hacer preguntas a través de los mensajes directos de la Comunidad, para aclarar alguna duda sobre la idea y su categoría. Responded a esas preguntas para que vuestra idea sea visible para todos los usuarios.
Al crear una idea os suscribís automáticamente a las notificaciones por e-mail relacionadas con vuestra idea, incluyendo:
cambios en el estado de vuestra idea
comentarios sobre vuestra idea publicados por los administradores del Portal (no se reciben notificaciones por los comentarios de otros usuarios)
Venga, animaos. Que luego no vale quejarse amargamente por que algo no os guste.
Anuncio
Esther Sanchez · 25 ene, 2023
¡Hola Comunidad!
Os traemos las últimas novedades de InterSystems Ideas, el Portal de Sugerencias de InterSystems.
En primer lugar, hemos creado un breve vídeo que explica el ciclo de vida de las ideas en el Portal:
⏯ Ciclo de vida de las ideas en InterSystems Ideas
La novedad más importante es una nueva sección en el portal -> Portal Guide (Guía del Portal), que contiene:
✓ Información sobre el objetivo del Portal de Sugerencias
✓ Una descripción de cada uno de los estatus de las ideas
✓ Una serie de recursos útiles relacionados con el Portal
¿Os gustaría ver algo más en el Portal de Sugerencias de InterSystems? Podéis escribirnos en los comentarios de esta publicación. ¡Os leemos!
Sobre vuestras ideas, 13 de ellas ya están en el estatus "Planned or in Progress".
Y estas son las 12 ideas que ya han sido implementadas
Career-oriented learning paths
Change the layout of the "New idea" screen
Enable the server widget on Discord
Include support for gRPC protocol in IRIS
Make JSON representation of messages in Interoperability message viewer instead of XML
Create query builder
Global->JSON->Global converter
Chatbots solution for InterSystems Data Platforms
3DES support
InterSystems IRIS as a Datasource for Google DataStudio
Introduce a basic template to create interoperability adapters using Embedded Python
Introduce the project of helpful one-liners
Psss... ¿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
Suscribiros a cualquier idea para hacerle seguimiento
...
¡Esperamos veros a todos por InterSystems Ideas!
Artículo
Esther Sanchez · 31 ene, 2023
¡Hola Comunidad!
Si alguno de vosotros habéis pasado la Certificación Oficial de InterSystems, podéis tener un elegante tick verde en el avatar de vuestro perfil, así:
Y podéis añadir vuestras certificaciones a vuestro perfil, para que todo el mundo sepa todo lo que sabéis.
Para añadir las certificaciones a vuestro perfil, solo tenéis que seguir estos sencillos pasos:
1️⃣ Ir a vuestro perfil en la Comunidad
2️⃣ Ir al apartado Certificaciones de InterSystems, a la izquierda
3️⃣ Hacer clic en el botón Cargar mis certificaciones
¡Y eso es todo!
El sistema enviará la petición a Credly con vuestro email de la Comunidad de Desarrolladores. Si vuestras certificaciones están vinculadas al mismo email, se cargarán automáticamente:
Si no aparecen de forma automática, haced clic en "Haz clic para cargar" y seguid las indicaciones detalladas en la página que aparece:
Y ya estaría. Ahora todo el mundo sabrá todo lo que sabéis... 😃
¡Ah! ¡Y enhorabuena por haber obtenido las certificaciones! ¡Buen trabajo! 👏
Anuncio
Esther Sanchez · 28 feb, 2023
¡Hola Comunidad!
Os traemos las últimas novedades de InterSystems Ideas, el Portal de Sugerencias de InterSystems. Éstas han sido:
Puntos extra en concursos por implementar ideas del portal InterSystems Ideas
Posibilidad de filtrar las ideas de las personas de una misma empresa
Versión oscura de la Comunidad de Desarrolladores: ¿sí o no?
Últimas ideas añadidas
La novedad más importante es que en el último concurso de programación, 5 participantes obtuvieron puntos extra por implementar ideas del portal InterSystems Ideas! Estos fueron los participantes y las ideas:
Desarrollador(es)
Nombre de la aplicación
Idea implementada
@Lorenzo.Scalese
OpenAPI-Suite
Añadir un wizard similar al wizard SOAP para generar un cliente REST desde la especificación OpenAPI
@José.Pereira @Henrique.GonçalvesDias @Henry.HamonPereira
iris-tripleslash
Añadir un proyecto que ayude a generar unittests para una clase ObjectScript
@MikhailenkoSergey
gateway-sql, apptools-admin
Crear una IU para una práctica y sencilla transferencia de proyectos (clases, globals, aplicaciones, usuarios, roles, privilegios, grants, namespace mapping, SQLgateways, librerías, etc.) a otras instancias de sistema para una rápida implementación.
Hemos añadido un nuevo filtro "Mi empresa" (My organization). A partir de ahora, se pueden filtrar las ideas para que aparezcan solo las ideas y votos de las personas que pertenecen a la misma empresa.
El otro día, @Guillaume.Rongier7183 publicó una idea sobre hacer un modo oscuro de la Comunidad de Desarrolladores. Nos gustaría saber vuestra opinión sobre este tema. Podéis responder responder a esta pregunta en el Portal de Ideas o votar y comentar la idea en InterSystems Ideas.
Últimas ideas añadidas
Dark version of InterSystems Community
Add job location for job opportunities section on DC
Searchable Index of New Features
Set password through environment variable
Schedule the article publication on DC site
Support JSON on DC text editor
Support linux bash language on DC text editor
Change data capture from IRIS to kafka using SQL commands
Cross-production Interoperability Messages, Service and Operation
Additional Data Types for ISC Products
Automatic XML Formatting of XData in DTL, BPL and Rulesets
Assert CodeAssist prompting
IRIS classes for OpenAI API
Display UserValues contents on message property tab
IRIS as a service
Allow graphical editing of Interoperability components BPL, DTL and Business Rules in VS Code
Add Source control for all the IRIS interoperability components
Audit Lookuptables
Add a "watch list" to WRC tickets (problems, issues)
Connect InterSystems Documentation and Developer Community
Publish the InterSystems IRIS Native SDK for Node.js on npm
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!