import os from os import environ BASE_DIR = os.path.dirname(os.path.abspath(__file__)) # the environment variable OTREE_PRODUCTION controls whether Django runs in # DEBUG mode. If OTREE_PRODUCTION==1, then DEBUG=False #if environ.get('OTREE_PRODUCTION') not in {None, '', '0'}: #DEBUG = False #else: #DEBUG = False ADMIN_USERNAME = 'TG' # for security, best to set admin password in an environment variable ADMIN_PASSWORD = 'complex' # don't share this with anybody. SECRET_KEY = 'a3)$ve0jmud6wq=jxm@&oad47bzni%%+uo-!p8m*6%9*^9-5li' #DEBUG=False MIGRATION_MODULES = {'otree': 'otree_core_migrations'} # AUTH_LEVEL: # If you are launching a study and want visitors to only be able to # play your app if you provided them with a start link, set the # environment variable OTREE_AUTH_LEVEL to STUDY. # If you would like to put your site online in public demo mode where # anybody can play a demo version of your game, set OTREE_AUTH_LEVEL # to DEMO. This will allow people to play in demo mode, but not access # the full admin interface. AUTH_LEVEL = 'STUDY' # setting for integration with AWS Mturk AWS_ACCESS_KEY_ID = 'AKIAIKNHJEPZYRVNR7WQ' AWS_SECRET_ACCESS_KEY = 'a62RVz6r7jZxI0e7gW2XSmO575/Z2zOkcbklfTxx' # e.g. EUR, CAD, GBP, CHF, CNY, JPY REAL_WORLD_CURRENCY_CODE = 'USD' USE_POINTS = False REAL_WORLD_CURRENCY_DECIMAL_PLACES = 2 # e.g. en, de, fr, it, ja, zh-hans # see: https://docs.djangoproject.com/en/1.9/topics/i18n/#term-language-code LANGUAGE_CODE = 'en' # if an app is included in SESSION_CONFIGS, you don't need to list it here INSTALLED_APPS = ['otree', 'scipy'] # SENTRY_DSN = '' DEMO_PAGE_INTRO_TEXT = """ CU Intertemporal MEL """ # from here on are qualifications requirements for workers # see description for requirements on Amazon Mechanical Turk website: # http://docs.aws.amazon.com/AWSMechTurk/latest/AWSMturkAPI/ApiReference_QualificationRequirementDataStructureArticle.html # and also in docs for boto: # https://boto.readthedocs.org/en/latest/ref/mturk.html?highlight=mturk#module-boto.mturk.qualification mturk_hit_settings = { 'keywords': ['easy', 'bonus', 'choice', 'study'], # 'title': '15-Minute Research Study: Earn $1 Reward Plus Up To $6 Bonus', 'title': '$0.5 Reward + $2.40 Bonus for Completing 20 min Survey', # 'description': 'Play decision-making game in 15-minute research study. Earn $1 reward and bonus of of up to $6.', 'description': 'Please no mobile phones! Survey crashes. Please refrain from using Firefox browser – Chrome, Safari, Edge, and Internet Explorer work best.', 'frame_height': 500, 'template': 'global/mturk_template.html', 'minutes_allotted_per_assignment': 60, 'expiration_hours': 3, 'qualification_requirements': [ # { # # self-generate qualification to prevent retakes # 'QualificationTypeId': "362T4FXEB3ZUVP158HA6NWXSGLMSD4", # 'Comparator': "DoesNotExist", # 'RequiredToPreview': True, # }, # { # # self-generate qualification to prevent retakes # 'QualificationTypeId': "38CFB6RWNRW5Q8LFJPLCK89WHZIVK2", # 'Comparator': "DoesNotExist", # 'RequiredToPreview': True, # }, { 'QualificationTypeId': "00000000000000000071", 'Comparator': "EqualTo", 'LocaleValues': [{'Country': "US"}], 'RequiredToPreview': True, }, # { # # Sandbox # # 'QualificationTypeId': "2ARFPLSP75KLA8M8DH1HTEQVJT3SY6", # # Production: # # 'QualificationTypeId': "3E7Z4QJ76W5ZQK2E8RMCJTY4Q2BIQ9", # # 'Comparator': "Exists", # # 'RequiredToPreview': True, # }, # percent assignments approved { 'QualificationTypeId': "000000000000000000L0", 'Comparator': "GreaterThanOrEqualTo", 'IntegerValues': [95], 'RequiredToPreview': True, }, # # worker is adult # { # 'QualificationTypeId': "00000000000000000060", # 'Comparator': "EqualTo", # 'IntegerValues': [1], # 'RequiredToPreview': True, # }, # # number of hits approved { 'QualificationTypeId': "00000000000000000040", 'Comparator': "GreaterThanOrEqualTo", 'IntegerValues': [500], 'RequiredToPreview': True, }, ] } # if you set a property in SESSION_CONFIG_DEFAULTS, it will be inherited by all configs # in SESSION_CONFIGS, except those that explicitly override it. # the session config can be accessed from methods in your apps as self.session.config, # e.g. self.session.config['participation_fee'] SESSION_CONFIG_DEFAULTS = { 'real_world_currency_per_point': 0.000, 'participation_fee': 2, 'doc': "", 'mturk_hit_settings': mturk_hit_settings, } SESSION_CONFIGS = [ { 'name': 'intertemporal_main', 'display_name': "Money: Main", 'num_demo_participants': 20, 'max_duration': 45, 'exp_duration': 30, 'cu_step_size': 0.5, 'completion_award': 2.5, 'app_sequence': [ 'inter_main_v6', 'direct_elicitation_v3', 'risk_list_v2', 'raven_test', 'risk_uncertainty_goodbye_v6' ], }, { 'name': 'intertemporal_load', 'display_name': "Money: Load", 'num_demo_participants': 15, 'load_incentive': 0, 'max_duration': 25, 'exp_duration': 20, 'completion_award': 2.5, 'cu_step_size': 0.5, # 'timeout_penalty': 1.5, 'app_sequence': [ 'inter_load_v5', 'direct_elicitation_load', 'risk_uncertainty_goodbye_v6' ], }, { 'name': 'intertemporal_complex', 'display_name': "Money: Complex", 'num_demo_participants': 15, 'max_duration': 25, 'exp_duration': 25, 'completion_award': 2.5, 'cu_step_size': 0.5, 'time_limit': 25, 'app_sequence': [ 'inter_complex_v4', 'ending_v1' ], }, { 'name': 'intertemporal_measure', 'display_name': "Money: Measure", 'num_demo_participants': 15, 'max_duration': 25, 'exp_duration': 25, 'completion_award': 2.5, 'cu_step_size': 0.5, 'app_sequence': [ 'inter_measure', 'direct_elicitation_v4', 'risk_list_v2', 'raven_test', 'risk_uncertainty_goodbye_v6' ], }, { 'name': 'intertemporal_expert', 'display_name': "Money: Expert", 'num_demo_participants': 15, 'max_duration': 25, 'exp_duration': 25, 'completion_award': 2.5, 'cu_step_size': 0.5, 'app_sequence': [ 'inter_expert', 'risk_uncertainty_goodbye_v6' ], }, { 'name': 'intertemporal_multipart_1', 'display_name': "Money: Multi-part 1", 'num_demo_participants': 20, 'max_duration': 30, 'exp_duration': 20, 'cu_step_size': 0.5, 'base_payment': 0.50, 'completion_award': 7.50, 'app_sequence': [ 'inter_multipart_1', 'raven_multipart_1', 'ending_multipart_1' ], }, { 'name': 'intertemporal_multipart_2', 'display_name': "Money: Multi-part 2", 'num_demo_participants': 20, 'max_duration': 30, 'exp_duration': 20, 'cu_step_size': 0.5, 'base_payment': 1.00, 'completion_award': 7.00, 'app_sequence': [ 'inter_multipart_2', 'raven_multipart_2', 'ending_multipart_2' ], }, ] ROOM_DEFAULTS = {} ROOMS = [ { 'name': 'HamburgLab', 'display_name': 'HamburgLab', 'participant_label_file': 'Labor_HH.txt', }, ] # anything you put after the below line will override # oTree's default settings. Use with caution.