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
AgrupacionCachede 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>/AgrupacionCachey 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.