This repository has been archived by the owner on Jun 29, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
152 lines (144 loc) · 6.76 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>Tracking in Adapt</title>
<link rel="stylesheet" href="css/reveal.css">
<link rel="stylesheet" href="css/theme/simple.css">
<!-- Theme used for syntax highlighting of code -->
<link rel="stylesheet" href="lib/css/zenburn.css">
<!-- Printing and PDF exports -->
<script>
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? 'css/print/pdf.css' : 'css/print/paper.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
</script>
</head>
<body>
<div class="reveal">
<div class="slides">
<section>
<h1>Tracking in Adapt</h2>
<p><small>Matt Leathes<br>Senior Technical Consultant, Kineo Ltd</small></p>
</section>
<section>
<h2>A quick bit about me...</h2>
<figure>
<img src="moloko.png"/>
<figcaption>Github/Gitter: moloko<br>Twitter: @kineotechnical</figcaption>
</figure>
<aside class="notes">Worked in web development since 2000<br>e-elearning since late 90s<br>Kineo since 2008<br>partly involved in Adapt since inception</aside>
</section>
<section>
<h2>Tracking in Adapt</h2>
<p class="fragment">Currently provided by the 'spoor' extension</p>
<figure class="fragment">
<img src="spoor.png"/>
<figcaption>In case you were wondering about the name...!</figcaption>
</figure>
<p class="fragment">With support from the 'bookmarking' extension.</p>
<p class="fragment">Currently supports SCORM 1.2<br><small>(with unofficial support for SCORM 2004).</small></p>
<aside class="notes">Explain that will do quick overview of SCORM followed by how it all works in Adapt</aside>
</section>
<section>
<h2>SCORM™ - a quick overview</h2>
<p class="fragment"><b><u>S</u></b>harable <b><u>C</u></b>ontent <b><u>O</u></b>bject <b><u>R</u></b>eference <b><u>M</u></b>odel</p>
<h3 class="fragment">Great, but what is it?</h3>
<p class="fragment">It's a standard that defines:</p>
<p class="fragment">The <b><u>C</u></b>ontent <b><u>A</u></b>ggregation <b><u>M</u></b>odel<br><small class="fragment">(How to package your content)</small></p>
<p class="fragment">The <b><u>R</u></b>un-<b><u>T</u></b>ime <b><u>E</u></b>nvironment<br><small class="fragment">(How to get your content and the LMS to talk to each other)</small></p>
<aside class="notes">Or; I quickly summarise more than 320 pages of documentation and terminology for you...</aside>
</section>
<section>
<h2>SCORM - packaging</h2>
<p class="fragment">It's all about the manifest file AKA <code>imsmanifest.xml</code></p>
<aside class="notes">Where it's found<br>Key parts<br>New format</aside>
</section>
<section>
<h2>SCORM - packaging</h2>
<p class="fragment">The <b><u>P</u></b>ackage <b><u>I</u></b>nterchange <b><u>F</u></b>ile<br></p>
<aside class="notes">zipping SCOs correctly</aside>
</section>
<section>
<h2>SCORM - the API</h2>
<h3 class="fragment">What is it? Where do you find it?</h3>
<aside class="notes">talk through find API function, demo on SCORM Cloud. API in SC is at window.opener.parent.API</aside>
</section>
<section>
<h2>SCORM - API functions</h2>
<p class="fragment">The API consists of the following functions:</p>
<ul>
<li class="fragment"><code>LMSInitialize("")</code></li>
<li class="fragment"><code>LMSGetValue("name")</code></li>
<li class="fragment"><code>LMSSetValue("name", "value")</code></li>
<li class="fragment"><code>LMSCommit("")</code></li>
<li class="fragment"><code>LMSFinish("")</code></li>
<li class="fragment"><code>LMSGetLastError()</code></li>
<li class="fragment"><code>LMSGetErrorString("errorcode")</code></li>
<li class="fragment"><code>LMSGetDiagnostic ("errorcode")</code></li>
</ul>
<aside class="notes">demo on SCORM Cloud, maybe examples of trying to get cmi.core.student_name and set cmi.comments?<br>explain that most calls return "true" or "false" to indicate success or failure</aside>
</section>
<section>
<h2>SCORM - Common data fields</h2>
<ul>
<li class="fragment"><code>cmi.core.lesson_status</code></li>
<li class="fragment"><code>cmi.suspend_data</code></li>
<li class="fragment"><code>cmi.core.lesson_location</code></li>
<li class="fragment"><code>cmi.core.score.raw</code></li>
<li class="fragment"><code>cmi.core.session_time</code></li>
<li class="fragment"><code>cmi.interactions</code></li>
</ul>
<aside class="notes">don't forget to mention small amount of storage for suspend_data in 1.2</aside>
</section>
<section>
<h2>SCORM in Adapt: The Basics</h2>
<p class="fragment">Files in the spoor extension</p>
<p class="fragment">The main settings - <code>config.json</code></p>
<p class="fragment">Bookmarking - <code>course.json</code></p>
<p class="fragment">Using tracking ids</code></p>
<p class="fragment">Mandatory vs. optional content</code></p>
<p class="fragment">Multilanguage</code></p>
<aside class="notes">grunt tracking-reset/insert</aside>
</section>
<section>
<h2>SCORM in Adapt: In more depth</h2>
<p class="fragment">Advanded settings in <code>config.json</code></p>
<p class="fragment">The 'test harness'</p>
<p class="fragment">Debugging</p>
<aside class="notes">Using <code>API.LMSClear()</code> to reset cookie tracking</aside>
</section>
<section>
<h2>The Future: xAPI</h2>
<p class="fragment">What is xAPI?</code></p>
<p class="fragment">What challenges does it present?</p>
<p class="fragment">Our plans for xAPI</p>
<aside class="notes"></aside>
</section>
<section>
<h1>THE END</h1>
<small>Any questions?</small>
<p class="fragment">Presentation is available at:<br> <a href="https://github.com/moloko/AdaptMeetupSCORMPresentation">https://github.com/moloko/AdaptMeetupSCORMPresentation</a>
</section>
</div>
</div>
<script src="lib/js/head.min.js"></script>
<script src="js/reveal.js"></script>
<script>
// More info https://github.com/hakimel/reveal.js#configuration
Reveal.initialize({
history: true,
// More info https://github.com/hakimel/reveal.js#dependencies
dependencies: [
{ src: 'plugin/markdown/marked.js' },
{ src: 'plugin/markdown/markdown.js' },
{ src: 'plugin/notes/notes.js', async: true },
{ src: 'plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }
]
});
</script>
</body>
</html>