1. Home
  2. Docs
  3. Documentation
  4. Conductor
  5. Understanding Conductor

Understanding Conductor

Conductor is a module, which helps you to configure and to control the behavior of your app as a centralized service. 

In the Conductor-module you’re able to specify so called “configuration-sets”, where you can define key-value pairs which are used for the configuration. This key-value-items can either be a string, a numeric, datetime or a boolean value. 

This configutation-sets can be defined for every hierarchical level.

  • Application
    • Application-Version
    • Installation
  • Device

Every item in a configuration-set will be overwritten or appended by the configuration-set in following order.

Application > Application-Version > Device > Installation

This means, if you have an setting with the key “isFeatureXActive” in your application defined with the value “false” but nowhere else, the clients will receive the value “false”. In the case you have a configuration-set for a individual device, where there is also a setting with the key “isFeatureXActive” with the value “true”. This specific device will get it’s individual configuration with the key “isFeatureXActive” and the value “true”. 

Every client (endpoint) which is using Congether requests their individual configuration. This configuration will be composed, as described above.

Examples

But what can you do now with this mechanism? You can simply change the behavior of your application while it is in the production-environment. And not just by the application at large, but also for each specific version, device and down to every each installation. 

Some use-cases to use this scenarios:

  • Switch to other databases/endpoints
    Simply set the new database-connection. At the next restart or request of the configuration, the endpoints will receive the new database-connection.
  • Activate or deactivate specific features
    Do you want to test some kind of features for a limited range of users? Simply activate or deactivate features by a setting for individual devices or installations
  • Change the logging-level for one device
    Having sporadic issues on only one device? If you have different logging-level prepared in your application, you can simply set the logging-level for the respective device to find the errors without having to deploy a new version of your application.
  • Change the behavior of your application
    Use Conductor for example in games to set difficult-levels dynamically. Set specific threshold-settings for notify your users at given events.
  • … the possibilities are endless

Was this article helpful to you? Yes No

How can we help?