10. Configuration Reference¶
The SWPMultiTenancyBundle can be configured under the swp_multi_tenancy
key in your configuration file.
This section describes the whole bundle’s configuration.
10.1. Full Default Configuration¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | # app/config/config.yml
swp_multi_tenancy:
use_orm_listeners: false
persistence:
phpcr:
enabled: true
basepath: "/swp"
route_basepaths: ["routes"]
content_basepath: "content"
menu_baseapth: "menu"
media_baseapth: "media"
tenant_aware_router_class: SWP\MultiTenancyBundle\Routing\TenantAwareRouter
classes:
tenant:
model: SWP\Component\MultiTenancy\Model\Tenant
repository: SWP\Bundle\MultiTenancyBundle\Doctrine\PHPCR\TenantRepository
factory: SWP\Component\MultiTenancy\Factory\TenantFactory
object_manager_name: ~
organization:
model: SWP\Component\MultiTenancy\Model\Organization
repository: SWP\Bundle\MultiTenancyBundle\Doctrine\PHPCR\OrganizationRepository
factory: SWP\Bundle\MultiTenancyBundle\Factory\OrganizationFactory
object_manager_name: ~
orm:
enabled: true
classes:
tenant:
model: SWP\Component\MultiTenancy\Model\Tenant
repository: SWP\Bundle\MultiTenancyBundle\Doctrine\ORM\TenantRepository
factory: SWP\Component\MultiTenancy\Factory\TenantFactory
object_manager_name: ~
organization:
model: SWP\Component\MultiTenancy\Model\Organization
repository: SWP\Bundle\MultiTenancyBundle\Doctrine\ORM\OrganizationRepository
factory: SWP\Bundle\MultiTenancyBundle\Factory\OrganizationFactory
object_manager_name: ~
|
10.1.1. persistence¶
10.1.1.1. use_orm_listeners¶
type: Boolean
default: false
Use this setting to activate the TenantableListener
and TenantableSubscriber
. This will enable
tenantable SQL extension and will make sure your Doctrine ORM entities are tenant aware. See
Event Listeners for more details.
10.1.1.2. persistence
¶
10.1.1.2.1. phpcr
¶
1 2 3 4 5 6 7 8 9 10 11 12 # app/config/config.yml swp_multi_tenancy: # .. persistence: phpcr: enabled: true basepath: "/swp" route_basepaths: ["routes"] content_basepath: "content" menu_baseapth: "menu" media_baseapth: "media" tenant_aware_router_class: SWP\MultiTenancyBundle\Routing\TenantAwareRouter
10.1.1.2.1.1. enabled
¶
type: boolean
default: false
If true
, PHPCR is enabled in the service container.
PHPCR can be enabled by multiple ways such as:
1 2 3 4 5 6 phpcr: ~ # use default configuration # or phpcr: true # straight way # or phpcr: route_basepaths: ... # or any other option under 'phpcr'
10.1.1.2.1.3. route_basepaths
¶
type: array
default: ['routes']
A set of paths where routes should be located in the PHPCR tree.
10.1.1.2.1.4. content_basepath
¶
type: string
default: content
The basepath for content objects in the PHPCR tree. This information is used to offer the correct subtree to select content documents.
10.1.1.2.1.5. media_basepath
¶
type: string
default: media
The basepath for media objects in the PHPCR tree. This information is used to offer the correct subtree to select media documents.
10.1.1.2.1.7. tenant_aware_router_class
¶
type: string
default: SWP\MultiTenancyBundle\Routing\TenantAwareRouter
The TenantAwareRouter service’s fully qualified class name to use.
10.1.1.2.1.8. classes
¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | # app/config/config.yml
swp_multi_tenancy:
# ..
persistence:
phpcr:
# ..
classes:
tenant:
model: SWP\Component\MultiTenancy\Model\Tenant
repository: SWP\Bundle\MultiTenancyBundle\Doctrine\PHPCR\TenantRepository
factory: SWP\Component\MultiTenancy\Factory\TenantFactory
object_manager_name: ~
organization:
model: SWP\Component\MultiTenancy\Model\Organization
repository: SWP\Bundle\MultiTenancyBundle\Doctrine\PHPCR\OrganizationRepository
factory: SWP\Bundle\MultiTenancyBundle\Factory\OrganizationFactory
object_manager_name: ~
|
10.1.1.2.1.9. tenant.model
¶
type: string
default: SWP\Component\MultiTenancy\Model\Tenant
The FQCN of the Tenant model class which is of type TenantInterface.
10.1.1.2.1.10. tenant.factory
¶
type: string
default: SWP\Component\MultiTenancy\Factory\TenantFactory
The FQCN of the Tenant Factory class.
10.1.1.2.1.11. tenant.repository
¶
type: string
default: SWP\Bundle\MultiTenancyBundle\Doctrine\PHPCR\TenantRepository
The FQCN of the Tenant Repository class.
10.1.1.2.1.12. tenant.object_manager_name
¶
type: string
default: null
The name of the object manager. If set to null it defaults to default.
If PHPCR ODM persistence backend is enabled it will register swp.object_manager.tenant
service
which is an alias for “doctrine_phpcr.odm.default_document_manager”.
10.1.1.2.1.13. organization.model
¶
type: string
default: SWP\Component\MultiTenancy\Model\Organization
The FQCN of the Organization model class which is of type OrganizationInterface.
10.1.1.2.1.14. organization.factory
¶
type: string
default: SWP\Bundle\MultiTenancyBundle\Factory\OrganizationFactory
The FQCN of the Organization Factory class.
10.1.1.2.1.15. organization.repository
¶
type: string
default: SWP\Bundle\MultiTenancyBundle\Doctrine\PHPCR\OrganizationRepository
The FQCN of the Organization Repository class.
10.1.1.2.1.16. organization.object_manager_name
¶
type: string
default: null
The name of the object manager. If set to null it defaults to default.
If PHPCR ODM persistence backend is enabled it will register swp.object_manager.organization
service
which is an alias for doctrine_phpcr.odm.default_document_manager
.
10.1.1.2.2. orm
¶
1 2 3 4 5 6 # app/config/config.yml swp_multi_tenancy: # .. persistence: orm: enabled: true
10.1.1.2.2.1. enabled
¶
type: boolean
default: false
If true
, ORM is enabled in the service container.
ORM can be enabled by multiple ways such as:
1 2 3 4 5 6 orm: ~ # use default configuration # or orm: true # straight way # or orm: enabled: true ... # or any other option under 'orm'
10.1.1.2.2.2. classes
¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | # app/config/config.yml
swp_multi_tenancy:
# ..
persistence:
orm:
# ..
classes:
tenant:
model: SWP\Component\MultiTenancy\Model\Tenant
repository: SWP\Bundle\MultiTenancyBundle\Doctrine\ORM\TenantRepository
factory: SWP\Component\MultiTenancy\Factory\TenantFactory
object_manager_name: ~
organization:
model: SWP\Component\MultiTenancy\Model\Organization
repository: SWP\Bundle\MultiTenancyBundle\Doctrine\ORM\OrganizationRepository
factory: SWP\Bundle\MultiTenancyBundle\Factory\OrganizationFactory
object_manager_name: ~
|
10.1.1.2.2.3. tenant.model
¶
type: string
default: SWP\Component\MultiTenancy\Model\Tenant
The FQCN of the Tenant model class which is of type TenantInterface.
10.1.1.2.2.4. tenant.factory
¶
type: string
default: SWP\Component\MultiTenancy\Factory\TenantFactory
The FQCN of the Tenant Factory class.
10.1.1.2.2.5. tenant.repository
¶
type: string
default: SWP\Bundle\MultiTenancyBundle\Doctrine\ORM\TenantRepository
The FQCN of the Tenant Repository class.
10.1.1.2.2.6. tenant.object_manager_name
¶
type: string
default: null
The name of the object manager. If set to null it defaults to default.
If Doctrine ORM persistence backend is enabled it will register swp.object_manager.tenant
service
which is an alias for doctrine.orm.default_entity_manager
.
10.1.1.2.2.7. organization.model
¶
type: string
default: SWP\Component\MultiTenancy\Model\Organization
The FQCN of the Organization model class which is of type OrganizationInterface.
10.1.1.2.2.8. organization.factory
¶
type: string
default: SWP\Bundle\MultiTenancyBundle\Factory\OrganizationFactory
The FQCN of the Organization Factory class.
10.1.1.2.2.9. organization.repository
¶
type: string
default: SWP\Bundle\MultiTenancyBundle\Doctrine\ORM\OrganizationRepository
The FQCN of the Organization Repository class.
10.1.1.2.2.10. organization.object_manager_name
¶
type: string
default: null
The name of the object manager. If set to null it defaults to default.
If Doctrine ORM persistence backend is enabled it will register swp.object_manager.organization
service
which is an alias for doctrine.orm.default_entity_manager
.