Desplegando componentes SharePoint Framework en múltiples entornos
- Obtener enlace
- X
- Correo electrónico
- Otras aplicaciones
¡Hola a tod@s! En esta ocasión, me complace compartir un método para desplegar componentes SharePoint Framework en los sitios web de SharePoint Online de Microsoft 365. Aunque existen guías oficiales de Microsoft que explican este proceso, quiero ofrecer una perspectiva más detallada sobre cómo implementar y desplegar estos componentes en entornos distintos dentro del mismo tenant de la organización en SharePoint Online.
Este artículo está especialmente dedicado a mis excompañeros junior de trabajo, quienes me han solicitado esta información para contar con una referencia fácil de consultar en el futuro.
Los antecedentes de SharePoint Online
Desde los primeros días de SharePoint Online hasta la versión más reciente disponible al momento de escribir este artículo, una característica que ha estado ausente es la capacidad de tener distintos entornos (Desarrollo, Preproducción y Producción) dentro del mismo tenant de la organización, en contraste con los entornos de trabajo de SharePoint On-Premise.
Por otro lado, el ecosistema de Power Platform ofrece la flexibilidad de tener múltiples entornos de trabajo dentro del mismo tenant de la organización, lo que facilita la implementación de soluciones y la organización de las áreas de negocio.
Para abordar esta carencia en SharePoint Online, existen algunas posibilidades:
- La organización puede optar por adquirir otro tenant de Microsoft 365. Sin embargo, esta estrategia conlleva costes adicionales debido a la duplicidad de infraestructura y el equipo necesario para mantener el nuevo tenant.
- También es posible implementar políticas internas que faciliten la identificación de los distintos entornos dentro del mismo tenant. Esto puede lograrse mediante el uso de prefijos o sufijos en los sitios web para diferenciar los entornos de desarrollo, preproducción y producción.
En la mayoría de los casos, las organizaciones eligen mantener un solo tenant y establecer políticas o criterios para la creación de sitios web en los entornos no productivos. Esta práctica ayuda a simplificar la gestión y reduce la complejidad asociada con la administración de múltiples tenants.
Los antecedentes de SharePoint Framework
Cuando se crea o instala un componente de SharePoint Framework en el tenant de la organización, que cuenta con distintos entornos web, desplegar una nueva versión del componente provoca que se replique automática en todos los sitios web donde se esté utilizando, independientemente del entorno en el que se encuentren. En SharePoint Online, no existe una diferenciación de entornos en su producto.
Esta situación puede ocasionar problemas en los entornos superiores al de desarrollo, ya que no disponen de todas las características nuevas de la versión del componente. Por ejemplo, podrían faltar funcionalidades como el manejo de un nuevo repositorio de datos o la conexión a un nuevo servicio externo.
Para resolver este problema y disponer de paquetes distintos para cada entorno web en la solución de SharePoint Framework, es necesario modificar ciertas propiedades en el archivo 'package-solution.json' de la solución y en cada archivo '.manifest.json' de los componentes que la conforman.
Para facilitar este procedimiento y mantener un registro adecuado en el control de versiones del proyecto, se recomienda realizar una copia de los archivos implicados en el proceso de instalación de paquetes SharePoint Framework y agregar un sufijo indicando el entorno al que pertenecen, como su parametrización.
Por ejemplo, si se tienen entornos de desarrollo y producción en el tenant de la organización, se crearán dos copias del archivo 'package-solution.json' con nombres físicos como 'package-solution-DEV.json' y 'package-solution-PRO.json'. Luego, simplemente se modifica el contenido del archivo original con la versión correspondiente al entorno específico. Este enfoque permite una gestión más eficiente y precisa de las versiones de los componentes en cada entorno de SharePoint Online.
Parametrizar solución SharePoint Framework para distintos entornos
En esta sección, detallan las modificaciones necesarias en las propiedades de todos los archivos relevantes para poder implementar la misma solución en distintos entornos del tenant de la organización.
Fichero 'package-solution.json'
El archivo 'package-solution.json' es fundamental en la configuración de una solución SharePoint Framework, y requiere modificaciones específicas en varias secciones clave:
-
En la sección 'solution'
- La propiedad 'name' define el nombre de la solución en el catálogo de aplicaciones del tenant.
- La propiedad 'id' proporciona un identificador único para la solución en el catálogo de aplicaciones.
- La propiedad 'iconPath', aunque opcional, especifica el icono personalizado de la solución en el catálogo de aplicaciones.
-
En la sección 'solution/features':
- La propiedad 'title' indica el título de la característica que se agrega al sitio web al instalar la solución desde el catálogo de aplicaciones. Esta característica es responsable de desplegar los componentes o web parts de la aplicación en el sitio web.
- La propiedad 'id' asigna un identificador único a la característica desplegada en el sitio web al instalar la aplicación desde el catálogo de aplicaciones.
-
En la sección 'paths':
- La propiedad 'zippedPackage' especifica la ubicación y nombre del paquete generado en Visual Studio Code, el cual luego se carga en el catálogo de aplicaciones de la organización.
Ficheros '.manifest.json'
Es esencial recordar que todas las modificaciones deben realizarse en los archivos '.manifest.json' de cada componente o web part agregado a la solución SharePoint Framework.
En cada archivo '.manifest.json', las propiedades deben ajustarse de la siguiente manera:
-
En la raíz del archivo JSON:
- La propiedad 'id' especifica el identificador único del componente o web part.
- La propiedad 'alias' establece un nombre que facilita la identificación rápida del componente o web part.
-
En la sección 'preconfiguredEntries/title':
- La propiedad 'default' define el título del componente o web part tal como aparecerá en el listado de componentes al agregarlo a una página de SharePoint Online.
Resultado tras las parametrizaciones para los entornos
Después de aplicar estas simples parametrizaciones en la solución de SharePoint Framework, podemos aprovechar varias características importantes al implementar soluciones para nuestros clientes:
-
Posibilidad de disponer de paquetes de solución SharePoint Framework adaptados a distintos entornos dentro de la organización. Esto significa que podemos desarrollar y desplegar versiones específicas de la solución para entornos de desarrollo, preproducción y producción, lo que facilita la gestión y el control de las implementaciones en diferentes etapas del ciclo de vida del proyecto.
-
Mejora en la gestión del cambio empresarial de la organización sin impactar a los usuarios finales. Al poder trabajar de forma aislada en entornos distintos al entorno productivo, tenemos la flexibilidad de realizar pruebas y ajustes necesarios en un entorno controlado antes de implementar los cambios en un entorno productivo. Esto reduce el riesgo de interrupciones y garantiza una transición suave hacia nuevas funcionalidades o actualizaciones.
- Obtener enlace
- X
- Correo electrónico
- Otras aplicaciones