Hipervínculos a soluciones
Hay dos maneras de crear hipervínculos a las soluciones:
•Con la acción Abrir URL en eventos de página o de control.
•En un correo electrónico que envía el usuario final.
Si la URL del hipervínculo no contiene una cadena de consulta, la solución se abre por la página inicial. Si la URL contiene una cadena de consulta, entonces la solución se abre según la lógica de la solución y de la cadena de consulta. Para comprender las diferencias entre estos dos tipos de URL (con y sin cadena de consulta) debemos fijarnos en las URL de motores de búsqueda como Google:
Esta URL, sin cadena de consulta, abre la página de inicio de Google.
Esta URL contiene una cadena de consulta que busca "Altova MobileTogether" en el motor de Google (el texto que sigue al signo de interrogación es la cadena de consulta). La URL abre directamente una página que contiene los resultados de la búsqueda (en lugar de la página de inicio de Google).
Nota: | los hipervínculos a soluciones de MobileTogether no funcionan en GMail y otras aplicaciones de correo, pero funcionan con clientes como AquaMail, K9 y MailWise. |
Establecer vínculos con una solución desde un componente de diseño
Puede vincular un componente diseño a una solución por medio de la acción Abrir URL del componente. Por ejemplo, si se hace clic en un botón, la acción Abrir URL puede especificar que se abra una solución.
Siga estos pasos para crear el vínculo con la solución:
1.Cree una acción Abrir URL para el evento en el que desea especificar el vínculo con la solución (imagen siguiente).
2.Cree una expresión XPath que utilice la función mt-run-solution-url para generar la URL de la solución. Más abajo describimos esta función detalladamente.
mt-run-solution-url(DirecciónServidor? como xs:string, NombreSolución? como xs:string, ParámetrosEntrada? como xs:string) como xs:string?
Genera una URL para abrir la solución indicada en un cliente de MobileTogether. Al pulsar la URL se abre la aplicación Altova MobileTogether Client y se inicia la solución en la aplicación. La URL se genera desde (i) los tres argumentos dados (véase más abajo) o (ii) el argumento InputParameters de la función.
•DirecciónServidor: toma el nombre o la dirección IP del servidor MobileTogether Server donde está implementada la solución que desea ejecutar. Si se omite este argumento o si el argumento es una cadena vacía se usará el servidor actual. •NombreSolución: toma la ruta de acceso implementada de la solución en el servidor. Por ejemplo: /public/MySolution (que apuntaría al archivo MySolution.mtd situada en el contenedor /Public). Si se omite este argumento o si el argumento es una cadena vacía se usará la solución actual. •ParámetrosEntrada: toma como entrada la función mt-run-solution-url-parameters. El argumento de esta función es (i) una secuencia de valores de cadena que ofrecen los valores de los parámetros de la consulta o (ii) una asignación de pares clave:valor que suministran el nombre y el valor de los parámetros correspondientes. La función mt-run-solution-url-parameters devuelve una cadena que contiene los parámetros (nombres y valores) de la cadena de consulta de la URL, correctamente codificada y con los porcentajes con caracteres de escape (siguiendo las normas de codificación de cadenas de consulta URL). La función genera automáticamente los nombres de parámetro de la cadena resultante (in1, in2 ... inN) y cada nombre de parámetro tiene asignado un valor de los elementos de cadena del argumento de la función. Los nombres y valores se emparejan siguiendo el orden de índice. Además, el argumento ParámetrosEntrada puede indicarse en forma de cadena ya codificada para la parte de cadena de consulta de una URL (ver ejemplo nº4 más abajo).
Es decir, la función mt-run-solution-url crea una URL, con o sin parámetros de consulta, que accede a una solución ubicada en un servidor MobileTogether Server. Los parámetros de consulta se pasan a la solución cuando ésta se abre desde la URL. A los valores de estos parámetros se puede acceder desde otros componentes del diseño con ayuda de la variable global $MT_InputParameters.
Es importante tener estos aspectos en cuenta:
•El primer argumento (DirecciónServidor) sirve para buscar en el cliente información sobre si el servidor ha proporcionado un nombre o una dirección. El número de puerto, el nombre de usuario y la contraseña que estén asociadas al nombre de servidor se utilizarán para establecer la conexión. Es decir, si se genera una URL con un nombre de servidor que no reconoce el cliente, la URL no funcionará. •El segundo argumento (NombreSolución) genera (i) la ruta de acceso implementada (en el servidor) si la solución se ejecuta en el servidor, pero también genera (ii) una ruta de acceso para simulaciones. •El tercer argumento (ParámetrosEntrada) utiliza la función de extensión XPath propia de MobileTogether llamada mt-run-solution-url-parameters. Esta función sirve para generar y codificar los pares parámetro/valor de la consulta. La función mt-run-solution-url-parameters (que codifica los parámetros de la consulta) no debe confundirse con la función mt-run-solution-url (que genera la URL entera).
|
Usar valores de parámetro de consulta de un hipervínculo en otros componentes de diseño
Cuando se abre una solución al desencadenarse un hipervínculo que está asociado con un evento de control o de página, los valores de parámetro de la URL del hipervínculo se pasan a la solución se pueden usar en otros componentes de diseño en la solución de destino. Los valores se almacenan por defecto en una asignación en la variable global $MT_InputParameters de la solución de destino.
Alternatively, you can can change the data structure of the $MT_InputParameters variable in individual projects (in the More Project Settings dialog) to be a sequence of string values. If string values are passed to $MT_InputParameters, these are alphabetically sorted on the key of the URL's parameters. El orden de los valores de cadena de la secuencia $MT_InputParameters es idéntilo al de la secuencia dada para la función mt-run-solution-url-parameters para generar los parámetros de consulta de la URL. Por tanto, como el orden de los valores de cadena de la variable global $MT_InputParameters es conocido (alphabetically sorted on the parameter keys), podrá acceder a cada cadena con una expresión XPath usando predicados de posición. Por ejemplo: $MT_InputParameters[1] devuelve el primer valor de cadena de la secuencia y $MT_InputParameters[2] devuelve el segundo valor de cadena.
Establecer el vínculo con una solución desde un correo electrónico que envía el usuario final
La acción Enviar correo electrónico a permite enviar correos electrónicos desde el cliente y desde el servidor. Si un correo se envía como HTML, podrá añadir un hipervínculo al cuerpo del correo y este hipervínculo puede abrir una solución de MobileTogether. Para agregar un vínculo al cuerpo del correo basta con usar la función mt-html-anchor en la expresión XPath de la opción Cuerpo (imagen siguiente).
La función mt-html-anchor toma dos argumentos: TextoEnlace y URLDestino. Y utiliza estos dos argumentos para crear un elemento de hipervínculo HTML: <a href="URLDestino">TextoEnlace</a>
Por ejemplo:
mt-html-anchor('Anular suscripción a la lista de distribución', mt-run-solution-url('', '/public/unregister', ''))
genera un fragmento de código HTML que seguiría este patrón:
<a href="LinkTo unregister.mtd">Anular suscripción a la lista de distribución</a>
La función mt-run-solution-url genera la URL que enlaza con la solución (usando el esquema mobiletogether://) y esta URL se almacena como valor del atributo href del hipervínculo.
Nota: | cuando se usa la función mt-run-solution-url para crear un vínculo, éste se crea con el esquema mobiletogether:// (en lugar de con el esquema http:// ). Este esquema permite abrir una solución desde las aplicaciones de correo electrónico de los dispositivos móviles. Sin embargo, si el correo electrónico se abre en un cliente web, el vínculo para abrir la solución debe usar el esquema http:// . Cuando así sea, el vínculo http:// debe crearse a mano y no con la función mt-run-solution-url. |
Nota: | para clientes web puede crear un vínculo que vaya directamente a la solución en el servidor. Por ejemplo: http://localhost:8085/run?d=/public/BizBudget. Si el contenedor del servidor donde está la solución se configuró para permitir el acceso anónimo, no hará falta que el usuario final inicie sesión en el servidor. Es decir, el usuario podrá usar la solución directamente. Para más información consulte el manual del usuario de MobileTogether Server. |