Service Classes
Service classes allow you to set limits on system resources by limiting what individual accounts can do, including file storage and top-level post limits. Define custom service classes according to your needs in the
.htconfig.php
file. For example, create a standard and premium class using the following lines:// Service classes
App::$config['system']['default_service_class']='standard'; // this is the default service class that is attached to every new account
// configuration for standard service class
App::$config['service_class']['standard'] =
array('photo_upload_limit'=>2097152, // total photo storage limit per channel (here 2MB)
'total_identities' =>1, // number of channels an account can create
'total_items' =>0, // number of top level posts a channel can create (other posts and comments are unaffected)
'total_channels' =>100, // number of connections the user can add (other users can still add this channel, even if the limit is reached)
'attach_upload_limit' =>2097152); // total attachment storage limit per channel (here 2MB)
// configuration for premium service class
App::$config['service_class']['premium'] =
array('photo_upload_limit'=>20000000000, // total photo storage limit per channel (here 20GB)
'total_identities' =>20, // number of channels an account can create
'total_items' =>20000, // number of top level posts a channel can create (other posts and comments are unaffected)
'total_channels' =>2000, // number of connections the user can add (other users can still add this channel, even if the limit is reached)
'attach_upload_limit' =>20000000000); // total attachment storage limit per channel (here 20GB)
To apply a service class to an existing account, use the command line utility from the web root:
util/service_class
list service classes
util/config system default_service_class firstclass
set the default service class to 'firstclass'
util/service_class firstclass
list the services that are part of 'firstclass' service class
util/service_class firstclass photo_upload_limit 10000000
set firstclass total photo disk usage to 10 million bytes
util/service_class --account=5 firstclass
set account id 5 to service class 'firstclass' (with confirmation)
util/service_class --channel=blogchan firstclass
set the account that owns channel 'blogchan' to service class 'firstclass' (with confirmation)
Service class limit options
- photo_upload_limit - maximum total bytes for photos
- total_items - maximum total toplevel posts
- total_identities - maximum number of channels owned by account
- total_channels - maximum number of connections
- attach_upload_limit - maximum file upload storage (bytes)
- access_tokens - maximum number of Guest Access Tokens per channel