4. Saltar a contenido

4. Manejo de documentación

La gestión documental es una herramienta esencial para lograr una dinámica eficiente, organizada y sistemática en las áreas interesadas de la entidad. El servicio de Manejo de Documentación, principalmente, se encarga de:

  • Crear cabinets: Un cabinet es una abstracción que permite agrupar documentos relacionados. Conceptualmente, es similar a una carpeta en un filesystem tradicional, aunque sólo soporta un nivel de anidamiento - es decir, un cabinet no puede contener cabinets como elementos, solo documentos.
  • Crear documentos: Un documento es una abstracción que representa un grupo de papeles que tratan sobre la misma materia. Por ejemplo, declaraciones juradas, estatutos, balances, etc.
  • Adjuntar archivos a documentos, y descargarlos: Los archivos pertenecen a un documento y contienen la información en archivos tangibles y procesables informáticamente. Un documento puede tener varios archivos, justo como un balance puede tener varias hojas.
erDiagram
    DigitalProfile ||--|| Cabinet: has
    Cabinet ||--o{ Document: has
    Document ||--o{ Files: has
    Files ||--o{ DownloadToken: has
    Document }o--|| DigitalProfile: belongs

    DigitalProfile {
      string id
      string name

    }

    Cabinet {
      string id
      string name
    }

    Document {
      string id
      string name
    }

    Files {
      string url
      string filename
      int size
      string content_type
    }

    DownloadToken {
      string token
      string doc_id
      string url
      int size
      int expires_in
      string content_type
    }

4.1 Cabinets

Un cabinet esta especificado por su nombre y una descripción opcional. Inicialmente el cabinet no contiene ningún documento.

Nota

Por convención, debe asignarse un cabinet vacío a cada legajo. Es decir, establecemos una correspondencia de un cabinet por cada legajo. Luego, el atributo documents del legajo debe setearse a una lista conteniendo un único elemento: Un string con la referencia al cabinet creado, utilizando para ello el id asignado al cabinet.

4.2 Documentos

Un documento es una abstracción que representa un grupo de papeles que tratan sobre la misma materia. Por ejemplo, declaraciones juradas, estatutos, balances, etc. Un documento está específicado por:

  • Un nombre name requerido, limitado a un máximo de 255 caracteres.
  • Una descripción opcional description, limitada a un máximo de 255 caracteres.
  • Un tipo de documento doc_type. Más información en Tipos de documentos.
  • Una referencia externa ref. Por convención, se asigna el id del legajo al que corresponde el documento como referencia externa.
  • El cabinet_id es una referencia al id del cabinet que contiene este documento.
  • El conjunto de atributos date_from y date_to es utilizado para definir el período de validez del documento.

Un documento puede o no ser borrable. Al dar de alta un documento, se puede setear el flag erasable con el valor deseado. Por defecto, los documentos son boarrables y dicho flag se setea en true. Una vez seteado este flag, no puede ser modificado.

4.3 Archivos

Cada documento tiene asociado uno o más archivos. Se limita el tamaño de los archivos adjuntos a un máximo de 50 MB de información por archivo.

4.4 Tokens de descarga

Se utiliza un token de descarga temporal para permitir el acceso a los archivos que componen cada documento. El tiempo de expiración tiene una granularidad de microsegundos y se encuentra en el atributo expires_in. El tiempo de expiración default es de 10 minutos. Como máximo, el tiempo de expiración será de un día.

4.5 Resumen de referencias

El siguiente digrama resume las principales entidades involucradas en el manejo de documentacion y las principales referencias que hay que mantener.

Document References

4.6 Etiquetas

Se puede marcar el documento utilizando strings arbitrarios como etiquetas. Una etiqueta tiene un a longitud mínima de 2 caracteres y máxima de 20 caracteres.

4.7 Información adicional

Se puede guardar en el documento toda la información adicional que se desee en formato clave-valor.

4.8 Historia

Si se especifica que el documento es versionable, el sistema guardará todos los cambios que se realicen sobre el mismo, junto con el momento y el usuario o aplicación que generaron el cambio. Las versiones están numeradas y comienzan desde 1. Cada cambio es un objeto donde se referencia el documento por su identificador único (orig_id), el número de versión inmediatamente anterior y un arreglo de cambios. El formato del arreglo de cambios es similar al descrito para legajos. Como máximo, se permiten hasta 50 versiones del mismo documento. Por defecto, no se pueden borrar los documentos asociados a un legajo. Si se desea permitir que sean borrados, se pueden marcar como borrables.

4.9 Tipos de documentos

Cada documento lleva un tipo, que sirve para categorizar su función. Por defecto, se proveen los siguiente tipos:

  • Hoja de balance: balance_sheet.
  • Gesto: gesture.
  • Frente del DNI: id_front.
  • Dorso del DNI: id_back.
  • Tarjeta de identificación: identity_card.
  • Chequera: paycheck_stub.
  • Selfie: selfie
  • Firma: signature.
  • Estatuto: statute.
  • Poderes legales: statutory_powers.
  • Registro de impuestos: tax_records.
  • Otro: other.

Se permite extender este enumerado para contener todos los tipos de documentos que necesite una entidad para representar su negocio.

4.10 Validaciones

Se decodifica el contenido de los archivos y mediante la deteccion de magic numbers se infiere el tipo de MIME.

4.11 Tipos de archivos permitidos

MIME Extension
text/plain .txt
text/csv .csv
image/png .png
image/jpeg .jpeg
application/json .json
application/pdf .pdf
application/msword .doc .dot
application/excel
application/vnd.ms-powerpoint .ppt .pot .pps .ppa
application/vnd.ms-excel .xls .xlt .xla
application/vnd.oasis.opendocument.text .odt
application/vnd.oasis.opendocument.spreadsheet .ods
application/vnd.oasis.opendocument.presentation .odp
application/vnd.openxmlformats-officedocument.wordprocessingml.document .docx
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet .xlsx
application/vnd.openxmlformats-officedocument.presentationml.presentation .pptx
application/vnd.rar .rar
application/x-tar .tar .tgz
application/zip .zip

4.12 Documentación por vencer y documentación vencida

Trak.e permite configurar para cada documento un plazo de vigencia. Puede configurarse la plataforma para emitir alertas cuando un documento se encuentre próximo a su fecha de vencimiento, o cuando el documento alcance efectivamente la fecha de vencimiento.

4.13 Recursos

Recurso
doc_cabinet
doc_document
doc_file

4.14 API

API