Saltar al contenido principal
Version: Next

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_instalacion aplica a todos los tipos (documento, archivo y documento_archivado).
  • El selector tipo_documento aplica únicamente a estrategias de tipo documento y documento_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:

ComandoDescripción
estrategias:agregarCrea una nueva estrategia
estrategias:activarActiva una estrategia
estrategias:desactivarDesactiva una estrategia
estrategias:editarModifica el nombre o la prioridad de una estrategia
estrategias:listarLista 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

EstrategiaSelectoresPrioridadTipo
default(ninguno)-1Archivo
default(ninguno)-1Documento
s3_notatipo_documento=NOTA10Documento
s3_guaraniid_instalacion=guarani20Documento
s3_sin_selector(ninguno)50Documento
s3_diaguitaid_instalacion=diaguita60Documento
s3_acta_guaraniid_instalacion=guarani + tipo_documento=ACTA100Documento
  • Un documento de Guaraní de tipo ACTA → usa s3_acta_guarani (2 selectores)
  • Un documento de Guaraní de tipo NOTA → usa s3_guarani (prioridad 20 > 10, y ambas tienen 1 selector; s3_sin_selector queda descartada por no tener selectores explícitos)
  • Un documento de Diaguita de tipo NOTA → usa s3_diaguita (prioridad 60 > 10)
  • Un documento sin coincidencias con ningún selector → usa s3_sin_selector (prioridad 50 > -1)