Skip to main content

Inquilinos

Crono es multi‑inquilino: un mismo despliegue puede atender a varios inquilinos, cada uno con sus datos y su configuración aislados. Esta página reúne consejos prácticos para trabajar con inquilinos. El detalle del modelo está en Multiorganización.

Inquilino vs. organización

Conviene no confundir dos niveles:

  • Inquilino (tenant) — el ámbito de aislamiento a nivel de despliegue/datos. Se resuelve por solicitud (típicamente por host) y determina qué carpeta de datos y qué configuración se usan.
  • Organización — la unidad de negocio dentro de la aplicación (empresa/sucursal) a la que pertenecen las entidades, expuesta por IOrganizacionContexto. La mayoría del código de dominio trabaja a nivel de organización.

Carpeta de datos por inquilino

Cada inquilino tiene su propio espacio bajo App_Data/Inquilinos/<inquilino>/. Ahí viven, entre otras cosas, cachés y artefactos generados específicos de ese inquilino. Un caso concreto es el caché de agrupación de estilos:

  • El SCSS de los módulos se compila y cachea en disco en App_Data/Inquilinos/<inquilino>/AgrupacionCache (además de un caché en proceso).
  • No hay recarga en caliente: tras editar SCSS de un módulo hay que reiniciar la aplicación y, si es necesario, borrar la carpeta AgrupacionCache de ese inquilino para forzar la recompilación.

Consejos prácticos

  • Depurar estilos que "no cambian": si editaste SCSS y no ves el cambio, borra App_Data/Inquilinos/<inquilino>/AgrupacionCache y reinicia (ver también Solución de problemas).
  • No mezcles datos entre inquilinos: cualquier artefacto que generes en disco debe ir bajo la carpeta del inquilino correspondiente, no en una ruta global compartida.
  • Resolución por host: asegúrate de que cada inquilino/organización tenga un host válido configurado; la resolución de inquilino se aplica a las solicitudes entrantes y, si falla, algunas piezas (como el programador de tareas) pueden no encontrar una URL base válida.
  • Caché con clave por inquilino/organización: al cachear datos sensibles al inquilino u organización, incluye ese identificador en la clave de caché para no servir datos de un inquilino a otro (ver Caché).
tip

Piensa siempre "¿esto es por inquilino, por organización o global?" antes de escribir en disco, cachear o construir una clave. Equivocarse de nivel es la causa más común de fugas o de datos que "reaparecen" donde no deberían.