今回は、oTreeからQualtricsへの参加者IDの引き継ぎを紹介します。
QualtricsからoTreeへの参加者IDの引き継ぎについては、こちらを御覧ください。
目次
1. Qualtricsでの設定:埋め込みデータの設定と調査票公開
まず、Qualtrics上で、oTreeから送られてきたクエリを取得する準備を行います。「アンケートフロー」から「埋め込みデータを設定」を選択します。そして、oTreeから送られてくる参加者IDを保存するための列を設定し(今回は”participantid”)、「フィールドに入れる値を設定」は触らず放置します。
また、埋め込みデータの設定は、アンケートフローの一番上に設定しておきましょう。
これらの設定が完了したら、調査票を公開し、リンクを取得します。今回は、ここで、”https://hogehoge.qualtrics.com/jfe/form/hogehogedayo?”というリンクが取得できたとします。
2. oTreeでの設定:リダイレクト処理をする
from otree.api import * class C(BaseConstants): NAME_IN_URL = 'redirect' PLAYERS_PER_GROUP = None class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): pass # PAGES class Redirect(Page): pass page_sequence = [Redirect]
oTreeでは、リダイレクト処理を行います。今回は、リダイレクト用のアプリケーションを設定します。Redirectアプリを作成し、oTreeのコアとなる__init__.pyにはほとんど書くことはありません。PAGESの設定で、Redirectページを表示する様にするだけです。
3.リダイレクトURLの作成
ここで、一度oTreeから離れ、Qualtricsへのクエリ情報の受け渡しと、oTreeから参加者IDの取得について説明します。
Qualtricsは、調査表のURLにオプションを付けることで、「クエリ文字列を使用した情報の受け渡し」が可能です。簡単にいえば、”https://hogehoge.com”といったリンクがある場合、リンクの後ろに”?city=Tokyo”を付けて、”https://hogehoge.com?city=Tokyo”とすると、”Tokyo”という文字列をデータとして受け付けます。ここで、?は重要なので忘れない様にしましょう。
また、oTreeでは、参加者IDは”participant.code”という形で保存されており、これをHTMLに表示するには、”{{ participant.code }}”と書きます。
https://hogehoge.qualtrics.com/jfe/form/hogehogedayo?participantid={{ participant.code }}
これらの「クエリ文字列を使用した情報の受け渡し」と”{{ participant.code }}”を使ってリダイレクトURLを作成します。QualtricsのURLは、”https://hogehoge.qualtrics.com/jfe/form/hogehogedayo”でした。また、埋め込みデータは”participantid”とし、oTreeでの参加者IDは”{{ participant.code }}”です。あとは、”?”を入れるのを忘れずにURLを構成すると上の通りになります。
4. oTreeでページ作成とリダイレクト処理
<meta http-equiv="refresh" content="○; url='https://hogehoge.qualtrics.com/jfe/form/hogehogedayo?participantid={{ participant.code }}"> <p>3秒後に、次のページへ移動します。</br>ページが遷移しない場合、次のリンクをクリックしてください。<a href="https://hogehoge.qualtrics.com/jfe/form/hogehogedayo?participantid={{ participant.code }}">https://hogehoge.qualtrics.com/jfe/form/hogehogedayo?participantid={{ participant.code }}</a>になります。 </p>
oTreeにRedirect.htmlを設定し、{{ block content }}{{ end block }}の間にリダイレクト処理を設定していきます。
リダイレクト部分は、”meta http-equiv=”refresh” content=”○;….”になります。contentの?を3や5などの数字に変えると、その分の秒数だけ、待ちが発生します。
あとは、もしページが遷移しなかったときのことを踏まえて、URLを表示しておけば完成です。このアプリをsetting.pyでapp_sequenceの最後にでも含めれば、oTreeからQualtricsに自動的に遷移します。