Terminology

This page covers some of the common terminology we use across this documentation. Most of the concepts are explained on their respective pages, but this page aims to provide a list of todo

TermMeaning
Route-level middlewareMiddleware defined on a specific route, either directly or using route groups. Opposite of kernel middleware
Kernel middlewareMiddleware defined in App\Http\Kernel@$middleware. Used with early identification
Universal routeA route usable in both the central app and the tenant app. It has the identification middleware but it only triggers when the tenant is actually provided in some way.
Tenant appThe tenant part of the application (tenant is identified and tenancy is initialized upon visit)
Central appThe central part of the application (tenancy is not used here, typically part of the app includes the onboarding logic, some central admin panel for managing tenants, and similar)
Tenant identificationThe process of identifying a tenant based on the request. Handled by identification middleware
Tenancy initializationThe process of initializing tenancy (switching the application context to that of a specific tenant)
Application contextCan be central or tenant. When the application is in the central context, it works like a normal Laravel app. When it's in the tenant context, Tenancy Bootstrappers scope various Laravel components to the current tenant
Tenancy BootstrapperA class that manages scoping certain logic (either a part of Laravel or a third-party package) to the tenant context and vice versa. Implements the Stancl\Tenancy\Contracts\TenancyBootstrapper interface and is registered in tenancy.bootstrappers
Tenancy FeatureA class that adds bootstraps additional functionality (optional features). Implements Stancl\Tenancy\Contracts\Feature and is registered in tenancy.features