2. Configuration
Configuration of MIX component is extended version of PubSub component configuration. We will not describe here configuration of PubSub component as it already available in PubSub component documentation.
2.1. Setting ACL
With ACL you can control who can create publicly visible channels and also ad-hoc channels. ACL properties accept following values:
- ALL
Anyone can create channel
- LOCAL
Only local users can create channels (from all local domains on all local domains)
- ADMIN
Only installation administrator can create channels
- DOMAIN_OWNER
Only domain owner of the domain as the domain under which MIX component is running can create channels
- DOMAIN_ADMIN
Only domain administrator of the domain as the domain under which MIX component is running can create channels
- DOMAIN
Only users from the same domain as the domain under which MIX component is running can create channels
2.1.1. Setting ACL for creation of public channels
Property name: ``publicChannelCreationAcl``
Default value: ``DOMAIN_ADMIN``
By default we allow only local domain owners or admins to create publicly browsable channels.
Allowing domain users to create public channels.
mix () {
logic () {
publicChannelCreationAcl = 'DOMAIN'
}
}
2.1.2. Setting ACL for creation of ad-hoc (private) channels
Property nmae: ``adhocChannelCreationAcl``
Default value: ``DOMAIN``
Allowing all local users to create public channels.
mix () {
logic () {
adhocChannelCreationAcl = 'LOCAL'
}
}
2.2. Disabling support for MUC
MIX component by default exposes MUC compatibility layer for clients that doesn’t support MIX yet, so they would still be able to participate in the MIX channel conversation. It’s possible to disable it with the following option.
Disabling support for MUC.
mix () {
roomPresenceModule (active: false) {}
}
2.3. Setting limit of cached channels
Property name: ``maxCacheSize``
Default value: ``2000``
MIX component is caching channels configuration and affiliation in memory while it is processing request for the particular channel. To make that more efficient it is using cache to keep the most often used channels configuration in memory instead of loading it every time.
You can increase this value by setting maxCacheSize
property in the config
scope of the MIX component:
Setting limit of cached channels.
mix () {
config () {
maxCacheSize = 3000
}
}