SAP Fiori plugin (II) – Amplia tu launchpad en CF

Introducción

Esta entrada es la segunda parte de como añadir funcionalidad extra en el Launchpad de Fiori, si no la has visto, a que esperas sap-fiori-plugin-amplia-tu-launchpad

En esta caso, ampliaremos un módulo de launchpad creado en Cloud Foundry. Seguiremos la guía oficial help.sap.com , pero ya os digo que en el momento de escribir este articulo, la guía tiene alguna cosa a mejorar, por lo que me he decidido por esta entrada aclaratoria. Con las instrucciones del blog te será suficiente.


Vamos al turrón aunque al final encontrareis un repositorio GIT con todo el proceso.

Creando el modulo de launchpad

Esta parte no tiene mucho misterio, lo crearemos como se crea habitualmente, como necesitaremos también una aplicación SAPUI5 y para facilitarnos la vida, añadiremos como primer paso la creación de la aplicación.

Creando la aplicación inicial

Para crear la aplicación vamos a «FILE» > «NEW» > «Project from template»

Los siguientes pasos del wizard los omitiré ya que solo son añadir los datos de la aplicación, en mi caso: module = plugin/ namespace = plugin

Ahora que ya tenemos la aplicación, podemos añadir el modulo de launchpad

Añadiendo el modulo de launchpad

Pulsando con el ratón (botón derecho) sobre el proyecto, seleccionaremos «New» > «Sap Fiori Launchpad Site Module», solo necesitamos añadir un nombre, en mi caso FLP.

A parte he añadido un modulo extra tipo HTML5 para mostrar un tile, sino se veia muy pobre el launchpad, pero no es necesario. En mi caso lo he llamado module = test/ namespace = pluginTest

El resultado es el siguiente:

Ya podemos modificar una de las aplicaciones HTML5 para que se convierta en un plugin ejecutable.

Creando el plugin

Lo primero será modificar el tipo de componente del proyecto, para ello vamos al archivo manifest.json de la carpeta «plugin» (es la que hemos creado como aplicación html5) a realizar las siguientes modificaciones

  • Modificamos el «type» de «application» a «component»
"sap.app": {
	"id": "plugin.plugin",
	"type": "component",
	"i18n": "i18n/i18n.properties",
  • Lo siguiente es añadir el «chivato» que le dirá al lauchpad que esta aplicación, hay que añadirlo después del objeto «sap.app». Es decir, después del cierre
"sap.flp": {
	"_version": "1.1.0",
        "type": "plugin",
        "config": {}
}
  • Los dos cambios anteriores nos obligaran a añadir un nuevo tag en todos los objetos raiz, por lo que añadiremos «_version» a todos los elementos padre, un ejemplo es el caso anterior «sap.flp». Ojo, que en cada padre hay que añadir distintas versiones. Un truco para ir rápido es pulsar «ctrl» + «space» y nos dara la información necesaria:
"sap.app": {
	"_version": "1.3.0",
...
"sap.flp": {
	"_version": "1.1.0",
...
"sap.ui": {
	"_version": "1.3.0",
...
"sap.ui5": {
	"_version": "1.2.0",
...
  • Ya solo nos queda un último paso, añadir un objeto semántico para que el launchpad reconozca que la aplicación debe estar dada de alta pero no ser visible (esta parte aunque rara es necesaria ya que lo que hacemos en todo el proceso es engañar el launchpad. En todo momento seguimos la guía oficial). Añadiremos «crossNavigation» justo después del objeto sourceTemplate:
"sourceTemplate": {
		"id": "html5moduletemplates.basicSAPUI5ApplicationProjectModule",
			"version": "1.40.12"
		},
"crossNavigation": {
   			"inbounds": {
				"intent1": {
					"signature": {
						"parameters": {},
						"additionalParameters": "allowed"
					},
					"hideLauncher": true,
					"semanticObject": "Shell",
					"action": "plugin"
				}
			   }
		     }

Nuestro plugin esta listo. Ahora podremos añadir el código que necesitemos en el archivo Component.js de nuestra «aplicación» plugin:

Añadiendo el plugin al launchpad

Nos queda un último paso antes del deploy, añadir el plugin al launchpad, para ello, añadiremos la aplicación al catálogo del módulo FLP que hemos creado. No hay que añadirlo a un grupo, solo a un catálogo.

Ya esta todo apunto, solo nos queda hacer «Build» y una vez generado el fichero mtar, hacer deploy.

El resultado es que se dispara nuestro plugin al entrar al launchpad que podremos utilizar para lo que necesitemos:


Como veis, es bastante sencillo añadir una nueva funcionalidad a un launchpad estándar.

Por ultimo, os dejo un enlace a GitHUB con el proyecto que hemos creado https://github.com/enric11/CF_LaunchpadModule_plugin

Y no menos importante, Suscribete y comparte en redes para estar a la última.

Deja una respuesta

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