Limpiar filtro
Anuncio
David Reche · 13 mayo, 2020
Este mensaje contiene tres Avisos recientes sobre HealthShare.
Estos avisos también se encuentran en la Página de Avisos y Alertas de Productos de InterSystems
Advisory: A manager from one facility could view users from another facility
Advisory: Significant Performance Issues with ListEncounterRelationships()
Advisory: The Lab Results Table in Clinical Viewer does not display "IM" results
Si tenéis alguna pregunta sobre estos avisos, contactad por favor con el Centro de Soporte Internacional (WRC), a través de su email: support@InterSystems.com o su teléfono: +1.617.621.0700.
Anuncio
Esther Sanchez · 8 jun, 2021
¡Hola desarrolladores!
Estamos encantados de anunciaros que ya podéis elegir el idioma de Global Masters, la plataforma de fidelización de InterSystems! Está disponible en los cinco idiomas de la Comunidad de Desarrolladores: inglés, español, portugués, japonés y chino.
Cómo cambiar el idioma en el perfil:
No os olvidéis de hacer clic en “Guardar”
Vamos traduciendo todo poco a poco. La mayoría de los retos, por ejemplo, están en inglés.
¡Pero esto es solo el comienzo, pronto veréis más contenido en el idioma que hayáis elegido!
¿Aún no eres miembro de Global Masters? Puedes darte de alta aquí usando tus credenciales de acceso a la Comunidad de Desarrolladores.
Y descubre más sobre Global Masters en este artículo.
Anuncio
Esther Sanchez · 20 jul, 2021
¡Hola Comunidad!
Hemos grabado el webinar que hicimos ayer y lo hemos subido al canal de YouTube de la Comunidad de Desarrolladores en español. Si os perdisteis el webinar o lo queréis volver a ver con más detalle, ya está disponible la grabación!
David Reche es uno de los cracks de InterSystems. Así que, si queréis seguir aprendiendo ObjectScript... ¡no os perdáis el vídeo!
⏯ Continuando con ObjectScript
Por cierto, en las listas de reproducción del canal de YouTube de la Comunidad de Desarrolladores en español podéis ver todos los webinars que hemos realizado (¡ya llevamos trece!), varios tutoriales, trucos, demos...
¡Echadle un ojo y dadle al play! ▶️
Anuncio
Jose-Tomas Salvador · 22 dic, 2021
Sólo quería dar visibilidad a un repositorio en GitHub donde todo el mundo puede publicar Peticiones de Mejora de producto, Ideas e Innovaciones que crea que estarían muy bien tener dentro de nuestro ecosistema de tecnologías de InterSystems.
Si quieres añadir tu solicitud de mejora, o echar un vistazo y ver si ya está allí, votar por ella, contribuir, etc.., haz click en este link. No garantiza que Product Management vaya a decidir ir en esa dirección, tienen que sopesar muchas cosas para decidir el roadmap de nuestros productos, pero tener un input directo desde nuestra comunidad creo que es de un valor incalculable.
Así que, ¡anímate y haznos sugerencias!
Artículo
Ricardo Paiva · 17 jun, 2021
## Cómo utilizar Java Gateway para acelerar el desarrollo
InterSystems IRIS incluye Object Gateways dinámicos para Java, .NET y (ahora) Python. Estos *gateways* permiten que tu aplicación IRIS utilice bibliotecas en estos lenguajes, eliminando la necesidad de crear todo desde cero en ObjectScript.
En este ejemplo, utilizamos las bibliotecas [iTextPdf](https://itextpdf.com/) y [Apache PdfBox](https://pdfbox.apache.org/) para leer un archivo de texto y producir un PDF básico a partir de él. Estas bibliotecas son controles PDF profundos y ricos, por lo que un poco de desarrollo podría producir una aplicación de ejemplo que ofrezca resultados mucho más convincentes para tus necesidades. También he incluído un archivo de clase corto el cual hace que su uso desde ObjectScript sea muy sencillo.
## Repositorio de GitHub
Las fuentes de la demostración están disponibles en el github de la Comunidad de InterSystems.
## Instalación
La instalación de TextToPDF requiere que tengas suficiente acceso a tu servidor IRIS para trabajar con *gateways* y clases.
### 1. Clonar este repositorio
Clona este repositorio en un directorio de tu servidor IRIS:
git clone https://github.com/intersystems-community/iris-pdf-generator.git
### 2. Crear un Java Gateway
En la consola de administración, ve a *System Administration* > *Configuration* > *Connectivity* > *Object Gateways* y elige "*Create New Gateway*"
Object Gateway For: Java
Gateway Name: iris-pdf-generator
Port: 54545
Class Path: (directory where you cloned the repo)/target/iris-pdf-generator-0.1.0-jar-with-dependencies.jar
Deja todo lo demás como predeterminado y haz clic en *Save*.
### 3. Cargar el archivo de clase
En la consola de administración, asegúrate de que estás en el *namespace* del usuario, ve a *System Explorer* > *Classes*, y elige "*Import*". Busca el directorio donde clonaste este repositorio y elige "*all files*" en el desplegable con los tipos de archivos. Selecciona el archivo PdfGenerator.cls. Haz clic en "*Next*" y luego en "*Import*".
## Uso
Ahora que todo está instalado, puedes usarlo desde IRIS. Abre una consola y haz lo siguiente, sustituyendo "" con el nombre del directorio en el que clonaste este repositorio en:
set status = ##class(User.PdfGenerator).TextToPdf("<clone dir>\example.txt", "<clone dir>\example.pdf")
Eso creará `example.pdf` como una versión PDF de `example.txt`.
Anuncio
David Reche · 25 mar, 2021
¡Hola desarrolladores!
Lo habéis pedido – ¡y ya está aquí! Lanzamos un nuevo concurso para crear soluciones de código abierto utilizando InterSystems IRIS.
El tema de este noveno concurso es: Developer Tools
Envía una aplicación que ayude a desarrollar más rápido o a tener código de más calidad, o que ayude en la etapa de pruebas, en la implementación, en el soporte o la monitorización de las soluciones desarrolladas con InterSystems IRIS.
Estará activo durante cuatro semanas: del 29 de marzo al 25 de abril de 2021.
Total en premios: $8,500
Premios
1. Nominación de los expertos - los ganadores serán elegidos por un jurado especialmente formado para el concurso. Los premios serán:
🥇 1er puesto - $4,000
🥈 2º puesto - $2,000
🥉 3er puesto - $1,000
2. Nominación de la Comunidad - ganará la aplicación que obtenga el mayor número total de votos. Los premios serán::
🥇 1er puesto - $750
🥈 2º puesto - $500
🥉 3er puesto - $250
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.
¿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. 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.
Duración del concurso
🛠 Del 29 de marzo al 18 de abril: Fase de desarrollo de aplicaciones y registro (durante este período, se pueden modificar los proyectos).
✅ Del 19 al 25 de abril: Fase de votación.
🎉 26 de abril: Anuncio de los ganadores.
Tema del concurso
💡 InterSystems IRIS developer tools 💡
En este concurso, esperamos aplicaciones que mejoren la experiencia de los desarrolladores IRIS, ayuden a desarrollar más rápido, o a tener código de más calidad, o que ayuden en la etapa de pruebas, implementación, soporte o monitorización de las soluciones desarrolladas con InterSystems IRIS.
Requisitos:
Aplicaciones aceptadas: aplicaciones 100% nuevas, o que ya existan pero que presenten una mejora significativa. Nuestro equipo revisará todas las aplicaciones antes de aprobarlas para el concurso.
Tipo de aplicaciones posibles: UI-frameworks, IDE, Database management, monitoring, deployment tools, etc.
La aplicación debe funcionar en IRIS Community Edition o IRIS for Health Community Edition o IRIS Advanced Analytics Community Edition.
La aplicación debe ser Open Source y publicarse en GitHub.
El fichero README de la aplicación debe contener los pasos de la instalación y un vídeo-demo y/o una descripción de cómo funciona la aplicación.
El código fuente de la aplicación estará disponible en formato UDL (no XML). Ejemplo.
Estos requisitos están sujetos a cambios.
Recursos útiles
Aplicaciones de ejemplo:
iris-rad-studio - RAD for UI
cmPurgeBackup - backup tool
errors-global-analytics - errors visualization
objectscript-openapi-definition - open API generator
Test Coverage Tool - test coverage helper
and many more.
Plantillas recomendadas con las que empezar:
objectscript-docker-template
rest-api-contest-template
native-api-contest-template
iris-fhir-template
iris-fullstack-template
iris-interoperability-template
iris-analytics-template
Cómo presentar una aplicación a los concursos:
How to publish an application on Open Exchange
How to apply for the contest
Jurado
Consulta los Criterios del Jurado y las Reglas sobre los votos aquí.
Así que... Ready. Set. Code.
¡Suerte a todos!
❗️ Echad un vistazo a los Términos Oficiales del Concurso.❗️
Bonus tecnológicos para el concurso >>
Anuncio
Esther Sanchez · 10 ene, 2020
a {color:#2a2e78;}
Empieza un nuevo año y toca hacer balance de 2019. Por eso os traemos un resumen con todos los artículos que publicamos en la Comunidad de Desarrolladores el año pasado. ¿Los leíste todos? Aprovecha y echa un vistazo a los artículos más leídos, los más comentados, los más votados... Y nunca dejes de aprender
Los artículos más leídos
¡Bienvenido a la Comunidad de Desarrolladores de InterSystems en español!by David Reche
393
Demo de IRIS + Kong + Kongaby Joel Espinoza
142
Serialización y deserialización de objetos en formato JSON (u otro cualquiera)by Jose Tomas Salvador
139
Clases, tablas y globals - ¿Cómo funcionan?by David Reche
103
Administración de la fecha y hora durante las operaciones en Cachéby Nancy Martínez
95
Presentación de InterSystems API Managerby David Reche
94
Cómo instalar y usar TFS en Atelierby Francisco López
89
Algoritmo de agrupamiento K-medias sobre datos en IRISby Alberto Fuentes
89
Dominando JDBC con SQL Gatewayby Bernardo Linarez
87
API RESTfulby Francisco López
85
Uso de expresiones regulares en ObjectScriptby Alberto Fuentes
81
Clases de consulta en InterSystems Cachéby Francisco López
81
Desarrollar un Backend de servicios REST para una aplicación Angular 1.x con Caché - Parte 1 de variasby Joel Espinoza
81
Desarrollar un backend de servicios REST para una aplicación Angular 1.x con Caché - comencemos aquíby Joel Espinoza
80
InterSystems IRIS edición Community gratuita disponible en AWSby David Reche
77
Crear un Backend con Node/Express y conectarlo a IRIS en menos que decimos 'Mississippi'by David Reche
76
Ejecutar un comando externo (Windows / Unix) de forma interactiva desde IRISby Alberto Fuentes
74
Conectarse a Caché con SQuirreL SQL, un cliente externo de SQLby Bernardo Linarez
73
Estructura Interna de los Bloques de Bases de Datos en Caché (Parte 1)by Estevan Martinez
73
Guía rápida para conectar Apache Spark y Apache Zeppelin con InterSystems IRIS by Alberto Fuentes
70
Ver todos los artículos más leídos »
Los más votados
¡Bienvenido a la Comunidad de Desarrolladores de InterSystems en español!by David Reche
6
Tutorial de WebSocketsby Ricardo Paiva
3
Uso de expresiones regulares en ObjectScriptby Alberto Fuentes
3
Crear un Backend con Node/Express y conectarlo a IRIS en menos que decimos 'Mississippi'by David Reche
2
Mejoras en procesamiento JSONby Alberto Fuentes
2
Demo de IRIS + Kong + Kongaby Joel Espinoza
2
Clases, tablas y globals - ¿Cómo funcionan?by David Reche
2
Los Globals son espadas mágicas para almacenar datos. Parte 3. Matrices dispersas.by Francisco López
2
Cómo mejorar las búsquedas dentro de la comunidadby David Reche
2
Ejecutar un comando externo (Windows / Unix) de forma interactiva desde IRISby Alberto Fuentes
2
Configurar un servicio REST en IAM y publicarlo en el Developer Portalby Alberto Fuentes
2
Serialización y deserialización de objetos en formato JSON (u otro cualquiera)by Jose Tomas Salvador
2
Pruebas unitarias en Transformaciones de Datosby Alberto Fuentes
2
Traducir un número en textoby Francisco López
1
Conectarse a Caché con SQuirreL SQL, un cliente externo de SQLby Bernardo Linarez
1
Configuración de aplicaciones cliente de Caché para SSL/TLSby Ricardo Paiva
1
Funciones del lenguaje que deberías conocer desde el día 1by Jose Tomas Salvador
1
Cómo mejorar el rendimiento de SQL en las consultas sobre el rango de fechasby Ricardo Paiva
1
Publicador-Subscriptor simple con $system.Eventby Alberto Fuentes
1
Jugando con la Sincronización de Objetosby Jose Tomas Salvador
1
Ver todos los artículos más votados »
Los más comentados
¡Bienvenido a la Comunidad de Desarrolladores de InterSystems en español!by David Reche
3
Clases, tablas y globals - ¿Cómo funcionan?by David Reche
2
Uso de expresiones regulares en ObjectScriptby Alberto Fuentes
2
Serialización y deserialización de objetos en formato JSON (u otro cualquiera)by Jose Tomas Salvador
2
Publicador-Subscriptor simple con $system.Eventby Alberto Fuentes
1
Como añadir una traducción al español de un articulo en inglésby David Reche
1
Demo de IRIS + Kong + Kongaby Joel Espinoza
1
Configurar un servicio REST en IAM y publicarlo en el Developer Portalby Alberto Fuentes
1
Demo de SUDOKUby Robert Cemper
1
Los Globals son espadas mágicas para almacenar datos. Parte 2. Árbolesby Francisco López
1
Ver todos los artículos más comentados »
Los 20 autores más leídos
David Reche
1138
Francisco López
770
Alberto Fuentes
681
Estevan Martinez
438
Jose Tomas Salvador
426
Nancy Martínez
416
Joel Espinoza
401
Ricardo Paiva
371
Bernardo Linarez
310
Mario Sanchez Macias
78
Yone Moreno
58
Dmitriy Maslennikov
55
Esther Sanchez
50
Evgeny Shvarov
48
Julio Francisco
19
Robert Cemper
19
Ver todos los autores »
Artículo
Luis Angel Pérez Ramos · 2 ene, 2023
¡Hola desarrolladores!
Comparto con vosotros una plantilla de Python Embebido básica, que recomiendo como punto de partida para cualquier proyecto general con InterSystems IRIS que use Python Embebido.
Funcionalidades:
Python Embebido configurado;
3 ejemplos con difentes formas de desarrollar con Python Embebido;
VSCode configurado;
Docker disponible;
Demo online disponible;
Desarrollo ZPM First disponible.
Vamos a comentar estas funcionalidades.
Primero vamos a hablar de Python Embebido. Esta funcionalidad viene con InterSystems IRIS 2021.2 y permite desarrollar soluciones usando InterSystems IRIS con Python. IRIS 2021.2 y posteriores permiten la ejecución de scripts de Python en un entorno de memoria compartida con InterSystems IRIS que ofrece opciones únicas a los desarrolladores Python al usar la bases de datos en la que el código está cerca de los datos.
3 formas de desarrollar con Python Embebido
Invocación a librerías de Python desde ObjectScript
Esto es posible por la clase %SYS.Python, que permite importar librerías de python y llamar a Python a través de ObjectScirpt. Documentación, Ejemplo. Aquí podéis ver un ejemplo de código:
ClassMethod Today() As %Status
{
Set sc = $$$OK
Set dt = ##class(%SYS.Python).Import("datetime")
write dt.date.today().isoformat()
Return sc
}
Escribir métodos de clase de ObjectScript en Python
De hecho, ahora los desarrolladores pueden usar la etiqueta [Language=python] en la declaración del método y codificar en Python puro. Hay también una librería de ayuda en Python "iris" que se puede utilizar para hacer referencia a las clases y globals de ObjectScript. Documentación, Ejemplo, código de muestra:
ClassMethod CreateRecordPython(propValue As %VarString, ByRef id As %Integer) [ Language = python ]
{
import iris
obj=iris.cls(__name__)._New()
obj.Test=propValue
sc=obj._Save()
id=obj._Id()
return sc
}
Codificar las soluciones de InterSystems IRIS en Python puro
Esta es la tercera opción para que los desarrolladores puedan trabajar con IRIS. Aquí el script de Python necesita ser conectado a IRIS, y esto se puede hacer a través de variables de entorno y el servicio CallIn configurado a "On". Podéis ver los detalles más abajo. Una vez configurado el script de Python es ejecutado en la memoria compartida junto con IRIS. Aquí la librería "iris" es muy útil también. Documentación, Ejemplo.
def create_rec(var):
obj=iris.cls('dc.python.PersistentClass')._New()
obj.Test=var
obj._Save()
id=obj._Id()
return id
# test record creation
from datetime import datetime
now=str(datetime.now())
print("Creating new record in dc.python.PersistentClass")
print(create_rec(now))
## run SQL and print data
def run_sql(query):
rs=iris.sql.exec(query)
for idx, row in enumerate(rs):
print(f"[{idx}]: {row}")
query="Select * from dc_python.PersistentClass"
print("Running SQL query "+query)
run_sql(query)
Docker configurado
El repositorio de la plantilla ejecuta IRIS en un contenedor y configura todo lo necesario para trastear con Python Embebido.
Variables de entorno. Python Embebido necesita configurar ciertas variables de entorno para conectarse a IRIS y ejecutar los scripts de Python. Esta es la configuración que lo posibilita en dockerfile:
# init Python env
ENV PYTHON_PATH=/usr/irissys/bin/irispython
ENV SRC_PATH=/irisrun/repo
ENV IRISUSERNAME "SuperUser"
ENV IRISPASSWORD "SYS"
ENV IRISNAMESPACE "USER"
También, Python Embebido necesita el servicio CallIn "on". Esto se configura en el iris.script durante la fase del build del docker:
; enabling callin for Embedded Python
do ##class(Security.Services).Get("%Service_CallIn",.prop)
set prop("Enabled")=1
set prop("AutheEnabled")=48
do ##class(Security.Services).Modify("%Service_CallIn",.prop)
Además, tu solución puede necesitar algunas librerías de Python a mayores. Esto es proporcionado mediante el archivo requirements.txt en la raíz del repositorio y una llamada pip3 en el dockerfile:
pip3 install -r requirements.txt && \
VSCode configurado
Es muy recomendable desarrollar en VSCode usando docker. Si quieres desarrollar IRIS con Python Embebido en Docker, VSCode necesita ser configurado a modo Devcontainer. Para ello, introduce el archivo devcontainer.json file en la carpeta .devcontainer folder. Describe qué servicio docker necesita para trabajar con (iris en nuestro caso) y esto ayuda a ejecutar los scripts de Python en VSCode que serán servidos por el motor de Python utilizado por IRIS que se está ejecutando en el contenedor. El archivo devcontainer.json también tiene una sección con una descripción de qué extensiones son necesarias en modo contenedor:
"extensions": [
"ms-python.python",
"ms-python.vscode-pylance",
"intersystems-community.vscode-objectscript",
"intersystems.language-server",
"intersystems-community.servermanager",
"ms-vscode.docker"
],
Instalar Python Embebido con ZPM
Esta plantilla está configurada como un repositorio de desarrollo "ZPM first". Esto significa que todo el código desarrollado está descrito en module.xml y es instalado como un módulo ZPM cada vez que la imagen del docker es desplegada por el desarrollador mediante la siguiente líne de código en iris.script:
zpm "load /home/irisowner/irisbuild/ -v":1:1
Y el código de Python Embebido también está descrito en el módulo ZPM - siendo instalado a través de FILECOPY:
<FileCopy Name="python/" Target="${libdir}python/"/>
Con esta expresión indicamos que queremos empaquetar todos los scripts de Python bajo la carpeta /python en el repositorio e instalarla en la carpeta python/ en un directorio de librerías de la instalación IRIS de destino. Si los scripts de Python son copiados bajo la carpeta ${libdir}python/, estarán disponibles para ser invocadas desde ObjectScript o desde Python en la máquina IRIS de destino.
¡Ojo! Asegúrate de que los nombres de tus carpeta tienen nombres únicos para los scripts de Python para no invalidar otro código Python accidentalmente.
Espero que esta plantilla os resulte útil. Comentarios y especialmente pull requests son bienvenidos :D
Anuncio
Esther Sanchez · 29 mayo, 2023
¡Hola desarrolladores!
Compartimos con vosotros las últimas mejoras que hemos realizado en la Comunidad durante los últimos meses:
📌 Nuevos emojis
📌 Insertar vídeos de YouTube con un clic
📌 Nuevo menú lateral en las publicaciones
📌 Noticias oficiales de InterSystems
Os explicamos en detalle cada una de ellas.
Nuevos emojis
Hemos actualizado los emojis disponibles en el editor de texto y a partir de ahora podréis usar todos los conocidos! Solo tenéis que hacer clic en el botón de Emoji en la barra de edición:
Insertar vídeos de Youtube con 1 clic
Quizá os habéis fijado en que hay un nuevo botón con el símbolo de "Play" en la barra de edición. Con él podéis insertar vídeos en vuestras publicaciones de forma rápida y sencilla! Solo tenéis que hacer clic en él y pegar la URL del vídeo que queréis añadir. También podéis pegar el código de inserción (embed code) en la otra casilla:
Nuevo menú lateral en las publicaciones
También hemos cambiado el menú lateral que aparece en las publicaciones. Ya no hay que desplazarse hasta el final de la publicación para ver los "Me gusta", las veces que se ha guardado como "Favorito", o las visualizaciones que ha tenido - ahora aparece todo a la izquierda:
Noticias oficiales de InterSystems
Hemos juntado todas las publicaciones que incluyen la etiqueta y se van a mostrar en un apartado separado en el menú, para que sean más fáciles de encontrar. Y para avisar cuando haya nuevas publicaciones con esa etiqueta, aparecerá la palabra "Nuevo":
¡Y esto es todo por ahora! ¡Esperamos que os resulten útiles estos cambios!
En los comentarios de esta publicación podéis comentarlos o solicitar otros nuevos. ¡Os leemos!
¡Muchas gracias! 🤗
Pregunta
Evgeny Shvarov · 20 mayo, 2019
Hola comunidad¿Cómo se crea la configuración SSL para InterSystems IRIS mediante programación? Por ejemplo, para el caso de instalación o despliegue?Por ejemplo, si necesito crear una configuración de cliente SSL "por defecto" muy simple para permitir que HTPPS obtenga solicitudes a un servidor arbitrario. ClassMethod GetSSLConfiguration(host) As %String
{
NEW $NAMESPACE
SET $NAMESPACE = "%SYS"
IF '##class(Security.SSLConfigs).Exists(host) {
DO ##class(Security.SSLConfigs).Create(host)
}
QUIT host
}
Set tRequest = ##class(%Net.HttpRequest).%New()
Set tRequest.Server = "community.intersystems.com"
Set tRequest.Https = 1
Set tRequest.SSLConfiguration = ..GetSSLConfiguration(tRequest.Server)
....
Pregunta
Francisco Cadenas · 12 ago, 2019
Hola,No sé si alguien ya implementa integraciones de datos en FHIR R4, yo lo hago en FHIR DSTU 2 (v1.0.2).Me gustaría saber si hay una versión mínima de HealthShare / Ensemble que lo lleve implementado.¡Gracias! Hola @Francisco.Cadenas,Lo primero, agradecer tu participación. Estamos deseosos de que la comunidad tenga vida.Bien, sobre FHIR decirte que está soportado por HealthShare Health Connect y por InterSystems IRIS for Health pero no por Ensemble.Sobre las versiones:Se acaba de liberar la versión 2019.1 de HealthShare Health Connect que soporta DSTU2 y STU3. DSTU2 se soporta desde la versión 15.01. Se está trabajando en el soporte de R4 y seguramente ya esté disponible en la próxima versión.Saludos
Artículo
Alberto Fuentes · 1 jul, 2021
Existe una forma muy sencilla de añadir los certificados de una *Autoridad Certificadora* a las configuraciones de TLS / SSL en InterSystems IRIS en Windows y Mac.
Puedes pedirle a IRIS que utilice el almacén de certificados de tu sistema operativo indicando `%OSCertificateStore` en el campo para "File containing Trusted Certificate Authority X.509 certificate(s)".
Aquí tenemos un ejemplo de cómo hacerlo:
Tienes información más detallada al respecto en la [documentación](https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=GTLS_configs#GTLS_configs_createedit).
¡Y esto es todo lo que necesitas! Con esa configuración activada se aceptarán los certificados emitidos por cualquier *Autoridad Certificadora* que se encuentre en el almacén de certificados del sistema operativo.
Anuncio
Esther Sanchez · 18 nov, 2021
¡Hola Comunidad!
Hemos grabado el webinar que hicimos ayer y lo hemos subido al canal de YouTube de la Comunidad de Desarrolladores en español. Si os perdisteis el webinar o lo queréis volver a ver con más detalle, ya está disponible la grabación!
Alberto Fuentes es uno de los cracks de InterSystems. Así que... si queréis saber todo sobre la Analítica de datos y el Reporting, ¡no os perdáis el vídeo!
⏯ Self-Service Analytics & Reporting
Por cierto, en las listas de reproducción del canal de YouTube de la Comunidad de Desarrolladores en español podéis ver todos los webinars que hemos realizado (¡ya llevamos quince!), varios tutoriales, trucos, demos...
¡Echadle un ojo y dadle al play! ▶️
Artículo
Alberto Fuentes · 20 mayo, 2022
Si estás desarrollando soluciones en IRIS y quieres utilizar Git, ¡es genial! Sólo tienes que utilizar VSCode con un repositorio git local y enviar los cambios al servidor, así de fácil.
Pero qué sucede si:
* Colaboras con otros desarrolladores en un entorno de desarrollo remoto compartido y quieres evitar la edición simultánea del mismo archivo
* Utilizas editores basados en el portal de administración para BPL, DTL, tablas dinámicas, cuadros de mando, etc. y quieres incluir esos elementos en el control de código de forma sencilla.
* Aún utilizas Studio para realizar algunas cosas y/o ocasionalmente vuelves a usarlo desde VSCode. O tu equipo todavía no ha adoptado completamente VSCode y algunos miembros del equipo todavía quieren utilizar Studio
* Trabajas en varios proyectos diferentes al mismo tiempo en el mismo *namespace* - digamos, en varios paquetes definidos mediante InterSystems Package Manager - y quieres trabajar con todos ellos desde una vista de edición de isfs (en vez de en varios proyectos distintos) con los cambios rastreados automáticamente en el repositorio de git apropiado
En ese caso no era tan sencillo... hasta finales del año pasado, cuando lanzamos **Git para Entornos de Desarrollo Compartidos ([Open Exchange](https://openexchange.intersystems.com/package/Git-for-Shared-Development-Environments) / [GitHub](https://github.com/intersystems/git-source-control)).**
Puedes descargar esta extensión mediante InterSystems Package Manager:
```
zpm "install git-source-control"
```
Antes de esto, las opciones para controlar las fuentes con Git eran una [antigua extensión de Git, principalmente para Windows, y sólo para entornos de desarrollo local](https://openexchange.intersystems.com/package/Cach%C3%A9-Tortoize-Git) y un [proyecto más reciente de Open Exchange basado en él pero más sencillo](https://openexchange.intersystems.com/package/Git-for-IRIS). También está [Port](https://openexchange.intersystems.com/package/Port), que únicamente maneja archivos y es independiente del sistema de control de versiones.
¿Qué tiene git-source-control que no tienen estos paquetes?
* **Una integración sencilla con git, basada en un menú**, que funciona en cualquier sistema operativo
* **Una interfaz de usuario de git** para cubrir un conjunto de operaciones comunes de git, sin tener que conectarse con SSH al entorno remoto.
* **Control de concurrencia** para múltiples usuarios que trabajan en el mismo entorno al mismo tiempo. Una vez que realizas cambios en una clase/rutina/etc., se vuelve tuya hasta que se descarten o se confirmen los cambios. (Sin embargo, tenemos formas de evitarlo cuando es necesario)
* **Integración con el administrador de paquetes**: simplemente usa zpm mediante "load -dev /path/to/package" y si "/path/to/package/.git" existe, los cambios en los recursos de tu paquete se reflejarán automáticamente en el sitio correcto del sistema de archivos del servidor. La interfaz de usuario también funciona con esto, basada en la clase/etc. desde la que se ejecuta.
Todo esto funciona desde VSCode:
Spoiler
Y Studio:
Spoiler
Para que tengas el control y la visión de tu repositorio de git:
Spoiler
Esperamos que esto permita desarrollar con éxito las soluciones basadas en IRIS.
¡Agradecemos vuestros comentarios!
NOTA: Para ver la presentación del lanzamiento en el Global Summit de 2021, consultad este artículo: https://community.intersystems.com/post/video-git-gitlab-shared-development-environments
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.
Artículo
Mario Sanchez Macias · 15 sep, 2022
En el Centro de Soporte Internacional (WRC), vemos a menudo clientes que se han encontrado un problema al visualizar las páginas de catálogos SOAP en el navegador. Estas páginas nos sirven para visualizar el WDSL y poder testear los métodos y servicios descritos en el web service. En este artículo voy a explicar por qué se encuentran este error, y también propondré una solución. Esta explicación se centra en los síntomas observados en InterSystems IRIS, pero se ha podido ver un comportamiento similar en versiones más recientes de Caché.
El problema:
Estás intentando crear nuevos Servicios Web SOAP en InterSystems IRIS. Cuando vas a visualizar el Catálogo SOAP para ver lo que has creado hasta ese momento, aparece este error en tu navegador:
En CSP Gateway más antiguos e instancias de Caché, puede aparecer esto en su lugar:
Por qué sucede esto:
Cuando se intenta visualizar una página de catálogo SOAP, IRIS necesita usar las clases %SOAP.WebServiceInfo y %SOAP.WebServiceInvoke internamente. Sin embargo, no permitimos a las aplicaciones de usuarios acceder a la mayoría de las clases "%".
Esta información se detalla en la documentación antigua de Caché: https://cedocs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GCSP_config#GCSP_appaccess
Cómo solucionar el problema:
Recomendamos encarecidamente usar un cliente Web SOAP para generar solicitudes SOAP HTTP que llame al Servicio Web SOAP en vez de usar las páginas de catálogo.
Sin embargo, si aún necesitas acceder a las páginas de catálogo SOAP en un entorno de PRUEBA, puedes solucionarlo configurando estos nodos globales:
%SYS>set ^SYS("Security","CSP","AllowClass",webapplicationname,"%SOAP.WebServiceInfo")=1
%SYS>set ^SYS("Security","CSP","AllowClass",webapplicationname,"%SOAP.WebServiceInvoke")=1
Donde la variable “webapplication” contiene el nombre de tu aplicación actual. Por ejemplo, si estabas intentando visualizar un catálogo SOAP para una Aplicación Web llamada "/csp/test/", necesitarás configurar estos nodos globales:
%SYS>s ^SYS("Security","CSP","AllowClass","/csp/test/","%SOAP.WebServiceInfo")=1
%SYS>s ^SYS("Security","CSP","AllowClass","/csp/test/","%SOAP.WebServiceInvoke")=1
De nuevo, recomendamos que se habiliten estas configuraciones solo en entornos de PRUEBA.
En este enlace podéis encontrar más información sobre cómo acceder al Catálogo SOAP y a las páginas de Prueba en InterSystems IRIS: https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=GSOAP_WebService#GSOAP_service_catalog_page