ELECOA アプリケーション設計書 Rev.1.00 2011 年 1 月 1 日 1
改定履歴 Rev 日付状態変更内容 1.00 2011.01.01 新規新規作成 2
目次 1. はじめに... 9 2. ELECOA 概要... 10 2.1. ELECOA 全体構成... 10 2.2. ELECOA ファイル構成... 12 2.3. ELECOA 用 Manifest ファイル... 14 3. ELECOA 通信仕様... 16 3.1. アクティビティの起動... 16 3.2. 中断... 18 3.3. 終了... 20 3.4. シーケンシング... 22 3.4.1. 次に... 22 3.4.2. 前に... 23 3.5. ロールアップ... 24 3.6. 目次... 26 4. シーケンス... 27 4.1. CM-02a... 27 4.1.1. Step2( 次への移動 )... 27 4.1.2. Step4(Skip)... 30 4.1.3. Step5(skip)... 32 4.2. CM-03b... 34 4.2.1. Step2( クラスタをまたぐシーケンシング動作 )... 34 4.2.2. Step7( クラスタをまたぐシーケンシング動作 )... 37 4.3. RU-06a... 40 4.3.1. Step5 (ForwardOnly)... 40 4.3.2. Step6(Use Current, Exit Rule)... 43 4.4. RU-07a... 46 4.4.1. Step4 (Retry)... 46 4.4.2. Step6 (Retry)... 49 4.5. SX-05... 52 4.5.1. Step13 (Retry All)... 52 4.5.2. Step15 (Exit Parent, Retry)... 56 4.6. OB-15... 59 4.6.1. Step2(Objective の状態伝搬 )... 59 4.7. T-01b... 62 4.7.1. Step10(Exit Rule)... 62 5. クラス メソッド... 66 5.1. 特別なクラス... 67 5.1.1. Base クラス... 67 5.1.1.1. ActivityBase クラス... 67 5.1.1.1.1 Constructor construct... 67 5.1.1.1.2 getid メソッド... 68 5.1.1.1.3 gettitle メソッド... 68 5.1.1.1.4 issuspend メソッド... 68 5.1.1.1.5 getstatus メソッド... 68 5.1.1.1.6 gettype メソッド... 69 5.1.1.1.7 addchild メソッド... 69 5.1.1.1.8 getchild メソッド... 69 5.1.1.1.9 getchildposition メソッド... 69 5.1.1.1.10 getparent メソッド... 70 3
5.1.1.1.11 startattempt メソッド... 70 5.1.1.1.12 endattempt メソッド... 70 5.1.1.1.13 save メソッド... 70 5.1.2. Activity クラス... 71 5.1.2.1. ActivityRoot クラス... 71 5.1.2.1.1 Constructor construct... 71 5.1.2.1.2 gettype... 71 5.1.2.1.3 callfromchildseq メソッド... 72 5.1.2.1.4 callfromchildcmd メソッド... 72 5.1.2.2. ActivityBlock クラス... 74 5.1.2.2.1 Constructor construct... 74 5.1.2.2.2 gettype... 74 5.1.2.2.3 callfromchildseq メソッド... 75 5.1.2.2.4 callfromchildcmd メソッド... 75 5.1.2.2.5 callfromparentseq メソッド... 76 5.1.2.2.6 callfromparentcmd メソッド... 76 5.1.2.3. ActivityLeaf クラス... 78 5.1.2.3.1 Constructor construct... 78 5.1.2.3.2 gettype... 79 5.1.2.3.3 geturl... 79 5.1.2.3.4 gethtml... 79 5.1.2.3.5 callfromparentseq メソッド... 79 5.1.2.3.6 callfromparentcmd メソッド... 80 5.1.2.3.7 callfrommain メソッド... 80 5.1.3. Simple クラス... 82 5.1.3.1. SimpleRoot クラス... 82 5.1.3.1.1 Constructor construct... 83 5.1.3.1.2 setdata... 83 5.1.3.1.3 settable... 83 5.1.3.1.4 startattempt... 83 5.1.3.1.5 endattempt... 84 5.1.3.1.6 save... 84 5.1.3.1.7 exeinit... 84 5.1.3.1.8 exeindex... 85 5.1.3.1.9 exerollup... 85 5.1.3.1.10 exestart... 86 5.1.3.1.11 execontinue... 86 5.1.3.1.12 exeprevious... 87 5.1.3.1.13 exechoice... 87 5.1.3.1.14 exesuspend... 87 5.1.3.1.15 exeexitall... 88 5.1.3.1.16 exeretry... 88 5.1.3.1.17 exeretryall... 89 5.1.3.1.18 exeexitretry... 89 5.1.3.1.19 checkprecondition... 90 5.1.3.2. SimpleBlock クラス... 91 5.1.3.2.1 Constructor construct... 92 5.1.3.2.2 setdata メソッド... 92 5.1.3.2.3 settable メソッド... 93 5.1.3.2.4 startattempt メソッド... 93 5.1.3.2.5 endattempt メソッド... 93 4
5.1.3.2.6 save メソッド... 93 5.1.3.2.7 exeinit メソッド... 94 5.1.3.2.8 exerollup メソッド... 94 5.1.3.2.9 exestart メソッド... 94 5.1.3.2.10 execontinue メソッド... 95 5.1.3.2.11 exeprevious メソッド... 95 5.1.3.2.12 exechoice メソッド... 96 5.1.3.2.13 exesuspend メソッド... 96 5.1.3.2.14 exeexitall メソッド... 97 5.1.3.2.15 exeretry メソッド... 97 5.1.3.2.16 exeexitprev メソッド... 98 5.1.3.2.17 exeexitcont メソッド... 98 5.1.3.2.18 exeexitretry メソッド... 99 5.1.3.2.19 exeindexp メソッド... 99 5.1.3.2.20 execontinuep メソッド... 99 5.1.3.2.21 exepreviousp メソッド... 100 5.1.3.2.22 exechoicep メソッド... 100 5.1.3.2.23 checkprecondition メソッド... 101 5.1.3.3. SimpleLeaf クラス... 102 5.1.3.3.1 Constructor construct... 103 5.1.3.3.2 settable メソッド... 103 5.1.3.3.3 startattempt メソッド... 103 5.1.3.3.4 endattempt メソッド... 104 5.1.3.3.5 exeready メソッド... 104 5.1.3.3.6 exeinit メソッド... 104 5.1.3.3.7 exerollup メソッド... 105 5.1.3.3.8 exesuspend メソッド... 105 5.1.3.3.9 exeexitall メソッド... 106 5.1.3.3.10 exeretry メソッド... 106 5.1.3.3.11 exeindexp メソッド... 107 5.1.3.3.12 execontinuep メソッド... 107 5.1.3.3.13 exepreviousp メソッド... 107 5.1.3.3.14 exechoisep メソッド... 108 5.1.3.3.15 chickprecondition メソッド... 108 5.1.3.4. SimpleSequencing クラス... 109 5.1.3.4.1 Constructor construct... 110 5.1.3.4.2 getpassingscore メソッド... 111 5.1.3.4.3 setcurrentstatus メソッド... 111 5.1.3.4.4 getcurrentstatus メソッド... 111 5.1.3.4.5 addattemptcount メソッド... 112 5.1.3.4.6 addattemptcountr メソッド... 112 5.1.3.4.7 getprimaryobjectiveid メソッド... 112 5.1.3.4.8 getlocalobjectivecount メソッド... 112 5.1.3.4.9 searchobjnum メソッド... 112 5.1.3.4.10 getlocalobjectivedate メソッド... 113 5.1.3.4.11 setlocalobjectivedate メソッド... 113 5.1.3.4.12 searchobjmap メソッド... 113 5.1.3.4.13 searchobjwritemap メソッド... 114 5.1.3.4.14 getsuccessstatus メソッド... 114 5.1.3.4.15 getlocalsuccessstatus メソッド... 114 5.1.3.4.16 getsuccessstatusforrr メソッド... 114 5
5.1.3.4.17 setsuccessstatusfromrtm メソッド... 115 5.1.3.4.18 setsuccessstatus メソッド... 115 5.1.3.4.19 setlocalsuccessstatus メソッド... 115 5.1.3.4.20 getscaledscore メソッド... 116 5.1.3.4.21 getlocalscaledscore メソッド... 116 5.1.3.4.22 getscaledscoreforrr メソッド... 116 5.1.3.4.23 setscaledscore メソッド... 117 5.1.3.4.24 setlocalscaledscore メソッド... 117 5.1.3.4.25 getcompletionstatus メソッド... 117 5.1.3.4.26 getlocalcompletionstatus メソッド... 118 5.1.3.4.27 getcompletionstatusforrr メソッド... 118 5.1.3.4.28 setcompletionstatus メソッド... 118 5.1.3.4.29 setlocalcompletionstatus メソッド... 118 5.1.3.4.30 setstatusfin メソッド... 119 5.1.3.4.31 getcontrolmodeparam メソッド... 119 5.1.3.4.32 getdeliverycontrolsparam メソッド... 119 5.1.3.4.33 getrollupobjectivemeasureweight メソッド... 119 5.1.3.4.34 getrolluprulesparam メソッド... 119 5.1.3.4.35 getrollupconsiderations メソッド... 120 5.1.3.4.36 checkft メソッド... 120 5.1.3.4.37 exeobjectiverollupusingmeasure メソッド... 120 5.1.3.4.38 exeprimaryobjectivestatus メソッド... 120 5.1.3.4.39 getrolluprules メソッド... 121 5.1.3.4.40 checkpreconditionskip メソッド... 121 5.1.3.4.41 checkprecondition メソッド... 121 5.1.3.4.42 checkexitcondition メソッド... 121 5.1.3.4.43 checkpostcondition メソッド... 122 5.1.3.4.44 checkcondition メソッド... 122 5.1.3.4.45 checkrollupset メソッド... 122 5.1.3.4.46 exerollup メソッド... 122 5.1.4. Objective クラス... 124 5.1.4.1. ObjectiveBase クラス... 124 5.1.4.1.1 Constructor construct... 124 5.1.4.1.2 getid メソッド... 124 5.1.4.1.3 gettype メソッド... 124 5.2. 実装クラス... 126 5.2.1. SCORM クラス... 126 5.2.1.1. SCORMRoot クラス... 126 5.2.1.1.1 Constructor construct... 127 5.2.1.1.2 addtable メソッド... 127 5.2.1.1.3 setdata メソッド... 128 5.2.1.1.4 getstatus メソッド... 128 5.2.1.1.5 save メソッド... 128 5.2.1.1.6 startattempt メソッド... 128 5.2.1.1.7 getcommandlist メソッド... 129 5.2.1.1.8 exeinitall メソッド... 129 5.2.1.1.9 exeindex メソッド... 129 5.2.1.1.10 exemeasure_rollup_process メソッド... 130 5.2.1.1.11 exerollup_using_rules メソッド... 130 5.2.1.1.12 exerollup メソッド... 130 5.2.1.1.13 exerollupfromobj メソッド... 131 6
5.2.1.1.14 exeexitcondition メソッド... 131 5.2.1.1.15 checkprecondition メソッド... 131 5.2.1.1.16 exerollupstart メソッド... 132 5.2.1.1.17 prerollupfromobj メソッド... 132 5.2.1.1.18 prerollup メソッド... 132 5.2.1.1.19 endattempt メソッド... 133 5.2.1.1.20 exeretryall メソッド... 133 5.2.1.1.21 getdeliverycontrolstracked メソッド... 134 5.2.1.2. SCORMBlock クラス... 135 5.2.1.2.1 Constructor construct... 136 5.2.1.2.2 addtable メソッド... 137 5.2.1.2.3 setdata メソッド... 137 5.2.1.2.4 getstatus メソッド... 137 5.2.1.2.5 getstatusforrr メソッド... 137 5.2.1.2.6 save メソッド... 138 5.2.1.2.7 startattempt メソッド... 138 5.2.1.2.8 rstart メソッド... 138 5.2.1.2.9 getcommandlist メソッド... 138 5.2.1.2.10 exeinitfroms メソッド... 139 5.2.1.2.11 exeinitfromab メソッド... 139 5.2.1.2.12 exeinitfrompb メソッド... 140 5.2.1.2.13 exeinitcurrent メソッド... 140 5.2.1.2.14 exeindexp メソッド... 141 5.2.1.2.15 exepreviousp メソッド... 141 5.2.1.2.16 exemeasure_rollup_process メソッド... 141 5.2.1.2.17 exerollup_using_rules メソッド... 142 5.2.1.2.18 exerollup メソッド... 142 5.2.1.2.19 exerollupfromobj メソッド... 142 5.2.1.2.20 exeexitcondition メソッド... 143 5.2.1.2.21 checkprecondition メソッド... 143 5.2.1.2.22 exerollupstart メソッド... 144 5.2.1.2.23 prerollupfromobj メソッド... 144 5.2.1.2.24 prerollup メソッド... 144 5.2.1.2.25 getrollupset メソッド... 145 5.2.1.2.26 endattempt メソッド... 145 5.2.1.2.27 getdeliverycontrolstracked メソッド... 145 5.2.1.2.28 getrollupobjectivemeasureweight メソッド... 146 5.2.1.2.29 getprimaryobjectivemeasureevaluateweight メソッド... 146 5.2.1.2.30 checkchildforrollup メソッド... 146 5.2.1.2.31 checkstatusforrollup メソッド... 146 5.2.1.3. SCORMSco クラス... 148 5.2.1.3.1 Constructor construct... 149 5.2.1.3.2 addtable メソッド... 150 5.2.1.3.3 getstatus メソッド... 150 5.2.1.3.4 getstatusforrr メソッド... 150 5.2.1.3.5 save メソッド... 150 5.2.1.3.6 gethtml メソッド... 151 5.2.1.3.7 exerollupstart メソッド... 151 5.2.1.3.8 exerollup メソッド... 151 5.2.1.3.9 exerollupfromobj メソッド... 152 5.2.1.3.10 prerollupfromobj メソッド... 152 7
5.2.1.3.11 getrollupset メソッド... 152 5.2.1.3.12 endattempt メソッド... 152 5.2.1.3.13 startattempt メソッド... 153 5.2.1.3.14 rstart メソッド... 153 5.2.1.3.15 exeinitrtm メソッド... 153 5.2.1.3.16 exeinitcurrent メソッド... 154 5.2.1.3.17 exeindexp メソッド... 154 5.2.1.3.18 exefinrtm メソッド... 155 5.2.1.3.19 checkexitcondition メソッド... 155 5.2.1.3.20 checkprecondition メソッド... 156 5.2.1.3.21 changesuccessstatustoss メソッド... 156 5.2.1.3.22 changesuccessstatustortm メソッド... 156 5.2.1.3.23 getdeliverycontrolstracked メソッド... 156 5.2.1.3.24 getrollupobjectivemeasureweight メソッド... 157 5.2.1.3.25 getprimaryobjectivemeasureevaluateweight メソッド... 157 5.2.1.3.26 checkchildforrollup メソッド... 157 5.2.1.3.27 checkstatusforrollup メソッド... 157 5.2.1.4. SCORMAsset クラス... 159 5.2.1.4.1 Constructor construct... 160 5.2.1.4.2 addtable メソッド... 160 5.2.1.4.3 save メソッド... 160 5.2.1.4.4 endattempt メソッド... 161 5.2.1.4.5 exeinit メソッド... 161 5.2.1.4.6 exeindexp メソッド... 162 5.2.1.4.7 exeexitcondition メソッド... 162 5.2.1.4.8 checkprecondition メソッド... 162 5.2.1.4.9 changesuccessstatus メソッド... 163 5.2.1.4.10 getsuccessstatus メソッド... 163 5.2.1.4.11 setsuccessstatus メソッド... 163 5.2.1.4.12 getscaledscore メソッド... 164 5.2.1.4.13 setscaledscore メソッド... 164 5.2.1.4.14 getcompletionstatus メソッド... 164 5.2.1.4.15 setcompletionstatus メソッド... 164 5.2.1.4.16 getprogressmeasure メソッド... 164 5.2.1.4.17 setprogressmeasure メソッド... 165 5.2.1.5. SCORMObjective クラス... 166 5.2.1.5.1 Constructor construct... 166 5.2.1.5.2 save メソッド... 167 5.2.1.5.3 addreadactivity メソッド... 167 5.2.1.5.4 getsuccessstatus メソッド... 167 5.2.1.5.5 getscaledscore メソッド... 167 5.2.1.5.6 setsuccessstatus メソッド... 167 5.2.1.5.7 setscaledscore メソッド... 168 5.2.1.5.8 searchact メソッド... 168 5.2.1.5.9 checkrollupset メソッド... 168 5.2.1.5.10 exerollup メソッド... 169 8
1. はじめに 本書は学習アクティビティシステム ELECOA(Extensible Learning Environment with Courseware Object Architecture) を実現するためのアプリケーションについて説明する ELECOA とは e-learning システムのアーキテクチャ ELECP(Extensible Learning Environment Content Package) を実装した学習アクティビティシステムのことである 9
2. ELECOA+ELECP 概要 2.1. ELECOA+ELECP コンテンツ全体構成 ELECOA+ELECP コンテンツの全体構成を以下に示す ELECOA+ELECP コンテンツ全体構成 プラットフォームは共通的な学習機能を持つ コンテンツは要件仕様 ELECP に基づき作成される 教材オブジェクトは学習者適応機能 表示機能 履歴記録機能などの学習機能を持ち コンテンツとプラットフォームを連携する コンテンツとプラットフォームが分離されていることにより 新たなアーキテクチャによるコンテンツが追加された場合でも 対応する教材オブジェクトを追加して機能拡張が行える ( 既存コンテンツは機能追加の影響を受けない ) 10
ELECP コンテンツの階層構造 コンテンツの構造は階層型になっている ツリーの各ノードに教材オブジェクトが定義され 各教材オブジェクトは定義されたノードを頂点とするサブツリーの学習者適応機能を制御する これによりサブツリーごとに異なる学習者適応動作を実装できる 11
2.2. ELECOA ファイル構成 全体のファイル構成を以下に示す ELECOA 全体のファイル構成 各ファイルの概略を以下に示す elecoa フォルダ下ファイル名 種類 説明 converter.php php imsmanifest を ELECP 用のマニフェストに変換 init_www.php php 設定ファイル xmllib.php php XML パース用 elecoa/co フォルダ下ファイル名 種類 説明 ActivityBase.php php 全てのクラスの基底となるクラス ActivityBlock.php php アクティビティコンテンツのツリー構造の " 節 " に対応づけるアクティビティクラスの基底となるクラス ActivityLeaf.php php アクティビティコンテンツのツリー構造の " 葉 " に対応づけるアクティビティクラスの基底となるクラス ActivityRoot.php php アクティビティコンテンツのツリー構造の " 根 " に対応づけるアクティビティクラスの基底となるクラス EventBlock.php php EventLeaf.php php EventRoot.php php ObjectiveBase.php php 12
SCORMAsset.php php ( 実装クラス ) アクティビティコンテンツのツリー構造の " 葉 " に対応づける SCORM アクティビティクラス SCORMBlock.php php ( 実装クラス ) アクティビティコンテンツのツリー構造の " 節 " に対応づける SCORM アクティビティクラス SCORMObjective.php php アクティビティコンテンツの学習目標に対応づけるクラス SCORMRoot.php php ( 実装クラス ) アクティビティコンテンツのツリー構造の " 根 " に対応づける SCORM アクティビティクラス SCORMSco.php php ( 実装クラス ) アクティビティコンテンツのツリー構造の " 葉 " に対応づける SCORM アクティビティクラス SimpleBlock.php php アクティビティコンテンツのツリー構造の " 節 " に対応づけるアクティビティクラスの基底となるクラス SimpleLeaf.php php アクティビティコンテンツのツリー構造の " 葉 " に対応づけるアクティビティクラスの基底となるクラス SimpleRoot.php php アクティビティコンテンツのツリー構造の " 根 " に対応づけるアクティビティクラスの基底となるクラス SimpleSequencing.php php アクティビティコンテンツのシーケンシングに対応するクラス 13
2.3. ELECOA 用 Manifest ファイル ELECOA 用の Mainifest ファイル名は elecp.xml である 構造は ELECP の規格通りである SCORM_CAM.pdf SCORM 2004 3rd EDITION Content Aggregation Model (CAL) Version1.0 参照 itemdata 構造が 1 つの教材オブジェクトである SCORM の教材を使用する場合は 以下の箇所にアクティビティオブジェクトを定義する必要がある 根に対応する教材オブジェクト名を ROOT ノードの item 要素の cotype 属性に指定する 枝に対応する教材オブジェクト名を子ノードの item 要素の cotype 属性に指定する 葉に対応する教材オブジェクト名を最下層の子ノードの item 要素の cotype 属性に指定する 共有教材の教材オブジェクト名を objectives 要素の子ノード objective 要素の cotype 属性に指定する ELECOA 用の Mainifest ファイルでの教材オブジェクトの設定 14
SCORM 対応の教材オブジェクト用ファイルの基本構造例を以下に記述する SCORM 対応の教材オブジェクト用ファイルの構造例 15
3. ELECOA 通信仕様 実際にどのようにアクティビティオブジェクトが使用されているか 代表的な ELECOA 通信例をあげて説明する 3.1. アクティビティの起動 1. 学習者が学習を開始すると プラットフォームは manifest ファイルを読み込む (startmodule.php) 2. プラットフォームは ROOT ノードの item 構造を取得する 3. プラットフォームは ROOT ノードの子ノード分 子ノードの item 構造を取得する (maketree) 4. プラットフォームは ROOT ノードの item のオブジェクトを生成する 16
5. プラットフォームは BLOCK ノード分 BLOCK ノードの item のオブジェクトを生成する 6. プラットフォームは LEAF ノード分 LEAF ノードの item のオブジェクトを生成する 7. SESSION にオブジェクト配列を設定する 17
3.2. 中断 1. 学習者が学習コマンド ( 中断コマンド ) を発行すると プラットフォームを通して (mainmodule.php) カレントオブジェクトがコマンドを受け取る (ActivityLeaf クラス callfrommain メソッド ) 1.1. カレントオブジェクトは親オブジェクトに中断コマンドを発行する (ActivityBlock クラス callfromchildcmd メソッド ) 1.1.1. 親オブジェクトは子オブジェクトへ中断条件を問い合わせる 1.1.2. 1.1.3. 親オブジェクトはさらに親オブジェクトに中断コマンドを発行する 1.1.3.1. 親オブジェクトは子オブジェクトへ中断条件を問い合わせる 1.1.3.2. 18
2. 各アクティビティの状態を ini ファイルに保存する (ScormSco,ScormBlock,ScormRoot クラス save メソッド ) 19
3.3. 終了 1. 学習者が学習コマンド ( 終了コマンド ) を発行すると プラットフォームを通して (mainmodule.php) カレントオブジェクトがコマンドを受け取る (ActivityLeaf クラス callfrommain メソッド ) 1.1. カレントオブジェクトは親オブジェクトに終了コマンドを発行する (ActivityBlock,ActivityRoot クラス callfromchildseq メソッド ) 1.1.1. 親オブジェクトは子オブジェクトへ終了条件を問い合わせる 1.1.2. 1.1.3. 親オブジェクトはさらに親オブジェクトに終了コマンドを発行する (ActivityBlock,ActivityRoot クラス callfromchildseq メソッド ) 1.1.3.1. 親オブジェクトは子オブジェクトへ終了条件を問い合わせる 20
1.1.3.2. 2. 各アクティビティの状態を ini ファイルに保存する (ScormSco,ScormBlock,ScormRoot クラス save メソッド ) 21
3.4. シーケンシング 3.4.1. 次に 1. 学習者が学習コマンド ( 次画面コマンド ) を発行すると プラットフォームを通して (mainmodule.php) カレントオブジェクトがコマンドを受け取る (ActivityLeaf クラス callfrommain メソッド ) 1.1. カレントオブジェクトは親に次画面候補を問い合わせる (ActivityBlock,ActivityRoot クラス callfromchildseq メソッド ) 1.1.1. 親オブジェクトは ( 子ノードの画面選択条件に基づき ) 自分の子ノードから次画面候補を選択する 1.1.1.1. 親オブジェクトは子オブジェクトに対して問い合わせる 子オブジェクトは ( 選択条件に基づき ) 次画面を返す (ActivityLeaf クラス callfromparentseq メソッド ) 1.1.1.2. 子ノードに次画面候補が見つからなかった場合は さらに親オブジェクトに次画面候補を問い合わせる (ActivityBlock,ActivityRoot クラス callfromchildseq メソッド ) 1.1.1.2.1. 親オブジェクトは ( 子ノードの画面選択条件に基づき ) 自分の子ノードから次画面候補を選択する 22
3.4.2. 前に 1. 学習者が学習コマンド ( 前画面コマンド ) を発行すると プラットフォームを通して (mainmodule.php) カレントオブジェクトがコマンドを受け取る (ActivityLeaf クラス callfrommain メソッド ) 1.1. カレントオブジェクトは親に前画面候補を問い合わせる (ActivityBlock,ActivityRoot クラス callfromchildseq メソッド ) 1.1.1. 親オブジェクトは ( 子ノードの画面選択条件に基づき ) 自分の子ノードから前画面候補を選択する 1.1.1.1. 親オブジェクトは子オブジェクトに対して問い合わせる 子オブジェクトは ( 選択条件に基づき ) 前画面を返す 1.1.1.2. 子ノードに前画面候補が見つからなかった場合は さらに親オブジェクトに前画面候補を問い合わせる (ActivityBlock,ActivityRoot クラス callfromchildseq メソッド ) 1.1.1.2.1. 親オブジェクトは ( 子ノードの画面選択条件に基づき ) 自分の子ノードから前画面候補を選択する 1.1.1.2.1.1. 親オブジェクトは子オブジェクトに対して問い合わせる 子オブジェクトは ( 選択条件に基づき ) 前画面を返す (ActivityLeaf クラス callfromparentseq メソッド ) 23
3.5. ロールアップ 1. カレントオブジェクトの状態が変化すると カレントオブジェクトは親オブジェクトに状態変化の前処理を通知する (ScormBlock クラス prerollup メソッド )(SCORM の場合 自身が書き込む共有学習目標を読み込んでいる教材オブジェクトにも通知する ) 2. カレントオブジェクトは親オブジェクトの状態変化通知メソッドを呼び出す (ScormBlock クラス exerollup メソッド ) 2.1. 親オブジェクトは全ての子オブジェクトの状態をチェックする 2.2. 2.3. 親オブジェクトは全ての子オブジェクトの状態と元に Rollup Rule を使用して (ScormBlock クラス exerollup_using_rules メソッド ) 自分の状態を決定する 2.4. 親オブジェクトは状態変化をさらに親オブジェクトに通知する (ScormBlock,ScormRoot クラス 24
exerollup メソッド ) 2.4.1. 親オブジェクトは全ての子オブジェクトの状態をチェックする 2.4.2. 2.4.3. 親オブジェクトは全ての子オブジェクトの状態と元に Rollup Rule を使用して (ScormBlock,ScormRoot クラス exerollup_using_rules メソッド ) 自分の状態を決定する 25
3.6. 目次 1. 学習者が学習コマンド (INDEX コマンド ) を発行すると プラットフォームを通して (mainmodule.php) カレントオブジェクトがコマンドを受け取る (ActivityLeaf クラス callfrommain メソッド ) 1.1. カレントオブジェクトは親オブジェクトに INDEX コマンドを発行する (ActivityBlock クラス callfromchildcmd メソッド ) 1.1.1. 親オブジェクトはさらに親オブジェクトに INDEX コマンドを発行する (ActivityRoot クラス callfromchildcmd メソッド ) 1.1.1.1. 親オブジェクト (ROOT) は全ての子オブジェクトに対して INDEX コマンドを発行する (ActivityBlock,ActivityLeaf クラス callfromparent メソッド ) 1.1.2. 親オブジェクトは全ての子オブジェクトに対して INDEX コマンドを発行する (ActivityBlock,ActivityLeaf クラス callfromparent メソッド ) 26
4. シーケンス 代表的なアクティビティのパターンを挙げて シーケンスを記述する 4.1. CM-02a 4.1.1. Step2( 次への移動 ) コンテンツツリー構造 テストスクリプト概要アクティビティ 1 から 2 へ移動. その後, アクティビティ 3 へ移動したとき, アクティビティ 2 の習得状態が自動的に True になる. 27
シーケンス図 このシーケンス図ではメソッドを以下の形式で説明している [ マーク ][ メソッドを定義しているクラス ]::[ メソッド ] [ マーク ] の意味は以下の通り Activity クラス Simple クラス SCORM クラス 1. 学習者が 次に を選択する 1.1. プラットフォームは次画面選択コマンドの処理を実行する 1.1.1. プラットフォームは RTM 終了処理を行う 1.1.2. プラットフォームは現アクティビティに CONTINUE コマンドを発行する 1.1.2.1. 現アクティビティはアクティビティ終了処理の中でロールアップ処理を行う 1.1.2.2. 現アクティビティはアクティビティ終了処理の中で終了判定を行なう 1.1.2.3. 現アクティビティは親アクティビティに CONTINUE コマンドを発行する 28
1.1.2.3.1. 親アクティビティは CONTINUE コマンドを処理する 1.1.2.3.1.1. 親アクティビティは現アクティビティ (activity_1) の子番号を取得する 1.1.2.3.1.2. 親アクティビティは次の子番号のアクティビティ (activity_2) に CONTINUE コマンドを発行する 1.1.2.3.1.2.1 activity_2 は実行可能かどうか条件を確認し NextID として自分の ID を返却する 29
4.1.2. Step4(Skip) コンテンツツリー構造 テストスクリプト概要アクティビティ 3 から Previous を発行した時, アクティビティ 2 の If satisfied, then skip が働き, アクティビティ 2 を飛び越してアクティビティ 1 へ移動する 30
シーケンス図 1. 学習者は 前に を選択する 1.1. プラットフォームは前画面コマンドの処理を開始する 1.1.1. プラットフォームは現アクティビティ (activity_3) に PREVIOUS コマンドを発行する 1.1.1.1. activity_3 は親アクティビティ (activity_0) に PREVIOUS コマンドを発行する 1.1.1.1.1. activity_0 は PREVIOUS コマンドの処理を開始する 1.1.1.1.1.1. activity_0 は activity_3 の子番号を取得する 1.1.1.1.1.2. activity_0 は取得した子番号 -1 の番号を持つアクティビティ (activity_2) に対して PREVIOUS コマンドを発行する 1.1.1.1.1.2.1 activity_2 は実行可能かどうかを判断し skip を返却する 1.1.1.1.1.3 activity_0 は 取得した子番号 -2 の番号を持つアクティビティ (activity_1) に対して PREVIOUS コマンドを発行する 1.1.1.1.1.3.1 activity_1 は実行可能かどうかを判断し NextID として自分の ID を返却する 31
4.1.3. Step5(skip) コンテンツツリー構造 テストスクリプト概要アクティビティ 1 から Continue を発行した時, アクティビティ 2 の If satisfied, then skip が働き, アクティビティ 2 を飛び越してアクティビティ 3 へ移動する 32
シーケンス図 1. 学習者は 次に を選択する 1.1. プラットフォームは次画面コマンドの処理を開始する 1.1.1. プラットフォームは現アクティビティ (activity_1) に対して CONTINUE コマンドを発行する 1.1.1.1. activity_1 は現アクティビティ (activity_0) に対して CONTINUE コマンドを発行する 1.1.1.1.1. activity_0 は CONTINUE コマンドの処理を開始する 1.1.1.1.1.1. activity_0 は activity_1 の子番号を取得する 1.1.1.1.1.2. activity_0 は取得した子番号 +1 のアクティビティ (activity_2) に対して CONTINUE コマンドを発行する 1.1.1.1.1.2.1 activity_2 は実行可能かどうかを判断し skip を返却する 1.1.1.1.1.3. activity_0 は取得した子番号 +2 のアクティビティ (activiry_3) に対して CONTINUE コマンドを発行する 1.1.1.1.1.3.1 activity_3 は実行可能かどうかを判断し NextID として自分の ID を返却する 33
4.2. CM-03b 4.2.1. Step3( クラスタをまたぐシーケンシング動作 ) コンテンツツリー構造 テストスクリプト概要アクティビティ 3 から 5 へクラスタをまたいで移動する 34
シーケンス図 1. 学習者は 次に を選択する 1.1. プラットフォームは次画面コマンドの処理を開始する 1.1.1. プラットフォームは現アクティビティ (activity_3) に対して CONTINUE コマンドを発行する 1.1.1.1. activity_3 は親アクティビティ (activity_1) に対して CONTINUE コマンドを発行する 1.1.1.1.1. activity_1 は CONTINUE コマンドの実行を開始する 1.1.1.1.1.1. activity_1 は現アクティビティ (activity_3) の子番号を取得する 1.1.1.1.2. 取得した子番号 +1 のアクティビティは activity_1 の子に存在しないので activity_1 は親アクティビティ (acitivity_0) に対して CONTINUE コマンドを発行する 1.1.1.1.2.1. activity_0 は CONTINUE コマンドの実行を開始する 1.1.1.1.2.1.1 activity_0 は activity_1 の子番号を取得する 1.1.1.1.2.1.2 activity_0 は取得した子番号 +1 のアクティビティ (activity_4) に対して CONTINUE コマンドを発行する 1.1.1.1.2.1.2.1 activity_4 は親からの CONTINUE コマンド実行を開始する 1.1.1.1.2.1.2.1.1 activity_4 は実行可能かどうかを判断する 1.1.1.1.2.1.2.1.2 activity_4 は自分の子アクティビティの最初のもの (activity_5) に対して CONTINUE コマンドを発行する 35
1.1.1.1.2.1.2.1.2.1 activity_5 は親からの CONTINUE コマンド実行を開始する 1.1.1.1.2.1.2.1.2.1.1 activity_5 は実行可能かどうか判断し NextID として自分の ID を返却する 36
4.2.2. Step7( クラスタをまたぐシーケンシング動作 ) コンテンツツリー構造 テストスクリプト概要アクティビティ 8 から 3 へクラスタをまたいで移動する 37
シーケンス図 1. 学習者は 前に を選択する 1.1. プラットフォームは前画面コマンドの処理を開始する 1.1.1. プラットフォームは現アクティビティ (activity_8) に対して PREVIOUS コマンドを発行する 1.1.1.1. activity_8 は親アクティビティ (activity_0) に対して PREVIOUS コマンドを発行する 1.1.1.1.1. activity_0 は PREVIOUS コマンド実行処理を開始する 1.1.1.1.1.1. activity_0 は activity_8 の子番号を取得する 1.1.1.1.1.2. activity_0 は取得した子番号 -1 のアクティビティ (activity_4) に対して CONTINUE コマンドを発行する 38
1.1.1.1.1.2.1 activity_4 は親からの PREVIOUS コマンド実行処理を開始する activity_4 のシーケンシングパラメータが Forword Only であるので activity_4 は自身の execontinuep( 親からの CONTINUE コマンド実行処理 ) メソッドを実行する 1.1.1.1.1.2.2 activity_4 の親から ( 実際には自身から発行された ) の COTINUE コマンドを実行する 1.1.1.1.1.2.2.1 activity4 は実行が可能かどうかを判断し 実行可能であるので子アクティビティの実行を開始する 1.1.1.1.1.2.2.2 activity_4 は最初の子アクティビティ (activity_5) に対して CONTINUE コマンドを発行する 1.1.1.1.1.2.2.2.1 activity_5 は CONTINUE コマンド処理の実行を開始する 1.1.1.1.1.2.2.2.1.1 activity_5 は実行可能かどうかを判断し skip を返却する ( 同様に activity_4 は activity_6,activity_7 に対しても CONTINUE コマンドを発行し 処理をスキップする ) 1.1.1.2 activity_4 の処理が終了したので activity_0 は activity_4 の前のアクティビティ (activity_1) に対して PREVIOUS コマンドを発行する 1.1.1.2.1 activity_1 は PREVIOUS コマンド実行処理を開始する 1.1.1.2.2 activity_1 のシーケンシングパラメータは Forward Only ではないので activity_1 の exepreviousp( 親からの PREVIOUS コマンド処理 ) メソッドが呼ばれる 1.1.1.2.3 activity_1 は実行可能かどうかを判断し 実行可能であるので 子アクティビティの実行を開始しようとする 1.1.1.2.4 activity_1 の最後のアクティビティ (activity_3) に対して PREVIOUS コマンドが発行される 1.1.1.2.4.1 activity_3 は PREVIOUS コマンドの処理を開始する 1.1.1.2.4.1.1 activity_3 は実行可能かどうかを判断し 実行可能であるので NextID として自分の ID を返却する 39
4.3. RU-06a 4.3.1. Step5 (ForwardOnly) コンテンツツリー構造 テストスクリプト概要アクティビティ 5 から Previous を発行した時, アクティビティ 1 の ForwardOnly=True により, アクティビティ 4 でなくアクティビティ 2 へ移動する 40
シーケンス図 1. 学習者は 前に を選択する 1.1. プラットフォームは前画面コマンドの処理を開始する 1.1.1. プラットフォームは現アクティビティ (activity_5) に対して PREVIOUS コマンドを発行する 1.1.1.1. activity_5 は親アクティビティ (activity_0) に対して PREVIOUS コマンドを発行する 1.1.1.1.1. activity_0 は PREVIOUS コマンド実行処理を開始する 1.1.1.1.1.1. activity_0 は activity_5 の子番号を取得する 1.1.1.1.1.2. activity_0 は取得した子番号 -1 のアクティビティ (activity_1) に対して PREVIOUS コマンドを発行する 1.1.1.1.1.2.1 activity_1 は PREVIOUS コマンド実行処理を開始する 1.1.1.1.1.2.2 activity_1 のシーケンシングパラメータは Forward Only であるので 自身の execontinuep( 親からの CONTINUE コマンド処理 ) メソッドが呼ばれる 1.1.1.1.1.2.2.1 activity_1 は実行可能かどうかを判断し 実行可能であるので子アクティビティを CONTINUE コマンド処理を開始しようとする 1.1.1.1.1.2.2.2 activity_1 は最初の子アクティビティ (activity_2) に対して CONTINUE コマンドを発行する 1.1.1.1.1.2.2.2.1 activity_2 は親からの CONTINUE コマンド処理の実行を開始する 41
1.1.1.1.1.2.2.2.1.1 activity_2 は実行可能かどうか判断し 実行可能であるので NextID として自身の ID を返却する 42
4.3.2. Step6(Use Current, Exit Rule) コンテンツツリー構造 テストスクリプト概要アクティビティ 2 を Passed にした時, アクティビティ 1 の Use Current=False により, アクティビティ 3, 4 の前回の習得状態が参照され, アクティビティ 1 が習得となり,Exit ルール,Continue ルールが働き, アクティビティ 5 へ移動する 43
シーケンス図 1. 学習者は 次に を選択する 1.1. プラットフォームは次画面コマンドの処理を開始する 1.1.1. プラットフォームは現アクティビティ (activity_2) に対して CONTINUE コマンドを発行する 1.1.1.1 activity_2 は現アクティビティの終了処理 (endattempt) を開始する 44
1.1.1.1.1 activity_2 はロールアップを開始する 1.1.1.1.1.1 activity_2 は親アクティビティ (activity_1) のロールアップメソッドを呼び出す 1.1.1.1.1.1.1 activity_1 は親アクティビティ (activity_0) のロールアップメソッドを呼び出す 1.1.1.1.2 activity_2 はポストコンディションルールの判断を行なう 1.1.1.1.3 activity_2 は親アクティビティ (activity_1) に対して EXITCOND コマンドを発行す る 1.1.1.1.3.1 activity_1 は EXITCOND コマンド処理の実行を開始する 1.1.1.1.3.1.1 activity_1 は Exit ルールの判断を行なう 1.1.1.1.3.1.2 activity_1 はポストコンディションルールの判断を行なう 1.1.1.1.3.2 activity_1 は親アクティビティ (activity_0) に対して EXITCOND コマンドを発行す る 1.1.1.1.3.2.1 activity_0 は EXITCOND コマンド処理の実行を開始する 1.1.1.1.3.2.1.1 activity_0 は Exit ルールの判断を行なう 1.1.1.2 activity_2 は終了処理 (endattempt) の結果を受けて 親アクティビティ (activity_1 に ) 対して EXITCONTINUE コマンドを発行する 1.1.1.2.1 activity_1 は親アクティビティ (activity_0) に対して CONTINUE コマンドを発行す る 1.1.1.2.1.1 activity_0 は CONTINUE コマンド処理の実行を開始する 1.1.1.2.1.1.1 activity_0 は activity_1 の子番号を取得する 1.1.1.2.1.1.2 activity_0 は取得した子番号 +1 のアクティビティ (activity_5) に対して CONTINUE コマンドを発行する 1.1.1.2.1.1.2.1 activity_5 は CONTINUE コマンド処理の実行を開始する 1.1.1.2.1.1.2.1.1 activity_5 は実行可能であるかどうかの判断を行い 実行可能であるので 自身 の ID を NextID として返却する 45
4.4. RU-07a 4.4.1. Step4 (Retry) コンテンツツリー構造 テストスクリプト概要アクティビティ 5 で Continue を発行し, アクティビティ 2 の Retry ルールにより, 再度アクティビティ 5 へ移動する 46
シーケンス図 1. 学習者は 次に を選択する 1.1. プラットフォームは次画面コマンドの処理を開始する 47
1.1.1. プラットフォームは現アクティビティ (activity_5) に CONTINUE コマンドを発行する activity_5 はアクティビティの終了処理を開始する 1.1.1..1 activity_5 はロールアップを開始する 1.1.1..1.1 activity_5 は親アクティビティ (activity_2) のロールアップメソッドを呼び出す 1.1.1..1.1.1 activity_2 は親アクティビティ (activity_0) のロールアップメソッドを呼び出す 1.1.1..2 activity_5 はポストコンディションルールを判断する 1.1.1.1.3 activity_5 は親アクティビティ (activity_2) に対して EXITCOND コマンドを発行する 1.1.1.1.3.1 activity_2 は EXITCOND コマンド処理の実行を開始する 1.1.1.1.3.1.1 activity_2 は Exit ルールを判断する 1.1.1.1.3.1.2 activity_2 はポストコンディションルールを判断し Retry を返却する 1.1.1.1.3.2 activity_2 は親アクティビティ (activity_0) に EXITCOND コマンドを発行する 1.1.1.1.3.2.1 activity_0 は EXITCOND コマンド処理の実行を開始する 1.1.1.1.3.2.1.1 activity_0 は ExitCondition の判断を行なう 1.1.1.2 activity_5 は親アクティビティ (activity_2) に対して EXITRETRY コマンドを発行する 1.1.1.2.1 activity_2 は親アクティビティ (activity_0) に対して RETRY コマンドを発行する 1.1.1.2.1.1 activity_0 は RETRY コマンド処理の実行を開始する 1.1.1.2.1.1.1 activity_0 は activity_2 の子番号を取得する 1.1.1.2.1.1.2 activity_0 は activity_2 に対して CONTINUE コマンドを発行する 1.1.1.2.1.1.2.1 activity_2 は CONTINUE コマンド処理の実行を開始する 1.1.1.2.1.1.2.1.1 activity_2 は実行可能かどうかを判断する 1.1.1.2.1.1.2.1.2 activity_2 が実行可能なので activity_2 は最初の子アクティビティ (activity_3) に対して CONTINUE コマンドを発行する 1.1.1.2.1.1.2.1.2.1 activity_3 は親からの CONTINUE コマンド処理の実行を開始する 1.1.1.2.1.1.2.1.2.1.1 activity_3 は実行可能かどうか判断し skip を返却する 1.1.1.2.1.1.2.1.3 activity_2 は次の子アクティビティ (activity_5) に対して CONTINUE コマンドを発行する 1.1.1.2.1.1.2.1.3.1 activity_5 は親からの CONTINUE コマンド処理の実行を開始する 1.1.1.2.1.1.2.1.3.1.1 activity_5 は実行可能かどうかを判断し NextID として自分の ID を返却する 48
4.4.2. Step6 (Retry) コンテンツツリー構造 テストスクリプト概要アクティビティ 5 で Continue を発行し, アクティビティ 2 の Retry ルールが満たされずアクティビティ 6 へ移動する 49
シーケンス図 1. 学習者は 次に を選択する 1.1. プラットフォームは次画面コマンドの処理を開始する 1.1.1. プラットフォームは現アクティビティ (activity_5) に対して CONTINUE コマンドを発行する 1.1.1.1 activity_5 はアクティビティの終了処理を開始する 1.1.1.1.1 activity_5 はロールアップを開始する 1.1.1.1.1.1 activity_5 は親アクティビティ (activity_2) のロールアップメソッドを呼び出す 1.1.1.1.1.1.1 activity_2 は親アクティビティ (activity_0) のロールアップメソッドを呼び出す 1.1.1.1.2 activity_5 はポストコンディションルールを判断する 50
1.1.1.1.3 activity_5 は親アクティビティ (activity_2) に対して EXITCOND コマンドを発行す る 1.1.1.1.3.1 activity_2 は EXITCOND コマンド処理の実行を開始する 1.1.1.1.3.1.1 activity_2 は Exit ルールを判断する 1.1.1.1.3.1.2 activity_2 はポストコンディションルールを判断する 1.1.1.1.3.2 activity_2 は親アクティビティ (activity_0) に対して EXITCOND コマンドを発行す る 1.1.1.1.3.2.1 activity_0 は EXITCOND コマンド処理の実行を開始する 1.1.1.1.3.2.1.1 activity_0 は Exit ルールを判断する 1.1.1.2 activity_5 は親アクティビティ (activity_2) に対して EXITCONTINUE コマンドを 発行する 1.1.1.2.1 activity_2 は親アクティビティ (activity_0) に対して CONTINUE コマンドを発行す る 1.1.1.2.1.1 activity_0 は CONTINUE コマンド処理の実行を開始する 1.1.1.2.1.1.1 activity_0 は activity_2 の子番号を取得する 1.1.1.2.1.1.2 activity_0 は取得した子番号 +1 のアクティビティ (activity_6) に対して CONTINUE コマンドを発行する 1.1.1.2.1.1.2.1 activity_6 は親からの CONTINUE コマンド処理の実行を開始する 1.1.1.2.1.1.2.1.1 activity_6 は実行可能かどうか判断し NextID として自分の ID を返却する 51
4.5. SX-05 4.5.1. Step13 (Retry All) コンテンツツリー構造 テストスクリプト概要アクティビティ 9 で Continue を発行し,Retry All ルールによりアクティビティツリー全体を再実行. アクティビティ 1, 2, 5, 6, 8 の Skip ルールにより再度アクティビティ 9 へ移動する 52
シーケンス図 1. 学習者は 次に を選択する 1.1. プラットフォームは次画面コマンドの処理を開始する 53
1.1.1 プラットフォームは現アクティビティ (activity_9) に対して CONTINUE コマンドを発行する 1.1.1.1 activity_9 はアクティビティの終了処理を開始する 1.1.1.1.1 activity_9 はロールアップ処理を開始する 1.1.1.1.1.1 activity_9 は自身のロールアップメソッドを呼び出す 1.1.1.1.1.1.1 activity_9 は親アクティビティ (activity_7) のロールアップメソッドを呼び出す 1.1.1.1.2 activity_9 はポストコンディションルールを判断する 1.1.1.1.3 activity_9 は親アクティビティ (activity_7) に対して EXITCOND コマンドを発行する 1.1.1.1.3.1 activity_7 は EXITCOND コマンド処理の実行を開始する 1.1.1.1.3.1.1 activity_7 は Exit ルールを判断する 1.1.1.1.3.2 activity_7 は親アクティビティ (activity_3) に対して EXITCOND コマンドを発行する 1.1.1.1.3.2.1 activity_3 は EXITCOND コマンド処理の実行を開始する 1.1.1.1.3.2.1.1 activity_3 は Exit ルールを判断する 1.1.1.1.3.2.2 activity_3 は親アクティビティ (activity_0) に対して EXITCOND コマンドを発行する 1.1.1.1.3.2.2.1 activity_0 は EXITCOND コマンド処理の実行を開始する 1.1.1.1.3.2.2.1.1 activity_0 は Exit ルールを判断する 1.1.1.2 activity_9 は親アクティビティ (activity_7) に対して RETRYALL コマンドを発行する 1.1.1.2.1 activity_7 はアクティビティの終了処理を開始する 1.1.1.2.1.1 activity_7 はロールアップを開始する 1.1.1.2.1.1.1 activity_7 は自身のロールアップメソッドを呼び出す 1.1.1.2.2 activity_7 は親アクティビティ (activity_3) に対して RETRYALL コマンドを発行する 1.1.1.2.2.1 activity_3 はアクティビティ終了処理を開始する 1.1.1.2.2.1.1 activity_3 はロールアップ処理を開始する 1.1.1.2.2.2 activity_3 は親アクティビティ (activity_0) に対して RETRYALL コマンドを発行する 1.1.1.2.2.2.1 activity_0 は RETRYALL コマンド処理の実行を開始する 1.1.1.2.2.2.1.1 activity_0 は最初の子アクティビティ (activity_1) に対して INITC コマンドを発行する 1.1.1.2.2.2.1.1.1 activity_1 は INITC コマンド処理を実行する 1.1.1.2.2.2.1.2. activity_0 は次の子アクティビティ (activity_2) に対して INITC コマンドを発行する 1.1.1.2.2.2.1.2.1 activity_2 は INITC コマンド処理を実行する 1.1.1.2.2.2.1.3 activity_0 は再度実行を開始する 1.1.1.2.2.2.1.3.1 activity_0 は実行可能かどうかの判断を行なう 1.1.1.2.2.2.1.3.2 activity_0 は最初の子アクティビティ (activity_1) に対して CONTINUE コマンドを発行する 1.1.1.2.2.2.1.3.2.1 activity_1 は親からの CONTINUE コマンド処理の実行を開始する 1.1.1.2.2.2.1.3.2.1.1 activity_1 は実行可能かどうか判断し skip を返却する 1.1.1.2.2.2.1.3.3 activity_0 は次の子アクティビティ (activity_2) に対して CONTINUE コマンドを発行する 1.1.1.2.2.2.1.3.3.1 activity_2 は親からの CONTINUE コマンド処理の実行を開始する 1.1.1.2.2.2.1.3.3.1.1 activity_2 は実行可能かどうか判断し skip を返却する 1.1.1.2.2.2.1.3.4 activity_0 は次の子アクティビティ (activity_3) に対して CONTINUE コマンドを発行する 1.1.1.2.2.2.1.3.4.1 activity_3 は親からの CONTINUE コマンド処理の実行を開始する 1.1.1.2.2.2.1.3.4.1.1 activity_3 は実行可能かどうか判断し 可能であるので次のアクティビティを実行しようとする 1.1.1.2.2.2.1.3.4.1.2 activity_3 は最初の子アクティビティ (activity_4) に対して 54
CONTINUE コマンドを発行する 1.1.1.2.2.2.1.3.4.1.2.1 activity_4 は親からの CONTINUE コマンド処理の実行を開始する 1.1.1.2.2.2.1.3.4.1.2.1.1 activity_4 は実行可能かどうか確認し 可能であるので次のアクティビティを実行しようとする 1.1.1.2.2.2.1.3.4.1.2.1.2 activity_4 は最初のアクティビティ (activity_5) に対して CONTINUE コマンドを発行する 1.1.1.2.2.2.1.3.4.1.2.1.2.1 activity_5 は CONTINUE コマンド処理の実行を開始する 1.1.1.2.2.2.1.3.4.1.2.1.2.1.1 activity_5 は実行可能かどうか確認し skip を返却する 1.1.1.2.2.2.1.3.4.1.2.1.3 activity_4 は次のアクティビティ (activity_6) に対して CONTINUE コマンドを発行する 1.1.1.2.2.2.1.3.4.1.2.1.3.1 activity_6 は CONTINUE コマンド処理の実行を開始する 1.1.1.2.2.2.1.3.4.1.2.1.3.1.1 activity_6 は実行可能かどうか確認し skip を返却する 1.1.1.2.2.2.1.3.4.1.3 activity_3 は次のアクティビティ (activity_7) に対して CONTINUE コマンドを発行する 1.1.1.2.2.2.1.3.4.1.3.1 activity_7 は親からの CONTINUE コマンド処理の実行を開始する 1.1.1.2.2.2.1.3.4.1.3.1.1 activity_7 は実行可能かどうか判断し 可能であるので次のアクティビティを実行しようとする 1.1.1.2.2.2.1.3.4.1.3.1.2 activity_7 は最初の子アクティビティ (actibity_8) に対して CONTINUE コマンドを発行する 1.1.1.2.2.2.1.3.4.1.3.1.2.1 activity_8 は親からの CONTINUE コマンド処理の実行を開始する 1.1.1.2.2.2.1.3.4.1.3.1.2.1.1 activity_8 は実行可能かどうか判断し skip を返却する 1.1.1.2.2.2.1.3.4.1.3.1.3 activity_7 は次の子アクティビティ (activity_9) に対して CONTINUE コマンドを発行する 1.1.1.2.2.2.1.3.4.1.3.1.3.1 activity_9 は CONTINUE コマンド処理の実行を開始する 1.1.1.2.2.2.1.3.4.1.3.1.3.1.1 activity_9 は実行可能かどうかチェックして 実行可能であるので NextID として自身の ID を返却する 55
4.5.2. Step15 (Exit Parent, Retry) コンテンツツリー構造 テストスクリプト概要アクティビティ 10 で Continue を発行し,Exit Parent により, アクティビティ 3 の Retry ルールが発行. アクティビティ 5 の Skip ルールによりアクティビティ 6 へ移動する 56
シーケンス図 1. 学習者は 次に を選択する 57
1.1. プラットフォームは次画面コマンドの処理を開始する 1.1.1. プラットフォームは現アクティビティ (activity_10) に対して CONTINUE コマンドを発行する 1.1.1.1. activity_10 はアクティビティの終了処理を開始する 1.1.1.1.1 activity_10 はロールアップ処理を開始する 1.1.1.1.1.1 activity_10 は自身のロールアップメソッドを呼び出す 1.1.1.1.1.1.1 activity_10 は親アクティビティ (activity_3) のロールアップメソッドを呼び出 す 1.1.1.1.2 activity_10 はポストコンディションルールを判断して EXITPARENT を返却する 1.1.1.1.3 activity_10 は親アクティビティ (activity_3) に対して EXITCOND コマンドを発行 する 1.1.1.1.3.1 activity_3 は EXITCOND コマンド処理の実行を開始する 1.1.1.1.3.1.1 activity_3 は Exit ルールを判断する 1.1.1.1.3.1.2 activity_3 はポストコンディションルールを判断する 1.1.1.1.3.2 activity_3 は親アクティビティ (activity_0) に対して EXITCOND コマンドを発行す る 1.1.1.1.3.2.1 activity_0 は EXITCOND コマンド処理の実行を開始する 1.1.1.1.3.2.1.1 activity_0 は Exit ルールを判断する 1.1.1.2 activity_10 は親アクティビティ (activity_3) に対して EXITRETRY コマンドを発 行する 1.1.1.2.1 activity_3 は EXITRETRY コマンド処理の実行を開始する 1.1.1.2.2 activity_3 はアクティビティの終了処理を開始する 1.1.1.2.2.1 activity_3 はロールアップ処理を開始する 1.1.1.2.2.1.1 activity_3 は自身のロールアップメソッドを呼び出す 1.1.1.2.3 activity_3 は親アクティビティ (activity_0) に対して RETRY コマンドを発行する 1.1.1.2.3.1 activity_0 は RETRY コマンド処理の実行を開始する 1.1.1.2.3.1.1 activity_0 は activity_3 の子番号を取得する 1.1.1.2.3.1.2 activity_0 は activity_3 に対して CONTINUE コマンドを発行する 1.1.1.2.3.1.2.1 activity_3 は親からの CONTINUE コマンド処理の実行を開始する 1.1.1.2.3.1.2.1.1 activity_3 は実行可能かどうかを判断し 実行可能であるので子アクティビティ を実行しようとする 1.1.1.2.3.1.2.1.2 activity_3 は最初の子アクティビティ (activity_4) に対して CONTINUE コマ ンドを発行する 1.1.1.2.3.1.2.1.2.1 activity_4 は親からの CONTINUE コマンド処理の実行を開始する 1.1.1.2.3.1.2.1.2.1.1 activity_4 は実行可能かどうか判断し 実行可能であるので 子ア クティビティを実行しようとする 1.1.1.2.3.1.2.1.2.1.2 activity_4 は最初の子アクティビティ (activity_5) に対して CONTINUE コマンドを発行する 1.1.1.2.3.1.2.1.2.1.2.1 activity_5 は親からの CONTINUE コマンド処理の実行を開始する 1.1.1.2.3.1.2.1.2.1.2.1.1 activity_5 は実行可能かどうかを判断し skip を返却する 1.1.1.2.3.1.2.1.2.1.3 activity_4 は次の子アクティビティ (activity_6) に対して CONTINUE コマンドを発行する 1.1.1.2.3.1.2.1.2.1.3.1 activity_6 は親からの CONTINUE コマンド処理の実行を開始する 1.1.1.2.3.1.2.1.2.1.3.1.1 activity_6 は実行可能かどうか判断し 実行可能であるので NextID として自身の ID を返却する 58
4.6. OB-15 4.6.1. Step2(Objective の状態伝搬 ) コンテンツツリー構造 テストスクリプト概要アクティビティ 2 で習得状態を Passed に設定. 共有学習目標を通じてアクティビティ 4, 5, 6 が Passed になり, アクティビティ 3, 6 の Skip ルールにより, アクティビティ 7 へ移動する 59
シーケンス図 1. 学習者は 次に を選択する 60
1.1. プラットフォームは次画面コマンドの処理を開始する 1.1.1 プラットフォームは現アクティビティ (activity_2) に対して CONTINUE コマンドを発行する 1.1.1.1 activity_2 はアクティビティの終了処理を開始する 1.1.1.1.1 activity_2 はロールアップの処理を開始する 1.1.1.1.1.1 activity_2 はロールアップの前処理を開始する 1.1.1.1.1.2 activity_2 は学習目標 (gobj-ob15) に対して ロールアップの前処理を呼び出す 1.1.1.1.1.2.1 gobj-ob15 は activity_2 に対してロールアップの前処理を呼び出す 1.1.1.1.1.2.2 gobj-ob15 は activity_4 に対してロールアップの前処理を呼び出す 1.1.1.1.1.2.3 gobj-ob15 は activity_5 に対してロールアップの前処理を呼び出す 1.1.1.1.1.2.4 gobj-ob15 は activity_6 に対してロールアップの前処理を呼び出す 1.1.1.1.1.3 activity_2 はロールアップの処理を開始する 1.1.1.1.1.3.1 activity_2 は親アクティビティ (activity_0) に対してロールアップ処理を呼び出す 1.1.1.1.1.3.2 activity_2 は学習目標 (gobj-ob15) のロールアップ処理を呼び出す 1.1.1.1.1.3.2.1 gobj-ob15 は activity_2 のロールアップ処理を呼び出す 1.1.1.1.1.3.2.2 gobj-ob15 は activity_4 のロールアップ処理を呼び出す 1.1.1.1.1.3.2.2.1 activity_4 は親アクティビティ (activity_3) のロールアップ処理を呼び出す 1.1.1.1.1.3.2.3 gobj-ob15 は activity_5 のロールアップの処理を呼び出す 1.1.1.1.1.3.2.3.1 activity_5 は親アクティビティ (activity_3) のロールアップ処理を呼び出す 1.1.1.1.1.3.2.3.1.1 activity_3 は親アクティビティ (activity_0) のロールアップ処理を呼び出す 1.1.1.1.1.3.2.4 gobj-ob15 は activity_6 のロールアップ処理を呼び出す 1.1.1.1.1.3.2.4.1 activity_6 は親アクティビティ (activity_0) のロールアップ処理を呼び出す 1.1.1.1.2 activity_2 はポストコンディションルールを判断する 1.1.1.1.3 activity_2 は親アクティビティ (activity_0) に対して EXITCOND コマンドを発行する 1.1.1.1.3.1 activity_0 は EXITCOND コマンドの実行処理を開始する 1.1.1.1.3.1.1 activity_0 は Exit ルールを判断する 1.1.1.2 activity_2 は親アクティビティ (activity_0) に対して CONTINUE コマンドを発行する 1.1.1.2.1 activity_0 は CONTINUE コマンドの実行処理を開始する 1.1.1.2.1.1. activity_0 は activity_2 の子番号を取得する 1.1.1.2.1.2 activity_0 は取得した子番号 +1 のアクティビティ (activity_3) に対して CONTINUE コマンドを発行する 1.1.1.2.1.2.1 activity_3 は親からの CONTINUE コマンド処理の実行を開始する 1.1.1.2.1.2.1.1 activity_3 は実行可能かどうか判断し skip を返却する 1.1.1.2.1.3 activity_0 はさらに次のアクティビティ (activity_6) に対して CONTINUE コマンドを発行する 1.1.1.2.1.3.1 activity_6 は親からの CONTINUE コマンド処理の実行を開始する 1.1.1.2.1.3.1.1 activity_6 は実行可能かどうか判断し skip を返却する 1.1.1.2.1.4 activity_0 はさらに次のアクティビティ (activity_7) に対して CONTINUE コマンドを発行する 1.1.1.2.1.4.1. activity_7 は CONTINUE コマンド処理の実行を開始する 1.1.1.2.1.4.1.1 activity_7 は実行可能かどうか判断し 実行可能であるので NextID に自身の ID を返却する 61
4.7. T-01b 4.7.1. Step10(Exit Rule) コンテンツツリー構造 テストスクリプト概要アクティビティ 14 で Continue を発行. ロールアップ処理で, アクティビティ 12 の習得度の平均が 0.6 を越えるため, アクティビティ 12 が習得. ポストコンディションルール処理で, アクティビティ 3 の If completed, then exit が評価されるが, このとき, アクティビティ 4, 8 は completed. アクティビティ 12 はアクティビティ 15 を実行していないため, 通常であれば completed にならないが,Required for Completion if not skipped の評価において skip ルールが評価され,If satisfied, then skip が成り立つ. このため, アクティビティ 12 はアクティビティ 3 の If completed の評価に含まれず, アクティビティ 3 の If completed, then exit が成り立つ. アクティビティ 3 にはポストコンディションルールは無いので, アクティビティ 14 で発行された Continue をアクティビティ 3 で実行し, アクティビティ 18 に移動する 62
シーケンス図 1. 学習者は 次に を選択する 1.1. プラットフォームは次画面コマンドの処理を開始する 63
1.1.1 プラットフォームは現アクティビティ (activity_14) に対して CONTINUE コマンドを発行する 1.1.1.1 activity_14 はアクティビティの終了処理を開始する 1.1.1.1.1 activity_14 はロールアップ処理を開始する 1.1.1.1.1.1 activity_14 は自身のロールアップメソッドを呼び出す 1.1.1.1.1.1.1 activity_14 は親アクティビティ (activity_12) のロールアップメソッドを呼び出す 1.1.1.1.1.1.1.1 activity_12 は習得度の計算処理を開始する 1.1.1.1.1.1.1.1.1 activity_12 は習得度の平均を格納する 1.1.1.1.1.1.1.2 activity_12 は習得度をもとにロールアップを行なう 1.1.1.1.1.1.1.3 activity_12 は親アクティビティ (activity_3) のロールアップを行なう 1.1.1.1.2 activity_14 はポストコンディションルールの判断を行なう 1.1.1.1.3 activity_14 は親アクティビティ (activity_12) に対して EXITCOND コマンドの発行を行なう 1.1.1.1.3.1 activity_12 は EXITCOND コマンド処理の実行を開始する 1.1.1.1.3.1.1 activity_12 は Exit ルールを判断する 1.1.1.1.3.2 activity_12 は親アクティビティ (activity_3) に対して EXITCOND コマンドを発行する 1.1.1.1.3.2.1 acitivity_3 は EXITCOND コマンド処理の実行を開始する 1.1.1.1.3.2.1.1. activity_3 は Exit ルールを判断する 1.1.1.1.3.2.1.2. activity_3 はポストコンディションルールを判断する 1.1.1.1.3.2.2 acitivity_3 は親アクティビティ (activity_2) に対して EXITCOND コマンドを発行する 1.1.1.1.3.2.2.1 activity_2 は EXITCOND コマンド処理の実行を開始する 1.1.1.1.3.2.2.1.1 activity_2 は Exit ルールの判断を行なう 1.1.1.1.3.2.2.2 acitivity_2 は親アクティビティ (activity_0) に対して EXITCOND コマンドを発行する 1.1.1.1.3.2.2.2.1 activity_0 は EXITCOND コマンド処理の実行を開始する 1.1.1.1.3.2.2.2.1.1 activity_0 は Exit ルールの判断を行なう 1.1.1.2 activity_14 は親アクティビティ (activity_12) に対して EXITCONTINUE コマンドを発行する 1.1.1.2.1 activity_12 は EXITCONTINUE コマンド処理の実行を開始する 1.1.1.2.2. activity_12 はアクティビティの終了処理を開始する 1.1.1.2.2.1 activity_12 はロールアップ処理を開始する 1.1.1.2.2.1.1 activity_12 は自身のロールアップを行なう 1.1.1.2.2.1.1.1 activity_12 は習得度の計算処理を開始する 1.1.1.2.2.1.1.1.1 activity_12 は習得度の平均を格納する 1.1.1.2.2.1.1.2 activity_12 は習得度をもとにロールアップを行なう 1.1.1.2.2.1.1.3 activity_12 は親アクティビティ (activity_3) のロールアップを行なう 1.1.1.2.3 activity_12 は親アクティビティ (activity_3) に対して EXITCONTINUE コマンドを発行する 1.1.1.2.3.1 activity_3 は EXITCONTINUE コマンド処理の実行を開始する 1.1.1.2.3.2 activity_3 はアクティビティの終了処理を開始する 1.1.1.2.3.2.1 activity_3 はロールアップ処理を開始する 1.1.1.2.3.2.1.1 activity_3 は自身のロールアップ処理を行う 1.1.1.2.3.2.1.1.1 activity_3 は親アクティビティ (activity_2) のロールアップメソッドを呼び出す 1.1.1.2.3.2.1.1.1.1 activity_2 は親アクティビティ (activity_0) のロールアップメソッドを呼び出す 1.1.1.2.3.3 activity_3 は親アクティビティ (activity_2) に対して CONTINUE コマンドを発行する 1.1.1.2.3.3.1 activity_2 は CONTINUE コマンド処理の実行を開始する 64
1.1.1.2.3.3.1.1 activity_2 は実行可能かどうか判断し 可能であるので子アクティビティの実行を開始しようとする 1.1.1.2.3.3.1.2 activity_2 は activity_3 の子番号を取得する 1.1.1.2.3.3.1.3 activity_2 は取得した番号 +1 のアクティビティ (activity_16) に対して CONTINUE コマンドを発行する 1.1.1.2.3.3.1.3.1 activity_16 は親からの CONTINUE コマンド処理の実行を開始する 1.1.1.2.3.3.1.3.1.1 activity_16 は実行可能かどうか判断し 可能であるので子アクティビティの実行を開始しようとする 1.1.1.2.3.3.1.3.1.2 activity_16 は子アクティビティ (activity_17) に対して CONTINUE コマンドを発行する 1.1.1.2.3.3.1.3.1.2.1 activity_17 は親からの CONTINUE コマンド処理の実行を開始する 1.1.1.2.3.3.1.3.1.2.1.1 activity_17 は実行可能かどうか判断し 実行可能であるので子アクティビティの実行を開始しようとする 1.1.1.2.3.3.1.3.1.2.1.2 activity_17 は子アクティビティ (activity_18) に対して CONTINUE コマンドを発行する 1.1.1.2.3.3.1.3.1.2.1.2.1 activity_18 は CONTINUE コマンド処理の実行を開始する 1.1.1.2.3.3.1.3.1.2.1.2.1.1 activity_18 は実行可能かどうか判断し 可能であるので NextID として自身の ID を返却する 65
5. クラス メソッド 本アプリケーションのクラス情報 メソッド情報を記述する クラス概要 66
5.1. 特別なクラス 5.1.1. Base クラス 5.1.1.1. ActivityBase クラス 説明全てのクラスの基底となるクラス 派生クラス ActivityRoot ActivityBlock ActivityLeaf プロパティプロパティ名 属性 説明 $strid protected アクティビティ ID $strtitle protected タイトル $parent protected 親の No $children protected 子の No 配列 $isactive protected アクティブ $issus protected 中断中フラグ $acounter protected アクセス数 $datanode protected データノード メソッド一覧メソッド名 属性 説明 Constructor construct コンストラクタ getid public final $srtid プロパティ ( アクティビティ ID) を返す gettitle public final $strtitle プロパティ ( タイトル ) を返す issuspend public final $issus プロパティ ( 中断中フラグ ) を返す getstatus public ステータスを返す ( このクラスでは NULL を返す ) gettype public abstract [ 抽象メソッド ] addchild public $children プロパティ ( 子の No 配列 ) に指定された No を追加する getchild protected 指定された No の子オブジェクトを返す getchildposition protected 指定された No が 子の No 配列 (children) プロパティの何番目かを返す getparent protected 親オブジェクトを返す startattempt protected [ 抽象メソッド ] abstract endattempt protected [ 抽象メソッド ] abstract save public abstract [ 抽象メソッド ] 5.1.1.1.1 Constructor construct クラスの基本プロパティを設定する num 67
ノードのナンバー (ROOT ノードは 0) node ノード (DOMNode) path アクティビティフォルダへのパス res 再開フラグ ( 再開なら true) objectives 5.1.1.1.2 getid メソッド $srtid プロパティ ( アクティビティ ID) を返す なし $srtid プロパティ ( アクティビティ ID) 5.1.1.1.3 gettitle メソッド $strtitle プロパティ ( タイトル ) を返す なし $strtitle プロパティ ( タイトル ) 5.1.1.1.4 issuspend メソッド $issus プロパティ ( 中断中フラグ ) を返す なし $issus プロパティ ( 中断中フラグ ) 5.1.1.1.5 getstatus メソッド ステータスを返す ( このクラスでは NULL を返す ) str 68
ステータス名 ステータス ( このクラスでは NULL を返す ) 5.1.1.1.6 gettype メソッド [ 抽象メソッド ] なし 5.1.1.1.7 addchild メソッド $children プロパティ ( 子の No 配列 ) に指定された No を追加する num no なし 5.1.1.1.8 getchild メソッド 指定された No の子オブジェクトを返す num No 指定された No の子 activities オブジェクト 5.1.1.1.9 getchildposition メソッド 指定された No が 子の No 配列 (children) プロパティの何番目かを返す tmpid 69
No 指定された No が 子の No 配列 (children) プロパティの何番目か 5.1.1.1.10 getparent メソッド 親オブジェクトを返す 親の No の activities オブジェクト 5.1.1.1.11 startattempt メソッド [ 抽象メソッド ] なし 5.1.1.1.12 endattempt メソッド [ 抽象メソッド ] cmd コマンド 5.1.1.1.13 save メソッド [ 抽象メソッド ] path アクティビティフォルダへのパス 70
5.1.2. Activity クラス 5.1.2.1. ActivityRoot クラス 説明アクティビティコンテンツのツリー構造の " 根 " に対応づけるアクティビティクラスの基底となるクラス 継承クラス ActivityBase --ActivityRoot 派生クラス SimpleRoot プロパティ プロパティ名属性説明 $cmdtablefromchild protected 子から伝搬されるコマンドテーブル配列 メソッド一覧メソッド名 属性 説明 Constructor construct コンストラクタ gettype public クラスのタイプを返す ( このクラスでは ROOT を返す ) callfromchildseq public 子から親へ伝搬されるシーケンシング処理コマンドを実行する callfromchildcmd public 子から親へ伝搬されるコマンドを実行する 5.1.2.1.1 Constructor construct 継承クラス (ActivityBase) のコンストラクタを呼び出すクラスのプロパティを設定する num ノードのナンバー (ROOT ノードは 0) node ノード (DOMNode) path アクティビティフォルダへのパス res 再開フラグ ( 再開なら true) objectives 5.1.2.1.2 gettype クラスのタイプを返す ( このクラスでは ROOT を返す ) 71
なし オブジェクトのタイプ ( このクラスでは ROOT を返す ) 5.1.2.1.3 callfromchildseq メソッド 子から親へ伝搬されるシーケンシング処理コマンドを実行する id アクティビティ ID cmd コマンド val コマンド引数 Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.1.2.1.4 callfromchildcmd メソッド 子から親へ伝搬されるコマンドを実行する id アクティビティ ID cmd コマンド val コマンド引数 Array ( 72
) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 73
5.1.2.2. ActivityBlock クラス 説明アクティビティコンテンツのツリー構造の " 節 " に対応づけるアクティビティクラスの基底となるクラス 継承クラス ActivityBase -- SimpleBlock 派生クラス SimpleBlock プロパティプロパティ名 属性 説明 $cmdtablefromchild protected 子から伝搬されるコマンドテーブル配列 $cmdtablefromparent protected 親から伝搬されるコマンドテーブル配列 メソッド一覧メソッド名 属性 説明 Constructor construct コンストラクタ gettype public クラスのタイプを返す ( このクラスでは BLOCK を返す ) callfromchildseq public 子から親へ伝搬されるシーケンシング処理コマンドを実行する callfromchildcmd public 子から親へ伝搬されるコマンドを実行する callfromparentseq public 親から子へ伝搬されるシーケンシング処理コマンドを実行する callfromparentcmd public 親から子へ伝搬されるコマンドを実行する 5.1.2.2.1 Constructor construct 継承クラス (ActivityBase) のコンストラクタを呼び出すクラスのプロパティを設定する num ノードのナンバー (ROOT ノードは 0) node ノード (DOMNode) path アクティビティフォルダへのパス res 再開フラグ ( 再開なら true) objectives 5.1.2.2.2 gettype クラスのタイプを返す ( このクラスでは BLOCK を返す ) 74
なし オブジェクトのタイプ ( このクラスでは BLOCK を返す ) 5.1.2.2.3 callfromchildseq メソッド 子から親へ伝搬されるシーケンシング処理コマンドを実行する id アクティビティ ID cmd コマンド val コマンド引数 Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.1.2.2.4 callfromchildcmd メソッド 子から親へ伝搬されるコマンドを実行する id アクティビティ ID cmd コマンド val コマンド引数 Array ( 75
) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.1.2.2.5 callfromparentseq メソッド 親から子へ伝搬されるシーケンシング処理コマンドを実行する cmd コマンド val コマンド引数 Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.1.2.2.6 callfromparentcmd メソッド 親から子へ伝搬されるコマンドを実行する cmd コマンド val コマンド引数 Array ( [Result] [Continue] [NextID] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID 76
) [Value] [Command] => 結果値 => 実行したコマンド 77
5.1.2.3. ActivityLeaf クラス 説明アクティビティコンテンツのツリー構造の " 葉 " に対応づけるアクティビティクラスの基底となるクラス 継承クラス ActivityBase -- SimpleLeaf 派生クラス SimpleLeaf プロパティプロパティ名 属性 説明 $strurl protected URL $cmdtablefromself protected 自分が実行できるコマンドテーブル配列 $cmdtablefromancestor protected 祖先が実行できるコマンドテーブル配列 $cmdtablefromparent protected 親から伝搬されるコマンドテーブル配列 メソッド一覧メソッド名 属性 説明 Constructor construct コンストラクタ gettype public クラスのタイプを返す ( このクラスでは LEAF を返す ) geturl public URL(strURL) プロパティを返す gethtml public 定義されたフレーム用 HTML を返す callfromparentseq public 親から子へ伝搬されるシーケンシング処理コマンドを実行する callfromparentcmd public 親から子へ伝搬されるコマンドを実行する callfrommain public プラットフォームから伝搬されるコマンドを実行する 5.1.2.3.1 Constructor construct 継承クラス (ActivityBase) のコンストラクタを呼び出すクラスのプロパティを設定する num ノードのナンバー (ROOT ノードは 0) node ノード (DOMNode) path アクティビティフォルダへのパス res 再開フラグ ( 再開なら true) objectives 78
5.1.2.3.2 gettype クラスのタイプを返す ( このクラスでは LEAF を返す ) なし クラスのタイプ ( このクラスでは BLOCK を返す ) 5.1.2.3.3 geturl URL(strURL) プロパティを返す なし URL(strURL) プロパティ 5.1.2.3.4 gethtml 定義されたフレーム用 HTML を返す なし 定義された HTML 5.1.2.3.5 callfromparentseq メソッド 親から子へ伝搬されるシーケンシング処理コマンドを実行するコマンドが親から伝搬されるシーケンシング処理コマンドの場合 コマンドを実行する cmd コマンド val コマンド引数 79
Array ( [Result] [Continue] [NextID] [Value] [Command] ) => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.1.2.3.6 callfromparentcmd メソッド 親から子へ伝搬されるコマンドを実行するメソッドコマンドが親から伝搬されるコマンドの場合 コマンドを実行する cmd コマンド val コマンド引数 Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.1.2.3.7 callfrommain メソッド プラットフォームからの伝搬されるコマンドを実行するメソッドコマンドが自分で実行できる場合 コマンドを実行するコマンドが祖先しか実行できない場合 親へコマンドを伝搬する cmd コマンド val コマンド引数 rtm RTM メッセージ 80
Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 81
5.1.3. Simple クラス 5.1.3.1. SimpleRoot クラス 説明アクティビティコンテンツのツリー構造の " 根 " に対応づけるアクティビティクラスの基底となるクラス 継承クラス ActivityBase --ActivityRoot --SimpleRoot 派生クラス SCORMRoot EventRoot プロパティなし メソッド一覧メソッド名 属性 説明 Constructor construct コンストラクタ setdata private ( このクラスでは使用していない ) settable private 子から伝搬されるコマンドテーブルを定義する startattempt protected アクティビティの開始処理を行う endattempt protected アクティビティの終了処理を行う save public ( このクラスでは使用していない ) exeinit public アクティビティの起動時の処理を行う exeindex public INDEX コマンドを実行する exerollup public ROLLUP コマンドを実行する exestart public コマンドを実行するときに実行する execontinue public CONTINUE コマンドを実行する exeprevious public PREVIOUS コマンドを実行する exechoice public CHOICE コマンドを実行する exesuspend public SUSPEND コマンドを実行する exeexitall public EXITALL コマンドを実行する exeretry public EXERETRY コマンドを実行する exeretryall public RETRYALL コマンドを実行する exeexitretry public EXITRETRY コマンドを実行する checkprecondition public コマンド実行前に条件をチェックする コマンドハンドラ一覧 子アクティビティからのコマンドのハンドラメソッド コマンド名 ハンドラメソッド INIT exeinit INDEX exeindex ROLLUP exerollup CONTINUE execontinue 82
PREVIOUS CHOICE SUSPEND EXITALL RETRY RETRYALL EXITRETRY exeprevious exechoice exesuspend exeexitall exeretry exeretryall exeexitretry 5.1.3.1.1 Constructor construct 継承クラス (ActivityRoot) のコンストラクタを呼び出すクラスのプロパティを設定する num ノードのナンバー (ROOT ノードは 0) node ノード path アクティビティフォルダへのパス res 再開フラグ ( 再開なら true) objectives 5.1.3.1.2 setdata ( このクラスでは使用していない ) なし なし 5.1.3.1.3 settable 子から伝搬されるコマンドテーブルを定義する なし なし 5.1.3.1.4 startattempt 83
アクティビティの開始処理を行う なし なし 5.1.3.1.5 endattempt アクティビティの終了処理を行う cmd コマンド 成功フラグ (TRUE / FALSE) 5.1.3.1.6 save ( このクラスでは使用していない ) path 保存先フォルダ なし 5.1.3.1.7 exeinit アクティビティの起動時の処理を行う id アクティビティ ID val コマンド引数 84
Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.1.3.1.8 exeindex INDEX コマンドを実行する id アクティビティ ID val コマンド引数 Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.1.3.1.9 exerollup RollUp コマンドを実行する id アクティビティ ID val コマンド引数 Array ( [Result] => 正常フラグ 85
) [Continue] [NextID] [Value] [Command] => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.1.3.1.10 exestart コマンドを実行するときに実行する Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.1.3.1.11 execontinue CONTINUE コマンドを実行する id アクティビティ ID val コマンド引数 Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 86
5.1.3.1.12 exeprevious PREVIOUS コマンドを実行する id アクティビティ ID val コマンド引数 Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.1.3.1.13 exechoice CHOICE コマンドを実行する id アクティビティ ID val コマンド引数 Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.1.3.1.14 exesuspend SUSPEND コマンドを実行する 87
id アクティビティ ID val コマンド引数 Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.1.3.1.15 exeexitall EXITALL コマンドを実行する id アクティビティ ID val コマンド引数 Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.1.3.1.16 exeretry RETRY コマンドを実行する id 88
アクティビティ ID val コマンド引数 Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.1.3.1.17 exeretryall RETRYALL コマンドを実行する id アクティビティ ID val コマンド引数 Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.1.3.1.18 exeexitretry EXITRETRY コマンドを実行する id アクティビティ ID val コマンド引数 89
Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.1.3.1.19 checkprecondition コマンド実行前に条件をチェックする ( このクラスでは使用していない ) cmd コマンド isdescending '' ( このクラスでは使用していない ) 90
5.1.3.2. SimpleBlock クラス 説明アクティビティコンテンツのツリー構造の " 節 " に対応づけるアクティビティクラスの基底となるクラス 継承関係 ActivityBase --ActivityBlock --SimpleBlock 派生クラス SCORMBlock EventBlock プロパティなし メソッド一覧メソッド名 属性 説明 Constructor construct コンストラクタ setdata private ( このクラスでは使用していない ) settable private 子から伝搬されるコマンドテーブル 親から伝搬されるコマンドテーブルを定義する startattempt protected アクティビティの開始処理を行う endattempt protected アクティビティの終了処理を行う save public ( このクラスでは使用していない ) exeinit public アクティビティの起動時の処理を行う exerollup public ROLLUP コマンドを実行する exestart public コマンドを実行するときに実行する execontinue public CONTINUE コマンドを実行する exeprevious public PREVIOUS コマンドを実行する exechoice public CHOICE コマンドを実行する exesuspend public SUSPEND コマンドを実行する exeexitall public EXITALL コマンドを実行する exeretry public RETRY コマンドを実行する exeexitprev public EXITPREV コマンドを実行する exeexitcont public EXITPCONT コマンドを実行する exeexitretry public EXITRETRY コマンドを実行する exeindexp public ( 親から伝搬される )INDEX コマンドを実行する execontinuep public ( 親から伝搬される )CONTINUE コマンドを実行する exepreviousp public ( 親から伝搬される )PREVIOUS コマンドを実行する exechoicep public ( 親から伝搬される )CHOICE コマンドを実行する checkprecondition public コマンド実行前に条件をチェックする コマンドハンドラ一覧 子アクティビティからのコマンドのハンドラメソッド 91
コマンド名 INIT ROLLUP CONTINUE PREVIOUS CHOICE SUSPEND EXITALL RETRY EXITPREVIOUS EXITCONTINUE EXITRETRY ハンドラメソッド exeinit exerollup execontinue exeprevious exechoice exesuspend exeexitall exeretry exeexitprevious exeexitcontinue exeexitretry 親アクティビティからのコマンドのハンドラメソッド コマンド名 ハンドラメソッド INDEX exeindexp CONTINUE execontinuep PREVIOUS exepreviousp CHOICE exechoicep 5.1.3.2.1 Constructor construct 継承クラス (ActivityBlock) のコンストラクタを呼び出すクラスの基本プロパティを設定する num ノードのナンバー (ROOT ノードは 0) node ノード (DOMNode) path アクティビティフォルダへのパス res 再開フラグ ( 再開なら true) objectives 5.1.3.2.2 setdata メソッド ( このクラスでは使用していない ) なし なし 92
5.1.3.2.3 settable メソッド 子から伝搬されるコマンドテーブル 親から伝搬されるコマンドテーブルを定義する なし なし 5.1.3.2.4 startattempt メソッド アクティビティの開始処理を行う なし なし 5.1.3.2.5 endattempt メソッド アクティビティの終了処理を行う cmd コマンド 成功フラグ (TRUE / FALSE) 5.1.3.2.6 save メソッド ( このクラスでは使用していない ) path 保存先フォルダ なし 93
5.1.3.2.7 exeinit メソッド アクティビティの起動時の処理を行う id アクティビティ ID val コマンド引数 Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.1.3.2.8 exerollup メソッド ROLLUP コマンドを実行する id アクティビティ ID val コマンド引数 Array ( [Result] [Continue] [Command] ) => TRUE => TRUE => ROLLUP 5.1.3.2.9 exestart メソッド コマンドを実行するときに実行する 94
Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.1.3.2.10 execontinue メソッド CONTINUE コマンドを実行する id アクティビティ ID val コマンド引数 Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.1.3.2.11 exeprevious メソッド PREVIOUS コマンドを実行する id アクティビティ ID val コマンド引数 95
Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.1.3.2.12 exechoice メソッド CHOICE コマンドを実行する id アクティビティ ID val コマンド引数 Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.1.3.2.13 exesuspend メソッド SUSPEND コマンドを実行する id アクティビティ ID val コマンド引数 96
Array ( [Result] [Continue] [NextID] [Value] [Command] ) => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.1.3.2.14 exeexitall メソッド EXITALL コマンドを実行する id アクティビティ ID val コマンド引数 Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.1.3.2.15 exeretry メソッド RETRY コマンドを実行する id アクティビティ ID val コマンド引数 Array ( [Result] [Continue] => 正常フラグ => 続行フラグ 97
) [NextID] [Value] [Command] => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.1.3.2.16 exeexitprev メソッド EXITPREV コマンドを実行する id アクティビティ ID val コマンド引数 Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.1.3.2.17 exeexitcont メソッド EXITCONT コマンドを実行する id アクティビティ ID val コマンド引数 Array ( [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 98
) 5.1.3.2.18 exeexitretry メソッド EXITRETRY コマンドを実行する id アクティビティ ID val コマンド引数 Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.1.3.2.19 exeindexp メソッド ( 親から伝搬される )INDEX コマンドを実行する val コマンド引数 Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.1.3.2.20 execontinuep メソッド 99
( 親から伝搬される )CONTINUE コマンドを実行する val コマンド引数 Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.1.3.2.21 exepreviousp メソッド ( 親から伝搬される )PREVIOUS コマンドを実行する val コマンド引数 Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.1.3.2.22 exechoicep メソッド ( 親から伝搬される )CHOICE コマンドを実行する val コマンド引数 100
Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.1.3.2.23 checkprecondition メソッド コマンド実行前に条件をチェックする ( このクラスでは使用していない ) cmd コマンド isdescending '' ( このクラスでは使用していない ) 101
5.1.3.3. SimpleLeaf クラス 説明アクティビティコンテンツのツリー構造の " 葉 " に対応づけるアクティビティクラスの基底となるクラス 継承クラス ActivityBase --ActivityLeaf --SimpleLeaf 派生クラス SCORMSco SCORMAsset EventLeaf プロパティなし メソッド一覧メソッド名 属性 説明 Constructor construct コンストラクタ setdata private URL(strUrl) プロパティにノードの href 属性を設定する settable private 自分が実行できるコマンドテーブル 親から伝搬されるコマンドテーブルを定義する startattempt protected アクティビティの開始処理を行う endattempt protected アクティビティの終了処理を行う save public ( このクラスでは使用していない ) exeready public アクティビティの起動開始処理を行う exeinit public アクティビティの起動時の処理を行う exerollup public ROLLUP コマンドを実行する exesuspend public SUSPEND コマンドを実行する exeexitall public EXITALL コマンドを実行する exeretry public RETRY コマンドを実行する exeindexp public ( 親から伝搬される )INDEX コマンドを実行する execontinuep public ( 親から伝搬される )CONTINUE コマンドを実行する exepreviousp public ( 親から伝搬される )PREVIOUS コマンドを実行する exechoicep public ( 親から伝搬される )CHOICE コマンドを実行する checkprecondition public コマンド実行前に条件をチェックする コマンドハンドラ一覧 自身からのコマンドのハンドラメソッド 102
コマンド名 READY INIT ROLLUP SUSPEND EXITALL RETRY ハンドラメソッド exeready exeinit exerollup exesuspend exeexitall exeretry 親アクティビティからのコマンドのハンドラメソッド コマンド名 ハンドラメソッド INDEX exeindexp CONTINUE execontinuep PREVIOUS exepreviousp CHOICE exechoicep 5.1.3.3.1 Constructor construct 継承クラス (ActivityLeaf) のコンストラクタを呼び出すクラスのプロパティを設定する num ノードのナンバー (ROOT ノードは 0) node ノード path アクティビティフォルダへのパス res 再開フラグ ( 再開なら true) objectives 5.1.3.3.2 settable メソッド 自分が実行できるコマンドテーブル 親から伝搬されるコマンドテーブルを定義する なし なし 5.1.3.3.3 startattempt メソッド アクティビティの開始処理を行う 103
なし なし 5.1.3.3.4 endattempt メソッド アクティビティの終了処理を行う cmd コマンド 成功フラグ (TRUE / FALSE) 5.1.3.3.5 exeready メソッド アクティビティの起動開始処理を行う cmd コマンド 成功フラグ (TRUE / FALSE) 5.1.3.3.6 exeinit メソッド アクティビティの起動時の処理を行う val コマンド引数 rtm RTM メッセージ 104
Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.1.3.3.7 exerollup メソッド RollUp コマンドを実行する val コマンド引数 rtm RTM メッセージ Array ( [Result] => TRUE [Continue] => TRUE ) 5.1.3.3.8 exesuspend メソッド SUSPEND コマンドを実行する val コマンド引数 rtm RTM メッセージ Array ( 105
) [Result] => TRUE [Continue] => TRUE [Command]=> SUSPEND 5.1.3.3.9 exeexitall メソッド EXITALL コマンドを実行する val コマンド引数 rtm RTM メッセージ Array ( [Result] => TRUE [Continue] => TRUE [Command]=> EXITALL ) 5.1.3.3.10 exeretry メソッド RETRY コマンドを実行する val コマンド引数 rtm RTM メッセージ Array ( [Result] => TRUE [Continue] => FALSE ) [NextID] => アクティビティ ID(strID) プロパティ [Command] => RETRY 106
5.1.3.3.11 exeindexp メソッド ( 親から伝搬される )INDEX コマンドを実行する val コマンド引数 Array ( [Result] => TRUE [Continue] => TRUE ) [Value] => 結果値 5.1.3.3.12 execontinuep メソッド ( 親から伝搬される )CONTINUE コマンドを実行する val コマンド引数 Array ( [Result] ) => TRUE [Continue] => 続行フラグ ( 候補アクティビティが見つかった場合 FALSE) [NextID] => ( 候補アクティビティが見つかった場合 ) 候補アクティビティ ID 5.1.3.3.13 exepreviousp メソッド ( 親から伝搬される )PREVIOUS コマンドを実行する val コマンド引数 107
Array ( [Result] ) => TRUE [Continue] => 続行フラグ ( 候補アクティビティが見つかった場合 FALSE) [NextID] => ( 候補アクティビティが見つかった場合 ) 候補アクティビティ ID 5.1.3.3.14 exechoicep メソッド ( 親から伝搬される )CHOICE コマンドを実行する val コマンド引数 Array ( [Result] ) => TRUE [Continue] => 続行フラグ ( 候補アクティビティが見つかった場合 FALSE) [NextID] => ( 候補アクティビティが見つかった場合 ) アクティビティ ID(strID) プロパティ 5.1.3.3.15 chickprecondition メソッド コマンド実行前に条件をチェックする ( このクラスでは使用していない ) val コマンド引数 isdescending '' ( このクラスでは使用していない ) 108
5.1.3.4. SimpleSequencing クラス 説明シーケンシング処理クラス プロパティプロパティ名 属性 説明 $ssid protected $ObjectiveProgressStatus protected Objective Progress Status 情報 $ObjectiveSatisfiedStatus protected Objective Satisfied Status 情報 $ObjectiveMeasureStatus protected Objective Measure Status 情報 $ObjectiveNormalizedMeasure protected Objective Normalized Measure 情報 $issetobj protected $AttemptProgressStatus protected Attempt Progress Status 情報 $AttemptCompletionAmount protected Attempt Completion Amount 情報 $AttemptCompletionStatus protected Attempt Completion Status 情報 $isnew protected $AttemptCount protected $controlmode protected ControlMode 情報 $preconditionrule protected Pre Condition Rule 情報 $postconditionrule protected Post Condition Rule 情報 $exitconditionrule protected Exit Rule 情報 $limitconditions protected Limit Conditions 情報 $rolluprules protected Rollup Rules 情報 $primaryobjective protected Primary Objective 情報 $localobjective protected Objective 情報 $localobjcount protected $WriteObjList protected $deliverycontrols protected Delivery Controls 情報 $constrainedchoiceconsiderations protected Constrained Choice Considerations 情報 $rollupconsiderations protected Rollup Considerations 情報 メソッド一覧メソッド名 属性 説明 Constructor construct getpassingscore $primaryobjective プロパティ (Primary Objective 情報 ) の minnormalizedmeasure 属性の値を返す setcurrentstatus $isnew プロパティに指定した真理値を設定する getcurrentstatus $isnew プロパティの値を返す addattemptcount addattemptcountr getprimaryobjectiveid $primaryobjective プロパティ (Primary Objective 情報 ) の objectiveid 属性の値を返す getlocalobjectivecount $localobjcount プロパティを返す searchobjnum 指定された objectives のアクティビティ ID が $localobjective プロパティ (Objective 情報 ) 配列の何番目 かを返す getlocalobjectivedate setlocalobjectivedate 109
searchobjmap searchobjwritemap getsuccessstatus getlocalsuccessstatus getsuccessstatusforrr setsuccessstatusfromrtm setsuccessstatus setlocalsuccessstatus getscaledscore $ObjectiveNormalizedMeasure プロパティ (Objective Normalized Measure 情報 ) を返す getlocalscaledscore $localobjective プロパティ (Objective 情報 ) を返す getscaledscoreforrr $ObjectiveNormalizedMeasure プロパティ (Objective Normalized Measure 情報 ) を返す setscaledscore $ObjectiveNormalizedMeasure プロパティ (Objective Normalized Measure 情報 ) を設定する setlocalscaledscore $localobjective プロパティ (Objective 情報 ) を設定する getcompletionstatus cmi.completion_status 情報を返す getlocalcompletionstatus getcompletionstatusforrr setcompletionstatus setlocalcompletionstatus setstatusfin getcontrolmodeparam $ControlMode プロパティ (Control Mode 情報 ) の指定した属性 の値を返す getdeliverycontrolsparam $deliverycontrols プロパティ (Delivery Controls 情報 ) の 指定した属性の値を返す getrollupobjectivemeasureweight $rolluprules プロパティ (Rollup Rules 情報 ) の objectivemeasureweight 属性の値を返す getrolluprulesparam $rolluprules プロパティ (Rollup Rules 情報 ) の指定した属性 の値を返す getrollupconsiderations $rollupconsiderations プ ロ パ テ ィ (Rollup Considerations 情報 ) の指定した属性の値を返す checkft 真理値を T / F に変換する exeobjectiverollupusingmeasure exeprimaryobjectivestatus getrolluprules $rolluprules プロパティ (Rollup Rules 情報 ) の rolluprule 属性配列の action 属性の値を返す checkpreconditionskip checkprecondition Pre Condition Rule をチェックする checkexitcondition EXIT Rule をチェックする checkpostcondition Post Condition Rule をチェックする checkcondition checkrollupset exerollup ROLLUP コマンドを実行する 5.1.3.4.1 Constructor construct クラスのプロパティを設定する 110
aid アクティビティ ID node ノード ss_status successstatus ms_status scaledscore cm_status CompletionsStatus cnt アクセス数 Objs 5.1.3.4.2 getpassingscore メソッド $primaryobjective プロパティ (Primary Objective 情報 ) の minnormalizedmeasure 属性の値を返す なし $primaryobjective プロパティ (Primary Objective 情報 ) の minnormalizedmeasure 属性の値 5.1.3.4.3 setcurrentstatus メソッド $isnew プロパティに指定した真理値を設定する flag 真理値 なし 5.1.3.4.4 getcurrentstatus メソッド $isnew プロパティの値を返す なし $isnew プロパティの値 111
5.1.3.4.5 addattemptcount メソッド なし なし 5.1.3.4.6 addattemptcountr メソッド なし なし 5.1.3.4.7 getprimaryobjectiveid メソッド $primaryobjective プロパティ (Primary Objective 情報 ) の objectiveid 属性の値を返す なし $primaryobjective プロパティ (Primary Objective 情報 ) の objectiveid 属性の値 5.1.3.4.8 getlocalobjectivecount メソッド $localobjcount プロパティを返す なし $localobjcount プロパティ 5.1.3.4.9 searchobjnum メソッド 指定された objectives のアクティビティ ID が $localobjective プロパティ (Objective 情報 ) 配列の何番目かを返す 112
str objectives のアクティビティ ID 指定された No が $localobjective プロパティ (Objective 情報 ) 配列の何番目か 5.1.3.4.10 getlocalobjectivedate メソッド num localobjective の No Objs isreal フラグ Objective 情報を文字列で返す 5.1.3.4.11 setlocalobjectivedate メソッド objary Objs isreal フラグ なし 5.1.3.4.12 searchobjmap メソッド mapary $primaryobjective プロパティ (primary Objective 情報 ) の mapinfo 情報 str 属性 113
$primaryobjective プロパティ (primary Objective 情報 ) の mapinfo 情報の指定した属性の targetobjectiveid 5.1.3.4.13 searchobjwritemap メソッド mapary $primaryobjective プロパティ (primary Objective 情報 ) の mapinfo 情報 str 属性 $primaryobjective プロパティ (primary Objective 情報 ) の mapinfo 情報の指定した属性の配列 5.1.3.4.14 getsuccessstatus メソッド Objs isreal フラグ RollupCondition 5.1.3.4.15 getlocalsuccessstatus メソッド num Objective 情報の No Objs isreal フラグ RollupCondition 5.1.3.4.16 getsuccessstatusforrr メソッド 114
Objs isreal フラグ RollupCondition 5.1.3.4.17 setsuccessstatusfromrtm メソッド str RollupCondition Objs isreal フラグ なし 5.1.3.4.18 setsuccessstatus メソッド str RollupCondition Objs isreal フラグ なし 5.1.3.4.19 setlocalsuccessstatus メソッド num Objective 情報の No 115
str RollupCondition Objs isreal なし フラグ 5.1.3.4.20 getscaledscore メソッド $ObjectiveNormalizedMeasure プロパティ (Objective Normalized Measure 情報 ) を返す Objs isreal フラグ $ObjectiveNormalizedMeasure プロパティ (Objective Normalized Measure 情報 ) 5.1.3.4.21 getlocalscaledscore メソッド $localobjective プロパティ (Objective 情報 ) を返す num Objectives 情報の No Objs isreal フラグ $localobjective プロパティ (Objective 情報 ) 5.1.3.4.22 getscaledscoreforrr メソッド $ObjectiveNormalizedMeasure プロパティ (Objective Normalized Measure 情報 ) を返す Objs iscurrent カレントフラグ 116
$ObjectiveNormalizedMeasure プロパティ (Objective Normalized Measure 情報 ) 5.1.3.4.23 setscaledscore メソッド $ObjectiveNormalizedMeasure プロパティ (Objective Normalized Measure 情報 ) を設定する str コマンド Objs isreal フラグ なし 5.1.3.4.24 setlocalscaledscore メソッド $localobjective プロパティ (Objective 情報 ) を設定する num localobjective の No str コマンド Objs isreal フラグ なし 5.1.3.4.25 getcompletionstatus メソッド cmi.completion_status 情報を返す なし cmi.completion_status 情報 117
5.1.3.4.26 getlocalcompletionstatus メソッド num Objective 情報の No cmi.completion_status 情報 5.1.3.4.27 getcompletionstatusforrr メソッド iscurrent カレントフラグ cmi.completion_status 情報 5.1.3.4.28 setcompletionstatus メソッド str cmi.completion_status 情報 なし 5.1.3.4.29 setlocalcompletionstatus メソッド num objectives 情報配列の No str cmi.completion_status 情報 なし 118
5.1.3.4.30 setstatusfin メソッド Objs なし 5.1.3.4.31 getcontrolmodeparam メソッド $ControlMode プロパティ (Control Mode 情報 ) の指定した属性の値を返す str 属性 $ControlMode プロパティ (Control Mode 情報 ) の指定した属性の値 5.1.3.4.32 getdeliverycontrolsparam メソッド $deliverycontrols プロパティ (Delivery Controls 情報 ) の指定した属性の値を返す str 属性 $deliverycontrols プロパティ (Delivery Controls 情報 ) の指定した属性の値 5.1.3.4.33 getrollupobjectivemeasureweight メソッド $rolluprules プロパティ (Rollup Rules 情報 ) の objectivemeasureweight 属性の値を返す なし $rolluprules プロパティ (Rollup Rules 情報 ) の objectivemeasureweight 属性の値 5.1.3.4.34 getrolluprulesparam メソッド $rolluprules プロパティ (Rollup Rules 情報 ) の指定した属性の値を返す 119
str 属性 $rolluprules プロパティ (Rollup Rules 情報 ) の指定した属性の値 5.1.3.4.35 getrollupconsiderations メソッド $rollupconsiderations プロパティ (Rollup Considerations 情報 ) の指定した属性の値を返す str 属性 $rollupconsiderations プロパティ (Rollup Considerations 情報 ) の指定した属性の値 5.1.3.4.36 checkft メソッド 真理値を T / F に変換する flg フラグ T / F 5.1.3.4.37 exeobjectiverollupusingmeasure メソッド isactive アクティブフラグ UsingMeasure フラグ 5.1.3.4.38 exeprimaryobjectivestatus メソッド 120
なし 5.1.3.4.39 getrolluprules メソッド $rolluprules プロパティ (Rollup Rules 情報 ) の rolluprule 属性配列の action 属性の値を返す str 属性 $rolluprules プロパティ (Rollup Rules 情報 ) の rolluprule 属性配列の action 属性の値 5.1.3.4.40 checkpreconditionskip メソッド Pre Condition Rule をチェックする action を返す ( 無い場合は '') 5.1.3.4.41 checkprecondition メソッド Post Condition Rule をチェックする action を返す ( 無い場合は '') 5.1.3.4.42 checkexitcondition メソッド EXIT Rule をチェックする 121
action を返す 5.1.3.4.43 checkpostcondition メソッド Post Condition Rule をチェックする action を返す 5.1.3.4.44 checkcondition メソッド 条件をチェックする tmparray 0 / 1 / -1 5.1.3.4.45 checkrollupset メソッド なし 5.1.3.4.46 exerollup メソッド ROLLUP コマンドを実行する 122
なし 123
5.1.4. Objective クラス 5.1.4.1. ObjectiveBase クラス 説明アクティビティコンテンツの objective 構造のクラス 派生クラス SCORMObjective プロパティ プロパティ名 属性 説明 $strid protected メソッド一覧メソッド名 属性 説明 Constructor construct コンストラクタ getid public final アクティビティ ID(srtID) プロパティを返す gettype public final クラスのタイプを返す ( このクラスでは Objective を返す ) 5.1.4.1.1 Constructor construct クラスの基本プロパティを設定する id アクティビティ ID path アクティビティフォルダへのパス res 再開フラグ ( 再開なら true) sgo 5.1.4.1.2 getid メソッド アクティビティ ID(srtID) プロパティを返す なし アクティビティ ID(srtID) プロパティ 5.1.4.1.3 gettype メソッド クラスのタイプを返す ( このクラスでは Objective を返す ) 124
なし クラスのタイプを ( このクラスでは Objective を返す ) 125
5.2. 実装クラス 5.2.1. SCORM クラス 5.2.1.1. SCORMRoot クラス 説明アクティビティコンテンツのツリー構造の " 葉 " に対応づける SCORM アクティビティクラス 継承クラス ActivityBase --ActivityRoot --SimpleRoot --SCORMRoot プロパティプロパティ名 属性 説明 $seqparam private SimpleSequencing( シーケンシング処理 ) オブジェクト $isrollup private ロールアップ対象フラグ メソッド一覧メソッド名 属性 説明 Constructor construct コンストラクタ addtable 子から伝搬されるコマンドテーブルを定義する setdata ( このクラスでは使用していない ) getstatus public ステータスを返す save アクティビティの状態を ini ファイルに保存する startattempt protected アクティビティの開始処理を行う getcommandlist public クラスで実行可能なコマンドテーブルを取得する exeinitall public exeindex INDEX コマンドを実行する exemeasure_rollup_process exerollup_using_rules exerollup ROLLUP コマンドを実行する exerollupfromobj exeexitcondition checkprecondition コマンド実行前に条件をチェックする exerollupstart ROLLUP コマンドの開始処理を行う prerollupfromobj (objectives から呼び出される )ROLLUP の前処理を行う prerollup ROLLUP の前処理を行う endattempt アクティビティの終了処理を行う exeretryall RETRYALL コマンドを実行する getdeliverycontrolstracked $deliverycontrols プロパティ (Delivery Controls 情報 ) の tracked 属性の値を返す コマンドハンドラ一覧 子アクティビティからのコマンドのハンドラメソッド 126
コマンド名 SimpleRoot から継承する一覧 INIT ハンドラメソッド exeinit INDEX exeindex (SCORMRoot でオーバーライド ) ROLLUP exerollup (SCORMRoot でオーバーライド ) CONTINUE PREVIOUS CHOICE SUSPEND EXITALL RETRY RETRYALL EXITRETRY SCORMRoot で定義される一覧 EXITCOND PREROLLUP INITS INITAB INITPB execontinue exeprevious exechoice exesuspend exeexitall exeretry exeretryall exeexitretry exeexitcondition prerollup exeinitall exeinitall exeinitall 5.2.1.1.1 Constructor construct 継承クラス (SimpleRoot) のコンストラクタを呼び出すクラスのプロパティを設定する SimpleSequencing( シーケンシング処理 ) オブジェクトを生成する num ノードのナンバー (ROOT ノードは 0) node ノード path アクティビティフォルダへのパス res 再開フラグ ( 再開なら true) objectives 5.2.1.1.2 addtable メソッド 子から伝搬されるコマンドテーブルを定義する なし なし 127
5.2.1.1.3 setdata メソッド ( このクラスでは使用していない ) node ノード なし 5.2.1.1.4 getstatus メソッド ステータスを返す str ステータス名 ステータス 5.2.1.1.5 save メソッド アクティビティの状態を ini ファイルに保存する path 保存先フォルダ 成功フラグ (TRUE / FALSE) 5.2.1.1.6 startattempt メソッド アクティビティの開始処理を行う なし なし 128
5.2.1.1.7 getcommandlist メソッド クラスで実行可能なコマンドテーブルを取得する val コマンド引数 クラスで実行可能なコマンドテーブル 5.2.1.1.8 exeinitall メソッド EXEINITALL コマンドを実行する id アクティビティ ID val コマンド引数 Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.2.1.1.9 exeindex メソッド INDEX コマンドを実行する id アクティビティ ID val コマンド引数 Array ( 129
) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.2.1.1.10 exemeasure_rollup_process メソッド idcurreneto なし カレントフラグ 5.2.1.1.11 exerollup_using_rules メソッド str 属性 iscurrento usecurrentattemptobjectiveinfo フラグ iscurrenta usecurrentattemptprogressinfo フラグ Using_Rules フラグ 5.2.1.1.12 exerollup メソッド ROLLUP コマンドを実行する id アクティビティ ID val 130
コマンド引数 なし 5.2.1.1.13 exerollupfromobj メソッド なし 5.2.1.1.14 exeexitcondition メソッド id アクティビティ ID val コマンド引数 Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.2.1.1.15 checkprecondition メソッド コマンド実行前に条件をチェックする 131
cmd コマンド isdescending 前提条件文字列 5.2.1.1.16 exerollupstart メソッド ROLLUP コマンドの開始処理を行う Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.2.1.1.17 prerollupfromobj メソッド (objectives から呼び出される )ROLLUP の前処理を行う なし 5.2.1.1.18 prerollup メソッド ROLLUP の前処理を行う 132
id アクティビティ ID val コマンド引数 Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.2.1.1.19 endattempt メソッド アクティビティの終了処理を行う cmd コマンド Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.2.1.1.20 exeretryall メソッド RETRYALL コマンドを実行する id アクティビティ ID val コマンド引数 133
Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.2.1.1.21 getdeliverycontrolstracked メソッド $deliverycontrols プロパティ (Delivery Controls 情報 ) の tracked 属性の値を返す なし $deliverycontrols プロパティ (Delivery Controls 情報 ) の tracked 属性の値 134
5.2.1.2. SCORMBlock クラス 説明アクティビティコンテンツのツリー構造の " 節 " に対応づける SCORM アクティビティクラス 継承クラス ActivityBase --ActivityBlock --SimpleBlock --SCORMBlock プロパティプロパティ名 属性 説明 $seqparam private SimpleSequencing( シーケンシング処理 ) オブジェクト $isrollup private ロールアップ対象フラグ メソッド一覧メソッド名 属性 説明 Constructor construct コンストラクタ addtable 子から伝搬されるコマンドテーブルを定義する setdata ( このクラスでは使用していない ) getstatus public ステータスを返す getstatusforrr public ステータスを返す Save アクティビティの状態を ini ファイルに保存する startattempt protected アクティビティの開始処理を行う rstart getcommandlist public クラスで実行可能なコマンドテーブルを取得する exeinitfroms public exeinitfromab public exeinitfrompb public exeinitcurrent exeindexp ( 親から伝搬される )INDEX コマンドを実行する exepreviousp public ( 親から伝搬される )PREVIOUS コマンドを実行する exemeasure_rollup_proc ess exerollup_using_rules Rollup Rules に基づく処理を行う exerollup ROLLUP コマンドを実行する exerollupfromobj exeexitcondition checkprecondition コマンド実行前に条件をチェックする exerollupstart ROLLUP コマンドの開始処理を行う prerollupfromobj (objectives から呼び出される )ROLLUP の前処理を行う prerollup ROLLUP の前処理を行う getrollupset $isrollup プロパティ ( ロールアップ対象フラグ ) を返す endattempt アクティビティの終了処理を行う getdeliverycontrolstra cked $deliverycontrols プロパティ (Delivery Controls 情報 ) の tracked 属性の値を返す 135
getrollupobjectivemeas ureweight getprimaryobjectivemea sureevaluateweight checkchildforrollup checkstatusforrollup SimpleSequencing( シーケンシング処理 ) オブジェクトの $rolluprules プロパティ (Rollup Rules 情報 ) の objectivemeasureweight 属性の値を返す子の ROLLUP をチェックする コマンドハンドラ一覧 子アクティビティからのコマンドのハンドラメソッド コマンド名 ハンドラメソッド SimpleBlock から継承する一覧 INIT exeinit ROLLUP exerollup (SCORMBlock でオーバーライド ) CONTINUE execontinue PREVIOUS exeprevious CHOICE exechoice SUSPEND exesuspend EXITALL exeexitall RETRY exeretry EXITPREVIOUS exeexitprev EXITCONTINUE exeexitcont EXITRETRY exeexitretry SCORMBlock で定義される一覧 EXITCOND exeexitcondition PREROLLUP prerollup INITS exeinitfroms INITAB exeinitfromab INITPB exeinitfrompb 親アクティビティからのコマンドのハンドラメソッド コマンド名 ハンドラメソッド SimpleBlock から継承する一覧 INDEX exeindexp(scormblock でオーバーライド ) CONTINUE execontinuep PREVIOUS exepreviousp(scormblock でオーバーライド ) CHOICE exechoicep SCORMBlock で定義される一覧 INITC exeinitcurrent 5.2.1.2.1 Constructor construct 継承クラス (SimpleBlock) のコンストラクタを呼び出すクラスのプロパティを設定する SimpleSequencing( シーケンシング処理 ) オブジェクトを生成する num 136
ノードのナンバー (ROOT ノードは 0) node ノード path アクティビティフォルダへのパス res 再開フラグ ( 再開なら true) objectives 5.2.1.2.2 addtable メソッド 子から伝搬されるコマンドテーブル 親から伝搬されるコマンドテーブルを定義する なし なし 5.2.1.2.3 setdata メソッド ( このクラスでは使用していない ) node ノード なし 5.2.1.2.4 getstatus メソッド ステータスを返す str ステータス名 ステータス 5.2.1.2.5 getstatusforrr メソッド ステータスを返す 137
str ステータス名 iscurrent カレントフラグ ステータス 5.2.1.2.6 save メソッド アクティビティの状態を ini ファイルに保存する path 保存先フォルダ 成功フラグ (TRUE / FALSE) 5.2.1.2.7 startattempt メソッド アクティビティの開始処理を行う なし なし 5.2.1.2.8 rstart メソッド なし なし 5.2.1.2.9 getcommandlist メソッド クラスで実行可能なコマンドテーブルを取得する 138
val コマンド引数 クラスで実行可能なコマンドテーブル 5.2.1.2.10 exeinitfroms メソッド id アクティビティ ID val コマンド引数 Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.2.1.2.11 exeinitfromab メソッド id アクティビティ ID val コマンド引数 Array ( [Result] [Continue] [NextID] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID 139
) [Value] [Command] => 結果値 => 実行したコマンド 5.2.1.2.12 exeinitfrompb メソッド id アクティビティ ID val コマンド引数 Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.2.1.2.13 exeinitcurrent メソッド val コマンド引数 Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 140
5.2.1.2.14 exeindexp メソッド ( 親から伝搬される )INDEX コマンドを実行する val コマンド引数 Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.2.1.2.15 exepreviousp メソッド ( 親から伝搬される )PREVIOUS コマンドを実行する val コマンド引数 Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.2.1.2.16 exemeasure_rollup_process メソッド 141
iscurrento usecurrentattemptobjectiveinfo フラグ なし 5.2.1.2.17 exerollup_using_rules メソッド Rollup Rules に基づく処理を行う str $rolluprules プロパティ (Rollup Rules 情報 ) の rolluprule 属性 iscurrento usecurrentattemptobjectiveinfo フラグ iscurrenta usecurrentattemptprogressinfo フラグ ROllup Rules に基づく処理を行ったかどうかのフラグ 5.2.1.2.18 exerollup メソッド ROLLUP コマンドを実行する id アクティビティ ID val コマンド引数 なし 5.2.1.2.19 exerollupfromobj メソッド 142
なし 5.2.1.2.20 exeexitcondition メソッド id アクティビティ ID val コマンド引数 Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.2.1.2.21 checkprecondition メソッド コマンド実行前に条件をチェックする cmd コマンド isdescending 前提条件文字列 143
5.2.1.2.22 exerollupstart メソッド ROLLUP コマンドの開始処理を行う Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.2.1.2.23 prerollupfromobj メソッド (objectives から呼び出される )ROLLUP の前処理を行う なし 5.2.1.2.24 prerollup メソッド ROLLUP の前処理を行う id アクティビティ ID val コマンド引数 Array ( [Result] => 正常フラグ 144
) [Continue] [NextID] [Value] [Command] => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.2.1.2.25 getrollupset メソッド $isrollup プロパティ ( ロールアップ対象フラグ ) を返す なし $isrollup プロパティ ( ロールアップ対象フラグ ) 5.2.1.2.26 endattempt メソッド アクティビティの終了処理を行う cmd コマンド Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.2.1.2.27 getdeliverycontrolstracked メソッド $deliverycontrols プロパティ (Delivery Controls 情報 ) の tracked 属性の値を返す なし $deliverycontrols プロパティ (Delivery Controls 情報 ) の tracked 属性の値 145
5.2.1.2.28 getrollupobjectivemeasureweight メソッド SimpleSequencing( シーケンシング処理 ) オブジェクトの $rolluprules プロパティ (Rollup Rules 情報 ) の objectivemeasureweight 属性の値を返す なし SimpleSequencing( シーケンシング処理 ) オブジェクトの $rolluprules プロパティ (Rollup Rules 情報 ) の objectivemeasureweight 属性の値 5.2.1.2.29 getprimaryobjectivemeasureevaluateweight メソッド Objs iscurrent カレントフラグ $Objective Normalized Measure プロパティ (Objective Normalized Measure 情報 ) $rolluprules プロパティ (Rollup Rules 情報 ) の objectivemeasureweight 属性の値 5.2.1.2.30 checkchildforrollup メソッド 子の ROLLUP をチェックする str RollupCondition ROLLUP 可能フラグ 5.2.1.2.31 checkstatusforrollup メソッド Objs condary RollupCondition 配列 146
condc conditioncombination 情報 iscurrento usecurrentattemptobjectiveinfo フラグ iscurrenta usecurrentattemptprogressinfo フラグ ステータス (1 / 0 / -1) 147
5.2.1.3. SCORMSco クラス 説明アクティビティコンテンツのツリー構造の " 葉 " に対応づける SCORM アクティビティクラス 継承クラス ActivityBase --ActivityLeaf --SimpleLeaf --SCORMSco プロパティプロパティ名 属性 説明 $cmdtablefrommain protected $seqparam private SimpleSequencing( シーケンシング処理 ) オブジェクト $logpath private $lessonlocation private $suspenddata private $datafromlms private $completionthreshold private completion_threshold 情報 $progressmeasure private cmi.progress_measure 情報 $pscore private Passing Score $isrollup private ロールアップ対象フラグ メソッド一覧メソッド名 属性 説明 Constructor construct コンストラクタ addtable 子から伝搬されるコマンドテーブルを定義する getstatus ステータスを返す getstatusforrr ステータスを返す Save アクティビティの状態を ini ファイルに保存する gethtml 定義されたフレーム用 HTML を返す exerollupstart ROLLUP コマンドの開始処理を行う exerollup ROLLUP コマンドを実行する exerollupfromobj prerollupfromobj (objectives から呼び出される )ROLLUP の前処理を行う getrollupset $isrollup プロパティ ( ロールアップ対象フラグ ) を返す endattempt アクティビティの終了処理を行う startattempt アクティビティの開始処理を行う rstart exeinitrtm exeinitcurrent exeindexp ( 親から伝搬される )INDEX コマンドを実行する exefinrtm checkexitcondition checkprecondition コマンド実行前に条件をチェックする changesuccessstatustos S cmi.success_status 情報の変更処理を行う 148
changesuccessstatustor TM getdeliverycontrolstra cked getrollupobjectivemeas ureweight getprimaryobjectivemea sureevaluateweight checkchildforrollup checkstatusforrollup cmi.success_status 情報の変更処理を行う $deliverycontrols プロパティ (Delivery Controls 情報 ) の tracked 属性の値を返す子の ROLLUP をチェックする コマンドハンドラ一覧 自身からのコマンドのハンドラメソッドコマンド名 SimpleLeaf から継承する一覧 READY INIT ハンドラメソッド exeready exeinit ROLLUP exerollup(scormsco でオーバーライド ) SUSPEND EXITALL RETRY SCORMSco で定義される一覧 INITRTM FINRTM exesuspend exeexitall exeretry exeinitrtm exefinrtm 親アクティビティからのコマンドのハンドラメソッド コマンド名 ハンドラメソッド SimpleLeaf から継承する一覧 INDEX exeindexp(scormsco でオーバーライド ) CONTINUE execontinuep PREVIOUS exepreviousp CHOICE exechoice SCORMSco で定義される一覧 INITC exeinitcurrent 5.2.1.3.1 Constructor construct 継承クラス (SimpleLeaf) のコンストラクタを呼び出すクラスのプロパティを設定する SimpleSequencing( シーケンシング処理 ) オブジェクトを生成する num ノードのナンバー (ROOT ノードは 0) node ノード path アクティビティフォルダへのパス 149
res 再開フラグ ( 再開なら true) objectives 5.2.1.3.2 addtable メソッド 自分が実行できるコマンドテーブル 親から伝搬されるコマンドテーブルを定義する なし なし 5.2.1.3.3 getstatus メソッド ステータスを返す str ステータス名 ステータス 5.2.1.3.4 getstatusforrr メソッド ステータスを返す str ステータス名 iscurrent カレントフラグ ステータス 5.2.1.3.5 save メソッド アクティビティの状態を ini ファイルに保存する 150
path 保存先フォルダ 成功フラグ (TRUE / FALSE) 5.2.1.3.6 gethtml メソッド 定義されたフレーム用 HTML を返す なし 定義された HTML 5.2.1.3.7 exerollupstart メソッド なし 5.2.1.3.8 exerollup メソッド ROLLUP コマンドを実行する id アクティビティ ID val コマンド引数 Array ( [Result] [Continue] [NextID] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID 151
) [Value] [Command] => 結果値 => 実行したコマンド 5.2.1.3.9 exerollupfromobj メソッド なし 5.2.1.3.10 prerollupfromobj メソッド (objectives から呼び出される )ROLLUP の前処理を行う なし 5.2.1.3.11 getrollupset メソッド $isrollup プロパティ ( ロールアップ対象フラグ ) を返す なし $isrollup プロパティ ( ロールアップ対象フラグ ) 5.2.1.3.12 endattempt メソッド アクティビティの終了処理を行う cmd コマンド 152
Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.2.1.3.13 startattempt メソッド アクティビティの開始処理を行う なし なし 5.2.1.3.14 rstart メソッド なし Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.2.1.3.15 exeinitrtm メソッド アクティビティの初期処理を行うアクティビティの起動時にプラットフォームより呼ばれる val 153
コマンド引数 RTM RTM メッセージ Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.2.1.3.16 exeinitcurrent メソッド val コマンド引数 Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.2.1.3.17 exeindexp メソッド ( 親から伝搬される )INDEX コマンドを実行する val コマンド引数 154
Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.2.1.3.18 exefinrtm メソッド アクティビティの終了処理を行うアクティビティの終了時にプラットフォームより呼ばれる val コマンド引数 RTM RTM メッセージ Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.2.1.3.19 checkexitcondition メソッド Array ( [Result] => 正常フラグ 155
) [Continue] [NextID] [Value] [Command] => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.2.1.3.20 checkprecondition メソッド コマンド実行前に条件をチェックする cmd コマンド isdescending 前提条件文字列 5.2.1.3.21 changesuccessstatustoss メソッド cmi.success_status 情報の変更処理を行う str cmi.success_status 情報 変更された cmi.success_status 情報 5.2.1.3.22 changesuccessstatustortm メソッド cmi.success_status 情報の変更処理を行う str cmi.success_status 情報 変更された cmi.success_status 情報 5.2.1.3.23 getdeliverycontrolstracked メソッド $deliverycontrols プロパティ (Delivery Controls 情報 ) の tracked 属性の値を返す 156
なし $deliverycontrols プロパティ (Delivery Controls 情報 ) の tracked 属性の値 5.2.1.3.24 getrollupobjectivemeasureweight メソッド なし $Objective Normalized Measure プロパティ (Objective Normalized Measure 情報 ) $rolluprules プロパティ (Rollup Rules 情報 ) の objectivemeasureweight 属性の値 5.2.1.3.25 getprimaryobjectivemeasureevaluateweight メソッド Objs iscurrent カレントフラグ $Objective Normalized Measure プロパティ (Objective Normalized Measure 情報 ) $rolluprules プロパティ (Rollup Rules 情報 ) の objectivemeasureweight 属性の値 5.2.1.3.26 checkchildforrollup メソッド 子の ROLLUP をチェックする str RollupCondition ROLLUP 可能フラグ 5.2.1.3.27 checkstatusforrollup メソッド 157
Objs condary RollupCondition 配列 condc conditioncombination 情報 iscurrento usecurrentattemptobjectiveinfo フラグ iscurrenta usecurrentattemptprogressinfo フラグ ステータス (1 / 0 / -1) 158
5.2.1.4. SCORMAsset クラス 説明アクティビティコンテンツのツリー構造の " 葉 " に対応づける SCORM アクティビティクラス 継承クラス ActivityBase --ActivityLeaf --SimpleLeaf --SCORMAsset プロパティプロパティ名 属性 説明 $cmdtablefrommain protected $seqparam private SimpleSequencing( シーケンシング処理 ) オブジェクト $isrollup private ロールアップ対象フラグ $successstatus private cmi.success_status 情報 $scaledscore private cmi.score.scaled 情報 $passingscore private cmi.scaled_passing_score 情報 $completionstatus private cmi.completion_status 情報 $progressmeasure private cmi.progress_measure 情報 $completionthreshold private completion_threshold 情報 メソッド一覧メソッド名 属性 説明 Constructor construct コンストラクタ addtable 子から伝搬されるコマンドテーブルを定義する save アクティビティの状態を ini ファイルに保存する endattempt アクティビティの終了処理を行う exeinit INIT コマンドを実行する exeindexp ( 親から伝搬される )INDEX コマンドを実行する exeexitcondition EXITCOND コマンドを実行する checkprecondition コマンド実行前に条件をチェックする changesuccessstatus getsuccessstatus $successstatus プロパティ (cmi.success_status 情報 ) を返す setsuccessstatus $successstatus プロパティ (cmi.success_status 情報 ) を設定する getscaledscore $scaledscore プロパティ (cmi.score.scaled 情報 ) を返す setscaledscore $scaledscore プロパティ (cmi.score.scaled 情報 ) を設定する getcompletionstatus $completionstatus プロパティ (cmi.completion_status 情報 ) を返す setcompletionstatus $completionstatus プロパティ (cmi.completion_status 情報 ) を設定する getprogressmeasure $progressmeasure プロパティ (cmi.progress_measure 情報 ) を返す setprogressmeasure $progressmeasure プロパティ (cmi.progress_measure 情報 ) を設 定する 159
コマンドハンドラ一覧 自身からのコマンドのハンドラメソッドコマンド名 SimpleLeaf から継承する一覧 READY ハンドラメソッド exeready INIT exeinit(scormasset でオーバーライド ) ROLLUP SUSPEND EXITALL RETRY SCORMAsset で定義される一覧 EXITCOND exerollup exesuspend exeexitall exeretry exeexitcondition 5.2.1.4.1 Constructor construct 継承クラス (SimpleBlock) のコンストラクタを呼び出すクラスのプロパティを設定するアクティビティのログファイルを読み込み 情報を取得する SimpleSequencing( シーケンシング処理 ) オブジェクトを生成する num ノードのナンバー (ROOT ノードは 0) node ノード path アクティビティフォルダへのパス res 再開フラグ ( 再開なら true) objectives 5.2.1.4.2 addtable メソッド 自分が実行できるコマンドテーブルを定義する なし なし 5.2.1.4.3 save メソッド アクティビティの状態を ini ファイルに保存する 160
path 保存先フォルダ ファイル保存成功フラグ 5.2.1.4.4 endattempt メソッド アクティビティの終了処理を行う cmd コマンド Array ( [Command] => '' [Value] => '' ) 5.2.1.4.5 exeinit メソッド INIT コマンドを実行する val コマンド引数 rtm RTM メッセージ Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 161
5.2.1.4.6 exeindexp メソッド ( 親から伝搬される )INDEX コマンドを実行する val コマンド引数 Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.2.1.4.7 exeexitcondition メソッド EXITCOND コマンドを実行する val コマンド引数 rtm RTM メッセージ Array ( ) [Result] [Continue] [NextID] [Value] [Command] => 正常フラグ => 続行フラグ => 次候補アクティビティ ID => 結果値 => 実行したコマンド 5.2.1.4.8 checkprecondition メソッド コマンド実行前に条件をチェックする 162
cmd コマンド isdescending 前提条件にヒットした場合前提条件文字列それ以外 '' 5.2.1.4.9 changesuccessstatus メソッド cmi.success_status 情報の変更処理を行う str cmi.success_status 情報 変更された cmi.success_status 情報 5.2.1.4.10 getsuccessstatus メソッド $successstatus プロパティ (cmi.success_status 情報 ) を返す なし $successstatus プロパティ (cmi.success_status 情報 ) 5.2.1.4.11 setsuccessstatus メソッド $successstatus プロパティ (cmi.success_status 情報 ) を設定する str $successstatus プロパティ (cmi.success_status 情報 ) に設定する値 なし 163
5.2.1.4.12 getscaledscore メソッド $scaledscore プロパティ (cmi.score.scaled 情報 ) を返す なし $scaledscore プロパティ (cmi.score.scaled 情報 ) 5.2.1.4.13 setscaledscore メソッド $scaledscore プロパティ (cmi.score.scaled 情報 ) を設定する str $scaledscore プロパティ (cmi.score.scaled 情報 ) に設定する値 なし 5.2.1.4.14 getcompletionstatus メソッド $completionstatus プロパティ (cmi.completion_status 情報 ) を返す なし $completionstatus プロパティ (cmi.completion_status 情報 ) 5.2.1.4.15 setcompletionstatus メソッド $completionstatus プロパティ (cmi.completion_status 情報 ) を設定する str $completionstatus プロパティ (cmi.completion_status 情報 ) の値 なし 5.2.1.4.16 getprogressmeasure メソッド $progressmeasure プロパティ (cmi.progress_measure 情報 ) を返す 164
なし $progressmeasure プロパティ (cmi.progress_measure 情報 ) 5.2.1.4.17 setprogressmeasure メソッド $progressmeasure プロパティ (cmi.progress_measure 情報 ) を設定する str $progressmeasure プロパティ (cmi.progress_measure 情報 ) の値 なし 165
5.2.1.5. SCORMObjective クラス 説明アクティビティコンテンツのツリー構造の " 葉 " に対応づける SCORM アクティビティクラス 継承クラス ObjectiveBase --SCORMObjective プロパティプロパティ名 属性 説明 $ObjectiveProgressStatus private Objective Progress Status 情報 $ObjectiveSatisfiedStatus private Objective Satisfied Status 情報 $ObjectiveMeasureStatus private Objective Measure Status 情報 $ObjectiveNormalizedMeasure private $ActReadList private Objective Normalized Measure 情報 $ActReadSatisfiedStatus private Read Satisfied Status 情報 $ActReadNormalizedMeasure private Read Normalized Measure 情報 $logfile private ログファイルへのパス $isrollup private ロールアップ対象フラグ メソッド一覧メソッド名 属性 説明 Constructor construct コンストラクタ save アクティビティの状態を ini ファイルに保存する addreadactivity 指定されたタイプのプロパティにアクティビティ ID を追加する getsuccessstatus RollupCondition を返す getscaledscore $ObjectiveMeasureStatus プロパティを返す setsuccessstatus RollupCondition を元にプロパティを設定する setscaledscore searchact 指定されたアクティビティ ID の を返す checkrollupset exerollup ROLLUP コマンドを実行する 5.2.1.5.1 Constructor construct コンストラクタ id アクティビティ ID path アクティビティフォルダへのパス res 再開フラグ ( 再開なら true) objectives 166
5.2.1.5.2 save メソッド アクティビティの状態を ini ファイルに保存する path アクティビティフォルダへのパス ファイル保存成功フラグ 5.2.1.5.3 addreadactivity メソッド 指定されたタイプのプロパティにアクティビティ ID を追加する aid アクティビティ ID stype タイプ なし 5.2.1.5.4 getsuccessstatus メソッド RollupCondition を返す なし RollupCondition 5.2.1.5.5 getscaledscore メソッド $ObjectiveMeasureStatus プロパティを返す なし $ObjectiveMeasureStatus プロパティ 5.2.1.5.6 setsuccessstatus メソッド 167
RollupCondition を元にプロパティを設定する str RollupCondition なし 5.2.1.5.7 setscaledscore メソッド num なし 5.2.1.5.8 searchact メソッド 指定されたアクティビティ ID の を返す tmpid アクティビティ ID 5.2.1.5.9 checkrollupset メソッド なし 168
5.2.1.5.10 exerollup メソッド ROLLUP コマンドを実行する なし 169