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']