Gestión de correos

From ABCD Wiki
Jump to: navigation, search

Este proceso se habilita en ABCD para enviar correos masivos desde una base de datos de usuarios utilizando las especificaciones almacenadas en una base de datos de distribución

Configuración

En la carpeta gestion_usuarios debe editar el archivo config.ini para adaptar el parámetro

   DATABASE_DIR=/bases_abcd/mincit/

con la ruta donde se encuentra localizada la carpeta con las bases de datos

Debe usar la opción Editar correo.ini para establecer los parámetros del servidor de correo a utilizar. El archivo correo.ini se encuentra en la carpeta de la base de datos distribucion


Base de datos de distribución

Esta base de datos se utiliza para definir las propiedades de los objetos que están sujetos a distribución a través del envío de correos. Tiene la siguiente estructura:

Etiqueta Descripción
100 Situación del elemento:
  • 0 - No distribuido
  • Distribuído
1 Referencia
Número secuencial que le asigna ABCD a cada registro ingresado
10 Elemento a distribuir
Clasificación creada para agrupar los diferentes envíos según su tipología
20 Título
Nombre del elemento a distribuir, tal como se desplegará en el correo electrónico
30 Fecha
Fecha del elemento a distribuir, tal como se desplegará en el correo electrónico
35 Fecha ISO
Normalización del campo 30 a efectos de búsqueda
40 Anexos
Archivos que se van a distribuir. Se mostrarán como un enlace en el correo electrónico a fin de que puedan ser visualizados/almacenados por el destinatario
50 Resumen
Breve descripción del elemento. Solo para uso interno
60 Formato del correo
Formato ISIS correspondiente al cuerpo del correo a ser enviado.

Base de datos de usuarios

Contiene los atributos de los usuarios que pueden ser seleccionados en el proceso de distribución

Procesos

Generar/modificar un registro de distribución

Esta opción proporciona un método para crear un registro en la base de datos de elementos a distribuir (denominada distribución).

Presenta una lista de los elementos cuya situación es "Por distribuir" y provee enlaces para modificar los registros recuperados para visualizar:

Todos los registros
Registros cuya situación sea "por distribuir"
Registros cuya situación sea "distribuídos"

Al hacer clic sobre el nombre mostrado en la lista de selección se recupera el registro correspondiente desde la base de datos distribución, utilizando el formato edit.pft donde se muestra un vínculo que permite la edición del registro.

Si el elemento no existe, puede hacer clic sobre el botón Nuevo para insertar un nuevo elemento en la base de datos distribución.

Esta opción solo permite ingresar y modificar elementos. Si desea hacer cambios exhaustivos use el módulo de catalogación de ABCD.

Cada registro tiene un formato asociado para la preparación del correo electrónico. En el despliegue se presenta un vínculo que permite la edición de ese formato

Configurar correo.ini

Esta opción permite adecuar los parámetros del archivo correo.ini utilizado para la configuración del servicio de correo electrónico

Distribuir

Este proceso consta de los siguientes pasos:

  1. Selección del elemento a distribuir
  2. Selección de los usuarios destinatarios
  3. Generación del correo

Selección del elemento a distribuir

Se presenta, desde la base de datos distribucion la lista de objeto pendientes por distribuir (Situacion 0). Para formar la lista utiliza el formato lista_mail.pft desde donde se obtiene el formato del correo electrónico


Selección de los usuarios destinatarios

Muestra el formulario de búsqueda avanzada de la base de datos de usuarios a partir del cual se construye la expresión de búsqueda para selección de los destinatarios


Generación del correo

Muestra el formato del cuerpo del correo y permite su edición/modificación. Muestra también la lista de usuarios recuperados a través de la expresión de búsqueda. Activa el proceso de generación del correo

Estructura de los formatos para construir el cuerpo del correo electrónico

Como ya se mencionó anteriormente, cada registro de distribución debe tener asociado un formato que se utiliza para elaborar el cuerpo del correo que se enviará como parte del proceso. Este formato se define bajo la base de datos distribucion y debe tener los siguientes elementos:

   
    '<img src=http://localhost:9090/eventos/images/mincit.jpg><p>'
    s(s1),' ',s(s2),
    '<p>Tenemos el gusto de enviarle el siguente documento:<p>'
    v20+|<br> |, 
    "<br>"v30,
    '<p>'
    'Use el siguiente vínculo para proceder a la descarga del mismo:  '
         |<a href=http://localhost:9090/bases/distribucion/|v40^a,| target=_blank>|v40^d|</a>|, 
        '<P> bla bla bla bla xxx'/
    
Formato Usado para
'<img src=http://localhost:9090/eventos/images/mincit.jpg><p>' Url de la imagen que se va a insertar al inicio del correo
s(s2), Campos extraídos desde la base de usuarios y que van a ser incluídos en el cuerpo del correo.
En la base de datos de usuarios debe existir un formato denominado extrae_info.pft que contendrá los campos a extraer utilizando los comandos del lenguaje de formateo:
      s2:=(v34^b", "v34^*)

De esta forma se extraen todas las variables que se deseen incluir en el cuerpo del correo y posteriormente esas variables (s0 ... s9) se referencian en el formato del cuerpo del correo y se insertan donde sea requerido.

Para proceder a la generación de los correos (script gestion_correos/correos.php) se aplica la búsqueda sobre la base de datos de usuarios construyendo la expresión de búsqueda con el número de control de los usuarios seleccionados y se construye el siguiente query:

</nowiki>
  "&base=caras
   &cipar=$db_path"."par/caras.par
   &Expresion=".$Expresion."
           &Pft=v21
                '$$$'v1
                '$$$'v34^*\", \"v34^b
                '$$$',@".$db_path."caras/pfts/es/extrae_info.pft,
                '$$$',ref(['distribucion']$Mfn_doc,@".$db_path."distribucion/pfts/es/$Formato,)";
</nowiki>

Como puede verse en el query

se accede la base de datos de usuarios (caras)
se utilza como expresión de búsqueda el prefijo NC_ con el número de control de cada uno de los usuarios seleccionados
se aplica un formato que extrae separando con "$$$" los siguientes datos:
  • Correo electrónico (v21)
  • Número de control (v1)
  • Apellidos y nombres del usuario (v34)
  • Asignación del los datos que van a ser incluídos en el cuerpo del correo
    a través del formato extrae_info.pft
  • Cuerpo del correo electrónico usando el formato insertado en el elemento
    a distribuir (base de datos distribución)


'<p>Tenemos el gusto de enviarle el siguente documento:<p>' Texto de inicio del correo electrónico
v20+|<br> |, Título del documento que se está distribuyendo
"<br>"v30, Fecha del documento que se está distribuyendo
'<p>' Cualquier elemento HTML para editar la salida
'Use el siguiente vínculo para proceder a la descarga del mismo: ' Texto que indica el archivo a visualizar o descargar
|<a href=http://localhost:9090/bases/distribucion/|v40^a, | target=_blank>|v40^d|</a>|, Vínculo hacia el archivo que se puede visualizar o descargar
'<P> bla bla bla bla xxx'/ Texto para complementar el cuerpo del correo electrónico

Este formato está almacenado como parte del registro de distribución y cada registro podrá tener asociado su propio formato.

Resumen de formatos requeridos en el proceso

Base de datos de usuarios

extrae_info.pft Extrae de la base de datos de usuarios la información a ser incluída en el cuerpo del correo electrónico

  Ejemplo:
     s2:=(v34^b", "v34^*)

No incluya saltos de línea en este formato


Base de datos de distribución

@capturar.pft Usado para presentar, desde la base de datos distribucion, la lista de objetos del menú de selección, en el proceso Generar/modificar un registro de distribución

  Ejemplo:
     select e3
        case 20: v20,|. |v30,| (|v1|)|'$$$' f(mfn,1,0)
     endsel

No incluya saltos de línea en este formato


@editar.pft En el proceso Generar/modificar un registro de distribución presenta el registro seleccionado para permitir su edición

  Ejemplo:
    
     '<font face=arial size=2>'v1001'/'v1002 '  '
     '<img src=../dataentry/img/toolbarEdit.png>
      <a href="../dataentry/fmt.php?xx=xx&base=distribucion&cipar=distribucion.par&Mfn='
              f(mfn,1,0)'&Opcion=editar&ver=N&Formato=editar&toolbar_record=N&footer=N">Editar</a>'
     '<table border=0 width=90%>'
     if p(v1) then '<tr><td width=20% valign=top><font face=arial size=2><b>Referencia</b></td>
                        <td valign=top><font face=arial size=2>'v1+|<br>|,'</td>' fi/
     if p(v10) then '<tr><td width=20% valign=top><font face=arial size=2><b>Elemento a distribuir</b></td>
                         <td valign=top><font face=arial size=2>'v10+|<br>|,'</td>' fi/
     if p(v20) then '<tr><td width=20% valign=top><font face=arial size=2><b>Título</b></td>
                         <td valign=top><font face=arial size=2>'v20+|<br>|,'</td>' fi/
     if p(v30) then '<tr><td width=20% valign=top><font face=arial size=2><b>Fecha</b></td>
                         <td valign=top><font face=arial size=2>'v30+|<br>|,'</td>' fi/
     if p(v40) then '<tr><td width=20% valign=top><font face=arial size=2><b>Anexos</b></td>
                         <td valign=top><font face=arial size=2>'(if p(v40) then | |v40^a,| |v40^d, 
                         if iocc<>nocc(v40) then '<br>' fi fi/),'</td>' fi/
     if p(v50) then '<tr><td width=20% valign=top><font face=arial size=2><b>Resumen</b></td>
                         <td valign=top><font face=arial size=2>'v50+|<br>|,'</td>' fi/
     if p(v60) then '<tr><td width=20% valign=top><font face=arial size=2><b>Formato del correo</b></td>
                         <td valign=top><font face=arial size=2>
                             <a href=../dbadmin/leertxt.php?base=distribucion&desde=dataentry&archivo='v60
                             ' target=_blank>'v60,'</a></td>' fi/
     '</table><p>'
     


lista_mail.pft Para presentar la lista de objetos que se pueden distribuir en el proceso de selección y generación de correos

    Ejemplo:
       
        f(mfn,1,0)'|'v60,'$$$$',"<font face=arial size=2>"v20,". <font face=arial size=2>"v30,/
        

Incluya un salto de línea solo al final del formato


No se puede modificar los comandos que están antes de '$$$$' ya que corresponden al mfn del registro y el nombre del formato a utilizar para construir el cuerpo del correo. Lo que está después del '$$$$' se usa para presentar la lista de objetos a fin de seleccionar cual se puede distribuir.