https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Pilaga/version3.4.1/consideraciones_tecnicas&feed=atom&action=historySIU-Pilaga/version3.4.1/consideraciones tecnicas - Historial de revisiones2024-03-29T09:55:45ZHistorial de revisiones para esta página en el wikiMediaWiki 1.30.0https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Pilaga/version3.4.1/consideraciones_tecnicas&diff=58749&oldid=prevSozuna en 21:30 5 sep 20192019-09-05T21:30:16Z<p></p>
<p><b>Página nueva</b></p><div>[[Archivo:siu-pilaga_iso.png|derecha|link=SIU-Pilaga/version3.4.1]]<br /><br />
<span style="float: ;margin: 0 0 16px 16px;">{{TOClimit|1}}</span><br />
<br />
== Consideraciones técnicas ==<br />
=== '''Conectar SIU-Pilagá con otros sistemas''' === <br />
Para permitir que otros sistemas puedan acceder a los servicios que SIU-Pilagá tiene disponible<br />
# Se debe configurar el archivo '''servidor.ini''' ubicado en la siguiente ruta<br />
#:<br />
#:<source lang="php" enclose="div"><br />
SIU-Pilaga/instalacion/i__produccion/p__pilaga/rest/servidor.ini<br />
</source><br />
#:<br />
#:El contenido de dicho archivo debe ser similar a lo siguiente, quedando configurados los usuarios que se utilizarán desde SIU-Pilagá. Este archivo puede contener otros usuarios para otros sistemas.<br />
#:<br />
#:<source lang="php" enclose="div"><br />
autenticacion = digest<br />
<br />
;;<br />
;;Opciones que recibe la librería - > rest/rest.php<br />
;;<br />
[settings]<br />
formato_respuesta = json<br />
url_protegida = /.*/<br />
</source><br />
#:<br />
#:<br />
# También se debe configurar el archivo '''servidor_usuarios.ini''' ubicado en la siguiente ruta<br />
#:<br />
#:<source lang="php" enclose="div"><br />
SIU-Pilaga/instalacion/i__produccion/p__pilaga/rest/servidor_usuarios.ini<br />
</source><br />
#:<br />
#:El contenido de dicho archivo debe ser similar a lo siguiente, quedando configurados los usuarios que se utilizarán desde SIU-Pilagá. Este archivo puede contener otros usuarios para otros sistemas.<br />
#:<br />
#:<source lang="php" enclose="div"><br />
[toba] *** (es el nombre del usuario que se puso en el archivo cliente.ini)<br />
password = toba *** (es el password del usuario que se puso en el archivo cliente.ini)<br />
api_key= toba<br />
</source><br />
#:<br />
#:<br />
==== '''Conectar SIU-Pilagá con SIU-Diaguita''' ====<br />
* '''<u>''En SIU-Pilagá''</u>''' <br />
:<br />
:Para permitir el acceso externo a recursos de SIU-Diaguita, se debe tener en cuenta las siguientes configuraciones:<br />
:<br />
# Crear una carpeta con el nombre '''diaguita''' (en minúsculas) en el directorio:<br />
#: <br />
#:<source lang="php" enclose="div"><br />
SIU-Pilaga/instalacion/i__produccion/p__pilaga/rest <br />
</source><br />
#:<br />
#: Dentro de esta carpeta crear un archivo llamado cliente.ini, que va a contener lo siguiente:<br />
#:<br />
#:<source lang="php" enclose="div"><br />
[conexion]<br />
;;Recuerde dejar una barra (/) al finalizar la URL<br />
to = "http://localhost/diaguita/trunk/rest/" ***(es donde apunta la instalación Diaguita sumado del “/rest”)<br />
<br />
auth_tipo = digest ***(tipo de autorización)<br />
auth_usuario = toba ***(nombre del usuario)<br />
auth_password = toba ***(password del usuario)<br />
</source><br />
#:<br />
#:<br />
# Por ultimo se debe delimitar los siguientes parámetros en la base de datos de Pilagá:<br />
#:<br />
#:<source lang="php" enclose="div"><br />
controla_comprobant_imputacion ---> Activada (Valor por defecto Activada)<br />
conexion_diaguita ----------------> Activada (Valor por defecto Desactivada)<br />
</source><br />
#:Se puede configurar desde la base de datos o funcionalmente a través de la siguiente ruta: ''Administración / Configuración de parámetros''<br />
#:<br />
* '''<u>''En SIU-Diaguita''</u>'''<br /><br />
*:Para permitir que SIU-Diaguita acceda a recursos de SIU-Pilagá ir a [http://documentacion.siu.edu.ar/wiki/SIU-Diaguita/version2.6.0/consideraciones_tecnicas#Conectar_SIU-Diaguita_con_SIU-Pilag.C3.A1 Conectar SIU-Diaguita con SIU-Pilagá]<br />
<br /><br />
==== '''Conectar SIU-Pilagá con SIU-Mapuche''' ====<br />
<br />
* '''<u>''En SIU-Pilagá''</u>''' <br />
:<br />
:Para permitir el acceso externo a recursos de SIU-Mapuche, se debe tener en cuenta las siguientes configuraciones:<br />
:<br />
# Crear una carpeta con el nombre '''mapuche''' (en minúsculas) en el directorio:<br />
#: <br />
#:<source lang="php" enclose="div"><br />
SIU-Pilaga/instalacion/i__produccion/p__pilaga/rest <br />
</source><br />
#:<br />
#: Dentro de esta carpeta crear un archivo llamado cliente.ini, que va a contener lo siguiente:<br />
#:<br />
#:<source lang="php" enclose="div"><br />
[conexion]<br />
;;Recuerde dejar una barra (/) al finalizar la URL<br />
to = "http://localhost/mapuche/trunk/rest/" ***(es donde apunta la instalación Diaguita sumado del “/rest”)<br />
<br />
auth_tipo = digest ***(tipo de autorización)<br />
auth_usuario = toba ***(nombre del usuario)<br />
auth_password = toba ***(password del usuario)<br />
</source><br />
#:<br />
<br />
=== '''Conectar SIU-Pilagá con SIU-Arai Proveedores''' ===<br />
<br />
==== Configuración de la base de datos de Arai Proveedores ====<br />
<br />
Para configurar el SIU - Araí Proveedores se debe configurar los parámetros de conexión a la base de datos de Araí Proveedores en el archivo '''instalador.env'''<br />
<br />
:<source lang="php" enclose="div"><br />
###### CONFIG DE BASE DE DATOS ARAI PROVEEDORES ######<br />
ARAI_PROV_DB_HOST=localhost<br />
ARAI_PROV_DB_PORT=5432<br />
ARAI_PROV_DB_DBNAME=db_arai_proveedores<br />
ARAI_PROV_DB_USERNAME=postgres<br />
ARAI_PROV_DB_PASSWORD=postgres<br />
ARAI_PROV_DB_SCHEMA=public<br />
ARAI_PROV_DB_ENCODING=UTF8<br />
</source><br />
<br />
{| class="wikitable"<br />
! width="25%" | Variable de entorno<br />
! width="75%" | Descripción<br />
|-<br />
| ARAI_PROV_DB_HOST<br />
| el host/ip del equipo donde corre la base de datos<br />
|-<br />
| ARAI_PROV_DB_PORT<br />
| el puerto donde corre la base de datos<br />
|-<br />
| ARAI_PROV_DB_DBNAME<br />
| el nombre de la base de datos de proveedores<br />
|-<br />
| ARAI_PROV_DB_USERNAME<br />
| el usuario para la conectarse a la base de datos<br />
|-<br />
| ARAI_PROV_DB_PASSWORD<br />
| la clave del usuario para conectarse a la base de datos<br />
|-<br />
| ARAI_PROV_DB_SCHEMA<br />
| el nombre del esquema dentro de la base de datos<br />
|-<br />
| ARAI_PROV_DB_ENCODING<br />
| la codificación de caracteres de la base de datos. (UTF8 por defecto)<br />
|}<br />
<br />
Una vez configurado los parámetros, al ejecutar el proceso de instalación o actualización automáticamente genera la base de datos central de Araí Proveedores con la estructura de datos actualizada y configura la conexión en SIU-Pilagá.<br />
<br />
Para obtener mayor información acerca de la sincronización podrán encontrar los pasos para [http://documentacion.siu.edu.ar/wiki/SIU-Arai/proveedores#Funciones_por_linea_de_Comando | ejecutar la sincronización por linea de comandos]<br />
<br />
<!--<br />
==== Comandos de Arai Proveedores ====<br />
<br />
En el caso que se necesite crear, actualizar o ver el estado de la estructura de la base de datos de arai proveedores existen comandos del instalador que permite ejecutar estas acciones en cualquier momento.<br />
<br />
Comando para actualizar la estructura de la base de datos de Arai Proveedores:<br />
<br />
<source lang="bash" enclose="div"><br />
$ ./bin/instalador arai-proveedores:actualizar-base<br />
</source><br />
<br />
Comando para crear la base de datos de Arai Proveedores<br />
<br />
<source lang="bash" enclose="div"><br />
$ ./bin/instalador arai-proveedores:crear-base<br />
</source><br />
<br />
Comando para ver la información de las conversiones realizadas sobre la base de datos de Arai Proveedores<br />
<br />
<source lang="bash" enclose="div"><br />
$ ./bin/instalador arai-proveedores:estado-base <br />
</source><br />
--><br />
==== Estados de Sincronización ====<br />
El cambio de los estados se puede hacer manualmente desde los parámetros del sistema, para modificarlo vamos a:<br /><br />
<br />
Administración/Configuración de Parámetros ('''aplicar_sincronizacion_arai_prov''')<br />
<br />
[[Archivo:ARAI conf.png|marco|centro]]<br />
<br />
'''''Modo conectado (valor sí):''''' cada cambio que se realice se sincroniza automáticamente con la base de Araí Proveedores.<br /><br />
<br />
'''''Modo desconectado (valor desconectado):''''' si por algún motivo se cae la conexión con la red, se tendrá que poner este estado para poder cargar proveedores y seguir operando. Una vez que se restablezca la conexión, pedirá que se realice una sincronización inicial.<br /><br />
<br />
'''''(Valor no):''''' no se utiliza la funcionalidad Araí (en Pilagá), se carga personas/proveedores sin sincronizarse de manera normal.<br /><br />
<br />
=== '''Conectar SIU-Pilagá con la AFIP''' ===<br />
<br />
Los pasos que se describen a continuación permiten configurar el acceso a recursos de la AFIP expuestos mediante servicios web.<br />
<br />
==== Uso ====<br />
<br />
En primer lugar para poder utilizar el servicio es necesario generar un certificado y una clave desde los servicios de AFIP.<br />
<br />
Una vez generado el certificado se debe autorizar el servicio: Servicio Consulta Padron A4 (ws_sr_padron_a4).<br />
<br />
Para obtener información de como obtener el certificado y la clave para utilizar el servicio ir a [http://www.afip.gob.ar/ws/documentacion/default.asp | Documentación Técnica de los WS de AFIP]<br />
<br />
==== Configuración ====<br />
<br />
Una vez generado el certificado y la clave en Afip se debe proceder a configurar en el archivo '''instalador.env''' los parámetros de configuración de la Api.<br />
<br />
:<source lang="php" enclose="div"><br />
###### CONFIG AFIP WS ######<br />
AFIP_WS_CUIT=cuit<br />
AFIP_WS_CERT=/ruta/a/cert<br />
AFIP_WS_KEY=/ruta/a/key<br />
AFIP_WS_TOKEN_DIR=/ruta/a/generacion/token<br />
</source><br />
<br />
==== Parámetros de configuración disponibles ====<br />
<br />
{| class="wikitable"<br />
! width="25%" | Parametro<br />
! width="75%" | Descripcion<br />
|-<br />
| AFIP_WS_CUIT<br />
| <code>(int)</code> El CUIT a usar en los Web Services.<br />
|-<br />
| AFIP_WS_CERT<br />
| <code>(string)</code>Ruta absoluta donde se encuentra el certificado<br />
|-<br />
| AFIP_WS_KEY<br />
| <code>(string)</code>Ruta absoluta donde se encuentra la clave<br />
|-<br />
| AFIP_WS_TOKEN_DIR<br />
| <code>(string)</code>Ruta absoluta donde la lib genera el token (requiere permisos de escritura)<br />
|}<br />
<br />
Una vez configurado los parámetros, al ejecutar el proceso de instalación o actualización automáticamente genera la configuración en SIU-Pilagá y una vez finalizada la instalación ya se podrá usar el servicio de Afip en el sistema.<br />
<br />
=== '''Anonimizar la Base de datos''' ===<br />
<br />
==== Backup Anonimizado ====<br />
Éste es un comando nuevo incorporado a partir de la versión 3.4.1 y está pensado para que cuando necesiten enviar su base de datos, por algún problema, lo hagan de forma que los datos no contengan valores reales de las personas.<br />
<br /><br />
La forma de utilizar este comando es la siguiente:<br /><br />
Acceder por línea de comandos a la carpeta bin del sistema y ejecutar<br /><br />
<br />
''' Para Linux '''<br />
<source lang="php" enclose="div"><br />
sh pilaga.sh base anonimizar_base<br />
</source><br />
''' Para Windows '''<br />
<source lang="php" enclose="div"><br />
pilaga.bat base anonimizar_base<br />
</source><br />
<br />
<br />
El backup anonimizado será exportado dentro de la carpeta que se especifica en el archivo ../bin/pilaga.sh o ../bin/pilaga.bat para la variable '''"pilaga_directorio_exportacion"'''<br />
<br /><br />
Cuando se corre el comando para exportar la base, lo que está haciendo el comando es ejecutar un pg_dump y luego pasarle esos datos a un ejecutable llamado mask.<br />
<br /><br />
Éste ejecutable compilado en C recorre la salida del pg_dump y compara los datos con un archivo llamado mask.conf.pilaga. <br /><br />
En ese archivo lo que se tiene es el esquema, tabla, campo y función para anonimizar, entonces devuelve un campo anónimo según la función utilizada.<br /><br />
<br />
=== '''Configuración para utilizar comprobantes Jasper/PDF''' ===<br />
<br />
==== Requisitos previos ====<br />
Tener instalado, Java Runtime Environment 1.8.x (se requiere JRE debido a que se utiliza la tecnología JasperReports para realizar la generación de todos los documentos/comprobantes emitidos por el sistema)<br />
<br /><br />
==== Configuración de parámetros ====<br />
Configurar el parámetro '''motor_impresion''' con el '''valor JASPER''', esto hacerlo desde la aplicación usando la operación Configuración de parámetros<br />
<br /><br />
[[Archivo:PIL_parametro-motor-impresion.png|marco|centro|parámetro motor impresión]]<br />
<br /><br />
<br />
==== Ejecución del motor jasper ====<br />
Iniciar el servidor de JasperReports, situándose en .../SIU-Pilaga/bin, y ejecutar el siguiente comando:<br />
<br />
<source lang="bash" enclose="div"><br />
sudo pilaga_reportes.sh start<br />
</source><br />
'''''Importante:''' Este comando tiene que estar siempre activo para que se puedan generar los comprobantes en jasper''.<br />
<br /><br />
<br />
Una estrategia para asegurar que el motor de jasper esté siempre en ejecución es hacerlo mediante un sistema de control de procesos como supervisord (http://supervisord.org/), este se encarga de que el proceso siempre este activo y si se reinicia el servidor el proceso también se inicie.<br />
<br /><br />
<br />
=== '''Envíos de email de forma asíncrona''' ===<br />
<br />
Esta funcionalidad permite a las operaciones que realizan envíos de email poder hacer los envíos asincronicamente, esto significa que la operación puede continuar y el usuario puede seguir operando en el sistema mientras que en un segundo plano se envían los emails sin detener el funcionamiento del sistema.<br />
<br />
La cola de mensajes se almacena temporalmente en la base de datos de negocios en un schema llamado '''queue''' en una tabla llamada '''queue'''.<br />
<br />
==== Inicializar cola de envíos ====<br />
<br />
Al ejecutar el proceso de instalación o actualización del sistema, el instalador generará en el schema '''queue''', la tabla '''queue''' donde se almacenara la cola de mensajes para ser enviado de forma asíncrona.<br />
<br />
==== Lanzar worker de cola de emails ====<br />
<br />
Una vez finalizada la instalación o actualización del sistema, cada vez que una operación envía un email este se almacena en una cola de emails en una tabla en la base de datos. Para que esta cola de mensajes sea leída en forma asíncrona y realice los envíos se debe mantener corriendo el siguiente comando en el servidor:<br />
<br />
<source lang="bash" enclose="div"><br />
<br />
./pilaga.sh iniciar_workers_emails -p pilaga<br />
<br />
</source><br />
<br />
Una vez ejecutado el comando este inicia un worker que queda en la espera de nuevos mails que se envían a la cola para tomar el mensaje y enviar mediante SMTP el correo electrónico relacionado con el mensaje de la cola al destinatario correspondiente.<br />
<br />
'''''Importante:''' Este comando tiene que estar siempre activo para que se puedan enviar los mails.''<br />
<br />
Una estrategia para asegurar que los workers están siempre en ejecución es hacerlo mediante un sistema de control de procesos como supervisord (http://supervisord.org/), este se encarga de que el proceso siempre este activo y si se reinicia el servidor el proceso también se inicie.<br />
<br />
==== Logs ====<br />
<br />
Por cada envió se genera un log con información de los mensajes enviados correctamente y los que se generaron un error al enviar, además registra log de si se genera alguna excepción en la ejecución del mismo. Este log se almacena el la carpeta del proyecto que está dentro del directorio de instalación, en el directorio de logs y el archivo tiene el nombre '''queue.log'''<br />
<br />
==== Parámetro de sistema ====<br />
<br />
El envío de cada email tiene configurado un retraso por defecto de 3000 milisegundos para evitar que se colapse el servidor SMTP al enviar de forma masiva una cierta cantidad de emails, si se necesita aumentar el valor del tiempo de retraso se debe hacer mediante la configuración de parámetros del sistema, modificando el parámetro llamado '''em_mensaje_retraso'''.<br />
<br />
<br /><br />
[[Archivo:PIL_parametros_sistema_retraso_async.png|marco|centro]]<br />
<br /><br />
<br />
==== Bandeja de emails fallidos ====<br />
<br />
En el caso que el envío de un email falle se almacenará cada email no enviado en una tabla ‘sau_em_mensaje_reenvio’, luego se puede visualizar un listado de los emails no enviados en la operación '''Bandeja de emails sin enviar''' que se encuentra dentro del menú de Administración y luego Opciones email.<br />
Desde esta operación se puede seleccionar uno o varios emails y volver a enviar, y en el caso de que vuelvan a fallar se volverán a registrar en la tabla de ‘sau_em_mensaje_reenvio’ para que en cualquier momento se vuelva a intentar el reenvío. <br />
En el caso de que no se quiera volver a enviar se puede seleccionar uno o varios emails del listado y eliminarlos definitivamente.<br />
<br />
<br /><br />
[[Archivo:PIL_bandeja_emails_sin_enviar.png|marco|centro]]<br />
<br /><br />
<br />
----<br />
<br />
[[SIU-Pilaga/version3.4.1|<Volver]]</div>Sozuna