Configuration of Default Descriptor

This descriptor also acts as the controller descriptor for access to various sub configurations. This descriptor expects the input for the following configuration:

Config Key

Mandatory/Optional

Type

Purpose

Category: Other configuration references

CT_SECURITY_BUNDLE

Mandatory

Bundle Name

This key is a pointer to the bundle from where the security configuration for Canvas must be loaded.

CT_CACHE_BUNDLE

Mandatory

Bundle Name

This key is a pointer to the bundle from where the Cache configuration of the application can be provided to Canvas

CT_DB_BUNDLE

Mandatory

Bundle Name

This key is a pointer to the bundle from where CT gets the details of the various data sources that the CT database framework must be aware of.

CT_EXPORT_BUNDLE

Mandatory

Bundle Name

This key is a pointer to the bundle from where the CT Export framework must get initialized from.

CT_MULTILINGUAL_BUNDLE

Mandatory

Bundle Name

This key is a pointer to the bundle from where the CT multilingual framework must get initialized from.

CT_WEBUTIL_BUNDLE

Mandatory

Bundle Name

This key is a pointer to the bundle from where the CT gets the web utilities related configuration.

CT_IMPL_CLASS

Mandatory

Bundle Name

This key is a pointer to the bundle from where the CT gets the list of CT Classes implemented.

CT_COMP_PREF_BUNDLE

Mandatory

Bundle Name

This key is a pointer to the bundle from where the CT gets the preferences to enable or disable apps, workspace, and sub workspace features.

CT_SYSTEM_PREF_BUNDLE

Mandatory

Bundle Name

This key is a pointer to the bundle from where the CT gets the preferences to enable or disable system level features.

CT_LOGGING_CONFIG_BUNDLE

Mandatory

Bundle Name

This key is a pointer to the bundle that provides the configuration details specific to logging done by CT.

CT_INFO_REPORT_BUNDLEOptionalBundle NameThis key is a pointer to the bundle that provides the configuration details specific to Information Report (Sigma). It is mandatory when Information Report is enabled.

Category: Common Folders needed by Canvas

CT_WORK_FOLDER_PATH

Mandatory

Folder Path

This key is the working folder to CT. The CT creates additional child folders within this working folder for its various needs.In a clustered environment, this folder is expected to be specific to the node where the application is running and not shared with other nodes. For example, the log files applicable for that particular node.

CT_WORK_CENTRALIZED_FOLDER_PATH

Mandatory

Folder Path

This key is a folder on the SAN that is available across all the nodes. This is critical on a clustered setup for any content that is shared across nodes. An example could be the user image file that needs to be accessible across all nodes in a cluster.

Category: Object Pool Allocation
MIN_OBJECT_POOLMandatoryNumberThis key defines the minimum number of objects that can be allocated by the pool.
MAX_OBJECT_POOLMandatoryNumberThis key defines the maximum number of objects that can be allocated by the pool.
CACHE_IMPL_HANDLERMandatoryString

This key is used to define the implementation class path of the cache handler. The specified class must implement the usage of the cache handler and the default class is provided as follows:

  • com.intellectdesign.canvas.cache.handler.DefaultCacheImplHandler
JACHE_IMPL_CLASSMandatoryString

This key is used to define the implementation class of the JCACHE or java-based caching mechanism to handle the data caching process. The specified class must implement the usage of the JCACHE mechanism and the default class is provided as follows:

  • com.intellectdesign.canvas.cache.handler.HazelcastInstance
ENABLE_HAZELCAST_MANAGEMENTMandatoryBooleanThis key is used to enable the hazelcast caching mechanism. To enable the hazelcast caching mechanism, the value should be specified as Y. By default, N is the provided value.
ENABLE_JCACHE_SERVERMandatoryBooleanThis key is used to enable the usage of JCACHE or the java-based caching mechanism. To enable the JCACHE caching mechanism, the value should be specified as Y. By default, N is the provided value.
ACCESS_ENTITLEMENT_DSMandatoryString

This key is used to specify the usage of role access based on which the entitlements are configured, thereby paving the users with the apt user roles to access the application based on the configured user roles and entitlements. By default, this implementation class is defined as follows:

  • ROLE_BASED_ACCESS_ENTL_DS
ENABLE_RATE_LIMIT_CHECKOptionalBooleanThis key is used to restrict the rate limiting threats. Rate limiting is a process in which the server requests can be restricted as part of the network controlling management, in order to restrict the repetitive application access controls so as to avert the denial of service attacks. To enable the rate limiting restriction, the value should be specified as Y, whereas if there is no need to restrict the rate limiting requests, then the value can be specified as N.
REQ_RATE_LIMITOptionalNumberThis key is used to restrict the processing of multiple requests while accessing the Sigma Application, preventing the execution of multiple server requests at the same point of time. The purpose of this key is to ensure that a restriction mechanism in processing the number of multiple requests will prevent the data extraction and denial of service attacks. It is essential that this key should be specified only in seconds.
RUN_REQ_TIME_LIMITOptionalNumberThis key is used to restrict the processing of multiple requests while generating the report in Sigma Application, preventing the execution of multiple server requests at the same point of time. The purpose of this key is to ensure that a restriction mechanism in processing the number of multiple requests will prevent the data extraction and denial of service attacks. It is essential that this key should be specified only in seconds.
SAVE_REQ_TIME_LIMITOptionalNumberThis key is used to restrict the processing of multiple requests while saving or creating a new instance of the report in Sigma Application, preventing the execution of multiple server requests at the same point of time. The purpose of this key is to ensure that a restriction mechanism in processing the number of multiple requests will prevent the data extraction and denial of service attacks. It is essential that this key should be specified only in seconds.
ALLOW_DELEGATIONOptionalStringThis key will return "Y" if delegation is allowed for the application.
ASSORTED_REQUEST_RATE_LIMIT_PERIOD = 5OptionalNumberThis parameter is to configure a period in seconds for which the rate limit is applied for various request types / payloads. This is applicable to all the requests.
ASSORTED_REQUEST_RATE_LIMIT = 50OptionalNumberThis parameter is to configure rate limit (no of requests allowed) for the configured period for various request types.
REQUEST_RATE_LIMIT_PERIOD = 60OptionalNumberThis parameter is to configure period in seconds for which the rate limit is applied for requests with the same input action.
REQUEST_RATE_LIMIT = 50OptionalNumberThis parameter is to configure rate limit (no of requests allowed) for the configured period for requests with the same input action.

The default descriptor is the input to the ConfigurationManager for loading the configuration. This bundle acts as the controller for identifying other configurations and other common information.

The following is a sample bundle SigmaImplementation.properties used for initializing the configuration:

# This key should be loaded from where the security configuration will be identified.
CT_SECURITY_BUNDLE = Sigmasecurityconfig

# This key should be loaded from where the Cache configuration will be identified.
CT_CACHE_BUNDLE = Sigmacacheconfig

# This key should be loaded from where the DB configuration will be identified.
CT_DB_BUNDLE = Sigmadatabaseconfig

# This key should be loaded from where the Export configuration will be identified.
CT_EXPORT_BUNDLE = Sigmaexportconfig

# This key should be loaded from where the Bundle configuration will be identified.
CT_MULTILINGUAL_BUNDLE = Sigmamultilingualconfig
 
# This key should be loaded from where the Web Utils configuration will be identified.
CT_WEBUTIL_BUNDLE = Sigmawebutilconfig

# This key should be loaded from where the Implementation class will be identified.
CT_IMPL_CLASS = Sigmaimplclassconfig

# This key should be loaded from where the components related preferences will be identified.
CT_COMP_PREF_BUNDLE = Sigmacomponentspreferences 

# This key should be loaded from where the system related preferences will be identified.
CT_SYSTEM_PREF_BUNDLE = Sigmasystempreferences
 
# This key provides the configuration details specific to logging to be done by CT Framework.
CT_LOGGING_CONFIG_BUNDLE = Sigmaloggerconfig

# This key should be used when Information Report (Sigma) is enabled. 
# Ensure that other configurations, such as JMS and EJBs needed for Information Report are enabled.
# Comment this key to disable Information Report.
CT_INFO_REPORT_BUNDLE = Sigmainforreportconfig
 
# This key provides the path for instance level folder.
CT_WORK_FOLDER_PATH = D:/Canvas/Sigma

# This key provides the centralized folder path.
CT_WORK_CENTRALIZED_FOLDER_PATH = D:/Canvas/Sigma

#This property is the minimum number of objects that can be allocated by the pool 
MIN_OBJECT_POOL=5

# This property is the number of objects that can be allocated by the pool
MAX_OBJECT_POOL=20

#CACHE_IMPL_HANDLER available classes - com.intellectdesign.canvas.cache.handler.DefaultCacheImplHandler,com.intellectdesign.canvas.cache.handler.JCacheImplHandler
# This property to set metadata cache handler
CACHE_IMPL_HANDLER = com.intellectdesign.canvas.cache.handler.DefaultCacheImplHandler
# This property to Jcache server implementation
JACHE_IMPL_CLASS = com.intellectdesign.canvas.cache.handler.HazelcastInstance
# This property to monitor hazelcast if enabled
ENABLE_HAZELCAST_MANAGEMENT = N
# This property to enable jcache provider for metadata cache
ENABLE_JCACHE_SERVER =N

# This property is added to get access entitlement data source.
ACCESS_ENTITLEMENT_DS=ROLE_BASED_ACCESS_ENTL_DS

#To enable limit rate check Y or N
ENABLE_RATE_LIMIT_CHECK = ${env.ENABLE_RATE_LIMIT_CHECK}

#To restrict multiple report run request with same request data limit for number of requests default count 5
REQ_RATE_LIMIT=${env.REQ_RATE_LIMIT}

#To restrict multiple report run request with same request data time limit in SECONDS for run requests default 10 seconds
RUN_REQ_TIME_LIMIT=${env.RUN_REQ_TIME_LIMIT}

#To restrict multiple report save request with same request data time limit in SECONDS for run requests default 3 seconds
SAVE_REQ_TIME_LIMIT=${env.SAVE_REQ_TIME_LIMIT}

#ASSORTED_REQUEST_RATE_LIMIT_PERIOD is parameter to configure period in seconds for which the rate limit is applied for many request with different input actions
ASSORTED_REQUEST_RATE_LIMIT_PERIOD = ${env.ASSORTED_REQUEST_RATE_LIMIT_PERIOD}

#ASSORTED_REQUEST_RATE_LIMIT is parameter to configure rate limit (no of requests allowed) for the configured period for many request with different input actions
ASSORTED_REQUEST_RATE_LIMIT = ${env.ASSORTED_REQUEST_RATE_LIMIT}

#REQUEST_RATE_LIMIT_PERIOD is parameter to configure period in seconds for which the rate limit is applied for requests with same input action
REQUEST_RATE_LIMIT_PERIOD = ${env.REQUEST_RATE_LIMIT_PERIOD}

#REQUEST_RATE_LIMIT is parameter to configure rate limit (no of requests allowed) for the configured period for requests with same input action
REQUEST_RATE_LIMIT = ${env.REQUEST_RATE_LIMIT}

This bundle is used to initialize the CT Sigma configuration as follows:

import com.intellectdesign.canvas.config.ConfigurationException;
import com.intellectdesign.canvas.config.ConfigurationManager; 

ConfigurationManager manager = ConfigurationManager.getInstance();
manager.initializeFromBundle("SigmaImplementation");