Usar proceso Edge para hospedar aplicaciones web
Nota
Debido a que el control del navegador del proceso Edge ahora se reemplaza por el control del navegador Edge WebView2 Process, la compatibilidad con el proceso Edge ahora se interrumpe.
El control de explorador de proceso Edge hospeda los controles en instancias de proceso Edge individuales y los muestra en pestañas en la aplicación cliente de Unified Service Desk. Facilita la representación fiable y segura de páginas asegurándose de que si la aplicación web funciona en Microsoft Edge, funcionará en Unified Service Desk. Puede seleccionar Proceso Edge como el método que hospeda para el tipo Cuadro de diálogo de CRM, Página de CRM, KM Control, Página unificada de la interfaz, Interfaz unificada de KM Control y Aplicación web estándar de controles hospedados.
Las ventajas de usar el método de hospedaje de proceso Edge son las siguientes:
- Las páginas web, incluidas las páginas de aplicaciones basadas en modelo, se generan más rápidamente en Microsoft Edge.
- Microsoft Edge es un explorador moderno con una gestión y un procesamiento de memoria mejorados.
- Microsoft Edge es el explorador predeterminado del sistema operativo Windows 10.
- Proporciona configuraciones sencillas para hospedar las aplicaciones en Unified Service Desk.
- Proporciona fiabilidad y compatibilidad mejoradas para los problemas específicos del explorador.
Nota
Para usar Proceso Edge, debe tener el último sistema operativo Windows 10 (Windows versión del 10 de octubre de 2018).
Configuración de Proceso Edge
Puede establecer el Proceso Edge en los controles hospedados (controles hospedados existentes y nuevos) para hospedar aplicaciones. Esto le permite elegir los controles hospedados que usan Proceso Edge en función de sus requisitos. Más información: Crear un control hospedado con tipo de hospedaje Edge
Si desea establecer un Proceso Edge para hospedar las aplicaciones para toda una organización, debe usar la opción global UII GlobalBrowserMode y especificar el valor como Edge. Más información: Activar Edge para Unified Service Desk en el escritorio de cliente
Si desea establecer Proceso Edge solo para algunos agentes de la organización, en el archivo UnifiedServiceDesk.exe.config, agregue la clave GlobalBrowserMode con el valor Edge. Más información: Habilitar Edge para toda una organización
Orden de prioridad
Si establece el valor de opción global UII GlobalBrowserMode como Edge, tendrá prioridad sobre la configuración de control hospedado individual.
Por ejemplo, algunos controles hospedados tienen tipos de hospedaje como Proceso de IE o WPF interno. En el nivel de la organización, establezca el valor de la opción global UII GlobalBrowserMode Edge. En este escenario, la opción global UII tiene prioridad y la configuración usa Proceso Edge para hospedar las aplicaciones.Si establece la clave de modo GlobalBrowser Edge en el archivo UnifiedServiceDesk.exe.config para un escritorio determinado cliente, tendrá prioridad sobre la configuración de control hospedado individual.
Por ejemplo, algunos controles hospedados tienen tipos de hospedaje como Proceso de IE o WPF interno. Para algunos agentes, en los escritorios del cliente, ha establecido la clave de modo GlobalBrowser Edge en el archivo UnifiedServiceDesk.exe.config. El conjunto de valores en el archivo UnifiedServiceDesk.exe.config tiene prioridad y la configuración usa Proceso Edge para hospedar las aplicaciones.
Si establece la clave de modo GlobalBrowser Edge en el archivo UnifiedServiceDesk.exe.config para un escritorio determinado cliente, tendrá prioridad sobre el resto de los ajustes de control hospedado individual.
Activar Proceso Edge
Habilite Proceso Edge de una de las siguientes maneras:
- Crear un control hospedado individual con tipo de hospedaje Edge
- Habilitación para los escritorios individuales de cliente
- Habilitación para toda una organización
Nota
Habilite Proceso Edge para los escritorios individuales de un cliente o para toda la organización.
Crear un control hospedado con tipo de hospedaje Edge
Al crear un nuevo control hospedado, puede seleccionar Proceso Edge como Tipo de hospedaje.
Inicie sesión en Dynamics 365.
Vaya a Configuración>Unified Service Desk.
Seleccione Controles hospedados. La página muestra controles hospedados disponibles.
Para crear un control hospedado nuevo, seleccione Nuevo.
En la página Nueva control hospedado, especifique los detalles y seleccione Proceso Edge del desplegable Tipo de hospedaje.
Seleccione Guardar para crear el control hospedado.
Activar Edge para Unified Service Desk en el escritorio cliente
Vaya al directorio en el que ha instalado Unified Service Desk y haga doble clic para abrir el archivo UnifiedServiceDesk.exe.config. Ruta de ejemplo:
C:\Program Files\Microsoft Dynamics CRM USD\USD
En la sección
<appSettings>
, añada la clave nueva.
<add key="GlobalBrowserMode" value="Edge"/>
- Guarde el archivo.
Habilitación de Edge para toda una organización
Agregue una nueva opción global de UII para su organización con el GlobalBrowserMode. Especifique el valor como Edge.
Inicie sesión en Dynamics 365.
Vaya a Configuración>Unified Service Desk>Opciones.
En la página Opciones de UII activas, seleccione Nuevo.
Elija Otros en el campo opción Global.
Escriba GlobalBrowserMode en el campo Nombre.
Escriba Edge en el campo Valor.
Seleccione Guardar.
Depurar el proceso de Edge mediante la vista previa de DevTools de Microsoft Edge
Con el proceso de Edge puede usar la herramienta Vista previa de DevTools de Microsoft Edge como depurador de JavaScript. Las Edge DevTools le ayudan a depurar la página web localmente o de forma remota.
En el panel, puede ver todos los procesos Edge activos. Seleccione la página web deseada de la lista activa para abrir una nueva instancia.
Más información: Vista previa de DevTools de Microsoft Edge
La acción de RunScript es asincrónica en el proceso Edge
El explorador Microsoft Edge solo admite operaciones asincrónicas y la acción RunScript será asincrónica. Si su ejecución de código personalizado depende del valor de devolución proporcionado por la acción de RunScript que inserta JavaScript en el cuadro principal de la aplicación, entonces la ejecución de código personalizado podría fallar.
Por ejemplo, el código personalizado tiene acciones de un RunScript que inserta JavaScript en el cuadro principal de la aplicación, seguido de una operación u otra acción de RunScript. La acción de RunScript se invoca y devuelve un valor después de la inserción de JavaScript. Si la operación posterior u otra acción de RunScript se ejecuta según en el valor devuelto proporcionado por la acción ejecutada de RunScript, entonces las operaciones posteriores del código personalizado fallarán.
Escenario de ejemplo
Cada vez que abra un caso, verifica si el caso haya estado abierto durante 10 días o más, entonces muestra un mensaje en un diálogo. Cuando se realiza una acción en el cuadro de diálogo, la página de llamada de teléfono se abre para otras operaciones.
Para realizar el escenario anterior, debe recibir la acción de llamada que ejecute una acción RunScript y devuelva un valor para la siguiente operación. Los datos de la acción de llamada calcula el número de días que un caso está abierto.
Ahora, debe realizar una acción de llamada con una acción como ExecuteOnDataAvailable, y el campo de datos debe tener el valor de devolución de la primera acción de llamada. Es decir, el valor de devolución tendrá el formulario [[$Return.ActionCallName]]
. Esto asegura que después de que se ejecute la primer acción y el retorno esté disponible, esta acción de llamada se ejecutará.
A continuación, debe realizar una sub acción de llamada para mostrar el número de días un caso tiene el estado abierto. El campo de datos usará el formulario de valor de devolución la primera acción de llamada, es decir [[$Return.ActionCallName]]
.
Debe crear otra llamada de subconsultas de acción para abrir la página de llamada de teléfono y realizar la operación siguiente. Después de ver el mensaje, seleccione el botón Aceptar en el cuadro de diálogo, lo que abrirá la página de llamada de teléfono.
Veamos qué configuración debe tener para crear el escenario anterior.
Paso 1: Cree un control hospedado
Vaya a Configuración>Unified Service Desk>Controles hospedados.
Seleccione + Nuevo.
Agregue los siguientes detalles y guarde el control hospedado.
Campo | Value |
---|---|
Nombre | Incidente |
Nombre para mostrar | [[incident.title]] |
Tipo de componente de Unified Service Desk | Página de Interfaz unificada |
Tipo de hospedaje | Proceso Edge |
Grupo de visualización | MainPanel |
Paso 2: Cree dos acciones de llamada
Vaya a Configuración>Unified Service Desk>Acción de llamada.
Seleccione + Nuevo.
Agregue los siguientes detalles y guarde la acción de llamada.
Campo | Value |
---|---|
Nombre | FindNoOfDaysCaseBeingOpened |
Pedido | 1 |
Control hospedado | Incidente |
Para | RunScript |
Datos | function findAge(dateString) { if("[[incident.statuscode]]".indexOf("1") > -1){ var date1 =new Date(dateString); var date2 =new Date(); var timeDiff = Math.abs(date2.getTime() - date1.getTime()); var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24)); return diffDays.toString(); } return 0; } findAge("[[incident.createdon]]"); |
- Repita los pasos 2 y 3 para crear otras acciones de llamada.
Campo | Value |
---|---|
Nombre | DaysValue |
Pedido | 2 |
Control hospedado | CRM Global Manager |
Para | ExecuteOnDataAvailable |
Datos | [[$Return.FindNoOfDaysCaseBeingOpened]] |
Paso 3: Cree dos acciones de llamada, y agréguelas en la acción de llamada DaysValue
Vaya a Configuración>Unified Service Desk>Acción de llamada.
Seleccione + Nuevo.
Agregue los siguientes detalles y guarde la acción de llamada.
Campo | Value |
---|---|
Nombre | DisplayMessageForCaseOpen |
Control hospedado | CRM Global Manager |
Para | DisplayMessage |
Datos | text=Nº de días el caso tiene estado abierto: [[$Return.FindNoOfDaysCaseBeingOpened]] caption=El caso está abierto |
- Repita los pasos 2 y 3 para crear otras acciones de llamada.
Campo | Value |
---|---|
Nombre | OpenPhoneCallPage |
Control hospedado | PhoneCall |
Para | New_CRM_Page |
Datos | LogicalName=phonecall description=Caso pendiente desde hace más de 9 días subject=Caso pendiente hace tiempo |
Condición | "[[$Return.FindNoOfDaysCaseBeingOpened]]">9 |
En la lista acciones de llamada, seleccione la acción de llamada DaysValue .
En la barra de navegación, junto a la acción de llamada DaysValue, seleccione el icono > y seleccione Sub acción de llamada.
Seleccione la opción AÑADIR ACCIÓN DE LLAMADA EXISTENTE. En el cuadro de búsqueda, escriba la acción DisplayMessageForCaseOpen y seleccione el icono de búsqueda.
Para agregar la acción de llamada, seleccione el nombre de acción de llamada que aparezca.
Realice los pasos 7 y 8 para agregar la acción de llamada OpenPhoneCallPage.
Guarde los cambios.
Paso 4: Añada las acciones de llamada al evento PageReady
Vaya a Configuración>Unified Service Desk>Eventos.
Seleccione el evento PageReady para el control hospedado Incidente de la lista de eventos.
En la página del evento, en área Acciones activas, seleccione + para agregar llamadas a la acción.
Aparecerá un cuadro de búsqueda, escriba FindNoOfDaysCaseBeingOpened y seleccione el icono Búsqueda y seleccione la acción de llamada. La acción de llamada aparecerá en el área Acciones activas.
Repita el paso 4 para agregar la acción DaysValue.
Guarde los cambios.
Opción de UII EdgeSingleProcess
Con el control WebView de Edge, cada dominio tendrá sus propios procesos. Si la organización requiere modos de autenticación comunes a través de dominios diferentes, el proceso Edge puede no admitir la misma autenticación.
Para usar el modo de autenticación común a través de dominios diferentes, use la opción global de UII EdgeSingleProcess
para garantizar que todos los procesos con distintos dominios se crean en un solo proceso en tiempo de ejecución.
Para usar EdgeSingleProcess
, debe agregar la opción de UII y establecer el valor en True
. Más información: EdgeSingleProcess
Agregar la opción UII
Inicie sesión en la instancia de Dynamics 365.
Vaya a Configuración>Unified Service Desk.
Seleccione Opciones.
En la página Opciones de UII activas, seleccione Nuevo.
Elija Otros en el campo opción Global.
En el cuadro Nombre, escriba EdgeSingleProcess.
Escriba True en el campo Valor.
Seleccione Guardar.
Nota
Si establece el valor como False
o deja el campo en blanco, la opción se deshabilitará.
Cierre las sesiones cuando use el Proceso Edge
Para cerrar la sesión de sesiones al usar el proceso Edge, debe configurar la dirección URL de cierre de sesión mediante la acción Navegar en el control hospedado. Por ejemplo, la dirección URL de cierre de sesión de la aplicación basada en modelo es url=/main.aspx?signout=1
.
Consultar también
Crear o editar un control hospedado
Referencia de tipos de control hospedado y acciones/eventos
Administrar controles hospedados, acciones y eventos