Publicar una extensión para Dynamics NAV en la AppSource. Requisitos de Desarrollo I

por | 28 febrero, 2018

Publicar una extensión para Dynamics NAV en la AppSource requiere un trabajo.

En ClipDynamics queremos crear y publicar extensiones para Navision en el marketplace oficial de Microsoft. Y queremos explicarte cómo es el procedimiento.

Este es el quinto artículo en esta serie de posts en los que narramos nuestra experiencia creando y publicando una extensión para Navision en la AppSource de Dynamics 365 for Financials, la versión en la nube de Dynamics NAV.

Ya lo tenemos todo para desarrollar la extensión. Un desarrollo que no se puede realizar de cualquier manera, sino que tiene que cumplir una serie de requisitos técnicos obligatorios, una lista que a día de hoy cuenta con 16 requisitos distintos.

Es importante revisar la lista de requisitos técnicos obligatorios regularmente. Justo unos días después de publicar este artículo, la lista creció a 17 requisitos.

Algunos de ellos son consideraciones previas. Otros son requisitos a tener en cuenta mientras realizamos el desarrollo. Y otros son requisitos que deberemos cumplir cuando hayamos terminado con el desarrollo.

Vamos a hablar hoy de un par de requisitos previos: aprender a desarrollar en Visual Studio Code y reservar un prefijo o sufijo.

Desarrollar la extensión en Visual Studio Code

La AppSource de Microsoft ya no acepta extensiones desarrolladas en C/SIDE (extensiones V1.0), toda extensión que desarrollemos a partir de ahora tiene que ser una extensión V2.0 desarrollada en Visual Studio Code. De modo que el primer paso es familiarizarnos con el nuevo entorno de desarrollo.

Os dejo algunos enlaces que os pueden ayudar a conocer esta nueva herramienta:

Utilizar prefijos o sufijos para eliminar la colisión entre extensiones

Imaginad que vuestra extensión crea, en la tabla de clientes, un campo llamado «Default Ship-To Address».
Imaginad también que otra extensión crea, en la misma tabla, un campo llamado «Default Ship-To Address».

Misma tabla, mismo nombre de campo. Seguramente el ID del campo será distinto, porque cada extensión tendrá asignado su propio rango de numeración, pero el hecho de coincidir en nombre genera una colisión.

Dynamics NAV no permite que haya en una misma tabla dos campos con el mismo nombre, aunque tengan IDs distintos.
Del mismo modo que no permite dos tablas distintas con el mismo nombre, aunque tengan numeraciones distintas. Ni dos páginas distintas con el mismo nombre, ni en general dos objetos del mismo tipo con el mismo nombre.
Tampoco permite dentro de una página, mostrar dos campos con el mismo nombre, ni tener dos acciones con el mismo nombre, etc.

Volvamos a las dos extensiones distintas que crean en la misma tabla dos campos distintos pero que tienen el mismo nombre. Se generará una colisión. La primera de las extensiones que se publique e instalé no tendrá ningún problema, pero no conseguiremos publicar ni instalar la segunda.

La solución pasa por utilizar nombres únicos. Y para conseguirlo, podemos hacer uso de un prefijo o sufijo.

Si mi campo se hubiera llamado «CLIP Default Ship-To Address» y el de la otra extensión se hubiera llamado «Default Ship-To Address EXT», no existiría la colisión.

Así que debemos escoger un prefijo o sufijo y utilizarlo en las siguientes situaciones:

  • Al nombrar objetos
  • Al crear campos en tablas estándar
  • Al mostrar campos en páginas estándar
  • Al crear acciones en páginas estándar

No sería necesario para crear campos en una tabla propia o para cualquier otro elemento que requiere un nombre dentro de objetos propios, como al crear variables o funciones en codeunits o páginas propias.

Reservar el prefijo o sufijo elegido

Dos extensiones distintas pueden haber elegido el mismo prefijo o sufijo, generar los mismos campos con los mismos nombres en las mismas tablas, y acabar generando colisiones igualmente. Por lo que es importante reservar el prefijo o sufijo que hayamos escogido. Si existe colisión entre dos extensiones que utilizan el mismo prefijo o sufijo, ganará la que lo tenga reservado.

Se puede escoger un prefijo o sufijo general, a nivel de empresa, y utilizarlo en todas las extensiones que desarrollemos.
O podemos escoger un prefijo o sufijo distinto para cada extensión que desarrollemos.

En ClipDynamics hemos escogido el prefijo CLIP, que vamos a utilizar en todas las extensiones que desarrollemos. Ya lo tenemos reservado.

La reserva se hace enviando un e-mail a la dirección d365val@microsoft.com

Para más información, te invito a leer el artículo Benefits and Guidelines for using a Prefix or Suffix.

Un saludo,
Cristina Nicolàs


Todos los artículos de esta serie

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.