Proyecto

General

Perfil

Notificar un documento o expediente.

Información

Autor David Henriquez
Sitio Web http://www.facebook.com/adapting-lab
Repositorio source:Acciones-America/trunk/src/SendNotification
Código fuente http://svn-community.adapting.com:8080/svn/Community/Plugins/Acciones-America/trunk/src/SendNotification/
Versión Actual v1.0
Compatible con Abox 2.6.2

Resumen

Envia un mail a los usuarios especificados con un enlace directo a el documento o expediente que se le esta ejecutando la transición.

Notas de instalación

Descargue el código fuente del plugin y compílelo usando Visual Studio 2010. Luego dependiendo si lo va a integrar en una instalación de Abox o en un proyecto de extensión de Abox sigua las siguientes instrucciones.
En una instalación de Abox¶

Copiar la dll que genera el proyecto, en principio se debe llamar Adapting.SendNotificationAction.dll, en la carpeta /bin del sitio web donde esta Abox.

Incluya el proyecto en su proyecto para extender Abox, añada una referencia en Adapting.Web al proyecto que acaba de incluir.

Guía de uso

Una vez incluida la clase en el proyecto y recompilado el proyecto, tiene que modificar el XML del workflow para añadir esta acción en las acciones que ejecuta el worlflow al cambiar de estado. Para hacer esto incluya este código en las acciones de la transición en la que quiere que se ejecute.

        <action type="SendNotification">
          <param name="userCode">empleado2</param>
          <param name="userCode">empleado1</param>
          <param name="subject">Prueba accion: SendNotification</param>
          <param name="body">Cuerpo del mensaje: Esto es una prueba. Descartar mail</param>
        </action>

Donde,
userCode: Código del usuario que se le enviara el mail. Este campo se puede repetir n veces para definir varios destinatarios.
subject: asunto del mail.
body: cuerpo o contenido del mail.

Nota: Esta acción es para usarla con workflows de documentos y expedientes.

Histórico

02/02/2012 - Ademas de usuarios, también se le pueden notificar a organizaciones y roles. Los dos nuevos parámetros son organizationCode y roleCode, ej:

<action type="SendNotification">
  <param name="userCode">empleado2</param>
  <param name="organizationCode">Hospital.sub</param>
  <param name="roleCode">Rol.Int.Informador</param>
  <param name="subject">Prueba accion: SendNotification</param>
  <param name="body">Cuerpo del mensaje: Esto es una prueba. Descartar mail</param>
</action>

15/05/2012_(2.6.6+) - Se puede utilizar un metadato tipo Rol (RolLink) para especificar los usuarios y ademas se puede configurar el sitio a donde se enlazará el mail.

  <param name="rolesmetadata">Rol.metadata</param> //Opcional, Código del metadato tipo RolLink
  <param name="notifyOn">public</param>            //Opcional, sitio que llevará el link en el mail, por defecto es el sitio de donde se ejecuta la transición

24/01/2013 (2.7.6) En el parámetro "subject" puede utilizar las palabras reservadas [EntityName] [EntityCode] [CaseFolderName] [CaseFolderCode].
En el cuerpo del correo "body" también se pueden utilizar las palabras reservadas.

28/06/2013 (2.7.9): Añadido nuevo parámetro de intersección, En caso de colocar AND como valor enviará la notificación a los usuarios que se encuentren tanto en los roles como en las organizaciones del roleLink, si coloca como valor OR los enviará a todos sin validar que estén en ambos.

<param name="intesectionOperator">AND/OR</param> 

Incluir el parámetro en la acción dentro del archivo de recursos del HotEditor "guards_actions_keywords"

<param code="intersectionOperator" minOccurs="0" maxOccurs="1">
  <type>list</type>
  <type>string</type>
  <name>Operador</name>
  <values>
    <value code="AND">Todos</value>
    <value code="OR">Alguno</value>
  </values>
  <description>Operador para la interseción de los roles del Metadato de roles. Disponibles: AND y OR (opcional)</description>
</param>

15/07/2013 (2.7.9) En el parámetro "subject" puede utilizar la palabra reservada [CurrentUser].
En el cuerpo del correo "body" también se pueden utilizar la palabra reservada.

18/16/2014 En el parámetro "subject" y "body" se agrego la palabra reservada [FolderCode] y [FolderName], estas muestran el codigo y el nombre de la carpeta padre de la entidad. (en caso que el padre sea un expediente subira niveles hasta encontrar una carpeta)

12/09/2014 (2.8) Mejora para permitir que la acción pueda enviar tareas a un UserLink. Se ha modificado la acción para que pueda recibir en su parámetro "rolesmetadata" un metadato ya sea de tipo RoleLink o también UserLink.

11/11/2014 (2.8) Mejora para elegir la plantilla del correo y sacar email de un metadato OrgDatabaseLink, la plantilla se puede enviar por codigo directo o el codigo de un metadato tipo string que contenga el codigo de la plantilla, el metadato que contenga el correo en el orgDataBaseLink debe tener el codigo "emailOrg"

todos son parametros opcionales

<param name="orgdatabasemetadata">OrgDatabBseLink</param>

<!--solo se admite uno de los 2 parametros-->
<param name="templatecode_metadata">metadata_Code</param>
<param name="templatecode">Code_template</param>

01/12/2014 (2.8) Mejora: se agrego un nuevo parametro opcional para definir si se envia el enlace a la entidad (documento, expediente o servicio), en el cuerpo del correo.
por defecto dicho enlace se enviara.

<!--tipo boolean-->
<param name="hiddenlink">true/false</param>

04/12/2017 Se agregan 3 nuevas keywords y un parametro opcional, para que las keywords funcionen es necesario el nuevo parametro "requestform".
Keywords
  • [UrlExternalRender] --> URL para poder entrar al render del documento
  • [UrlExternalRelatedNew] --> URL para poder radicar un nuevo documento, que quedará relacionado con el actual
  • [CodExternalForm] --> directamente muestra el código del formulario que se ha pasado en el otro parámetro

Parametro

          <param name ="requestform">CodeRequestForm</param>

29/12/2017 Se agrego un nuevo parámetro "emailmetadata" en el cual podrá pasar el código de un metadato de tipo email para enviar la notificación, ademas se agrego la opción se escribir el valor de un metadato pasándolo como keyword.

Nota: Sólo funciona con metadatos de tipo Email.

Keywords
  • [#CodeMetadata#] --> Codigo del metadato del contenido cuyo valor reemplazara esta keyword en el body o el asunto del email.

Parametro

          <param name="emailmetadata">CodigoMetadatoTipoEmail</param>          

08/05/2019 Permitir hacer un AND completo con todos los roles y/o organizaciones pasados en el RoleLink (intersectionOperator=true)

Se evalúa la intersección es entre roles & organizaciones y usuario colocados en el RoleLink.

25/01/2021 Se añade validación del metadato "CustomOrganizationDataBaseLink".

21/02/2023 Se añade parámetros para realizar validaciones dentro de la acción.

HotEditor:

<action code="SendNotification" available="true">
    <name>Envia un mail a los usuarios especificados con un enlace directo a el documento o expediente que se le esta ejecutando la transición.</name>
    <description>Envia un mail a los usuarios especificados con un enlace directo a el documento o expediente que se le esta ejecutando la transición.</description>
    <type>Notificaciones</type>
    <help-url>http://planificacion.adapting.com:81/redmine/projects/comunidad-de-desarrollo-abox/wiki/SendNotification</help-url>
    <contentTypes>
        <contentType>document</contentType>
        <contentType>casefolder</contentType>        
        <contentType>webPage</contentType>
        <contentType>service</contentType>
    </contentTypes>
        <params>
            <param code="userCode" minOccurs="0" maxOccurs="1">
                  <type>string</type>
                  <name>codigo de usuario</name>
                  <description>codigo de usuario a notificar</description>
            </param>

            <param code="subject" minOccurs="0" maxOccurs="1">
                  <type>string</type>
                  <name>Asunto del correo de notifiacion</name>
                  <description>Asunto del correo de notifiacion</description>
            </param>

            <param code="body" minOccurs="0" maxOccurs="1">
                  <type>string</type>
                  <name>Cuerpto del correo</name>
                  <description>Cuerpto del correo de la notifiacion</description>
            </param>

            <param code="organizationCode" minOccurs="0" maxOccurs="1">
                  <type>string</type>
                  <name>Codigo Organizacion</name>
                  <description>Codigo Organizacion</description>
            </param>
            <param code="metadataTo" minOccurs="0" maxOccurs="1">
                       <type>metadata</type>
                       <name>Metadato To</name>
                       <description>Quien recibe el correo (separar con , si son varios destinatarios)</description>
                 </param>
            <param code="roleCode" minOccurs="0" maxOccurs="1">
                  <type>role</type>
                  <name>Codigo Rol</name>
                  <description>Codigo Rol</description>
            </param>

            <param code="rolesmetadata" minOccurs="0" maxOccurs="1">
                  <type>string</type>
                  <name>Código del metadato tipo RolLink</name>
                  <description>Código del metadato tipo RolLink</description>
            </param>

            <param code="notifyOn" minOccurs="0" maxOccurs="1">
                  <type>string</type>
                  <name>sitio que llevará el link en el mail, por defecto es el sitio de donde se ejecuta la transición</name>
                  <description>sitio que llevará el link en el mail, por defecto es el sitio de donde se ejecuta la transición</description>
            </param>

            <param code="intersectionOperator" minOccurs="0" maxOccurs="1">
                  <type>list</type>
                  <type>string</type>
                <name>Operador</name>
                <values>
                        <value code="AND">Todos</value>
                        <value code="OR">Alguno</value>
                </values>
                <description>Operador para la interseción de los roles del Metadato de roles. Disponibles: AND y OR (opcional)</description>
            </param>

            <param code="orgdatabasemetadata" minOccurs="0" maxOccurs="1">
                  <type>string</type>
                  <name>el metadato que contenga el correo en el orgDataBaseLink debe tener el codigo "emailOrg"</name>
                  <description>el metadato que contenga el correo en el orgDataBaseLink debe tener el codigo "emailOrg"</description>
            </param>

            <param code="templatecode_metadata" minOccurs="0" maxOccurs="1">
                  <type>string</type>
                  <name>Código del metadato</name>
                  <description>Código del metadato</description>
            </param>

            <param code="templatecode" minOccurs="0" maxOccurs="1">
                  <type>string</type>
                  <name>Código plantilla</name>
                  <description>Código plantilla</description>
            </param>

            <param code="hiddenlink" minOccurs="0" maxOccurs="1">
                  <type>boolean</type>
                  <name>si se envia el enlace a la entidad (documento, expediente o servicio), en el cuerpo del correo. por defecto dicho enlace se enviara.</name>
                  <description>si se envia el enlace a la entidad (documento, expediente o servicio), en el cuerpo del correo. por defecto dicho enlace se enviara.</description>
            </param>

            <!-- NUEVOS PARAMETROS PARA AGREGAR VALIDACIONES -->

            <param code="metadata" minOccurs="1" maxOccurs="*">
                <type>metadata</type>
                <name>Codigo del campo a validar</name>
                <description>Codigo del campo a validar o bien una palabra reservada.</description>
            </param>
            <param code="operator" minOccurs="1" maxOccurs="*">
                <type>list</type>
                <name>Operador</name>
                <values>
                    <value code="Equal">igual</value>
                    <value code="Less">menor</value>
                    <value code="Greater">mayor</value>
                    <value code="LessOrEqual">menor o igual</value>
                    <value code="GreaterOrEqual">mayor o igual</value>
                    <value code="StartWith">inicia con</value>
                    <value code="EndsWith">termina con</value>
                    <value code="Contains">contiene</value>
                    <value code="NotEqual">*diferente a</value>
                </values>
                <description>Se escoge el tipo de comparación</description>
            </param>
            <param code="fieldValue" minOccurs="0" maxOccurs="*">
                <type>string</type>
                <name>Valor constante</name>
                <description>Valor a comparar</description>
            </param>
            <param code="keyword" minOccurs="0" maxOccurs="*">
                    <type>keyword</type>
                    <name>Palabra reservada a comparar</name>
                    <description>Palabra reservada a comparar</description>
            </param>
            <param code="constant" minOccurs="0" maxOccurs="*">
                <type>string</type>
                <name>Constante a comparar</name>
                <description>Constante a comparar</description>
            </param>

      </params>
 </action>

18/04/2023

  • Se agrego un nuevo parametro MetadataTo que tomara correos de un metadato de tipo texto o email, el metadato es opcional asi que no impide el antiguo funcionamiento de la accion

<!-- El valor del metadato también puede contener mas de un correo separado por coma ',' a menos que este sea de tipo mail que solo soporta uno-->   
          <param name="metadataTo">Codigo_del_metadato_con_correo_destinatario</param>   
  • Se realizaron modificaciones para que cuando se encuentre este parametro solo envie correo a los que correos que se encuentren dentro del metadato parametrizado

19/04/2023

  • Se modifico la etiqueta body para que pudiera leer etiquetas del archivo Message.resx y se agrego la conversion de palabras claves que se encontraba en la accion SendCustomMail

22/08/2023

Volver al inicio
Agregar imagen desde el portapapeles (Tamaño máximo: 10 MB)