Open restrepo opened 5 days ago
Buen día profesor @restrepo, para que la petición a la api del listado de productos de una institución o persona sea efectiva se deben incluir los parámetros de ruta max, page, sort y filtros que indican la cantidad de productos por página, la página que se consulta, el ordenamiento de los resultados y los filtros a aplicar respectivamente, así: api.impactu.colav.co/affiliation/institution/66f6f3a999b6ea475f3a35d2/research/products?max=10&page=1&sort=citations_desc Si se consume la ruta sin esos parámetros entonces se piden todos los productos relacionados a esa entidad y eso sobrecarga la memoria del servidor, se procede desde backend a controlar los valores por defecto de tales parámetros para evitar tal sobrecarga. @luismvargasg es posible construir la url que entrega el frontend para agregar los parámetros de ruta respectivos al listado de productos que se está mostrando y de esa forma que sea solo agregar "api" al comienzo de la url para obtener los resultados de la api de expertos?
@joselomanuelo En efecto en este momento poner max=1
causa error:
https://impactu.colav.co/search/works?max=1&page=1&sort=citations_desc
@joselomanuelo En efecto en este momento poner
max=1
causa error:https://impactu.colav.co/search/works?max=1&page=1&sort=citations_desc
En efecto profesor, ya que se están manejando como valores minimos y máximos 10 y 250 en ese parámetro max, reduciré el mínimo a 1 para permitir consultas desde un producto. Un máximo muy grande podría sobrecargar la memoria.
Quedan apiclados los cambios sobre los parámetros de ruta en https://github.com/colav/quyca/pull/77 y https://github.com/colav/quyca/pull/78
Buen día profesor @restrepo, para que la petición a la api del listado de productos de una institución o persona sea efectiva se deben incluir los parámetros de ruta max, page, sort y filtros que indican la cantidad de productos por página, la página que se consulta, el ordenamiento de los resultados y los filtros a aplicar respectivamente, así: api.impactu.colav.co/affiliation/institution/66f6f3a999b6ea475f3a35d2/research/products?max=10&page=1&sort=citations_desc Si se consume la ruta sin esos parámetros entonces se piden todos los productos relacionados a esa entidad y eso sobrecarga la memoria del servidor, se procede desde backend a controlar los valores por defecto de tales parámetros para evitar tal sobrecarga. @luismvargasg es posible construir la url que entrega el frontend para agregar los parámetros de ruta respectivos al listado de productos que se está mostrando y de esa forma que sea solo agregar "api" al comienzo de la url para obtener los resultados de la api de expertos?
Hola, ¿entregar la URL construida en qué punto exactamente? En el botón de API del listado de productos dentro de las entidades ya se entrega la URL construida:
Si lo que se necesita es que la URL del navegador refleje todos esos parámetros propios de los listados de productos la cosa se complejiza, enviar esos parámetros a la URL acarrea problemas de rendimiento pues hay muchos otros componentes que dependen de los cambios que se registran en la URL del navegador. Precisamente el botón API allí dispuesto le ahorra al usuario tener que ir a hacer cambios directamente en la URL.
Voy a revisar la viabilidad de implementar esos parámteros en la URL del navegador midiendo la variación en los tiempos de respuesta y renderizado.
@luismvargasg. Sí, así funcionaba originalmente y así funciona OpenAlex e INSPIREHEP donde el usuario experto puede manejar directamente los parámetros en la URL
@joselomanuelo @luismvargasg El API de resultados de productos debe ser el mismo API de experto ofrecido en los listados de los perfiles. Además, el resultado de búsqueda de productos también debe ofrecer los botones de descarga de CSV (con un límite de resultados de descarga) y el del API.
Resultado de productos:
Perfil de autor:
El API de experto debería ser el que use por defecto cuando se añada el api al url: https://**api**.impactu.colav.co...