Proyecto

General

Perfil

Mover contenido a una carpeta o expediente definida en un metadato.

Información

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

Resumen

Esta acción mueve el documento o expediente hacia una carpeta o expediente definido en un metadato ó constante. Ademas si se esta moviendo hacia un expediente se le puede definir el hueco en el que se almacenara.

Puede utilizar rutas relativas

~ Subir hasta la carpeta raíz
.. Subir un nivel
'*'Cadena Sin las comillas simples. Carpeta que termina en
Cadena'*' Sin las comillas simples. Carpeta que comienza con
'*'Cadena'*' Sin las comillas simples. Carpeta que contiene
Cadena Código exacto de la carpeta

Ejemplos de como utilizarlas

~/01 Sube hasta la carpeta raíz y busca dentro de sus carpetas hijas la que tenga código 01.
../../01 Sube 2 niveles y busca dentro de sus carpetas hijas la que tenga código 01.
../0*/*20* Sube un nivel y busca dentro de sus carpetas hijas la que comienze con cero y dentro de ella la que contenga "20" en su código

De esta forma puede ubicar cualquier carpeta dentro de la jerarquía.

Si no encontrara la carpeta buscada entonces se saldra de la acción y no se realizará la operació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.MoveToFolderFromMetadataAction.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="MoveToFolderFromMetadata">
          <param name=".foldercodemetadata_value"></param>
          <param name=".constant_value"></param>
          <param name="expectdoccode"></param>
        </action>

Donde,

type: Nombre de la acción.

.foldercodemetadata_value: El valor del parámetro corresponde a un metadato, este metadato puede ser tipo carpeta ó expediente, si es tipo texto puede tener el código de la carpeta ó expediente, ó puede tener una ruta relativa.

.constant_value: Código de la carpeta ó expediente hacia donde se va a mover el contenido ó ruta relativa.

expectdoccode: Hueco del expediente al que se va a mover. (Opcional)

Nota: Esta acción es para usarla con workflows de expedientes y documentos.
En caso de que el metadato o la constante no contenga valor (Código de la carpeta destino) seguirá el flujo normalmente sin advertir nada.

Historico

19/09/2012 Ahora permite especificar metadatos de tipo "Carpeta" y "Expediente".

30/10/2012 Ahora permite especificar carpeta destino con rutas relativas - a partir de la versión 2.7.4.

15/01/2013 Ahora permite especificar carpeta destino con rutas relativas de forma general - a partir de la versión 2.7.6.

28/01/2013 (2.7.6+) Añadido caso de búsqueda de carpeta relativa, si no se desea subir niveles y lo que se quiere es buscar en toda la jerarquía de carpetas un código aproximado se utilizaría de la siguiente manera:

'*'Cadena Sin las comillas simples. Carpeta que termina en
Cadena'*' Sin las comillas simples. Carpeta que comienza con
'*'Cadena'*' Sin las comillas simples. Carpeta que contiene

31/01/2014 se agregaron 2 parametros opcionales para mover el documento al hueco de un expediente (Documento esperado). por medio del codigo del hueco

Nota: Para estos casos no se le añadirá instrucciones de bajar niveles.

25/02/2014 para buscar carpetas de primer nivel de la entidad (hermanas) se utilizara "/" antes del codigo ejemplo "/*.123"

Codigo para Hoteditor

<action code="MoveToFolderFromMetadata" available="true">
            <name>Mover contenido a carpeta/expdte especificado</name>
            <description>Cambia un contenido de carpeta o expediente en un hueco especifico</description>
            <type>Propiedades del contenido</type>
            <contentTypes>
                <contentType>document</contentType>
                <contentType>casefolder</contentType>
            </contentTypes>
            <params>
                <param code=".foldercodemetadata_value" minOccurs="0" maxOccurs="1">
                    <type>metadata</type>
                    <name>Código del metadato</name>
                    <description>Metadato que contiene el Id. código ó ruta relativa de la carpeta hacia donde se movera la entidad</description>
                </param>
                <param code=".constant_value" minOccurs="0" maxOccurs="1">
                    <type>string</type>
                    <name>Código ó ruta relativa de la carpeta o expediente</name>
                    <description>Metadato que contiene el código ó ruta relativa de la carpeta hacia donde se movera la entidad</description>
                </param>
                <param code="expectdoccode" minOccurs="0" maxOccurs="1">
                    <type>string</type>
                    <name>Código del tipo doc. Esperado</name>
                    <description>codigo del tipo documental esperado dentro del expdte (sólo para expdtes)</description>
                </param>
                    <param code=".expecteddoccode_metadatavalue" minOccurs="0" maxOccurs="1">
                    <type>metadata</type>
                    <name>Código del metadato que contiene codigo de tipo doc. Esperado</name>
                    <description>Metadato que contiene el codigo del tipo documental esperado dentro del expdte (sólo para expdtes)</description>
                </param>
                <param code=".expecteddoccode_keyword" minOccurs="0" maxOccurs="1">
                    <type>keyword</type>
                    <name>Código del tipo doc. Esperado por medio de Keyword</name>
                    <description>Keyword que contiene el codigo del tipo documental esperado dentro del expdte (sólo para expdtes)</description>
                </param>
            </params>
        </action>

10/06/2014 a partir de la fecha solo es compatible con la version 2.7.12.3296 de abox en adelante, revizar carpetas de plugins.

09/09/2015 se agrego 2 nuevas mejoras

1. se le puede pasar el código del holder con una expresión regular para mover los documentos dentro de los expedientes

2. se agrego el parámetro "reference" el cual permite meter una referencia de un documento en un holder si hay espacio, sino devuelve un mensaje de error

Codigo para Hoteditor

<action code="MoveToFolderFromMetadata" available="true">
            <name>Mover contenido a carpeta/expdte especificado</name>
            <description>Cambia un contenido de carpeta o expediente en un hueco especifico</description>
            <type>Propiedades del contenido</type>
            <contentTypes>
                <contentType>document</contentType>
                <contentType>casefolder</contentType>
            </contentTypes>
            <params>
                <param code=".foldercodemetadata_value" minOccurs="0" maxOccurs="1">
                    <type>metadata</type>
                    <name>Código del metadato</name>
                    <description>Metadato que contiene el Id. código ó ruta relativa de la carpeta hacia donde se movera la entidad</description>
                </param>
                <param code=".constant_value" minOccurs="0" maxOccurs="1">
                    <type>string</type>
                    <name>Código ó ruta relativa de la carpeta o expediente</name>
                    <description>Metadato que contiene el código ó ruta relativa de la carpeta hacia donde se movera la entidad</description>
                </param>
                <param code="expectdoccode" minOccurs="0" maxOccurs="1">
                    <type>string</type>
                    <name>Código del tipo doc. Esperado</name>
                    <description>codigo del tipo documental esperado dentro del expdte (sólo para expdtes)</description>
                </param>
                    <param code=".expecteddoccode_metadatavalue" minOccurs="0" maxOccurs="1">
                    <type>metadata</type>
                    <name>Código del metadato que contiene codigo de tipo doc. Esperado</name>
                    <description>Metadato que contiene el codigo del tipo documental esperado dentro del expdte (sólo para expdtes)</description>
                </param>
                <param code=".expecteddoccode_keyword" minOccurs="0" maxOccurs="1">
                    <type>keyword</type>
                    <name>Código del tipo doc. Esperado por medio de Keyword</name>
                    <description>Keyword que contiene el codigo del tipo documental esperado dentro del expdte (sólo para expdtes)</description>
                </param>
                 <param code="reference" minOccurs="0" maxOccurs="1">
                    <type>string</type>
                    <name>permite referenciar un documento</name>
                    <description>el ser true permite hacer una referencia dentro de un holder de un expediente</description>
                </param>
            </params>
        </action>

        <action type="MoveToFolderFromMetadata">
          <param name=".foldercodemetadata_value"></param>
          <param name=".constant_value"></param>
          <param name="expectdoccode"></param>
          <param name="reference">(true/false)</param>
        </action>

2/12/2015 ya se puede utilizar con metadatos MirrorField en el parametro .foldercodemetadata_value

07/10/2016 Nuevo parámetro para controlar si se recalculan los permisos al mover el contenido.

   <param name="rebuildpermission">true/false</param>

21/02/2019 Ahora se permiten metadatos tipo Organization y OrganizationDatabaseLink.
  • La acción moverá el contenido la carpeta que contenga en su codigo el codigo de la organización, si hay varias que lo contengan lo moverá a la que sea subcarpeta de la carpeta padre del contenido actual (carpeta que sea de la misma rama del contenido), y si hay varias tomará la mas reciente.
  • La mejora de mover a la carpeta de la misma rama cuando coincidan varias carpetas de destino, se agregó a los casos de '*'Cadena, Cadena'*' y '*'Cadena'*', (en los que se busca en toda la jerarquía de carpetas).
  • Solo funciona al mover a Carpetas, NO funciona a Expediente.

06/06/2019 Permitir dejar una referencia (huella) cuando el documento sale del expediente

Se agrega un nuevo parámetro booleano llamado "fingerprint" el cual permitirá deja una "huella" o documento referenciado en la ubicación actual del documento. Ademas, se implementa una validación que verifica si en el holder destino contiene referencias del documento a mover. En caso de que lo encuentre lo eliminará.
   <param name="fingerprint">true/false</param>


Restricciones:
  • el nuevo parametro "fingerprint" solo funciona cuando se va a mover a un holder de un expediente.
  • "fingerprint" se omite si "reference" es true.
  • siempre que se mueva un documento o se haga una referencia a un holder, se valida si en el holder destino hay referencias. si las hay, entonces se elimina. Porque se espera que en holder no hayan referencias juntas o referencia y documento original junto.
13/06/2019
  • Se habilita el uso de metadatos tipo Lista Maestra para mover documentos a una Carpeta, utilizando el código del elemento seleccionado.
  • Solo funciona al mover a Carpetas, NO funciona a Expediente.
14/06/2019 Añadiendo la posibilidad de buscar en un padre con una estructura de código especifica.
  • En caso de no encontrar la carpeta en los hijos del padre (hermanos), se coge el código del padre y se toma (el código) hasta el ultimo punto, y se buscar con ese nuevo código.
  • Esta mejora solo funciona para cuando se manda el código con asteriscos en los estrenos, lo cual ejecuta un content. Los metadatos organizaciones y masterlist se toman con este formato.
20/08/2020 Admitir expresión regular para buscar el padre destino.
  • Se realiza la implementación de la expresión regular ingresadas desde un metadato o por una constante. Con la excepción de que la expresión regular no contenga el caracter "/" y tampoco inicie o finalice con "*". Esto debido a otra mejora que ya estaba en el plugin. En caso de que se requiera estos caracteres, lo ideal seria crear un nuevo parámetro.
  • Esta mejora lo que hace es buscar entre los padres del contenido cual coincide con la expresión regular. Elige el primero que encuentre al subir los niveles de padres y si encuentra mas de una coincidencia en algún padre, elije la mas reciente.

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

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