from os import environ # ATTENTION! In Consent page it says "Approximately 500 participants will be enrolled in this study." # adapt it to pilots! # CHANGE num_demo_participants SESSION_CONFIGS = [ dict( name='theapp', display_name="Thing", num_demo_participants=40, app_sequence=[ # "app1", 'svotree', 'memory_matching', 'bret', 'app2_blue', 'app2_red', 'questionnaire' ], use_browser_bots=False, ), dict( name='first', display_name="first", num_demo_participants=40, app_sequence=[ 'svotree', 'thankyou' ], use_browser_bots=False, ) ] # PILOT 1 - only SVO, 20 participants but define that in prolific, not here # name='first' # make no changes to code, just use the appropriate session configuration named 'first' # except in consent page text: "Approximately 20 participants will be enrolled in this study." # PILOT 2 - full thing, only one treatment, only 20 participants but define that in prolific # name= 'theapp' # change in consent page text: "Approximately 20 participants will be enrolled in this study." # which treatment? longest! to assess how long the experience takes as a maximum; only one orange ball - treatment d # go to app svotree > pages.py and look for code below # ****************** PILOT 2 ******************** # comment out lines above & uncomment line below # FOR PILOT 2, only treatment d or VeryLikely_Big: # treatment_index = Constants.treatments.index(treatment) # treatment_index = 3 # logger.info(f'My treatment is: {self.player.my_treatment}') # MAIN EXPERIMENT # name= 'theapp' # go to app svotree > pages.py and look for code above and switch to changing treatments # ***************** main experiment ************** # after sub-sample for a certain SVO type * treatment is full, skip that combination # count manually and then remove comment out manually # ** skip treatment "a" in SVO type Pro-Social: # if treatment_index == 0 and player_type == "Pro-Social": # treatment_index = 1 # ** skip treatment "b" in SVO type Pro-Social: # if treatment_index == 1 and player_type == "Pro-Social": # treatment_index = 2 # ** skip treatment "c" in SVO type Pro-Social: # if treatment_index == 2 and player_type == "Pro-Social": # treatment_index = 3 # ** skip treatment "d" in SVO type Pro-Social: # if treatment_index == 3 and player_type == "Pro-Social": # treatment_index = 0 ####### remove first comments page and make second page without (2/2) # 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 = dict( real_world_currency_per_point=1, participation_fee=0.00, doc="" ) # ISO-639 code # for example: de, fr, ja, ko, zh-hans LANGUAGE_CODE = 'en' # e.g. EUR, GBP, CNY, JPY REAL_WORLD_CURRENCY_CODE = 'GBP' USE_POINTS = False #POINTS_DECIMAL_PLACES ADMIN_USERNAME = 'admin' # for security, best to set admin password in an environment variable ADMIN_PASSWORD = environ.get('OTREE_ADMIN_PASSWORD') DEMO_PAGE_INTRO_HTML = """ """ SECRET_KEY = '(c)=9!6t=z@oo^m)3vlaeti*ckvpnto2*^)@-sjpbe0yr4%(f)' # if an app is included in SESSION_CONFIGS, you don't need to list it here INSTALLED_APPS = ['otree', 'radiogrid', 'otreeutils', ]