Diferencia entre revisiones de «SIU-Guarani/Version3.14.0/notificador»

De SIU
Saltar a: navegación, buscar
 
(No se muestran 10 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
 
== Notificador ==
 
== Notificador ==
  
En esta sección vamos a ver aspectos técnicos del '''Notificador'''.  
+
En esta sección se explican aspectos técnicos del '''Notificador'''.  
  
 
== 1. Cantidad máxima de destinatarios por email  ==
 
== 1. Cantidad máxima de destinatarios por email  ==
Línea 10: Línea 10:
 
Si dicho parámetro esta configurado en 0 se enviará un solo email con los 300 destinatarios.
 
Si dicho parámetro esta configurado en 0 se enviará un solo email con los 300 destinatarios.
  
 +
== 2. Envío de email ==
  
 +
Al enviar emails con el '''Notificador''' estos mismos no se envían directamente, sino que se encolan en la tabla '''jobs''' para luego ser desencolados y enviados por un '''Worker'''.<br>
 +
Para invocar a dicho '''Worker''' se debe ejecutar el siguiente comando en Guaraní Gestión:
  
== 2. Acceso público Gestión ==
+
Para desencolar y enviar todos los emails:
Este ejemplo está orientado al caso de que no se permita acceso por fuera de una intranet a Gestión, y se tenga habilitada la solicitud de Constancias y Certificados (y su consecuente validación online) en Autogestión. Esa funcionalidad requiere acceso a un conjunto limitado y protegido de operaciones de Gestión, que deben estar accesibles desde el exterior.
+
<source lang="apache" enclose="div">
 +
bin/guarani enviar_emails_notificador
 +
</source>
  
A tal efecto, se distribuye en la carpeta navegable del proyecto, un punto de acceso alternativo, "acceso_ext.php", que habilita el
+
Para desencolar y enviar de a 12 emails:
acceso público a las operaciones mencionadas, prohibiendo el acceso al resto del sistema.
+
<source lang="apache" enclose="div">
 
+
bin/guarani enviar_emails_notificador --cantidad 12
La configuración de este nuevo VirtualHost será similar al anterior, con las siguientes diferencias:
 
 
 
* Tiene su propio '''ServerName''' (en el ejemplo, g3publico.unx.edu.ar)
 
* No se publica '''toba_usuarios''' (no es necesario desde un acceso público)
 
* En la configuración de '''Directory''' de Guaraní (la del DocumentRoot):
 
** Cambia el '''DirectoryIndex''' a '''acceso_ext.php'''
 
** Se deniega el acceso al punto de acceso principal ('''aplicacion.php'''):
 
**:<source lang="apache" enclose="div">
 
<Files aplicacion.php>
 
Require all denied
 
</Files>
 
 
</source>
 
</source>
  
Entonces, la configuración de VirtualHost de este escenario quedaría:
+
Para desencolar y enviar de a 21 emails (versión reducida):
 
 
 
<source lang="apache" enclose="div">
 
<source lang="apache" enclose="div">
<VirtualHost *:80>
+
bin/guarani enviar_emails_notificador -c 21
ServerName g3publico.unx.edu.ar
+
</source>
 
 
DocumentRoot "/opt/proyectos/gestion/www"
 
  
# Recursos navegables de Toba
+
'''NOTA''': Se debe '''tener los permisos necesarios''' en la carpeta donde se almacenan los '''archivos adjuntos''' que irán en el email, en caso contrario el email llegara pero con el cuerpo vacío.
Alias /toba_g3 "/opt/proyectos/gestion/lib/toba/www"
+
Otra opción cuando ocurre este caso seria correr el comando como '''root''' (sudo).
<Directory "/opt/proyectos/gestion/lib/toba/www/">
 
SetEnv TOBA_DIR "/opt/proyectos/gestion/lib/toba"
 
Options MultiViews FollowSymLinks
 
AllowOverride None
 
<IfModule !mod_authz_core.c>
 
Order allow,deny
 
Allow from all
 
</IfModule>
 
<IfModule mod_authz_core.c>
 
Require all granted
 
</IfModule>
 
</Directory>
 
 
 
#Configuracion del SP de SAML
 
Alias /toba_g3_sp "/opt/proyectos/gestion/lib/toba/php/3ros/simplesamlphp/www"
 
<Directory /opt/proyectos/gestion/lib/toba/php/3ros/simplesamlphp/www>
 
SetEnv TOBA_INSTALACION_DIR "/opt/proyectos/gestion/lib/toba/instalacion"
 
<IfModule !mod_authz_core.c>
 
Order allow,deny
 
Allow from all
 
</IfModule>
 
<IfModule mod_authz_core.c>
 
Require all granted
 
</IfModule>
 
</Directory>
 
 
 
#Proyecto: guarani
 
<Directory "/opt/proyectos/gestion/www/">
 
SetEnv TOBA_DIR "/opt/proyectos/gestion/lib/toba"
 
SetEnv TOBA_PROYECTO "guarani"
 
SetEnv TOBA_INSTALACION_DIR "/opt/proyectos/gestion/lib/toba/instalacion"
 
SetEnv TOBA_INSTANCIA "desarrollo"
 
 
# Cambia el DirectoryIndex
 
DirectoryIndex acceso_ext.php
 
 
 
AllowOverride None
 
<IfModule !mod_authz_core.c>
 
Order allow,deny
 
Allow from all
 
</IfModule>
 
<IfModule mod_authz_core.c>
 
Require all granted
 
</IfModule>
 
 
 
#API REST
 
RewriteEngine On
 
  RewriteBase /
 
Options FollowSymLinks SymLinksIfOwnerMatch
 
  RewriteRule ^rest/(.*)$ rest.php/$1 [PT,L,QSA]
 
  RewriteRule ^rest$      rest.php/  [PT,L,QSA]
 
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
 
 
# Se deniega acceso al punto de acceso principal
 
<Files aplicacion.php>
 
Require all denied
 
</Files>
 
 
</Directory>
 
 
 
#Proyecto_pers: guarani
 
Alias /guarani_pers "/opt/proyectos/gestion/personalizacion/www"
 
<Directory "/opt/proyectos/gestion/personalizacion/www/">
 
SetEnv TOBA_DIR "/opt/proyectos/gestion/lib/toba"
 
SetEnv TOBA_PROYECTO "guarani"
 
SetEnv TOBA_INSTALACION_DIR "/opt/proyectos/gestion/lib/toba/instalacion"
 
SetEnv TOBA_INSTANCIA "desarrollo"
 
Options MultiViews
 
 
 
<Files rest>
 
ForceType application/x-httpd-php
 
</Files>
 
 
 
AllowOverride None
 
<IfModule !mod_authz_core.c>
 
Order allow,deny
 
Allow from all
 
</IfModule>
 
<IfModule mod_authz_core.c>
 
Require all granted
 
</IfModule>
 
</Directory>
 
 
 
#Proyecto: toba_usuarios << No publicado
 
 
</VirtualHost>
 
</source>
 
  
 
[[SIU-Guarani/Version3.14.0/consideraciones_tecnicas|< Volver]]
 
[[SIU-Guarani/Version3.14.0/consideraciones_tecnicas|< Volver]]

Revisión actual del 10:31 30 ene 2018

Notificador

En esta sección se explican aspectos técnicos del Notificador.

1. Cantidad máxima de destinatarios por email

A través del parámetro email_cant_max_destinatarios podemos configurar la manera en la cual se paginaran los destinatarios en diferentes emails.

Ejemplo, si tenemos que enviar un email a 300 destinatarios, y el parámetro email_cant_max_destinatarios esta configurado en 100, se enviaran 3 emails con 100 destinatarios cada uno. Si dicho parámetro esta configurado en 0 se enviará un solo email con los 300 destinatarios.

2. Envío de email

Al enviar emails con el Notificador estos mismos no se envían directamente, sino que se encolan en la tabla jobs para luego ser desencolados y enviados por un Worker.
Para invocar a dicho Worker se debe ejecutar el siguiente comando en Guaraní Gestión:

Para desencolar y enviar todos los emails:

bin/guarani enviar_emails_notificador

Para desencolar y enviar de a 12 emails:

bin/guarani enviar_emails_notificador --cantidad 12

Para desencolar y enviar de a 21 emails (versión reducida):

bin/guarani enviar_emails_notificador -c 21

NOTA: Se debe tener los permisos necesarios en la carpeta donde se almacenan los archivos adjuntos que irán en el email, en caso contrario el email llegara pero con el cuerpo vacío. Otra opción cuando ocurre este caso seria correr el comando como root (sudo).

< Volver