En un post anterior vimos como crear data entities personalizadas para usar en Dual-write.
I ahora quizás te estás preguntando, y ¿cómo muevo los mapeos de Dual-write a un entorno de test o producción desde el entorno de desarrollo? ¿Tengo que hacer otra vez todo lo que he hecho en desarrollo en un entorno Sandbox?
Afortunadamente no, no tenemos que hacer todo de nuevo a mano, podemos usar una solución de Dataverse para copiar los mapeos de Dual-write entre entornos.
Si quieres leer más sobre Dual-write puedes:
- Leer la documentación que tiene mucha información. Leed los docs. Siempre.
- Guidance for Dual-Write setup
- System requirements and prerequisites
- Podéis ver algunas de las sesiones de Faisal Fareed sobre Dual-write: DynamicsCon 2020: The Power of Dual-write o la del Scottish Summit 2021: D365 FO integration with Dataverse – Dual write, Virtual Entities, OR Data Integrator. Tiene algunas más que podéis encontrar en Youtube.
Personalizar mapeos de Dual-write
Imagina que queremos añadir un nuevo tipo de unidad operativa a la entidad Operating unit:
Añadimos el nuevo valor a la transformación y hacemos clic en el botón de guardado. Después tenemos que darle al botón «Save as» de la barra de menú:
Seleccionamos el publisher, rellenamos la versión, y tamién podemos añadir una descripción, que es bastante útil para seleccionar distintas versiones de mapeos como veremos más adelante.
Una vez está guardado podemos ir a la pantalla principal de Dual-write y veremos el número de versión que acabamos de crear:
Soluciones de Dataverse
Ahora tendremos que ir a https://make.powerapps.com, y antes de hacer ninguna otra cosa, nos aseguramos que el entorno activo de Dataverse es el que está vinculado con la instancia de Finance and Operations.
Crear y exportar solución
Y ahora sí, creamos una nueva solución:
Le damos un nombre, seleccionamos el mismo publisher que el que hemos usado en nuestros mapeos personalizados de Dual-write, y también un número de versión, y hacemos clic en «Create»:
Seleccionamos nuestra nueva solución y hacemos click en el botón «Add existing», luego hacemos scroll hasta el final, a la opción «Other» y seleccionamos «Dual-write table map»:
Se abrirá un diálogo nuevo con todos los mapeos que hay en el entorno actual de Dataverse:
Seleccionamos todos los mapeos que queremos mover al nuevo entorno de Dataverse y hacemos click en «Add». Luego seleccionamos nuestra solución y le damos a «Export»:
El wizard, primero de todo, nos preguntará si queremos publicar la solución, y lo haremos antes de seguir con la exportación. El motivo es que hay cambios que podrían no aplicarse si no se publica primero la solución (gracias a mi compañero Victor Sánchez por la explicación!):
Le damos a «Next», y exportamos la solución como «Managed»:
La solución empezará a exportarse y cuando esté listo se descargará un archivo ZIP a tu PC.
Importar solución
Cambiamos el entorno de Dataverse al entorno al que queremos importar los mapeos, vamos a la sección «Solutions» y le damos al botón «Import»:
Buscamos el ZIP que nos hemos descargado y le damos a «Next» e «Import»:
El proceso de importación tarda un poco, cuando haya terminado veremos la solución en el entorno de destino de Dataverse:
Ahora vamos a nuestro entorno destino de Finance and Operations, hasta la página de Dual-write y hacemos clic en «Apply solution»:
Veréis los mapeos estándar y los de las soluciones que hemos importado. Seleccionamos la nuestra y hacemos clic en «Apply»:
¡Y ya tenemos listos nuestros mapeos en el entorno de destino de FnO!
Versiones de mapeos
Puede ocurrir que después de importarla todavía no veáis vuestra versión del mapeo. Podéis seleccionar el mapeo y, o bien darle al botón «Table map version», o al link en la derecha del nombre del mapeo:
En el diálogo que se abre veréis todas las versiones que se han creado cada vez que se ha usado la opción «Save as», y podéis seleccionar la que queráis activar:
¡Y ya lo tenemos! O puede que no…
Algunas observaciones
Es posible que después de importar la solución, los mapeos no se ejecutarán correctamente en el entorno de destino. Algunas causas podrían ser:
- Falta la integration key de las nuevas entidades.
- Las data entities tienen que ser refrescadas en el entorno de destino o incluso añadidas a la lista de entidades a mano.
- Como he comentado antes, puede que necesitéis cambiar la versión activa del mapeo para usar las que habéis importado.
Pero aparte de esto no deberíais tener problemas. Esto es algo que los desarrolladores de Finance and Operations puede que no hayamos hecho nunca, sobretodo la parte de las soluciones de Dataverse, ¡espero que esto pueda ayudar a alguien!
Y recordad que se acerca la convergencia, y tenemos que empezar a pensar en la Power Platform como una herramienta que complementa a Dynamics 365 Finance and Operations. Y no solo complementar, ¡sino que el Power Platform Admin Centre (PPAC) va a susitutir a LCS en unos meses! ¡Nos espera mucha diversión!