SIU-Kolla/Version 4.3.0/interfaces

De SIU
Revisión del 14:56 21 jun 2019 de Ngazcon (discusión | contribuciones) (Sincronizar)
Saltar a: navegación, buscar
Siu-kolla iso.png

Introducción

Para lograr una comunicación con otros módulos, SIU-Kolla ofrece diferentes servicios web a través de su API para la manipulación de entidades básicas. En algunos casos, lo servicios solo involucran la recuperación de datos, y otros ofrecen un CRUD (Create-Retrieve-Update-Delete).

Configuración para SIU-Guaraní y otros

Para poder utilizar los Servicios Web, se debe dar de alta el usuarios como Sistema Externo, y posteriormente, configurar dicho usuario en la configuración REST del proyecto:

Creación de usuario como Sistema Externo

La siguientes operaciones deben ser realizadas por un usuario con los permisos suficientes.

Para registrar un Sistema Externo visite la siguiente página

Creación de usuario REST

  • Editar el archivo <path proyecto Kolla>/instalacion/i__<instancia>/p__kolla/rest/servidor.ini
;servidor.ini
autenticacion = basic
  • y <path proyecto Kolla>/instalacion/i__<instancia>/p__kolla/rest/servidor_usuarios.ini
;servidor_usuarios.ini
[<nombre de usuario>]
password = sP6lgHwQopaqepOzgIWw ;cambiar!
  • Se debe reemplazar:
    • <path proyecto Kolla>: por el path donde se encuentra instalado el proyecto SIU-Kolla
    • <instancia>: por el nombre de la instancia

Para más información, consultar en la explicación de REST de Toba

Configuración para SIU-Araí

A continuación se detallan los puntos a tener en cuenta para configurar la conexión de SIU-Kolla con SIU-Araí.

Una vez completados estos puntos se deberá proceder a realizar la configuración restante desde SIU-Araí (ver documentación).

Crear datos de usuario rest para Araí Usuarios

Editar el archivo <path proyecto Kolla>/instalacion/i__<instancia>/p__kolla/rest/rest_arai_usuarios/cliente.ini

to = "http://direccion_web_arai_usuarios/rest/"
auth_tipo = tipo_autentificacion
auth_usuario = nombre_usuario
auth_password = password_usuario

Editar archivo de instancia

Asegurarse que en el archivo instancia.ini este incorporado la variable full_url con la dirección completa de Kolla.

[kolla]
full_url = "http://direccion_completa_a_kolla"

Editar archivo de proyecto

Asegurarse que en el archivo proyecto.ini este incorporado la variable app_launcher activa.

[proyecto]
app_launcher = 1

Editar Araí Registry Hooks

En caso de que no exista, es necesario contar con la ruta al archivo <path proyecto Kolla>/src/SIU/kolla/AraiRegistryHooks.php, donde lo mínimo que debe contener es lo siguiente.

<?php
namespace SIU\kolla;
use SIUToba\Framework\Arai\RegistryHooksProyectoToba;
class AraiRegistryHooks extends RegistryHooksProyectoToba
{
}

Editar archivo de configuración para Araí

Verificar que los datos provistos en el archivo <path proyecto Kolla>/arai.json.

A continuación detallamos un ejemplo básico para presentar una instalación de Kolla.

Si desea obtener más detalles de cómo conformar este archivo, por favor visite en la documentación el apartado Integrar a Arai-Registry la aplicación.

{
  "name": "siu/kolla",
  "description": "SIU-Kolla, aplicación",
  "scripts": {
    "hooks": "SIU\\kolla\\AraiRegistryHooks"
  },
  "provide": [
    {
      "name": "app:siu/kolla",
      "alias": "Kolla",
      "description": "sistema de encuestas",
      "version": "4.3.0",
      "icon": "./www/img/logo-kolla-iso.png"
    }
  ],
  "consume": [
    {
      "name": "service:siu/sso-saml-idp",
      "version": ">=0.1.0"
    },
    {
      "name": "api:siu/arai-usuarios",
      "version": ">=0.1.0",
      "options": {
        "toba-rest": [
          { "proyecto": "toba_usuarios", "rest-id": "rest_arai_usuarios" }
        ]
      }
    }
  ]
}

Generar Clave

Para la vinculación será necesario contar con la clave de encriptación. Para generarla, será necesario correr el siguiente comando:

bin/arai-cli arai:generar-key --destino=<ruta_a_la_llave_de_encriptacion>arai-sync.key

Luego dirigirse al archivo <ruta_al_proyecto>/instalacion/instalacion.ini y agregar la siguiente entrada con la ruta a la llave:

arai_sync_key_file= "<ruta_a_la_llave_de_encriptacion>/arai-sync.key"

Registrar Sistema

El administrador de SIU-Araí deberá registrar el proyecto mediante el comando:
bin/arai-cli registry:add  --maintainer nombre-encargado-admin --maintainer-email email-encargado-admin@uni.edu.ar http://url-arai-registry/arai-registry
Nota: recordar tener ingresadas las variables de entorno correspondientes al usuario y password de registry
export ARAI_REGISTRY_USER=usuario_registry
export ARAI_REGISTRY_PASS=password_registry

Sincronizar

Finalmente desde SIU-Araí deberá sincronizarse el sistema para que efectivamente sea incorporada la nueva vinculación:
bin/arai-cli registry:sync

Importar Cuentas

Para que las cuentas existentes en Kolla puedan utilizarse vinculadas, será necesario realizar la exportación de dichas cuentas desde Kolla, y luego importarlas desde Araí Usuarios. Para exportarlas, se deberá ejecutar el siguiente comando:
toba proyecto exportar_usuarios_arai
El comando anterior generará un archivo json, que luego, deberá utilizarse como entrada del siguiente comando en Araí Usuarios:
toba proyecto importar_usuarios_arai -f <ruta_al_archivo_generado> -m comparador

Notar que al momento de importar, las cuentas deben ser identificadas por el Tipo y Nro. de Documento (el argumento de -m debe ser 1). Si alguna cuenta no es vinculada correctamente, el administrador de la plataforma Araí puede resolver manualmente los casos con conflictos.

Para mayor información sobre la importación de cuentas dirigirse al siguiente enlace, sección Importar cuentas desde una aplicación vinculada.

Servicios Web

  1. Encuestas
  2. Habilitaciones

Posibles errores en las peticiones

  • 430: Errores de validación. Uno o más atributos de la entidad que se quiere guardar no paso la validación. El servicio retorna un arreglo con la descripción de cada uno de los errores.
  • 424: Usualmente ocurre cuando el recurso que se intenta manipular o recuperar no existe. Podrá sera cualquiera de las entidades involucradas (Por ejemplo, la Unidad de Gestión no existe).
  • 500: Error interno en el servidor, deberá revisarse el mensaje enviado al cliente.


< Volver