Spaces:
Paused
Paused
File size: 3,381 Bytes
e40dce0 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 | from os import environ
SESSION_CONFIGS = [
# Built-in simple demos
dict(
name='guess_two_thirds',
display_name="Guess 2/3 of the Average",
app_sequence=['guess_two_thirds', 'payment_info'],
num_demo_participants=3,
),
dict(
name='survey', app_sequence=['survey', 'payment_info'], num_demo_participants=1
),
# Class demo sequences (approved scaffold)
dict(
name='classic_baseline',
display_name='Demo: Classical Baseline',
app_sequence=['sequence_welcome', 'prisoner', 'trust_simple', 'public_goods_simple', 'payment_info'],
num_demo_participants=6, # even; multiple of 3 recommended for public goods
# Optional: override prisoner.Introduction timeout (seconds)
# prisoner_intro_timeout=100,
doc='Welcome → PD → Trust (simple) → Public Goods (groups of 3)'
),
dict(
name='policy_nudges',
display_name='Demo: Policy Framing Tweaks',
app_sequence=['policy_dictator_norms', 'policy_trust_framed', 'policy_public_goods_defaults', 'payment_info'],
num_demo_participants=6, # multiple of 6 for 2/2/3 grouping
doc='Instruction framing and light norm/default cues; no logic changes'
),
dict(
name='guessing_game_demo',
display_name='Demo: Guessing Game with Reference Point',
app_sequence=['policy_guess_anchoring', 'payment_info'],
num_demo_participants=3,
doc='Guess 2/3 with a randomly assigned reference point; flexible group size'
),
dict(
name='survey_biases',
display_name='Demo: Survey Tasks',
app_sequence=['policy_survey_biases', 'payment_info'],
num_demo_participants=1,
doc='Estimation intervals, self-assessment, and information-based survey items.'
),
dict(
name='survey_biases_full',
display_name='Survey: Estimation, Information, and Recall',
app_sequence=['policy_survey_biases', 'payment_info'],
num_demo_participants=1,
doc='One-player survey combining estimation, information, and recall tasks.'
),
]
# 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.00, participation_fee=0.00, doc=""
)
PARTICIPANT_FIELDS = ['show_anchor', 'anchor_value']
SESSION_FIELDS = []
# ISO-639 code
# for example: de, fr, ja, ko, zh-hans
LANGUAGE_CODE = 'en'
# e.g. EUR, GBP, CNY, JPY
REAL_WORLD_CURRENCY_CODE = 'USD'
USE_POINTS = True
ROOMS = [
dict(
name='econ101',
display_name='Econ 101 class',
participant_label_file='_rooms/econ101.txt',
),
dict(name='live_demo', display_name='Room for live demo (no participant labels)'),
dict(name='lab_demo', display_name='Behavioral Policy Lab Demo', participant_label_file='_rooms/lab_demo.txt'),
]
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 = """
Here are some oTree games.
"""
SECRET_KEY = '5788694860356'
INSTALLED_APPS = ['otree']
|