Symptoms

Application needs to receive limits of sub-services in subscription.

Resolution

Limits on sub-services can be received in top service via list settings with special classes, for instances:

                   <setting id="subservice_limits" type="list" protected="true"
                            element-type="string" class="subservice-limits" visibility="hidden">
                            <name>Limits for subservices</name>
                    </setting>
                    <setting id="subservice_ids" type="list" protected="true"
                            element-type="string" class="subservice-ids" visibility="hidden">
                            <name>IDs for subservices</name>
                    </setting>
                    <setting id="subservice_setting_names" type="list" protected="true"
                            element-type="string" class="subservice-setting-names" visibility="hidden">
                            <name>Names of subservice settings</name>
                    </setting>
                    <setting id="subservice_setting_values" type="list"
                            protected="true" element-type="string" class="subservice-setting-values"
                            visibility="hidden">
                            <name>Default values of subservice settings</name>
                    </setting>

If subscription has 'Application Service' resource types, for example resource type for 'account' sub-service, these setting lists contain sub-service limits, ids, and hidden settings, that are defined in 'Application Service' resource types.

Application script receives these settings as in the following example:

SETTINGS_subservice_ids_1=65

SETTINGS_subservice_ids_2=66, 67

SETTINGS_subservice_limits_1=3

SETTINGS_subservice_limits_2=34, 10

SETTINGS_subservice_setting_names_1=65_filequota

SETTINGS_subservice_setting_names_2=66_service_level, 67_service_level

SETTINGS_subservice_setting_values_1=3456

SETTINGS_subservice_setting_values_2=default, premium

SETTINGS_subservice_ids_1 corresponds to the first sub-service, SETTINGS_subservice_ids_2 - second sub-service, and so on. Order is NOT necessary the same as services appear in APP-META.xml. Rely on setting names (SETTINGS_subservice_setting_names) to identify sub-service

Each of the settings contain comma separated list of values.

SETTINGS_subservice_ids_N - internal resource type ids for sub-service N,

SETTINGS_subservice_limits_N - corresponding limits,

SETTINGS_subservice_setting_names_N - hidden settings that are defined in sub-service resource type.

In the example above, there is service_level setting, in resource type 66 it is set to 'default', in resource type 67 - premium.

So, if sub-service #2 is a mailbox, we can see that customer purchased 34 'default' and 10 'premium' mailboxes.

Internal content