2009-06-03 3 views
4

은 내가 최대 길이 4096 개 문자 과 ASCII 문자 세트 CMIString4096 (by the docs)CMIString4096이란 무엇이며 어떻게 데이터를 추출 할 수 있습니까?

CMIString4096을 어도비 발표자 그것은 suspend_data이라고 7에서 돌아가는 및 유형 인이 문자열을 가지고있다.

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가 여기에서하는 것처럼 보입니다. 내 생각 엔 그들이 찾은 인코딩되지 않은 상태로 데이터를 압축 한 다음 URL 인코딩을 적용하여 모든 결과 문자를 LMS로 보낼 수 있도록했습니다.

일시 중지 데이터의 시작 부분에있는 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

어째서 Adobe Presenter에서 어떤 이유로 사용합니까? –

1

찾을 수

13 cmi.suspend_data

읽기/쓰기

SCO에이 지속 을 좋아한다고 어떤 정보를 저장하는 위치의 역할을하도록 의도까지 후속 세션.

here. 따라서 Martin이 쓴 SCORM은 데이터 유형을 정의하며 인코딩 또는 내용은 cmi.suspend_data이 아닙니다. 아마 this 인코딩을 결정하는 데 도움이 될 수 있습니다.