2009-06-03 6 views
4

私はCMIString4096 (by the docs)私はそれがsuspend_dataと呼ばれていますバックのAdobe Presenterの7から取得し、この文字列を持っているタイプのものでありCMIString4096とは何ですか?また、その中のデータをどのように抽出できますか?

CMIString4096 4096文字の最大長 とASCII文字のセット。

これは文字列である:

aG1111111000000000BB001EC%2EacC%7E%24GS%2AayjHm110BKCBBB0B0EBAB1B1ED%2EicC%7E%24GS%2AlfkHm110BKDBCB0B0EBBB0B0EBAB1B1EE%2EwcC%7E%24GS%2ACBlHm100BKDB2BCBCDB1BABBDB0BBBADF%2E7cC%7E%24GS%2A4GmHm110BKBB0Ebl %C3%A1rRbl%C3%A1r%3Bgr%C3%A6nn%3Brau%C3%B0urB

いくつかのURLエンコード文字でbase64のように見えます。私はurldecode()の文字列を、最後のいくつかの文字はいくつかのデータに似ていますが、それはutf8で、私はそれをutf8_decodeとこれを参照してください。

aG1111111000000000BB001EC.acC~$GS*ayjHm110BKCBBB0B0EBAB1B1ED.icC~$GS* 
lfkHm110BKDBCB0B0EBBB0B0EBAB1B1EE.wcC~$GS*CBlHm100BKDB2BCBCDB1BABBDB0BBBADF. 
7cC~$GS*4GmHm110BKBB0EblárRblár;grænn;rauðurB 

私はいくつかのデータに近づいていますが、それはまだ混乱しているように見えます。私はbase64_decode()それは私はいくつかのバイナリ混乱を得るが、私はそれが何であるか分からない。

誰もがこのデータが何であり、どのように私はそれからいくつかの意味を得ることができます知っていますか?私はPHP btwを使用しているので、その中の関数だけが適用可能です。

答えて

4

cmi.suspend_dataフィールドに格納されたデータは、SCO(コンテンツ)が現在の状態を維持するために使用できるデータのバケットに過ぎません。データに意味的な意味や定義された構造はありません。多くの場合、データの意味は推測できますが、逆もありますが、Adobe Presenterで作成されたコンテンツの場合はそうではありません。

suspend_dataフィールドは、4096 ASCII文字に制限されています。一部のSCOでは、現在の状態を完全に維持するのに十分なストレージを提供していません。多くの場合、この苦境に直面しているコンテンツ開発者は、制限されたサイズに圧縮するために、状態データに圧縮アルゴリズムを適用します。それはAdobe Presenterがここでやっているようです。私の推測では、あなたが見つけたコード化されていない状態にデータを圧縮し、その後、すべての結果の文字がLMSに送信するのに安全であることを保証するためにURLエンコーディングを適用しました。

サスペンドデータの先頭にある1と0の文字列は意味があります。これは、コースのどのスライドが以前学習者によって見られたかに対応する可能性があります。これを確認するには、SCORM TestTrack(無料でscorm.comで入手可能)のようなツールを使用してコースを実行し、生成されたデバッグログを使用して、ユーザーがコースを進行する際にサスペンドデータがどのように変化するかを監視すると便利です。

SCORMには、コースの現在のステータスに関する特定の意味を持つ他のデータモデル要素がいくつか用意されています。ここにはlist of all available data model elementsがあります。 SCORM TestTrackのデバッグログには、Adobe Presentedコンテンツで使用されているデータモデルエレメントのうちのどれが表示されます。

+0

恐ろしい答え、ありがとう:) –

1

私は、SCORMがsuspend_dataフィールドに含まれているものやそのフォーマットを定義していないと思います。 これは完全にコンテンツ/レッスン(あなたの場合はAdobe Presenter)までですが、テキストのみで4096文字に制限されています。

このフィールドは、次回の起動時にコンテンツに戻されるべきあらゆる種類の状態を格納するためにコンテンツによって使用されます。

+0

Adob​​e Presenterが何らかの理由で使用するのはちょうど迷惑なことでしょうか? –

1

実測

13 cmi.suspend_data

リード/ライト

SCOが持続する したいと に任意の情報を格納するための場所として機能することを意図するものまでその後のセッション。

here。だからMartinと書かれたSCORMは、データ型を定義し、cmi.suspend_dataのエンコーディングまたはコンテンツではありません。おそらくthisがエンコーディングの決定に役立つかもしれません。

関連する問題