Skip to content

Commit df1e4f1

Browse files
committed
updated
1 parent 8e0c5b2 commit df1e4f1

File tree

1,071 files changed

+193829
-2260
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,071 files changed

+193829
-2260
lines changed
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
<?xml version="1.0"?>
2+
<!-- filename=adlcp_rootv1p2.xsd -->
3+
<!-- Conforms to w3c http://www.w3.org/TR/xmlschema-1/ 2000-10-24-->
4+
5+
<xsd:schema xmlns="http://www.adlnet.org/xsd/adlcp_rootv1p2"
6+
targetNamespace="http://www.adlnet.org/xsd/adlcp_rootv1p2"
7+
xmlns:xml="http://www.w3.org/XML/1998/namespace"
8+
xmlns:imscp="http://www.imsproject.org/xsd/imscp_rootv1p1p2"
9+
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
10+
elementFormDefault="unqualified"
11+
version="ADL Version 1.2">
12+
13+
<xsd:import namespace="http://www.imsproject.org/xsd/imscp_rootv1p1p2"
14+
schemaLocation="imscp_rootv1p1p2.xsd"/>
15+
16+
<xsd:element name="location" type="locationType"/>
17+
<xsd:element name="prerequisites" type="prerequisitesType"/>
18+
<xsd:element name="maxtimeallowed" type="maxtimeallowedType"/>
19+
<xsd:element name="timelimitaction" type="timelimitactionType"/>
20+
<xsd:element name="datafromlms" type="datafromlmsType"/>
21+
<xsd:element name="masteryscore" type="masteryscoreType"/>
22+
23+
24+
<xsd:element name="schema" type="newSchemaType"/>
25+
<xsd:simpleType name="newSchemaType">
26+
<xsd:restriction base="imscp:schemaType">
27+
<xsd:enumeration value="ADL SCORM"/>
28+
</xsd:restriction>
29+
</xsd:simpleType>
30+
31+
<xsd:element name="schemaversion" type="newSchemaversionType"/>
32+
<xsd:simpleType name="newSchemaversionType">
33+
<xsd:restriction base="imscp:schemaversionType">
34+
<xsd:enumeration value="1.2"/>
35+
</xsd:restriction>
36+
</xsd:simpleType>
37+
38+
39+
<xsd:attribute name="scormtype">
40+
<xsd:simpleType>
41+
<xsd:restriction base="xsd:string">
42+
<xsd:enumeration value="asset"/>
43+
<xsd:enumeration value="sco"/>
44+
</xsd:restriction>
45+
</xsd:simpleType>
46+
</xsd:attribute>
47+
48+
<xsd:simpleType name="locationType">
49+
<xsd:restriction base="xsd:string">
50+
<xsd:maxLength value="2000"/>
51+
</xsd:restriction>
52+
</xsd:simpleType>
53+
54+
55+
<xsd:complexType name="prerequisitesType">
56+
<xsd:simpleContent>
57+
<xsd:extension base="prerequisiteStringType">
58+
<xsd:attributeGroup ref="attr.prerequisitetype"/>
59+
</xsd:extension>
60+
</xsd:simpleContent>
61+
</xsd:complexType>
62+
63+
<xsd:attributeGroup name="attr.prerequisitetype">
64+
<xsd:attribute name="type" use="required">
65+
<xsd:simpleType>
66+
<xsd:restriction base="xsd:string">
67+
<xsd:enumeration value="aicc_script"/>
68+
</xsd:restriction>
69+
</xsd:simpleType>
70+
</xsd:attribute>
71+
</xsd:attributeGroup>
72+
73+
<xsd:simpleType name="maxtimeallowedType">
74+
<xsd:restriction base="xsd:string">
75+
<xsd:maxLength value="13"/>
76+
</xsd:restriction>
77+
</xsd:simpleType>
78+
79+
<xsd:simpleType name="timelimitactionType">
80+
<xsd:restriction base="stringType">
81+
<xsd:enumeration value="exit,no message"/>
82+
<xsd:enumeration value="exit,message"/>
83+
<xsd:enumeration value="continue,no message"/>
84+
<xsd:enumeration value="continue,message"/>
85+
</xsd:restriction>
86+
</xsd:simpleType>
87+
88+
<xsd:simpleType name="datafromlmsType">
89+
<xsd:restriction base="xsd:string">
90+
<xsd:maxLength value="255"/>
91+
</xsd:restriction>
92+
</xsd:simpleType>
93+
94+
<xsd:simpleType name="masteryscoreType">
95+
<xsd:restriction base="xsd:string">
96+
<xsd:maxLength value="200"/>
97+
</xsd:restriction>
98+
</xsd:simpleType>
99+
100+
<xsd:simpleType name="stringType">
101+
<xsd:restriction base="xsd:string"/>
102+
</xsd:simpleType>
103+
104+
<xsd:simpleType name="prerequisiteStringType">
105+
<xsd:restriction base="xsd:string">
106+
<xsd:maxLength value="200"/>
107+
</xsd:restriction>
108+
</xsd:simpleType>
109+
110+
</xsd:schema>

docs/AB-6004/try_it_copilot_in-dynamics_365_web/analytics-frame.html renamed to docs/AB-6002/copilot_in_dynamics_365_finance_ai-assisted_collections_scorm/analytics-frame.html

Lines changed: 128 additions & 126 deletions
Original file line numberDiff line numberDiff line change
@@ -1,126 +1,128 @@
1-
<!doctype html>
2-
<html>
3-
<head>
4-
<meta charset="utf-8" />
5-
<meta name="referrer" content="origin" />
6-
<script>
7-
/* jshint ignore:start */
8-
// jscs:disable
9-
// https://gist.github.com/982883
10-
var uuid = function(a) {
11-
return a // if the placeholder was passed, return
12-
? ( // a random number from 0 to 15
13-
a ^ // unless b is 8,
14-
Math.random() // in which case
15-
* 16 // a random number from
16-
>> a/4 // 8 to 11
17-
).toString(16) // in hexadecimal
18-
: ( // or otherwise a concatenated string:
19-
[1e7] + // 10000000 +
20-
-1e3 + // -1000 +
21-
-4e3 + // -4000 +
22-
-8e3 + // -80000000 +
23-
-1e11 // -100000000000,
24-
).replace( // replacing
25-
/[018]/g, // zeroes, ones, and eights with
26-
uuid // random hex digits
27-
);
28-
};
29-
30-
window.frameHash = window.location.hash.replace(/^#/, '');
31-
32-
var postToParent = function(message) {
33-
if (window.parent.postMessage != null) {
34-
window.parent.postMessage(message, '*');
35-
}
36-
};
37-
38-
var onDidReceiveMessage = function(e) {
39-
if (e.data.id === frameHash) {
40-
var xhr = new XMLHttpRequest(),
41-
now = new Date(),
42-
data = {
43-
messageId: uuid(),
44-
sentAt: now.toISOString(),
45-
batch: [ {
46-
event: e.data.event,
47-
properties: e.data.properties,
48-
type: 'track',
49-
messageId: uuid(),
50-
timestamp: now.toISOString(),
51-
context: {
52-
ip: '0.0.0.0',
53-
page: {
54-
path: '/',
55-
referrer: '',
56-
search: '',
57-
title: '',
58-
url: 'http://'
59-
}
60-
},
61-
integrations: {},
62-
userId: e.data.aid
63-
} ]
64-
};
65-
66-
xhr.onreadystatechange = function() {
67-
if (xhr.readyState === 4) {
68-
postToParent({
69-
id: frameHash,
70-
message: 'xhr sent'
71-
});
72-
window.onDidReceiveMessage = null;
73-
}
74-
};
75-
76-
xhr.open('POST', 'https://metrics.articulate.com/v1/import');
77-
xhr.setRequestHeader('Content-Type', 'application/json');
78-
xhr.send(JSON.stringify(data));
79-
}
80-
};
81-
82-
if ('onmessage' in window) {
83-
window.addEventListener('message', onDidReceiveMessage, false);
84-
} else {
85-
// coming from flash, we will use older JS since we can expect some older IE versions
86-
var validProps = [
87-
'os', 'browser', 'playerVersion', 'playerType', 'lmsPresent', 'tinCanPresent',
88-
'aoSupport', 'publishSource', 'protocol', 'productChannel', 'cid', 'screenResolution',
89-
'pixelRatio'
90-
];
91-
var aid,
92-
props = window.location.search.replace(/^\?/, '').split('&'),
93-
config = {};
94-
95-
for (var i = 0, ii = props.length, currProp; i < ii; i++) {
96-
currProp = props[i].split('=');
97-
if (validProps.indexOf(currProp[0]) > -1 && currProp.length === 2) {
98-
config[currProp[0]] = currProp[1];
99-
} else if (currProp[0] === 'aid') {
100-
aid = currProp[1];
101-
}
102-
}
103-
104-
window.onDidReceiveMessage({
105-
data: {
106-
id: frameHash,
107-
event: 'player_course_load',
108-
properties: config,
109-
aid: aid
110-
}
111-
})
112-
113-
}
114-
/* jshint ignore:end */
115-
// jscs:enable
116-
</script>
117-
</head>
118-
<body>
119-
</body>
120-
<script>
121-
postToParent({
122-
id: window.frameHash,
123-
message: 'loaded'
124-
});
125-
</script>
126-
</html>
1+
<!doctype html>
2+
<html>
3+
<head>
4+
<meta charset="utf-8" />
5+
<meta name="referrer" content="origin" />
6+
<script>
7+
/* jshint ignore:start */
8+
// jscs:disable
9+
// https://gist.github.com/982883
10+
var uuid = function(a) {
11+
return a // if the placeholder was passed, return
12+
? ( // a random number from 0 to 15
13+
a ^ // unless b is 8,
14+
Math.random() // in which case
15+
* 16 // a random number from
16+
>> a/4 // 8 to 11
17+
).toString(16) // in hexadecimal
18+
: ( // or otherwise a concatenated string:
19+
[1e7] + // 10000000 +
20+
-1e3 + // -1000 +
21+
-4e3 + // -4000 +
22+
-8e3 + // -80000000 +
23+
-1e11 // -100000000000,
24+
).replace( // replacing
25+
/[018]/g, // zeroes, ones, and eights with
26+
uuid // random hex digits
27+
);
28+
};
29+
30+
window.frameHash = window.location.hash.replace(/^#/, '');
31+
32+
var postToParent = function(message) {
33+
if (window.parent.postMessage != null) {
34+
window.parent.postMessage(message, '*');
35+
}
36+
};
37+
38+
var onDidReceiveMessage = function(e) {
39+
if (e.data?.id?.length > 0 && e.data.id === frameHash) {
40+
var xhr = new XMLHttpRequest(),
41+
now = new Date(),
42+
data = {
43+
messageId: uuid(),
44+
sentAt: now.toISOString(),
45+
batch: [ {
46+
event: e.data.event,
47+
properties: e.data.properties,
48+
type: 'track',
49+
messageId: uuid(),
50+
timestamp: now.toISOString(),
51+
context: {
52+
ip: '0.0.0.0',
53+
page: {
54+
path: '/',
55+
referrer: '',
56+
search: '',
57+
title: '',
58+
url: 'http://'
59+
}
60+
},
61+
integrations: {},
62+
userId: e.data.aid
63+
} ]
64+
};
65+
66+
xhr.onreadystatechange = function() {
67+
if (xhr.readyState === 4) {
68+
postToParent({
69+
id: frameHash,
70+
message: 'xhr sent'
71+
});
72+
window.onDidReceiveMessage = null;
73+
}
74+
};
75+
76+
xhr.open('POST', 'https://metrics.articulate.com/v1/import');
77+
xhr.setRequestHeader('Content-Type', 'application/json');
78+
xhr.send(JSON.stringify(data));
79+
}
80+
};
81+
82+
if ('onmessage' in window) {
83+
window.addEventListener('message', onDidReceiveMessage, false);
84+
} else {
85+
// coming from flash, we will use older JS since we can expect some older IE versions
86+
var validProps = [
87+
'os', 'browser', 'playerVersion', 'playerType', 'lmsPresent', 'tinCanPresent',
88+
'aoSupport', 'publishSource', 'protocol', 'productChannel', 'cid', 'screenResolution',
89+
'pixelRatio'
90+
];
91+
var aid,
92+
props = window.location.search.replace(/^\?/, '').split('&'),
93+
config = {};
94+
95+
for (var i = 0, ii = props.length, currProp; i < ii; i++) {
96+
currProp = props[i].split('=');
97+
if (validProps.indexOf(currProp[0]) > -1 && currProp.length === 2) {
98+
config[currProp[0]] = currProp[1];
99+
} else if (currProp[0] === 'aid') {
100+
aid = currProp[1];
101+
}
102+
}
103+
104+
window.onDidReceiveMessage({
105+
data: {
106+
id: frameHash,
107+
event: 'player_course_load',
108+
properties: config,
109+
aid: aid
110+
}
111+
})
112+
113+
}
114+
/* jshint ignore:end */
115+
// jscs:enable
116+
</script>
117+
</head>
118+
<body>
119+
</body>
120+
<script>
121+
if (this.window != this.parent.window) {
122+
postToParent({
123+
id: window.frameHash,
124+
message: 'loaded'
125+
});
126+
}
127+
</script>
128+
</html>

0 commit comments

Comments
 (0)