Mostrar Mensajes

Esta sección te permite ver todos los mensajes hechos por este usuario, recuerda que solo puedes ver los mensajes en áreas en donde tu tienes acceso.


Mensajes - richard

Páginas: 1 2 3 [4] 5 6 ... 181
46
Toba - Desarrollo / Re:Api rest de login
« : febrero 03, 2020, 10:12:29 am »
Hola Leo,

no existe el concepto de login para lo que es api rest, ni tampoco se mantiene sesion (de toba como tal) para la misma por eso no encontraste nada.
Si vas a acceder a la aplicacion hecha en Toba via api rest, tenes que enviar toda la informacion en cada pedido ya que el server de tal api es por definicion stateless.

Si solo necesitas el login, te diria  que uses un IDP y si solo es via REST... lo que necesitarias es algun mecanismo (que puede usar JWT) para facilitarte el tema... pero en el servidor no se mantiene nada.

Saludos

47
Toba - Instalación / Re:Error Instalación toba_3_3
« : enero 09, 2020, 10:26:28 am »
Hola Jhon,
no te entiendo.. hicieron una nueva instalacion con Toba 3.3 o simplemente modificaron el alias para que apunte al nuevo lugar y metieron eso en el archivo instalacion.ini?.

Contame exactamente que pasos hicieron, ya que la modificacion del archivo bases.ini es extraña cuanto menos.

Saludos

48
Hola Mariano,
Hola Richard, gracias por contestar, estamos trabajando en toba 3.1.5.
Lo que hice la primera vez en produccion fue hacer un git clone, composer install, toba instalacion instalar y despues un toba proyecto cargar.
ok... pero eso lo hiciste para el primer proyecto o para ambos?.
No esta mal, son los pasos correctos en produccion... pero vos queres tener ambos proyectos sobre una misma instalacion, cosa que se lleva de los pelos con el formato de proyectos autocontenidos.

Tenes dos opciones:
- Clonarlos en carpetas separadas:
 El tema aca es el siguiente, como ejecutas los comandos para este proyecto sin impactar en el otro?, aun cuando estén en instancias separadas hay muchos archivos que son globales a la instalación, por ende si hicieras un "toba instalacion despublicar"... estarías afectando ambos proyectos y quizás no es lo que buscas.

Tendrías que hacer el archivo de entorno para uno de los proyectos completamente a mano (y ubicarlo en la raíz del proyecto), ya que no tenes proceso de instalación alli que lo genere, tampoco tenes el symlink al comando  toba para poder ejecutar los comandos administrativos.. eso deberias hacerlo manualmente tambien.

Aun con eso y los alias correctamente generados para el proyecto, un pequeño error te puede dejar a gamba ambos dos... asi que hay que tener mucho cuidado.
Finalmente, como comparten la carpeta vendor... las dependencias de los proyectos tienen que ser exactamente iguales... ya que solo vas a usar composer en uno de ellos.

- Meter uno dentro del vendor de otro:
Esto seria mas complicado me parece, ya que con cada composer update... estarias asesinando la carpeta del proyecto interno (y su archivo de entorno), ademas de todo lo que menciono en el punto anterior.

Citar
Nosotros en desarrollo estamos trabajando sobre 2 containers de docker distintos.
Bien, la consulta es entonces.. por que motivo requieren que este todo en una misma instalacion?... comparten instancia esos proyectos?

Saludos

49
Toba - Desarrollo / Re:toba memoria en JS
« : enero 08, 2020, 11:34:31 am »
Hola Jhon
Richar, buenas tardes
Cual es la sintaxis en JS, para actualizar un variable y posteriormente recuperarla en PHP ?

la unica manera de recuperar un valor del cliente en PHP, es si el mismo llega como parámetro ya sea en un pedido via GET o POST.
PHP no lee variables en JS y viceversa, estas en un ambiente desconectado.

Citar
en php es
toba::memoria()->set_dato_instancia('operacion',  'agregar');

en JS intentamos con
toba.memoria.set_dato_instancia('operacion',  'agregar');
Pero no funciona
Y no debe tampoco, primero porque no existe como tal y segundo porque toba::memoria()->set_dato_instancia() trabaja sobre la session de PHP, en el cliente la unica conexion que tienes con la session es via la cookie, la cual NO debe ser accesible via JS y definitivamente de la cual Toba no lee valores.

Entonces, si necesitan enviar un valor al servidor... se debe realizar via un pedido de pagina.

Citar
Lo que busco es capturar en el cliente el evento agregar fila de un ML, para llenar un combo dependiendo de la operación seleccionar o nuevo
Momento, a ver si entiendo correctamente.

La seleccion o agregado de registro nuevo es a nivel de operacion no?.
Si es asi, eso lo sabes en el servidor antes de enviar el ML al cliente y por lo tanto en el Ci puedes usar un metodo que cargue las opciones del combo segun el stage en que estes.

Si no es a nivel operacion, sino a nivel ML.
El combo de la fila modelo viene con valores pre-cargados desde el servidor, para re-cargarlo necesitas algo similar a una cascada ...o un pedido ajax explicito, en este ultimo caso puedes enviar como parámetro si se trata de un nuevo registro o no sin mucho problema, solo involucra que tengas una variable como bandera para señalizar dicho caso.

Recuerda que cuando se crea una fila se realiza el procesamiento de todos los efs, asi que ese podria ser un buen lugar para invocar el pedido ajax si es necesario.

Saludos

50
Hola Mariano,

depende en que version de Toba estes trabajando y como este hecha la instalacionn de ambos proyectos.
Dame un poco mas de info para poder orientarte.

Saludos

51
Hola Juan feliz año!,
Tengo el siguiente desafío: Quiero abrir la pantalla de edición de una operación distinta a la que estoy parado, desde un evento en un cuadro de selección, para ello lo que intente fue definir el evento ("ver_ultimo_pase") con acción de vinculo apuntando a la operación deseada con un parámetro agregado y luego usar un servicio de dicha operación para moverme a la pantalla de edición, con el elemento cargado según el parámetro. Pero esto me esta dando el error: "No es posible cambiar la pantalla a mostrar porque ya a sido utilizada".  Adjunto imágenes del proceso, cualquier información  adicional que necesiten me avisan.

podrias lograr algo similar sin tener que usar una llamada a un servicio especifico (que ademas recorre otro codepath).

El vinculo a la otra operacion lo podes dejar como esta, solo le sacaria la parte del servicio manual y le dejaria la opcion por defecto (generar_html).
Con eso efectivamente estas navegando a la otra operacion, con el parametro que le agregaste al vinculo.

Dentro de la misma lo que haria es buscar dicho parametro en uno de los metodos de inicializacion, por ej: ini__operacion().. el cual se ejecuta al entrar a la operacion por primera vez.
Como no es conveniente interrumpir la etapa de eventos, guardaria dicho valor en una variable de clase y luego en la etapa de configuracion definiria que pantalla es la que se debe mostrar.

En dicha etapa, en el metodo conf() de dicho Ci... podes definir a que pantalla queres ir y luego hacer que la dependencia cargue el valor adecuado para la edicion, en definitiva.. primero definis que pantalla enviaras al cliente y luego trabajas con la dependencia que necesitas.. sino se te podria dar el caso en que estes intentando acceder a una dependencia que no va a ser graficada, lo cual es un desproposito.

El problema que estas teniendo es que vas al Ci 'bandejas' a pedirle que realice algo que podes realizar normalmente vos en el codigo que tenes ahi.
Al invocarlo via el metodo dep(), estas forzando el pasaje a la etapa de configuracion con lo cual la pantalla a graficar en ABM Pases queda fija y al intentar cambiarla luego se genera el problema.

Saludos

52
Toba - Desarrollo / Re:enlace simbolico por proyecto
« : diciembre 30, 2019, 04:18:12 pm »
Hola Jhon
Si Richard, es claro
Pero concretamente cuando navegamos a toba_editor/3.2  a cuál  proyecto se hará referencia con respecto a los N proyectos que se puedan tener ?

A ver, no se si termino de entender tu pregunta... si navegas a toba_editor/3.2... solo vas a poder seleccionar entre los proyectos que estes editando en esa instancia, si tienes otros proyectos en otra instancia necesitas acceder a otra instalacion de toba_editor.

Dicho de otra manera, si tienes N instalaciones de toba_editor.. .necesitas N alias diferentes para toba_editor y obviamente no se pueden llamar toba_editor/3.2
Puedes usar como sufijo el nombre del proyecto que deseas editar y de esa manera distinguirlos... pero deben tener nombres distintos.
Una vez hecho eso... cada editor hace referencia unicamente a la instancia sobre la cual trabaja, como siempre.

Saludos


53
Toba - Desarrollo / Lanzamiento SIU-Toba 3.3.0
« : diciembre 30, 2019, 04:09:45 pm »
Hola a todos,

queriamos avisarles que está disponible la versión 3.3.0 de SIU-Toba, incorporando cambios importantes:
  • Se require PHP 7.3+ como version minima
  • Se corrigen varios detalles visuales y de exportaciones con los manejadores de salida
  • Las membresias de PF se exportan a un archivo separado
  • Se elimina el paquete Yahoo/Yui
  • Se pasa el paquete SIU/RDI a sugerido
  • Se actualizan las versiones de librerias varias.

Se recomienda leer el  CHANGELOG de la versión para un listado mas completo de cambios.

Saludos

54
Hola!
Citar
Como generas ese vinculo?... lo envias via mail?
Lo envio vía email, en forma de QR, url+parametro. La persona ingresa a la url, con el parametro se recuperan datos de la base, y se genera un mensaje en pantalla y la posibilidad de descarga de un PDF que se arma en el momento (con los datos descargados).
Bien, tene en cuenta igualmente que ese parametro cuando el QR pasa a URL se vuelve modificable... asi que asegurate que viene lo que deberia antes de mandarlo a la SQL.. y si es posible, que esta ultima use sentencias preparadas.

Citar
Se lo de la versión... tengo que hacer el cambio, pero es una cuestión de tiempos, y una lucha importante... (al menos para mí).
Ya lo haré! te lo prometo.
No es por eso, sino una cuestion de ahorrarte despioles vos mismo.
Saludos!

55
Hola Martin,
Hola!
quería saber si era posible que, desde fuera del proyecto, un tercero, ajeno a un desarrollo, pudiera acceder a una operación pública, usando una url particular, por ejemplo, que muestre en pantalla un texto y permita la descarga de un archivo.
Si la operacion es publica, mientras tenga la URL y un browser puede acceder sin problemas... estan hechas justamente para que no sea necesario pasar por el login.

Citar
Es decir, la url que le pase a ese tercero, debería contener al menos un parámetro que pudiera ser leído por la operación.
Como generas ese vinculo?... lo envias via mail?

Citar
Estoy usando la versión 2.3
Si lo es? implica mucho riesgo en cuanto a seguridad (neofito en estos temas)? como sería la url a pasarle al tercero (capaz se pasa como un código QR)? como hago para pasar y leer el parámetro en la operación (que debe ser pública, no?)
A ver... estas usando una version vieja (con ganas) de Toba... que probablemente corre en una version aun mas vieja de PHP.. (<5.4 probablemente), con esto ultimo te diria que ya tenes suficientes agujeros no parchados como para preocuparte de algo mas.

De todas maneras, todo dependerá de que pases en el parámetro y como lo verifiques y utilices cuando llegue a vos... los parámetros por URL tienen el inconveniente que son fácilmente modificables por cualquiera y al tratarse de una operación publica eso implica que podría descargar mas de lo que vos quisieras que descargue... todo depende como armes el esquema.

La URL es un vinculo y lo vas a pasar como tal salvo que le hagas algun pre-procesamiento (el cual vas a tener que tomar en cuenta al momento del retorno). El parametro lo lees via toba::memoria().

Saludos

56
Hola Juan,

te diria que te fijes en la pestaña Datos,  en la definicion de la fuente  (editala y pasate a la segunda pestaña) que schemas tiene incorporados y cual tiene marcado por defecto.
Quizas este faltando eso, sino es simplemente que tenes que seleccionar en el combo "Fuente" con cual queres trabajar (suponiendo que el proyecto tenga mas de una).

Saludos

57
Toba - Sugerencias / Re:Soporte para PHPStan
« : diciembre 13, 2019, 12:44:33 pm »
mmmm, vuelvo al primer error con eso así, donde no encuentra ninguna de las clases. Si solo incluyo esos archivos, donde "ejecuta" los autoload? Por lo que veo es una clase con métodos unicamente.

En teoria los autoload los tiene que registrar nomas, una vez hecho eso solamente se invocan cuando no se encuentra cargada la definicion de una clase en memoria... sino no deberia pasar nunca.

Citar
Igual mi idea no era que tengas que tocar todo el framework para que funcione esta tool, pensé que por ahí había un script que hacia los include globales y podía alcanzar con eso, pero ahora que decís, es verdad que tampoco hay namespaces en gran parte del código.
Hay partes que es dificil que funcionen.. pero eso al menos lo podriamos agregar al exclude para que no lo analice... al menos igualmente quedaria el resto.
Seguramente si hacemos una extension para la herramienta podamos definir con mayor detalle algunas cosas que con la config por ahi no nos alcanza, voy a chusmear un poco mas para ver que nos proveeria eso.

Ciertamente te voy a pedir que me ayudes con el testing del lado de los proyectos, aun cuando Toba pudiera lanzar un analisis sobre si mismo... lo bueno seria que los proyectos puedan adoptarlo para CI.

Saludos

58
Toba - Sugerencias / Re:Soporte para PHPStan
« : diciembre 11, 2019, 12:34:54 pm »
Hola Tomas,
Dale, veo si puedo forkear el branch.
El branch esta pensado para correr PHPStan dentro de Toba... asi que le archivo neon tuyo probablemente deba incluir el de Toba estimo.

Citar
O sea, no esta levantando el autoload (y es correcto porque toba lo maneja aparte de composer)
2) Cree un archivo de config phpstan.neon para decirle que haga autoload del directorio php:
Archivo phpstan.neon:
Código: [Seleccionar]
parameters:
        autoload_directories:
                - php
Yo opte por pasarle directamente el archivo autoload que tiene que levantar, ya que los que usa el framework tienen  por nombre IdProyecto_autoload.php con lo cual no necesariamente puede reconocerlo.

Citar
Código: [Seleccionar]
Note: Using configuration file /path/al/proyecto/phpstan.neon.
  11/204 [▓░░░░░░░░░░░░░░░░░░░░░░░░░░░]   5%
Warning: require_once(consola/consola.php): failed to open stream: No such file or directory in /path/al/proyecto/php/extension_toba/stock_comando.php on line 3

Fatal error: require_once(): Failed opening required 'consola/consola.php' (include_path='/path/al/proyecto/vendor/pear/console_getopt:/path/al/proyecto/vendor/pear/pear-core-minimal/src:/path/al/proyecto/vendor/pear/pear_exception:/path/al/proyecto/vendor/siu-toba/numbers_words:/path/al/proyecto/vendor/siu-toba/structures_graph:/path/al/proyecto/vendor/siu-toba/text_highlighter:/path/al/proyecto/vendor/pear/console_getopt:/path/al/proyecto/vendor/pear/pear-core-minimal/src:/path/al/proyecto/vendor/pear/pear_exception:/path/al/proyecto/vendor/siu-toba/numbers_words:/path/al/proyecto/vendor/siu-toba/structures_graph:/path/al/proyecto/vendor/siu-toba/text_highlighter:.:/usr/share/php') in /path/al/proyecto/php/extension_toba/stock_comando.php on line 3
Todo lo que sea extension de comandos va a ser un problema a resolver, por dos motivos:
- Tiene diseño top-down, asi que cada archivo va incluyendo lo que necesita hacia abajo... hay una cantidad minima de herencia ahi.
- A causa de eso, no hacen uso del autoload y por ende es cuasi imposible que PHPStan enganche las clases correctas salvo que arranque a ejecutar desde el launcher de Toba.

Ciertamente ahi voy a tener que encontrar la manera de que reconozca la presencia de esos archivos por mas que no esten en el autoload.

Citar
3) Intentando y probando varias cosas, termine con el archivo phpstan.neon de la siguiente manera

Código: [Seleccionar]
parameters:
        autoload_directories:
                - php
                - vendor/siu-toba/framework/php
        excludes_analyse:
                - vendor/siu-toba/framework/php/convenciones
                - vendor/siu-toba/framework/php/modelo/migraciones_instancia
                - vendor/siu-toba/framework/php/3ros

Los exclude son necesarios porque detecta clases duplicadas. En este punto, la salida que obtengo al ejecutar el ya mencionado comando es esta:
Bien, es mas o menos similar a lo que llegue yo.. solo que aun asi se muere impunemente en menos del 10%, tendria que agregar la exclusion para las migraciones de la instancia que me estan faltando.

Citar
Código: [Seleccionar]
  68/204 [▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░░░░░]  33%
Warning: require_once(consola/consola.php): failed to open stream: No such file or directory in /path/al/proyecto/php/extension_toba/stock_comando.php on line 3

Fatal error: require_once(): Failed opening required 'consola/consola.php' (include_path='/path/al/proyecto/vendor/pear/console_getopt:/path/al/proyecto/vendor/pear/pear-core-minimal/src:/path/al/proyecto/vendor/pear/pear_exception:/path/al/proyecto/vendor/siu-toba/numbers_words:/path/al/proyecto/vendor/siu-toba/structures_graph:/path/al/proyecto/vendor/siu-toba/text_highlighter:/path/al/proyecto/vendor/pear/console_getopt:/path/al/proyecto/vendor/pear/pear-core-minimal/src:/path/al/proyecto/vendor/pear/pear_exception:/path/al/proyecto/vendor/siu-toba/numbers_words:/path/al/proyecto/vendor/siu-toba/structures_graph:/path/al/proyecto/vendor/siu-toba/text_highlighter:.:/usr/share/php') in /path/al/proyecto/php/extension_toba/stock_comando.php on line 3
Es lo que te decia mas arriba, intenta cargar desde tus clases... cuando en la consola el camino es inverso, salvo que tengas el require_once explicito, no va a encontrar la clase.
Ademas, justamente esa parte requiere de parametros para determinar proyecto, directorio de instalacion, etc... no es muy "static" friendly.

Citar
Una cosa que se me ocurre probar (aun no me hice el tiempo) es ver si se puede hacer un autoload de todo toba en composer tal como indican aca[1]. No es util para toba en si pero por ahi le sirve a phpstan. Tenes idea si eso se puede hacer?

[1]: https://getcomposer.org/doc/04-schema.md#psr-4
Toba ya tiene apuntado en composer el autoload con formato psr-4, lo que hay que ir haciendo es pasar el resto de las clases a namespaces e incorporarlas ahi dentro.
Me parece que es mas sencillo hacer asi:

Código: [Seleccionar]
parameters:
        autoload_files:
           - php/proyecto_autoload.php
           - vendor/siu-toba/framework/php/toba_autoload.php

Y con eso intentar garantizarse que levanta ambos,  igual.. .aun con eso, la parte de consola seguramente siga fallando.. asi que quizas debas meter esa parte dentro del exclude.

Saludos

59
Toba - Sugerencias / Re:Soporte para PHPStan
« : diciembre 10, 2019, 11:46:41 am »
Hola Tomas,

estoy mirando un poco la herramienta asi que si queres vamos viendo juntos como llevarlo adelante, podemos ir agregando cosas en este branch .

Solo hay una cuestion que no se si sea salvable.

PHPStan no es tan estático como promete, de hecho hay algún issue al respecto (que  pinta mas a won'tfix que a otra cosa).. lo cual en Toba puede ser un problema ya que al intentar ejecutar ciertas partes del código le va a pedir una conexión a la bd. Por ahora el problema que encontre es que se corta abruptamente por consumo de memoria incluso teniendo un limite muy superior, ya me sume a un issue donde se plantea lo mismo para ver si hay forma de resolverlo.

Fuera de eso, es mas que probable que haya que hacer algún tipo de extensión para que entienda cuestiones particulares del framework.. pero como decís, para eso hay que indagar mas en la documentación.

Saludos

60
Toba - Desarrollo / Re:enlace simbolico por proyecto
« : diciembre 04, 2019, 12:23:09 pm »
Hola Jhon,
La pregunta concreta es por cada instalacicón se crea un enlace simbolico a toba_3.2 ? o el mismo sirve para todos ? ya que cuando ejecutamos dicho comando al final de cada instalación dice que ya existe, o como los diferenciamos ?

Por ejemplo en la base de datos creamos una nueva por cada proyecto toba_2_3_proyectoN
Tenes un enlace simbolico por cada archivo toba.conf que exista, dentro de ese archivo tenes todos los alias que necesita el proyecto en particular (incluido el de Toba).

La pregunta seria si cada instalacion de Toba necesita su propio alias?.. .la respuesta es SI.
Tenes un alias por cada instalacion del proyecto, por lo tanto cada Toba que tenga dentro debera tener su alias propio.
No podes asegurar que distintos proyectos tengan exactamente la misma version de Toba... lo que si podes asegurar, es que cada proyecto va a tener internamente la version que necesita.

Saludos

Páginas: 1 2 3 [4] 5 6 ... 181