Objetivo: Qué es un Bundle
El nuevo concepto de Bundle dentro de Plataforma surge con la idea de poder crear activos dentro de Plataforma que pueda compartir entre proyectos, entornos, instalaciones.
Un Bundle es una agrupación de elementos de Plataforma empaquetados, bien en un ZIP bien en una carpeta de un repositorio Git que puedo crear desde un Entorno de Plataforma a través del Control Panel y luego importar en otro Entorno.
Supongamos que he desarrollado una aplicación de Plataforma que tiene varias Entidades, APIs, gadgets, un dashboard y un DataFlow (como este demostrador). A través de la funcionalidad de Bundles puedo seleccionar estos elementos, empaquetarlos y publicarlos en Github para que otros usuarios puedan desplegarlos en su instalación de plataforma.
Cómo se usa en Plataforma
Desde el Control Panel tengo acceso a 3 funcionalidades:
Catálogo de Bundles
Generación de Bundle
Carga de Bundle
Catálogo de Bundles
Desde el Control Panel puedo explorar de forma visual los distintos Bundles públicos disponibles en el Repositorio de Bundles de la versión Comunidad de Plataforma y desde ahí instalarlos en mi instancia.
En futuras versiones podré configurar otros repositorios privados donde un área (Territorios pj) puede disponibilizar sus Bundles.
Generación de Bundle
En esta UI puedo seleccionar los elementos que formarán parte de mi Bundle, incluso buscando por Tag y desde ahí generar el Bundle.
El Bundle se compone de:
Elementos que componen el Bundle
Descripción del Bundle: es un fichero README.md que contendrá una descripción
Imagen del Bundle: una imagen representativa del Bundle
Meta-inf: metainformación del Bundle
Ficheros externos: aquí podemos subir ficheros que sean necesarios para el funcionamiento del Bundle, incluyendo las instrucciones en el README. Por ejemplo si el Bundle necesita unos datos maestros o de ejemplo para funcionar, como un gadget o dashboard, lo dejaremos aquí.
Carga de Bundle
En esta UI puedo seleccionar un ZIP o una ruta de un repositorio Git para cargar el Bundle en mi instalación de Plataforma.
En futuras versiones
En próximas versiones incluiremos:
Carga automática en RealTimeDB de datos en Entidades que los necesiten
Inclusión de microservicios en Bundles para poder empaquetar aplicaciones completas.