from os import environ
# Rounds6d1 - schon gemacht. Rounds6d2 noch nicht.
# Rej_9_Roundsd1 schon gemacht.
# Bei Acceptances auch jeweils Part 1
DEMO_PAGE_INTRO_HTML = """GEVOAB redistribution experiment.
The experiment is tested for the following browsers: Chrome, Firefox, Edge, Safari,
Opera and needs an active internet connection.
"""
SESSION_CONFIG_DEFAULTS = {
'real_world_currency_per_point': 1.00,
'participation_fee': 18.00,
'doc': "",
}
# 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']
# Assignments that can also be set in SESSION_CONFIGS
do_acceptance = False # DO NOT TOUCH! Whether the RateBestArg1.htmls should be played. Should always be False.
do_arguments_redistribution = True # Should the players enter individual arguments in BVote? If not, also RateBestArg etc. is skipped
do_arguments_a_vote = True # Should the players enter individual arguments in AVote? If not, the whole AVote app is skipped
do_arguments_rejection = True
do_effort_task = True
#
task_timer = 120 # Participants have x minutes time for each effort task
minutes_for_arguments = 5 # Participants have x minutes time to state their arguments # Must be 5
secondsTimerIsShown = 60 # Only in the last x minutes, the timer is shown. # Must be 60
minutes_for_chatack = 6 # Minutes for redistribution chat
minutes_for_chrej1 = 5 # Minutes for first rejection chat
minutes_for_chrej2 = 1 # Minutes for second rejection chat
StartToken = [9, 14, 17, 23, 37]
Taxes = [1.8, 2.8, 3.4, 4.6, 7.4]
Needs = 16
TokenAddTotal = 20 # Tokens to be redistributed
TokenAdd_1dName = "Gleichverteilung" # Suggested distribution
TokenAdd_1dArticle = "die Gleichverteilung"
TokenAdd_1dArticle2 = "Die Gleichverteilung"
TokenAdd_1d = [20 / 5, 20 / 5, 20 / 5, 20 / 5, 20 / 5]
TokenAdd_2dName = "Angleichen von unten" # Alternative distribution 1
TokenAdd_2d = [11, 6, 3, 0, 0]
TokenAdd_3dName = "Leistung und Deckung des Mindestkonsums" # Alternative distribution 2
TokenAdd_3d = [7, 2, 1, 4, 6]
#
ROOMS = [
{
"name": "ExampleRoom",
"display_name": "example room",
"participant_label_file": "_rooms/Labels.txt",
},
]
SESSION_CONFIGS = [
# All together
{
"doc": """All Apps together.
You can edit the parameters!
Parameter "do_arguments_redistribution" defines whether the players should enter individual arguments in b_vote?
(If not, also RateBestArg is skipped)
Parameter "do_arguments_a_vote" defines whether the players should enter individual arguments in a_vote?
(If not, the whole AVote app is skipped)
Parameter "do_arguments_rejection" defines whether the players should enter individual arguments in rejection?
(If not, also RateBestArg is skipped)
Parameter "use_browser_bots" sets browser bots.
Parameter "bot_acceptance" defines whether browser bots should accept the suggested distribution.
Parameter "bot_rej_choicecorr" defines whether browser bots should find a common solution in the first try in the rejection app.
"bot_acceptance" and "bot_rej_choicecorr" are ignored if "use_browser_bots" is false.
"bot_rej_choicecorr" is ignored if "bot_acceptance" is true.
""",
"name": "alltogether",
"display_name": "complete experiment online",
"num_demo_participants": 5,
"participation_fee": 18,
"do_arguments_redistribution": True,
"do_arguments_a_vote": True,
"do_arguments_rejection": True,
"do_effort_task": True,
# Bots
"use_browser_bots": False,
# "bot_acceptance": True, # CAUTION. Only uncomment if you only want to play acceptances/rejections
# "bot_rej_choicecorr": False, # CAUTION. Only uncomment if you want to only play that
# Sequence
"app_sequence": [
"instructions",
"effort_intro",
"effort_counting",
"effort_add",
"effort_sub",
"effort_trivial",
"redistribution",
"a_vote",
"rejection",
"acceptance",
"questionnaire"
],
},
# All together in lab
{
"doc": """All Apps together.
You can edit the parameters!
Parameter "do_arguments_redistribution" defines whether the players should enter individual arguments in b_vote?
(If not, also RateBestArg is skipped)
Parameter "do_arguments_a_vote" defines whether the players should enter individual arguments in a_vote?
(If not, the whole AVote app is skipped)
Parameter "do_arguments_rejection" defines whether the players should enter individual arguments in rejection?
(If not, also RateBestArg is skipped)
Parameter "use_browser_bots" sets browser bots.
Parameter "bot_acceptance" defines whether browser bots should accept the suggested distribution.
Parameter "bot_rej_choicecorr" defines whether browser bots should find a common solution in the first try in the rejection app.
"bot_acceptance" and "bot_rej_choicecorr" are ignored if "use_browser_bots" is false.
"bot_rej_choicecorr" is ignored if "bot_acceptance" is true.
""",
"name": "alltogetherlab",
"display_name": "complete experiment in the lab",
"num_demo_participants": 5,
"participation_fee": 18,
"do_arguments_redistribution": True,
"do_arguments_a_vote": True,
"do_arguments_rejection": True,
"do_effort_task": True,
# Bots
"use_browser_bots": False,
# "bot_acceptance": True, # CAUTION. Only uncomment if you only want to play acceptances/rejections
# "bot_rej_choicecorr": False, # CAUTION. Only uncomment if you want to only play that
# Sequence
"app_sequence": [
"intro_paper_instruction",
"effort_intro",
"effort_counting",
"effort_add",
"effort_sub",
"effort_trivial",
"redistribution",
"a_vote",
"rejection",
"acceptance",
"questionnaire"
],
},
#
# Instructions
{
"name": "instructions",
"display_name": "instructions",
"num_demo_participants": 100,
"do_effort_task": True,
"app_sequence": [
"instructions"],
},
# Consent
{
"name": "consent",
"display_name": "consent",
"num_demo_participants": 100,
"app_sequence": [
"z_consent"],
},
# BVote - Redistribution
{
"name": "redistribution",
"use_browser_bots": False,
"display_name": "b_vote - redistribution",
"num_demo_participants": 5,
"StartToken": [9, 14, 17, 23, 37],
"do_arguments_redistribution": True,
"do_effort_task": False,
"app_sequence": ["redistribution",
],
},
# AVote
{
"name": "a_vote",
"use_browser_bots": False,
"do_arguments_a_vote": True,
"display_name": "a_vote",
"num_demo_participants": 5,
"app_sequence": ["a_vote",
],
},
# Acceptance
{
"name": "acceptance",
# "use_browser_bots": True,
"display_name": "acceptance",
"num_demo_participants": 5,
"app_sequence": ["acceptance",
],
},
# Rejection
{
"name": "rejection",
"use_browser_bots": False,
"display_name": "rejection",
"num_demo_participants": 5,
"do_arguments_rejection": True,
# "bot_rej_choicecorr": True,
"app_sequence": ["rejection",
],
},
# Questionnaire
{
"name": "questionnaire",
# "use_browser_bots": True,
"display_name": "questionnaire",
"num_demo_participants": 5,
"app_sequence": [
"questionnaire"
],
"doc": """You can edit the parameters!"""
},
# Counting
{
"name": "effort_counting",
"use_browser_bots": False,
"display_name": "effort task: counting",
"num_demo_participants": 5,
"app_sequence": ["effort_counting",
],
},
# Add and Sub
{
"name": "add",
"display_name": "effort task: addition",
# "use_browser_bots": True,
"num_demo_participants": 5,
"app_sequence": ["effort_add",
"effort_sub"
],
},
{
"name": "sub",
"display_name": "effort task: subtraction",
# "use_browser_bots": True,
"num_demo_participants": 5,
"app_sequence": ["effort_sub"
],
},
# Trivial
{
"name": "effort_trivial",
"display_name": "effort task: knowledge test",
# "use_browser_bots": False,
"num_demo_participants": 5,
"app_sequence": ["effort_trivial",
],
},
{
"name": "effort_slider",
# "use_browser_bots": True,
"display_name": "effort task: slider task",
"num_demo_participants": 5,
"app_sequence": ["effort_slider",
],
}
#
]
# ISO-639 code
LANGUAGE_CODE = 'de'
REAL_WORLD_CURRENCY_CODE = 'EUR'
USE_POINTS = True
ADMIN_USERNAME = 'admin'
ADMIN_PASSWORD = environ.get('OTREE_ADMIN_PASSWORD')
SECRET_KEY = 'mf9%c+@=583mji++**0fv*qy3v8wg23z@j(2f4p0^n(^q5rdy^'
# if an app is included in SESSION_CONFIGS, you don't need to list it here
INSTALLED_APPS = ['otree']