Etiqueta

28 de abril de 2024

Uso del método $showurl y $closeurl()


 La estructura de éstos métodos es la siguiente:

  • $showurl(cURL[,cFrame,cWindowProperties,cWindowRef]) abre la URL en una nueva ventana o marco en el cliente; cURL es la URL de la página HTML; cFrame es el nombre del marco HTML; si cFrame está vacío, la página se muestra en una nueva ventana; de lo contrario, se muestra en el marco especificado para la ventana actual.
  • $close(cWindowRef) cierra la ventana del navegador que fue abierta previamente mediante el método $showurl(), consta de un solo parámetro y deberá ser el indicado mediante el cuarto parámetro del método $showurl() anterior.
En este artículo hablare del método $showurl, sus alternativas de uso, su equivalente JavaScript y algunos ejemplos, empecemos por desgranar sus parámetros:

  1. cURL: Es la dirección de la página a presentar en una nueva ventana del cliente o bien sobre el marco especificado mediante el siguiente parámetro de la página HTML que figura actualmente en el cliente.
  2. cFrame: Es el nombre de marco HTML. Si cFrame está vacío, la página se mostrará  en una nueva ventana, de lo contrario se mostrará en el marco especificado para la ventana actual.
  3. cWindowProperties: Será ignorado si cFrame no existe. De lo contrario, tiene el mismo formato que los argumento del método Javascript "window.open", por ejemplo, "toolbar = 0, menubar = 1" indicaría que la ventana del navegador tendrá una barra de menú, pero no una barra de herramientas.
A continuación les muestro las posibles palabras clave o argumentos que podemos aportar en este tercer parámetro:

toolbar - La ventana del navegador tendrá una barra de herramientas
status - La ventana del navegador tendrá una barra de estado
menubar - La ventana del navegador tendrá una barra de menú
scrollbars - La ventana del navegador tendrá barras de desplazamiento
resizable - La ventana del navegador es de tamaño variable
location - La ventana del navegador tendrá una barra para direcciones
directories - La ventana del navegador mostrará el directorio Web
width - Anchura de la ventana del navegador
height - Altura de la ventana del navegador
top  - Coordenada superior de la ventana del navegador
left - Coordenada izquierda de la ventana del navegador

Todas éstas palabras clave son boleanas (0 o 1) a excepción de la width, height, top y left, que deberán ser valores expresados en píxel's. 

Les mostraré ahora algunos ejemplos de uso:

$cinst.$showurl(lvURL,,"toolbar=yes,location=no,width=750,height=400,resizable=yes,scrollbars=yes")
$cinst.$showurl("http://www.myserver.com/cgi-bin/omniscgi?OmnisServer=192.168.1.1&OmnisLibrary=MyLib&OmnisClass=rtLookup&Ukey=132456778","_blank")

Decir que también podremos usar una alternativa JavaScript inmersa en el mismo método:

$cinst.$showurl('javascript:self.close()','_top')
$cinst.$showurl("javascript:document.write('Testing');","_blank")
$cinst.$showurl(“javascript:self.close();window.open('http://127..0.0.1/insite/html/ejemplo.htm','orderpad','width=400,height=300,top=50,left=300,status=no,toolbar=no,menubar=no,scrollbars=yes’);”) 
$cinst.$showurl("javascript:window.top.location.href=‘https://framosmu.blogspot.com/’") 

De modo que podemos decir que el método $showurl(cURL[,cFrame,cWindowProperties]) es equivalente al método javascript: window.open(URL,target,options)

En éste caso “target” sería el equivalente a cFrame y puede tener los valores siguientes:

"_self" - Nueva página en la misma ventana
"_blank" - Nueva página en otra ventana
"_parent"- Nueva página en la ventana padre
"_top"- Nueva página en la ventana superior
frame_name - Nueva página en la ventana o marco denominado “frame_name”

Un último ejemplo para abrir una ventana en otra pestaña del navegador sin hacer uso del método $showurl, sería:

JavaScript: window.open(lvURL,lvNewTabName,"titlebar=no,toolbar=no,location=no,status=no,menubar=no,resizable=yes,scrollbars=yes")

Bueno, hacía mucho que no publicaba algo nuevo en éste blog, espero que les resulte útil, déjenme sus comentarios y/o aportaciones si lo consideran oportuno, nos vemos...


17 de abril de 2024

Integración Paypal REST API con Omnis Studio

Hacía tiempo que no publicaba algo nuevo en mi repositorio público de GitHub y ya iba siendo hora, pensando en que hacer, me he decidido por mostrar un breve ejemplo de cómo hacer uso en Omnis Studio de la API REST de PayPal en su entorno de pruebas SandBox con Omnis Studio. Podrán descargar la librería  desde el siguiente enlace: Github de Francisco Ramos



6 de junio de 2023

Omnis Studio 11, soporte para TOTP

La última actualización de Omnis Studio da soporte a TOTP, es el acrónimo de "Time-based One Time Passwords", o contraseñas temporales de un solo uso. Es decir, estas contraseñas tienen una vida útil bien de un uso, o de un periodo de tiempo concreto a partir del cual se auto-destruyen. Dos nuevas funciones nos permiten incorporar éste protocolo en nuestros desarrollos: OW3.$totpgenerate() y OW3.$totpvalidate()

Tech Insight: Autenticación - TOTP | Citrix Tech Zone

La primera contiene 4 parámetros necesarios, más 2 opcionales y su sintaxis es la siguiente:

OW3.$totpgenerate(xSharedSecretKey,iTimeStep,iDigits,&iTOTP[,&cErrorText,iHashType=kOW3hashSHA1])

Esta función genera una contraseña de un solo uso con base en el tiempo, quedará contenida en iTOTP y se utilizará para ello el algoritmo TOTP. Retornado "true" si la función es ejecutada con éxito.

Parámetros obligatorios:

xSharedSecretKey (Binary) es la clave secreta compartida, su longitud debe estar entre 16 y 256 bytes.

iTimeStep (Integer 32 bit) es el salto de tiempo en segundos el cual deberá estar entre 1 y 3600.

iDigits (Integer 32 bit) es el número de dígitos del TOTP resultante, un valor entre 6 y 8.

iTOTP (Integer 32 bit) recibe el TOTP generado.

Parámetros opcionales:

cErrorText (Character 100000000) Si se proporciona, recibirá la descripción del posible error provocado por $totpgenerate o $totpvalidate (si resultó "false").

iHashType (Integer 32 bit), su valor por defecto es proporcionado por la constante kOW3hashSHA1) es el tipo de "hash" a utilizar, use una de las constantes del grupo kOW3hash...

La segunda contiene 4 parámetros necesarios, más 4 opcionales y su sintaxis es la siguiente:

OW3.$totpvalidate(xSharedSecretKey,iTimeStep,iDigits,iTOTP[,&cErrorText,iHashType=kOW3hashSHA1,iStepsBefore=2,iStepsAfter=1])

Esta función valida la contraseña de un solo uso con base en el tiempo, contenida en iTOTP utilizando para ello el algoritmo TOTP. Retornado "true" si iTOTP resulta en un TOTP válido.

Parámetros obligatorios:

xSharedSecretKey (Binary) es la clave secreta compartida, su longitud debe estar entre 16 y 256 bytes.

TimeStep (Integer 32 bit) es el salto de tiempo en segundos el cual deberá estar entre 1 y 3600.

iDigits (Integer 32 bit) es el número de dígitos del TOTP resultante, un valor entre 6 y 8.

iTOTP (Integer 32 bit) es el TOTP que va a ser validado.

Parámetros opcionales:

cErrorText (Character 100000000) Si se proporciona, recibirá la descripción del posible error provocado por $totpgenerate o $totpvalidate (si resultó "false").

iHashType (Integer 32 bit), su valor por defecto es proporcionado por la constante kOW3hashSHA1) es el tipo de "hash" a utilizar, use una de las constantes del grupo kOW3hash...

iStepsBefore (Integer 32 bit), el valor por defecto es 2 y es el número de saltos de tiempo anteriores al momento actual, para llevar a cabo la verificación del TOTP proporcionado, deberá ser un valor entre 1 y 20.

iStepsAfter (Integer 32 bit), su valor por defecto es 1 y es el número de saltos de tiempo después del momento actual, para llevar a cabo la verificación del TOTP proporcionado, deberá ser un valor entre 1 y 20.