Hola, estábamos viendo que incorporaron una clase en toba para poder usar el js_app_launcher1, llamada toba_app_launcher.php
La cuestión es que quería extenderla para poder hacerle unos seteos propios, y como los métodos están todos declarados como privados, tengo que redefinir la mayoría de los métodos sin poder reutilizarlos, creo que si los pusieran como protected seria mas sencillo.
Por ejemplo, esta correcto que sea “singleton”, pero entonces tuve que redefinir el método instancia para que construya una instancia de mi clase, y no toba_app_launcher. Cuando hice eso, me dijo que el __construct() era privado, tuve que redefinirlo con el mismo código. Cuando lo hice, el constructor utiliza el método cargar_app_launcher_data, que también es privado, y tendría que declararlo nuevamente, aunque el código seria idéntico.
No recuerdo bien si pasar el __construct() a protected rompe el patrón singleton. Si fuera así, al menos el resto de los métodos sí deberían poder ser extendidos.
Ante todo, te agradezco el interés por utilizar la librería JS app-launcher.
Te quería preguntar cual era el motivo de extender la clase toba_app_launcher que llama a dicha librería JS?
¿es para modificar la lógica de la misma?,
¿cambiar la forma de obtener los datos que cargan el app-launcher? o
¿tienen pensado agregar algún dato extra que no se esta mostrando hoy en día en la librería?
La realidad era que no encontré de donde levanta actualmente los proyectos del usuario (No encontré si lo hace desde el Toba Usuarios), asi que como yo los voy a cargar en una DB nuestra, quería hacer un setter para $appLauncherData, que no es mas que asignarle un array con el formato esperado por la lib js_app_launcher.
Entonces, levanto la data de la base, seteo dicha variable, y muestro solo las aplicaciones que quiero mostrar (Mas adelante eso va a filtrar por el usuario actualmente logueado y cosas mas sofisticadas, pero en su forma básica ya lo tengo andando). El setter no es mas que una linea.
Le agregamos un método para setear los datos al app-launcher, se llama set_app_launcher_data($appLauncherData). Espero que te sea de utilidad y puedas aprovechar la clase toba_app_launcher.
Ahi mire el changeset y es lo mismo que habia hecho, asi que esto esta excelente. Ahora, una duda: ¿De donde tienen ustedes la intencion de extraer la data de los proyectos por usuario? Del Toba Usuarios? Era algun modulo que se va a implementar a futuro? Solo por curiosidad consulto.
La idea es obtener dicha información del sistema SIU-Arai que se esta desarrollando.
Inicialmente ese dato se obtiene del token SAML que envía el IdP del modulo Arai-Usuarios perteneciente a SIU-Arai, a futuro ese dato se obtendrá mediante servicios web a dicho IdP.
Te quería comentar que en el commit 6790 de toba/trunk_versiones/2.7 modifique el nombre de unos de los parámetros que recibe el app-launcher, cambie el nombre de tittle por descripcion. La funcionalidad es la misma, se cambio por cuestiones semánticas.
Perfecto, lo tengo en cuenta para un futuro update. De hecho, era confuso el nombre title cuando tenia toda la pinta de descripción. Gracias por el aviso.