Guarani 2.8 - Web y Kolla

Hola a todos,

Les escribo por varios problemas, algunos en Kolla otros en Guarani y otros de integración de ambas soluciones.

Tenemos Guarani 2.8.0 instalado y Kolla 3.4.1 instalado. Comienzo a detallar algunos de los problemas.

Problema 01:

Tenemos una instalación en Guarani con 22 instancias distintas en el config.php. Por web todo funciona bien, pero el tema está en la
utilización de la consola para generar el catálogo. Vemos que tiene hardcodeado el id des01 por todos lados, nosotros tenemos los
identificadores de la forma ua_02, ua_03, etc. ¿Cómo hacemos para invocar a la consola con la UA que queremos para poder generar el
catálogo de personalizaciones, etc?

Problema 02:

Siguiendo el tema de Kolla 3.4.1 integrable con Guarani. Llegamos al punto de que desde la interfaz gerencial hacemos el tema del linkeo de la encuesta, pero sale un mensaje “Error interno”, y en el log del sistema operativo vemos:

[Wed May 21 11:44:41 2014] [error] [client 163.10.149.41] PHP Fatal
error: Call to undefined function kernel\util\ws_get_key_from_file()
in /var/www/guarani28/src/siu/lib/kernel/util/ws_cliente.php on line
120, referer: http://163.10.0.78:84/economicas28/kolla_alcance/boton

No encuentra esa función…

Duda 3:

La instalación de Kolla sirve para soportar muchas facultades, o tenemos que tener instalado n instalaciones de Kolla para eso. Tengo funcionando la comunicación Guarani → Kolla, pero en Kolla no tengo el linkeo Kolla → Guarani, es decir no levanto los datos de Guarani para completar Institución y todo eso en Kolla.

Duda 4:
El perfil gerencial en la version 2.7 del Web tiene varias operaciones posibles, como consultar la Ficha del Alumno, del Docente, actas, entre otras. En esta versión tiene solo la integración con Kolla. Cuando se le asocian las Actas por ejemplo , muestra solo si tiene asociado como docente… debería mostrar todas las actas como sucede ahora…

Desde ya, muchas gracias!!

Equipo de Sistemas Académicos
UNLP

Buenas,

Te voy respondiendo por 02 y 03.

02- Quizás falte en la documentación, pero tienen que instalar los ws de Toba, ya que Kolla está hecho en Toba. https://repositorio.siu.edu.ar/trac/toba/wiki/Referencia/ServiciosWeb/Instalacion

03- La instalación de Kolla sirve para soportar muchas facultades, pero ustedes van a tener 1 solo usuario de guarani en Kolla, ya que por diseño es 1 usuario por sistema (es por configuración, no por bd).
Recuerden que tampoco hay perfiles de datos en Kolla, por lo que de una u otra forma los datos van a estar compartidos por todas las ua.

Igualmente, con configurar los sistemas como dice aca https://repositorio.siu.edu.ar/trac/Portal-G3/wiki/G2/guarakolla, les va a permitir que para cada ua se creen juegos de encuestas distintos (habilitaciones).

“Tengo funcionando la comunicación Guarani → Kolla, pero en Kolla no tengo el linkeo Kolla → Guarani, es decir no levanto los datos de Guarani para completar Institución y todo eso en Kolla.”

Esta bien. Kolla es servidor solamente (no hay comunicacion kolla->guarani por ws). No utiliza esos datos.

En breve les responden las otras consultas, y no duden en volver a consultar algo sobre estos temas tampoco.
Gracias,
Saludos,

Alejandro

Punto 4:
Quedó para una segunda etapa completar las operaciones que actualmente estan en el perfil gerencial de la version 2.7. Es decir que debería estar completandose para la próxima versión despues de la 2.8.1

Cuando se le asocian las Actas por ejemplo , muestra solo si tiene asociado como docente.. debería mostrar todas las actas como sucede ahora..
¿Aca estas hablando del perfil gerencial o del perfil docente?

Punto 1:

Este problema sale resuelto para la versión 2.8.1, si me confirman, se lo podemos aplicar como HOTFIX al nodo de ustedes!

Saludos
Sergio

Hola,

Gracias a todos por las respuestas.

En relación al punto 1, necesitamos tener la consola funcionando con la capacidad de soportar múltiples ambientes para poder seguir con el desarrollo y prueba de las personalizaciones para cada Facultad.

En relación al punto 2, estoy en proceso de instalación de las librerías, no estaba en la documentación que era necesario eso. AHora sigo escribiendo :slight_smile: Terminé de instalar. Ahora del lado de Guaraní generencial cambio el error cuando quiero asociar la encuesta dice “Soap Fault: Unknown Error :frowning: Detail:”. No queda claro que pasos hay que seguir desde Kolla. Solamente es necesario definir la encuesta? O algún paso más?
Por otro lado en la documentación dice que Kolla y Guarani deben estar en el mismo dominio. A qué se debe la restricción? Puedo poner ambas aplicaciones en virtualhost / equipos separados?

En relación al punto 3, entonces quiere decir que vamos a tener un https://kolla.unlp.edu.ar y se van a crear las encuestas todas ahí para todas las facultades? He visto que en config.php de Guarani 2.8 solamente se puede especificar url_kolla a nivel global.

En relación al punto 4, seguramente mañana Paola te va contestar sobre este tema.

Gracias!
Alejandro

En relación al punto 2, con respecto a la vinculación Kolla - Guaraní lo hice andar. Entré como un alumno luego y pude completar la encuesta sin problemas. Igual no queda muy claro el tema de las habilitaciones. Desde el aplicativo de gestión se pone el ID de la encuesta a habilitar (Ese nro lo sacamos de Kolla). Esa es la única restricción para limitar una encuesta a una UA?

Saludos,
Alejandro

Hola, respecto al punto 4, probamos asociar la operación de los docentes porque pensamos q podría servir, pero si el usaurio gerencial no es docente no ve ningún acta.

Se puede liberar con la versión 2.8.1? porque la gran mayoría de las facultades usan este perfil!

Saludos y gracias!!
Paola

Hola Alejandro,

3 - Si, en principio, operarían todas las UA con el mismo Kolla. En tal caso funciona como dice el punto siguiente.

2 - Ese id de encuesta que copian de Kolla a guaraní es para decir con que encuestas se hacen las habilitaciones. La encuesta es solamente el conjunto de preguntas, no es problema que se compartan.

La habilitación es como una instanciación de un conjunto de encuestas donde le decis : de esta fecha a esta fecha, se van a poder responder estas encuestas para estas materias. Eso te genera un id de habilitación y un password para generarle los links a tus alumnos desde guarani.

Cada unidad académica va a crear sus propias habilitaciones, por lo que los datos no se van a mezclar; cada habilitación tiene sus [encuesta;materia/docente] que haya creado, solo esa UA tiene el password (y Kolla) y cada respuesta de los alumnos va a estar asociada a la habilitación correspondiente. Con ese id que sacas de guarani, podes recuperar los datos en kolla, separados por UA.

Lo que si, todas las UA academicas están compartiendo el mismo ‘usuario externo’ en Kolla, no sería tan dificil poder meter alguna modificación en la habilitación de otra UA. O como te decía, el administrador de Kolla va a tener acceso a todas las UA.

3 bis - Si quieren usar muchos kollas supongo que es facilmente personalizable, sería tomar una url distinta por acceso, pero les va a ser mas dificil de administrar obviamente. La otra es que cada UA use un certificado distinto (lo que se traduce a un usuario externo distinto en Kolla). Tendrían que gestionar N certificados de guaraní y 1 de Kolla. Si les interesa puedo revisar mejor que implicaría a nivel código.

2 bis - “Kolla y Guarani deben estar en el mismo dominio. A qué se debe la restricción? Puedo poner ambas aplicaciones en virtualhost / equipos separados?”

Las encuestas se muestran en la pantalla de Guarani 3w (dominio de guaraní), con un iframe de Kolla (dominio de Kolla). Cuando el alumno termina de responder se envia una confirmación javascript desde el iframe de Kolla al parent de Guarani, para que no se la muestre mas al alumno. Si los dominios son distintos surgen problemas de cross-domain-request.

Podés poner ambas en equipos separados, si están en distintos dominios podés ponerle un alias en el mismo dominio. Es solo por js. Hay algunas otras alternativas, pero esa es la más segura y compatible.

Gracias,
Saludos,
Alejandro

Alejandro,

el tema del punto 2 bis , con el tema de el cross-domain me lo imaginaba. Los navegadores se quejan de esto por un tema de seguridad. Pero me parece que vamos a tenemos que ver como lo resolvemos porque nosotros tenenoos los dominios de los frontend Guarani 3W de esta forma:

https://www.guarani-derecho.unlp.edu.ar y así para cada dependencia.

Kolla estaría en https://kolla.unlp.edu.ar.

Con esta configuración de URLs no va a funcionar porque están en dominios distintos. Creo que la que funcionaría sería tener para cada dominio un alias del estilo https://www.guarani-derecho.unlp.edu.ar/kolla apuntando a https://kolla.unlp.edu.ar para evitar el problema del cross-domain…

Saludos!
Alejandro

Sergio,

surgen más problemas con relación al tema del cross domain entre Kolla y Guarani. Quise poner un proxy reverso adelante para poder zafar del cross domain y me encotré con un problema mayor. G3W 2.8 me genera las URL es forma absoluta y eso detrás de un proxy reverso es un problema.

Yo tengo mi URL de acceso del tipo:

http://163.10.0.xx:8401 (Proxy reverso Nginx)
http://163.10.0.xx:8400 (Apache con Guarani 3W 2.8 funcionando)

Cuando entro desde el proxy, levanta el sitio pero sin estilos y con todos los links apuntando al port 8400 cuando debería ser el 8401.

Una solución a esto es definir en el config una variable para cada acc_id con la URL pública para poder generarla y utilizar esa variable en el generador de URL que Uds seguro tienen implementado en el core de Guarani.

Cualquier cosa, si querés lo conversamos por Sype u otro medio.

Saludos,
Alejandro

Hola!!

Por el Problema 01: hace un ratito te subí los cambios al nodo, ahora algunos comandos van a necesitar un parámetro, que es el punto de acceso.


[path aplicacion]/bin$ ./guarani generar_catalogo ua_02

Saludos
Sergio

Hola Alejandro,

Te doy algunas ideas, y vamos viendo por donde vamos.

Con aliases como mencionás funcionaría.

Por el proxy, el archivo que hace los vinculos es src/siu/lib/kernel/util/vinculador.php y la mayoría de los datos los saca en definitiva de src/siu/bootstrap.php (que es el que lee al archivo de configuracion config.php).

El alias se lee directo de $_SERVER[‘ACC_ALIAS’],
El nombre del servidor de $_SERVER[‘SERVER_NAME’], pero antes se fija si está la variable ‘server_name’ en config.php.
El puerto está harcodeado en $_SERVER[‘SERVER_PORT’], no se que tan feo es pisarlo, o si podés poner todos en el 80.

Después hay algunas otras urls configurables, como ‘url_recursos’ para los css, imagenes de alumnos, etc, que también se puede tocar del config.php.

El hecho de que las variables del config.php estén a nivel global, no significa que no las puedas definir según la UA; e.g. podés detectar la UA y cambiar la configuración, config.php solo debe devolver un arreglo. En config.php podrías poner algo así:


//return array( 
$config = array(
	'global' =>
 ... ....
);
$ua = //obtener ua de algúna variable del acceso?
if($ua == 'humanidades'){
  $config['global']['server_name'] = ....
}
// o directamente $config['global']['server_name'] = $_SERVER['XXXX'],
return $confg;

En relación al punto 01:

Gracias Sergio, tengo la consola como necesitabamos, ahora vamos a ver los errores que tenemos en algunas cosas al generar el catálogo.

En relación al punto 02:

Voy a probar esos parámetros adicionales que mencionas a ver si me genera bien las cosas. El port estaría bueno también personalizarlo para leerlo del config.php, nosotros solemos poner las cosas detrás de los proxies en ports altos…

Ahi va queriendo, el tema es que ahora tengo algunos problemas con las URL y las redirecciones en Kolla detrás de un Proxy reverso.

Saludos,
Alejandro

Buenas,

Si, lo de los ports lo vamos a anotar.

Por el tema de Kolla, el problema es que no es un proyecto personalizable, por lo que habría que tocar el código y se perderían los cambios cada versión.

Yo ahora no tengo un entorno armado para probar, pero creo que la unica url que genera Kolla es para postear el form. Ahora la está generando en base al server_host también y se saldría del proxy reverso… Los css y js son relativos.

Fijate en kolla, /php/nucleo/formulario/accesos/ext_completar.php, quizás dejando solo el REQUEST_URI funciona (tiene que postear a la url actual).


	private function crear_configuracion_formulario($id_respondido_formulario)
	{
		include_once('nucleo/formulario/formulario_controlador_config.php');
		$url = "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; 

 

Saludos

Gracias a todos, estoy haciendo algunos cambios ahora, para ver como queda. En un rato les escribo.

Alejandro

Hola a todos,

estoy armando la infra de proxy reverso para evitar el cross-domain, y todo Guarani 2.8 funciona bien con los cambios de reescritura de URL y todo eso. Aproveché para instalar todo de nuevo sobre Debian Stable (7.0).

La cuestión es que cuando empiezo a instalar Kolla detecto que no soporta la versión de PHP que soporta Debian Stable, y no se puede instalar. Debian stable tiene 5.4.4-14+deb7u9 y el instalador de Kolla se queja que no lo puede instalar. Miro Ubuntu, y la versión LTS 14.04 viene con PHP 5.5, seguimos con el mismo problema.

Pregunto, es problema del instalador que verifica hasta esa versión por algo en particular, o es sabido que no anda en estas versiones de PHP que menciono por algo en particular?

No soy partidario de instalar cosas en producción en versiones oldstable.

Estoy a la espera de los comentarios, muchas gracias. No se si corresponde postear esto mejor en el foro de Kolla…

Saludos,

Alejandro

Hola,

encuentro más problemas intentando integrar Kolla con Guarani. La libería WSO2 no funciona sobre Debian Stable, debido a que el axis_parser no está disponible para Squeeze. Alguien la ha hecho funcionar? En particular el paquete libaxis2c-dev que indica este link de utilizar: https://repositorio.siu.edu.ar/trac/toba/wiki/Referencia/ServiciosWeb/Instalacion no está disponible para la última versión de debian.

INtenté compilar la librería como indican aquí: http://foro.comunidad.siu.edu.ar/index.php?topic=5032.0 y está bastante complicado, muchos errores surgen…

Saludos,
Alejandro

Hola, voy a contar como dejé las cosas ahora y qué problemas encontré finalmente.

Pude poner un proxy reverso detrás de Kolla y Guarani 2.8 para poder evitar el cross domain y funciona todo. Mi proxy está sobre Debian Wheezy pero el backend no tuve otra chance que ponerlo sobre Debian Squeeze (parece que ahora es LTS).

Qué hice de raro:

  • Modifiqué el core de Kolla en la parte de generar las URL del formulario de la encuesta tal como me dijeron y anduvo. Pero está muy hardcodeado y estaría bueno pasarlo como algo más fácil de configurar, tipo un config.php y que no se rompa ante una actualización.

Problemas encontradas:

  • No se puede instalar la librería de WSO sobre Wheezy principalmente.
  • Kolla no soporta la versión de PHP de Debian Wheezy (hay que usar Debian Squeeze o Ubuntu 12.04 LTS)

Pregunta:

  • La librería de WSO es necesaria en el server de Guarani solamente o también en el de Kolla. Actualmente tengo todo junto pero en producción lo puedo separar.

Problema más importante:

  • Mis backends actuales de Guarani 2.7 están sobre Debian Wheezy y seguramente vamos a tener un tiempo de coexistencia entre 2.7 y 2.8 hasta que convertamos todas las instalaciones. Sería interesante hacer andar la librería que vengo hablando durante la semana en Debian Wheezy para poder hacerlo andar. Me puse a compilar las cosas pero se complica y ensucia mucho los servers de productivo. Igualmente no lo hice andar compilando la librería que no encontraba el compilador del PHP WSO (libaxis).

Por último, les pido que lean todo el thread porque hay algunas preguntas que hice antes que aún no resolvimos y tal vez con esto no se lee todo el thread. En particular, falta también trabajar con el tema del fix de la consola de guarani que no tiene soporta multi ambientes para todos los comandos.

Saludos,
Alejandro

Hola Alejandro

Por la version de Kolla, es un error del instalador. Debería ser un ‘warning’ la version de PHP y no un error.

El desarrollo está en 5.3, por eso se pide esa versión. Pero 5.4 se ha probado algo y funciona, más alla de algun strict/notice que en producción no vas a ver. Para 5.5 se podría probar también, solo que no se si se complica mas instalar la librería de wsf.

Conclusión, para instalarlo en 5.4 fijate dentro de la carpeta de Kolla (no recuerdo bien la ubicación) el archivo proyecto.ini. De ahí podes eliminar la restricción de la version de php sacando la linea que dice: version_php = "error| … "

La librería corre para Kolla y para g3w2, ya que uno es el cliente y otro el servidor (de ws).

Por la instalación de la librería fijate si acá te pueden ayudar, igual te vamos siguiendo. http://foro.comunidad.siu.edu.ar/index.php?topic=7090.0

Gracias,
Saludos,
Alejandro C.

PD: forwardiamos el pedido a Kolla para la configuración de URLS en próximas versiones
PD: quedaría pendiente lo de los comandos. me pasé por alto alguna otra cosa?

Alejandro,

gracias. Lo de Kolla lo voy a probar, sacando la restriccíón. Lo de la consola es algo que queda pendiente. La librería de WSO la veo complicada de compilar en Wheezy. En testing no tengo problema porque lo tengo en Squeeze. Pero en producción tengo todo en Wheezy y necesito que coexistan.

Saludos
Alejandro