Estrategias
Estrategias
Las estrategias son reglas que determinan en qué storage debe guardarse un documento o archivo. Cada estrategia define:
- Un storage destino: dónde se almacenará.
- Un tipo: si aplica a documento, archivo o documento_archivado.
- Selectores (opcional): condiciones que debe cumplir el documento o archivo para que la estrategia se aplique, como el sistema de origen (
id_instalacion) o el tipo de documento (tipo_documento). - Una prioridad: número que determina cuál estrategia se prefiere cuando varias podrían aplicarse.
Nota:
- El selector
id_instalacionaplica a todos los tipos (documento,archivoydocumento_archivado).- El selector
tipo_documentoaplica únicamente a estrategias de tipodocumentoydocumento_archivado.
Selección de estrategias
Cuando se guarda un documento o archivo, el sistema evalúa todas las estrategias activas y selecciona la más adecuada siguiendo estas reglas, en orden:
1. Los selectores tienen preferencia sobre la prioridad
Una estrategia con más selectores siempre gana sobre una con menos, sin importar los valores de prioridad. Por ejemplo, una estrategia con los selectores id_instalacion y tipo_documento siempre tiene preferencia sobre una que solo tenga id_instalacion, siempre que todos sus selectores coincidan con el documento.
2. Si hay empate en cantidad de selectores, gana la de mayor prioridad
Ante dos estrategias con igual cantidad de selectores que aplican al mismo documento, se selecciona la de número de prioridad más alto. Por ejemplo, una estrategia con prioridad 60 gana sobre una con prioridad 20.
3. Las estrategias sin selectores son el último recurso
Una estrategia sin selectores solo se aplica si ninguna estrategia con selectores explícitos coincide con el documento o archivo.
4. La estrategia default
La estrategia default tiene prioridad -1, valor reservado que indica que únicamente se utiliza si no existe ninguna otra estrategia que pueda aplicarse. No puede editarse ni desactivarse.
Gestión de estrategias
Para gestionar las estrategias se dispone de los siguientes comandos:
| Comando | Descripción |
|---|---|
estrategias:agregar | Crea una nueva estrategia |
estrategias:activar | Activa una estrategia |
estrategias:desactivar | Desactiva una estrategia |
estrategias:editar | Modifica el nombre o la prioridad de una estrategia |
estrategias:listar | Lista las estrategias registradas |
estrategias:agregar
./bin/docs estrategias:agregar \
--nombre=s3_diaguita \
--tipo=archivo \
--selector="id_instalacion:diaguita" \
--prioridad=60 \
--storage=3
Crea una nueva estrategia en estado PENDIENTE. El parámetro --selector puede repetirse para agregar más de una condición. Si no se indica ningún selector, la estrategia aplica a todos los documentos o archivos de ese tipo.
estrategias:activar
./bin/docs estrategias:activar {id_estrategia}
Activa la estrategia indicada. El storage asociado debe estar activo para poder activarla.
Nota: Al activar una estrategia, se valida la conexión al storage asociado. Si la validación falla, la estrategia no se activa.
estrategias:desactivar
./bin/docs estrategias:desactivar {id_estrategia}
Desactiva la estrategia indicada. No es posible desactivar las estrategias default.
estrategias:editar
./bin/docs estrategias:editar {id_estrategia} --prioridad=45
Permite modificar el nombre o la prioridad de una estrategia existente. No se pueden editar las estrategias default.Esta sección describe posibles escenarios a modo de ejemplo para que sirva de guia para los tecnicos de las univerdades.
estrategias:listar
./bin/docs estrategias:listar
Lista todas las estrategias registradas, ordenadas por ID, mostrando su storage, tipo, selectores, prioridad y estado.
Ejemplos
| Estrategia | Selectores | Prioridad | Tipo |
|---|---|---|---|
default | (ninguno) | -1 | Archivo |
default | (ninguno) | -1 | Documento |
s3_nota | tipo_documento=NOTA | 10 | Documento |
s3_guarani | id_instalacion=guarani | 20 | Documento |
s3_sin_selector | (ninguno) | 50 | Documento |
s3_diaguita | id_instalacion=diaguita | 60 | Documento |
s3_acta_guarani | id_instalacion=guarani + tipo_documento=ACTA | 100 | Documento |
- Un documento de Guaraní de tipo
ACTA→ usas3_acta_guarani(2 selectores)- Un documento de Guaraní de tipo
NOTA→ usas3_guarani(prioridad 20 > 10, y ambas tienen 1 selector;s3_sin_selectorqueda descartada por no tener selectores explícitos)- Un documento de Diaguita de tipo
NOTA→ usas3_diaguita(prioridad 60 > 10)- Un documento sin coincidencias con ningún selector → usa
s3_sin_selector(prioridad 50 > -1)