- Table of contents
- Evento que crea la estructura de carpetas de un expediente.
Evento que crea la estructura de carpetas de un expediente.¶
Información¶
Autor David Henriquez Sitio Web http://www.adapting.com Repositorio source:Crear_Estructura_Carpetas Código fuente http://svn-community.adapting.com:8080/svn/Community/Plugins/Crear_Estructura_Carpetas/ Versión Actual v1.0 Compatible con abox 2.7.3
Resumen¶
Este plugin se registra al evento después de guardar un expediente y se creó con el fin de crear una estructura de carpetas con sus respectivos permisos y documentos esperados por tipo de expediente.
La idea es que los usuarios no creen manualmente las carpetas dentro del expediente y sus documentos esperados.
Se utiliza un xml de configuración para definir la estructura de carpetas y documentos esperados.
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 las dll que genera el proyecto, en principio se debe llamar "Adapting.One.ExtranetFunctions.dll" y "Adapting.CreateCaseFoldersFolderRegistrar.dll", en la carpeta /bin del sitio web donde esta Abox.
Guía de uso¶
Primero tiene que configurar el XML para establece los parametros que se van a usar para generar la estructura de carpetas. El XML es el siguiente
<?xml version="1.0" encoding="utf-8" ?>
<createCaseFoldersConfig>
<foldersConfig>
<!-- Tipo de expediente -->
<folderConfig caseFolderType="RootCaseFolderType">
<!-- Conjunto de carpetas de primer nivel dentro del expediente -->
<folders>
<!-- Carpeta de primer nivel dentro del expediente, código será compuesto entre el código del expediente creado y el propio (codExp-codFolder)-->
<folder code="childFolder">
<name>folderHijo</name>
<entityTypeCode>RootFolderType</entityTypeCode>
<noInherit>true</noInherit>
<!-- Permisos que se asignarán a la carpeta creada-->
<permissions>
<permission role="_ADM_">None</permission>
</permissions>
<!-- Jerarquía de subcarpetas dentro de la carpeta de primer nivel -->
<subfolders>
<!-- Carpeta de segundo nivel dentro del expediente, código será compuesto entre el código del expediente creado y el propio (codExp-codFolder)-->
<folder code="root">
<name>Raiz</name>
<noInherit>true</noInherit>
<permissions>
<permission role="__ADM__">Total</permission>
<permission role="adm_demo">Total</permission>
<permission role="usr_demo">Access</permission>
</permissions>
<subfolders>
<folder code="adm">
<name>Administración</name>
</folder>
<folder code="qos">
<name>Calidad</name>
</folder>
<folder code="com">
<name>Comercial</name>
</folder>
<folder code="dir">
<name>Dirección</name>
</folder>
<folder code="fac">
<name>Facturas</name>
</folder>
</subfolders>
</folder>
</subfolders>
</folder>
</folders>
<!-- Conjunto de documentos esperados -->
<holders>
<holder code="doc 10">
<name>doc 10</name>
<required>true</required>
<cardinality>2</cardinality>
<entityTypeCode>RootDocumentType</entityTypeCode>
</holder>
<holder code="doc 20">
<name>doc 20</name>
<required>true</required>
<cardinality>2</cardinality>
<entityTypeCode>RootDocumentType</entityTypeCode>
</holder>
</holders>
</folderConfig>
</foldersConfig>
</createCaseFoldersConfig>
Una vez creado y configurado el fichero XML. Ponga ese fichero en una ruta accesible desde su instalación y añada la entrada de configuración _ createOrganizationConfig_ en appSettings.config. Así:
<appSettings>
<!--Este parametro es el que debe estar puesto en la aplicación en producción.-->
<!--<add key="dataPath" value="~/../Data/" />-->
<!--Solo usar esta entrada de configuración cuando se quiera configurar Data en una ubicación de red.-->
<add key="UNCDataPath" value="\\Saturno\\web\\rodi\\Data"/>
<add key="createOrganizationConfig" value="D:\Adapting-One\rdi-document\CreateOrganizationsConfig.xml"/>
</appSettings>
ó
<appSettings>
<!--Este parametro es el que debe estar puesto en la aplicación en producción.-->
<add key="dataPath" value="~/../Data/" />
<!--Solo usar esta entrada de configuración cuando se quiera configurar Data en una ubicación de red.-->
</appSettings>
Historico¶
30/08/2012 -> Actualizado a la versión 2.7.3
15/06/2018
Se realiza ajuste al xml de configuracion para la creacion de estructuras de carpetas a partir de la creación de un expediente
<?xml version="1.0" encoding="utf-8" ?>
<createCaseFoldersConfig>
<foldersConfig>
<!-- Tipo de expediente -->
<folderConfig caseFolderType="RootCaseFolderType">
<!-- Conjunto de carpetas de primer nivel dentro del expediente -->
<folders>
<!-- Carpeta de primer nivel dentro del expediente, código será compuesto entre el código del expediente creado y el propio (codExp-codFolder)-->
<folder code="childFolder">
<name>folderHijo</name>
<entityTypeCode>RootFolderType</entityTypeCode>
<noInherit>true</noInherit>
<!-- Permisos que se asignarán a la carpeta creada-->
<permissions>
<permission role="_ADM_">None</permission>
</permissions>
<!-- Jerarquía de subcarpetas dentro de la carpeta de primer nivel -->
<subfolders>
<!-- Carpeta de segundo nivel dentro del expediente, código será compuesto entre el código del expediente creado y el propio (codExp-codFolder)-->
<folder code="root">
<name>Raiz</name>
<noInherit>true</noInherit>
<permissions>
<permission role="__ADM__">Total</permission>
<permission role="adm_demo">Total</permission>
<permission role="usr_demo">Access</permission>
</permissions>
<subfolders>
<folder code="adm">
<name>Administración</name>
</folder>
<folder code="qos">
<name>Calidad</name>
</folder>
<folder code="com">
<name>Comercial</name>
</folder>
<folder code="dir">
<name>Dirección</name>
</folder>
<folder code="fac">
<name>Facturas</name>
</folder>
</subfolders>
</folder>
</subfolders>
</folder>
</folders>
<!-- AHORA PUEDE CREAR EXPEDIENTES Y SUBEXPEDIENTES -->
<!-- Conjunto de expedientes de primer nivel dentro del expediente -->
<casefolders>
<!-- Expediente de primer nivel dentro del expediente, código será compuesto entre el código del expediente creado y el propio (codExp-codFolder)-->
<casefolder code="childCaseFolder">
<name>caseFolderHijo</name>
<entityTypeCode>02</entityTypeCode>
<noInherit>true</noInherit>
<!-- Permisos que se asignarán al expediente creada-->
<permissions>
<permission role="_ADM_">None</permission>
</permissions>
<!-- Jerarquía de subexpedientes dentro del expediente de primer nivel -->
<subcasefolders>
<!-- Expedientes de segundo nivel dentro del expediente, código será compuesto entre el código del expediente creado y el propio (codExp-codFolder)-->
<subcasefolder code="subExp">
<name>Raiz</name>
<noInherit>true</noInherit>
<permissions>
<permission role="__ADM__">Total</permission>
</permissions>
<subcasefolders>
<subcasefolder code="adm">
<name>Administración</name>
</subcasefolder>
<subcasefolder code="qos">
<name>Calidad</name>
</subcasefolder>
<subcasefolder code="com">
<name>Comercial</name>
</subcasefolder>
<subcasefolder code="dir">
<name>Dirección</name>
</subcasefolder>
<subcasefolder code="fac">
<name>Facturas</name>
</subcasefolder>
</subcasefolders>
</subcasefolder>
</subcasefolders>
</casefolder>
</casefolders>
<!-- OBSOLETO YA NO SE USA ELLIMINAR DE TODOS LOS XML DE CONFIGURACION
<holders>
<holder code="doc 10">
<name>doc 10</name>
<required>true</required>
<cardinality>2</cardinality>
<entityTypeCode>RootDocumentType</entityTypeCode>
</holder>
<holder code="doc 20">
<name>doc 20</name>
<required>true</required>
<cardinality>2</cardinality>
<entityTypeCode>RootDocumentType</entityTypeCode>
</holder>
</holders> -->
</folderConfig>
</foldersConfig>
</createCaseFoldersConfig>
- Una vez creado el xml de configuración colocarlo en la carpeta de configuración (htdocs/config) tambien se ajusto la ruta para el xml de organizaciones (CreateOrganizationsConfig.xml)
Recordatorio de niveles de permisos¶
Los permisos admitidos en Abox son:
- None
- Acces
- Modify
- Total
NOTA: EL PLUGIN NO PODRA SER USADO POR EL USUARIO SUPER
OJO: LOS PERMISOS NO ESTAN FUNCIONANDO al parecer hay un problema en producto con la reconstruccion de jerarquias que se cruza con la asignacion de permisos en la suscripcion a eventos