教材をインポートする
教材の追加は、GitHub 上の教材リポジトリを Exercode に取り込む形で行います。
全体の流れ
- お問い合わせ から教材作成者の GitHub アカウントをご連絡ください。WillBooster株式会社側で教材用リポジトリを作成し、対象アカウントを招待します。
- 教材作成者が教材リポジトリの
main ブランチに教材を反映します。
- Exercode 上で教材をインポートします。
- インポートした科目を組織やグループに追加します。
事前準備
- 教材作成者は GitHub アカウントを用意します。
- お問い合わせ から、教材作成者の GitHub アカウントと氏名をご連絡ください。
- WillBooster株式会社側で教材用リポジトリを作成し、対象アカウントを招待します。
教材作成のポイント
- インポート対象は
main ブランチです。
- 科目のフォルダ名はそのまま科目 ID になります。
- 科目 ID は Exercode 全体で一意である必要があります。他組織の科目とも重複しないよう、学校名(または組織を識別できる略称)と使用年度を科目 ID に含めることを推奨します。これにより重複を避けやすく、年度単位での運用や見分けもしやすくなります。
例:
java-basic-schoola-2026
python-intro-collegeb-2026
ID 変更時の注意(提出記録の削除)
科目 ID(フォルダ名)、授業 ID(フォルダ名)、教材 ID(ファイル名)、問題 ID は、Exercode 上のデータと教材を結び付けるキーです。
これらの ID を変更してインポートすると、変更前の ID の項目は 削除 され、変更後の ID の項目が 新規追加 として扱われます。
- 削除される項目に学生の提出記録が紐づいている場合、提出記録も完全に削除されます。
- 削除された提出記録は、ID を元に戻して再インポートしても 復元できません。
このため、運用開始後(学生が提出を始めた後)は、ID を変更しないでください。
並び順の変更だけが目的の場合は、ID を変更せずに次の方法を使ってください。
- 授業(コマ)の並び順:
course.yaml の lectures 配列の順序を入れ替える(フォルダ名の変更は不要)。
- 教材の並び順: 教材ファイル名の辞書順で決まるため、
10_、20_ のように間隔を空けた番号を最初から付けておくと、既存ファイルをリネームせずに新しい教材を間に挿入できます。
インポート前の確認ダイアログでは、削除される項目に加えて、削除される提出記録の件数が常に表示されます。
- 削除される提出記録が 0 件の場合: 緑色の表示で、提出記録が削除されない(安全である)ことを確認できます。
- 削除される提出記録が 1 件以上ある場合: 赤色の警告で件数と学生数が表示されます。警告内の「対象アカウントの一覧を表示」をクリックすると、提出記録が削除されるアカウント(メールアドレス)の一覧を確認・コピーできます。この場合、「提出記録が完全に削除され、復元できないことを理解しました」にチェックを入れない限り、インポートは実行できません。
- 削除される項目があるものの提出記録には影響しない場合: 黄色(注意)の表示で削除される項目の確認が促されます。
提出記録の削除が意図しないものである場合は、インポートをキャンセルし、教材リポジトリの ID を変更前の状態に戻してください。
インポート手順
- 右上のアカウント名をクリックします。
教材リポジトリ を開きます。
- 対象リポジトリの
インポート をクリックします。
- 差分や検証結果を確認します。
- 問題がなければ
インポート を実行します。
エラーが出た場合
次のような内容で失敗することがあります。
- 問題 ID の重複
- 存在しない授業や問題の参照
- YAML 形式の不備
エラーメッセージを確認し、教材リポジトリの内容を修正してから main に反映し、再度インポートしてください。
関連リンク