Saltar al contenido principal
Version: Next

Escenarios

Escenarios

Esta sección presenta escenarios de ejemplo que sirven como guía para los técnicos de las universidades.

Escenario 1: Actualización manteniendo el mismo repositorio para documentos

Situación: La universidad almacena sus documentos en Nuxeo/RDI y quiere continuar usándolo en la versión 2.0.0 sin ningún cambio en la infraestructura de almacenamiento.

Este es el escenario más simple. No se requiere ninguna configuración adicional de storages ni estrategias: basta con asegurarse de que las variables de entorno del repositorio actual estén correctamente definidas antes de actualizar.

Paso 1 - Verificar las variables de entorno

Confirmar que las variables de entorno de conexión al repositorio Nuxeo/RDI estén definidas en el entorno de la aplicación:

STORAGE_TYPE=RDI
STORAGE_HOST=http://nuxeo:8080/nuxeo/atom/cmis/
STORAGE_USUARIO=Administrator
STORAGE_CLAVE=Administrator

Para consultar todos los tipos de storage disponibles y sus parámetros de configuración, ver Tipos y configuración de storages.

Paso 2 - Validar la conexión al storage

./bin/docs storages:validar

Verifica que el sistema puede conectarse correctamente al repositorio configurado mediante las variables de entorno.

Con esto es suficiente. Al iniciar la versión 2.0.0, el sistema reconoce estas variables y configura automáticamente el storage y la estrategia default apuntando a ese repositorio.


Escenario 2: Actualización manteniendo el repositorio actual para documentos y agregando uno nuevo para archivos

Situación: La universidad ya usa S3 para almacenar documentos y quiere incorporar un servidor Nuxeo/RDI para almacenar los archivos de formato libre (imágenes, planillas, etc.) que se suben desde módulos como Diaguita.

En este caso, el repositorio de documentos no cambia. Solo se agrega un nuevo storage dedicado a archivos y una estrategia que indique al sistema usarlo.

Paso 1 - Verificar las variables de entorno para documentos (S3)

Confirmar que las variables de entorno del repositorio S3 existente estén correctamente definidas. El sistema las usará para el storage default de documentos:

STORAGE_TYPE=S3
STORAGE_ENDPOINT=<endpoint_s3>
STORAGE_KEY=<key_s3>
STORAGE_SECRET=<secret_s3>
STORAGE_REGION=<region_s3>
STORAGE_VERSION=<version_s3>
STORAGE_BUCKET=<nombre_del_bucket>

Para consultar todos los tipos de storage disponibles y sus parámetros de configuración, ver Tipos y configuración de storages.

Paso 2 - Validar la conexión al storage por defecto

./bin/docs storages:validar

Verifica que el sistema puede conectarse correctamente al repositorio S3 configurado mediante las variables de entorno.

Paso 3 - Registrar la conexión al nuevo repositorio de archivos

Agregar la conexión al servidor Nuxeo/RDI en el archivo conexiones.yml:

## conexiones.yml
backend_nuxeo:
type: RDI
host: http://nuxeo:8080/nuxeo/atom/cmis/
usuario: Administrator
clave: "*****"

Para ver la estructura completa de conexiones adicionales y sus parámetros por tipo, ver Storages adicionales.

Paso 4 - Registrar el nuevo storage en el sistema

./bin/docs storages:agregar --nombre=mi_nuxeo --conexion=backend_nuxeo

El comando registra el storage en estado PENDIENTE y le asigna un ID (por ejemplo, 2).

Paso 5 - Activar el storage

./bin/docs storages:activar 2

Paso 6 - Crear una estrategia para el almacenamiento de archivos

./bin/docs estrategias:agregar \
--nombre=estrategia_archivos_nuxeo \
--tipo=archivo \
--storage=2 \
--prioridad=10

El comando registra la estrategia en estado PENDIENTE y le asigna un ID (por ejemplo, 3).

Paso 7 - Activar la estrategia

./bin/docs estrategias:activar 3

A partir de este momento, todos los archivos nuevos se almacenarán en el servidor Nuxeo/RDI, mientras que los documentos continúan guardándose en S3 sin cambios.


Escenario 3: Actualización con migración a un nuevo repositorio para documentos

Situación: La universidad actualmente usa Nuxeo/RDI para documentos y quiere migrar a S3. El proceso tiene dos etapas: primero los nuevos documentos comienzan a guardarse en S3, y luego los documentos anteriores se migran desde Nuxeo hacia S3.

Este es el escenario más complejo. Se recomienda planificar la ejecución de la migración (paso 8) en un horario de baja actividad.

Paso 1 - Verificar las variables de entorno del repositorio actual (Nuxeo/RDI)

Confirmar que las variables de entorno del repositorio Nuxeo existente estén definidas. El sistema las usará para el storage default al iniciar la versión 2.0.0, garantizando que los documentos existentes sigan siendo accesibles durante la transición:

STORAGE_TYPE=RDI
STORAGE_HOST=<host_nuxeo>
STORAGE_USUARIO=<usuario_nuxeo>
STORAGE_CLAVE=<clave_nuxeo>

Para consultar todos los tipos de storage disponibles y sus parámetros de configuración, ver Tipos y configuración de storages.

Paso 2 - Validar la conexión al storage por defecto

./bin/docs storages:validar

Verifica que el sistema puede conectarse correctamente al repositorio Nuxeo/RDI configurado mediante las variables de entorno.

Paso 3 - Registrar la conexión al nuevo repositorio S3

Agregar la conexión al bucket S3 en el archivo conexiones.yml:

## conexiones.yml
s3_documentos:
type: S3
endpoint: <endpoint_s3>
key: <key>
secret: <secret>
region: <region>
version: latest
bucket: <nombre_bucket>

Para ver la estructura completa de conexiones adicionales y sus parámetros por tipo, ver Storages adicionales.

Paso 4 - Registrar el nuevo storage S3 en el sistema

./bin/docs storages:agregar --nombre=s3_documentos --conexion=s3_documentos

El comando registra el storage en estado PENDIENTE y le asigna un ID (por ejemplo, 2).

Paso 5 - Activar el storage S3

./bin/docs storages:activar 2

Paso 6 - Crear una estrategia para dirigir los nuevos documentos a S3

./bin/docs estrategias:agregar \
--nombre=estrategia_documentos_s3 \
--tipo=documento \
--storage=2 \
--prioridad=10

El comando registra la estrategia en estado PENDIENTE y le asigna un ID (por ejemplo, 3).

Paso 7 - Activar la estrategia

./bin/docs estrategias:activar 3

A partir de este momento, todos los documentos nuevos se almacenan en S3. Los documentos existentes en Nuxeo siguen siendo accesibles, pero aún no han sido migrados.

Paso 8 - Migrar los documentos existentes de Nuxeo a S3

Preparar los lotes de migración indicando el storage de origen (Nuxeo, ID 1) y el de destino (S3, ID 2):

./bin/docs documentos:mover --storage_origen=1 --storage_destino=2

El sistema solicita confirmación mostrando la cantidad de documentos a mover. Una vez confirmado, prepara los lotes en la base de datos. Luego ejecutar el dispatcher para encolarlos en Redis:

./bin/docs dispatcher --modo=mover

Y por último, ejecutar el worker para procesar los movimientos encolados:

./bin/docs worker:lotes

El worker mueve los binarios al storage destino y elimina las copias del storage origen una vez confirmado el traslado. El progreso puede monitorearse con:

./bin/docs lotes:listar --tipo=MIGRACION
./bin/docs lotes:detalle --id-lote=<id>

Paso 9 - Actualizar las variables de entorno al nuevo repositorio S3

Una vez completada la migración, actualizar las variables de entorno para que el storage default también apunte a S3. Esto asegura consistencia si en algún momento se necesita reconfigurar el sistema desde cero:

STORAGE_TYPE=S3
STORAGE_ENDPOINT=<endpoint_s3>
STORAGE_KEY=<key_s3>
STORAGE_SECRET=<secret_s3>
STORAGE_REGION=<region_s3>
STORAGE_VERSION=<version_s3>
STORAGE_BUCKET=<nombre_del_bucket>

Paso 10 - Validar la conexión al storage por defecto actualizado

./bin/docs storages:validar

Verifica que el sistema puede conectarse correctamente al repositorio S3 con la nueva configuración de variables de entorno.