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 elid
del legajo al que corresponde el documento como referencia externa. - El
cabinet_id
es una referencia alid
del cabinet que contiene este documento. - El conjunto de atributos
date_from
ydate_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.
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 | |
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 |