docs: def check_web_config_consistency(config):
      '''
          Check the web application config file for consistency.
      '''
      login_conf_deps = {
          'LOGIN_TWITTER_OAUTH_KEY': ['LOGIN_TWITTER_OAUTH_SECRET'],
          'LOGIN_GOOGLE_OAUTH_KEY': ['LOGIN_GOOGLE_OAUTH_SECRET'],
          'LOGIN_GITHUB_OAUTH_KEY': ['LOGIN_GITHUB_OAUTH_SECRET'],
          'LOGIN_GITLAB_OAUTH_KEY': ['LOGIN_GITLAB_OAUTH_SECRET'],
          'LOGIN_TWITTER_OAUTH_SECRET': ['LOGIN_TWITTER_OAUTH_KEY'],
          'LOGIN_GOOGLE_OAUTH_SECRET': ['LOGIN_GOOGLE_OAUTH_KEY'],
          'LOGIN_GITHUB_OAUTH_SECRET': ['LOGIN_GITHUB_OAUTH_KEY'],
          'LOGIN_GITLAB_OAUTH_SECRET': ['LOGIN_GITLAB_OAUTH_KEY'],
          'LOGIN_OIDC_ENDPOINT': ['LOGIN_OIDC_CLIENT_ID', 'LOGIN_OIDC_CLIENT_SECRET', 'LOGIN_OIDC_DESCRIPTION'],
          'LOGIN_OIDC_CLIENT_ID': ['LOGIN_OIDC_ENDPOINT', 'LOGIN_OIDC_CLIENT_SECRET', 'LOGIN_OIDC_DESCRIPTION'],
          'LOGIN_OIDC_CLIENT_SECRET': ['LOGIN_OIDC_ENDPOINT', 'LOGIN_OIDC_CLIENT_ID', 'LOGIN_OIDC_DESCRIPTION'],
      }
  
      print("Checking configuration of the OpenSubmit web application...")
      # Let Django's manage.py load the settings file, to see if this works in general
      django_admin(["check"])
      # Check configuration dependencies
      for k, v in list(login_conf_deps.items()):
          if config.get('login', k):
              for needed in v:
                  if len(config.get('login', needed)) < 1:
                      print(
                          "ERROR: You have enabled %s in settings.ini, but %s is not set." % (k, needed))
                      return False
      # Check media path
      check_path(config.get('server', 'MEDIA_ROOT'))
      # Prepare empty log file, in case the web server has no creation rights
      log_file = config.get('server', 'LOG_FILE')
      print("Preparing log file at " + log_file)
      check_file(log_file)
      # If SQLite database, adjust file system permissions for the web server
      if config.get('database', 'DATABASE_ENGINE') == 'sqlite3':
          name = config.get('database', 'DATABASE_NAME')
          if not os.path.isabs(name):
              print("ERROR: Your SQLite database name must be an absolute path. The web server must have directory access permissions for this path.")
              return False
          check_file(config.get('database', 'DATABASE_NAME'))
      # everything ok
      return True