wiki:DeveloperGuidelines/DeploymentSettings

Version 7 (modified by Fran Boon, 10 years ago) ( diff )

--

Deployment Settings

Purpose

Deployment Settings can be used to provide configurable settings and functionality for different deployments, such as setting the name of the system (deployment_settings.base.system_name) or whether the user's mobile phone number is requested during registration (deployment_settings.auth.registration_requests_mobile_phone).

Using Deployment Settings

  • Deployment Settings are defined in models/000_config.py.
  • The global deployment_settings variable is an instance of the S3Config class (modules/s3cfg.py), which is used to store the Deployment Settings and provides methods for getting the Deployment Settings. These methods also provide default values for all of the Deployment Settings.
  • Deployment Settings can be called in code to provide values or in logic statements to enable different functionality.

Adding New Deployment Settings

  1. If you are adding a new type (auth, base, database, etc) of Deployment Settings, add a new Storage variable to the S3Config class __init__ (modules/s3cfg.py)/
  2. Add a new method to get the value of the new Deployment Settings to the S3Config class (modules/s3cfg.py) and provide the default value.
    • eg. def get_auth_registration_requests_mobile_phone(self):
  3. Add the Deployment Settings to models/000_config.py.
  4. Because models/000_config.py is not included in the git repo, you will also need to add the same Deployment Settings to modules/templates/000_config.py
  5. Use the Deployment Settings in your code!

Also See:

Note: See TracWiki for help on using the wiki.