Skip to content

Commit 8cafb6d

Browse files
author
Kartheek Palla
authored
Issue #SB-000 merge: Merge pull request #112 from project-sunbird/release-2.4.0
Merge release-2.4.0 to master
2 parents 6b99238 + 27d2cbd commit 8cafb6d

7 files changed

Lines changed: 47 additions & 17 deletions

File tree

app/scripts/contenteditor/manager/stage-manager.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ org.ekstep.contenteditor.stageManager = new (Class.extend({
99
contentLoading: false,
1010
summary: [],
1111
assets: [],
12+
plugins_used: [],
1213
init: function () {
1314
var instance = this
1415
fabric.Object.prototype.transparentCorners = false
@@ -239,6 +240,7 @@ org.ekstep.contenteditor.stageManager = new (Class.extend({
239240
var content = { theme: { id: 'theme', version: '1.0', startStage: this.stages[0].id, stage: [], manifest: { media: [] }, 'plugin-manifest': { plugin: [] } } }
240241
this.setNavigationalParams()
241242
var mediaMap = {}
243+
var plugin_arr = []
242244
instance.summary = []
243245
instance.assets = []
244246
instance.pragma = null
@@ -247,8 +249,10 @@ org.ekstep.contenteditor.stageManager = new (Class.extend({
247249
var stageBody = stage.toECML()
248250
stageBody.manifest = { media: [] }
249251
var stageAssets = []
252+
plugin_arr.push({ identifier: stage.manifest.id, semanticVersion: stage.manifest.ver})
250253
_.forEach(stage.children, function (plugin) {
251254
var id = plugin.getManifestId()
255+
plugin_arr.push({ identifier: plugin.manifest.id, semanticVersion: plugin.manifest.ver});
252256
if (_.isUndefined(stageBody[id])) stageBody[id] = []
253257
stageBody[id].push(plugin.toECML())
254258
var summaryObj = plugin.getSummary()
@@ -267,8 +271,13 @@ org.ekstep.contenteditor.stageManager = new (Class.extend({
267271
})
268272
content.theme.stage.push(stageBody)
269273
})
270-
274+
271275
instance.manifestGenerator(content)
276+
ecEditor._.each(content.theme['plugin-manifest'].plugin, function (p){
277+
plugin_arr.push({ identifier: p.id, semanticVersion: p.ver})
278+
})
279+
instance.plugins_used = ecEditor._.uniqBy(plugin_arr, 'identifier');
280+
272281

273282
if (!_.isEmpty(org.ekstep.contenteditor.mediaManager.migratedMediaMap)) {
274283
instance.mergeMediaMap(mediaMap)

app/scripts/contenteditor/service/telemetry-service.js

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ org.ekstep.services.telemetryService = new (org.ekstep.services.iService.extend(
193193
* @memberof org.ekstep.services.telemetryService
194194
*
195195
*/
196-
interact: function (data) {
196+
interact: function (data, options) {
197197
if (!(data.hasOwnProperty('type') && (data.hasOwnProperty('objectid') || data.hasOwnProperty('id')))) {
198198
console.error('Invalid interact data')
199199
return
@@ -226,7 +226,7 @@ org.ekstep.services.telemetryService = new (org.ekstep.services.iService.extend(
226226
eventData.duration = (data.duration * 0.001).toFixed(2)
227227
}
228228
ecEditor.dispatchEvent('org.ekstep.editor:keepalive')
229-
EkTelemetry.interact(eventData)
229+
EkTelemetry.interact(eventData, this.generateOptionsData(options))
230230
},
231231
/**
232232
*
@@ -235,7 +235,7 @@ org.ekstep.services.telemetryService = new (org.ekstep.services.iService.extend(
235235
* @memberof org.ekstep.services.telemetryService
236236
*
237237
*/
238-
impression: function (data) {
238+
impression: function (data, options) {
239239
if (!(data.hasOwnProperty('type') && data.hasOwnProperty('pageid') && data.hasOwnProperty('uri'))) {
240240
console.error('Invalid impression data')
241241
return
@@ -249,7 +249,25 @@ org.ekstep.services.telemetryService = new (org.ekstep.services.iService.extend(
249249
if (data.subtype) { eventData.subtype = data.subtype }
250250
if (data.visits) { eventData.visits = data.visits }
251251
ecEditor.dispatchEvent('org.ekstep.editor:keepalive')
252-
EkTelemetry.impression(eventData)
252+
EkTelemetry.impression(eventData, this.generateOptionsData(options))
253+
},
254+
/**
255+
* generates options data envelope
256+
* @param options {object} Telemetry Options data
257+
* @memberof org.ekstep.services.telemetryService
258+
*/
259+
generateOptionsData: function (options) {
260+
var optionsData = {
261+
context:{}
262+
}
263+
var globalCdata = ecEditor.getContext('cdata') ? ecEditor.getContext('cdata') : [];
264+
Object.assign(optionsData, options)
265+
if (options && options.context && options.context.cdata) {
266+
optionsData.context.cdata = optionsData.context.cdata.concat(globalCdata)
267+
}else{
268+
optionsData.context.cdata = globalCdata;
269+
}
270+
return optionsData;
253271
},
254272
/**
255273
*
@@ -426,7 +444,7 @@ org.ekstep.services.telemetryService = new (org.ekstep.services.iService.extend(
426444
* @memberof org.ekstep.services.telemetryService
427445
*
428446
*/
429-
log: function (data) {
447+
log: function (data, options) {
430448
if (!this.hasRequiredData(data, ['type', 'level', 'message'])) {
431449
console.error('Invalid log data')
432450
return
@@ -440,7 +458,7 @@ org.ekstep.services.telemetryService = new (org.ekstep.services.iService.extend(
440458
if (data.pageid || data.stage) { eventData.pageid = data.stage || data.pageid }
441459
if (data.params) { eventData.params = data.params }
442460
ecEditor.dispatchEvent('org.ekstep.editor:keepalive')
443-
EkTelemetry.log(eventData)
461+
EkTelemetry.log(eventData, this.generateOptionsData(options))
444462
},
445463
/**
446464
*

app/scripts/framework/service/content-service.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ org.ekstep.services.contentService = new (org.ekstep.services.iService.extend({
2020
*
2121
* @memberof org.ekstep.services.contentService
2222
*/
23-
contentFields: 'body,collaborators,editorState,stageIcons,templateId,languageCode,template,gradeLevel,status,concepts,versionKey,name,appIcon,contentType,owner,domain,code,visibility,createdBy,description,language,mediaType,mimeType,osId,languageCode,createdOn,lastUpdatedOn,audience,ageGroup,attributions,artifactUrl,board,subject,keywords,config,resourceType,medium,publisher,year,pkgVersion,framework,rejectReasons,rejectComment,topic,ownedBy,ownershipType,creators,contributors,reservedDialcodes,qrCodeProcessId,channel,purpose,assets,assetsMap',
23+
contentFields: 'body,collaborators,editorState,stageIcons,templateId,languageCode,template,gradeLevel,status,concepts,versionKey,name,appIcon,contentType,owner,domain,code,visibility,createdBy,description,language,mediaType,mimeType,osId,languageCode,createdOn,lastUpdatedOn,audience,ageGroup,attributions,artifactUrl,board,subject,keywords,config,resourceType,medium,publisher,year,pkgVersion,framework,rejectReasons,rejectComment,topic,ownedBy,ownershipType,creators,contributors,reservedDialcodes,qrCodeProcessId,channel,purpose,assets,assetsMap,copyright,author',
2424
/**
2525
*
2626
* sets content meta for the given content id

app/scripts/framework/service/iservice.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,4 +111,4 @@ org.ekstep.services.iService = Class.extend({
111111
})
112112
}
113113

114-
})
114+
})

deploy/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "content-editor",
3-
"version": "2.0.0",
3+
"version": "2.4.0",
44
"description": "It is used to update files in deployment job",
55
"main": "gulpfile.js",
66
"scripts": {

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
"body-parser": "*",
1414
"express": "^4.14.0",
1515
"express-http-proxy": "*",
16+
"global": "^4.4.0",
1617
"lodash": "^4.16.6",
1718
"promise": "^8.0.2",
1819
"request": "*",
@@ -102,7 +103,7 @@
102103
"postcss-cli": "*",
103104
"purify-css": "*",
104105
"purifycss-webpack": "*",
105-
"sass-loader": "*",
106+
"sass-loader": "7.1.0",
106107
"string-replace-loader": "2.1",
107108
"svg-inline-loader": "*",
108109
"uglify-es": "*",

webpack.plugin.config.js

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ var corePlugins = [
4141
'org.ekstep.richtext-1.0',
4242
'org.ekstep.iterator-1.0',
4343
'org.ekstep.navigation-1.0',
44-
'org.ekstep.reviewercomments-1.0',
44+
'org.ekstep.reviewercomments-1.0'
4545
]
4646

4747
let entryFiles = []
@@ -78,7 +78,7 @@ function packagePlugins () {
7878
})
7979
var count = 0
8080
var len = (pluginContent.replace(/\b(loadNgModules)\b.*\)/g) || []).length
81-
81+
8282
pluginContent = uglifyjs.minify(pluginContent.replace(/\b(loadNgModules)\b.*\)/g, function ($0) {
8383
if (count === len) count = 0
8484
var dash
@@ -101,7 +101,7 @@ function packagePlugins () {
101101
fs.appendFile('plugins/' + plugin + '/editor/plugin.dist.js', [...dependenciesArr].join('\n'))
102102
pluginPackageArr.push('./plugins/' + plugin + '/editor/plugin.dist.js')
103103
})
104-
104+
105105
return pluginPackageArr
106106
}
107107

@@ -136,7 +136,9 @@ module.exports = {
136136
'E2EConverter': path.resolve('./plugins/org.ekstep.viewecml-1.0/editor/libs/src/converter.js'),
137137
'xmlbuilder': path.resolve('./node_modules/xmlbuilder/lib/index.js'),
138138
'X2JS': path.resolve('./plugins/org.ekstep.assessmentbrowser-1.1/editor/libs/xml2json.js'),
139-
'video.js': path.resolve('./plugins/org.ekstep.video-1.5/editor/libs/video.js')
139+
'video.js': path.resolve('./plugins/org.ekstep.video-1.5/editor/libs/video.js'),
140+
'global/document': path.resolve('./node_modules/global/document.js'),
141+
'global/window': path.resolve('./node_modules/global/window.js')
140142
}
141143
},
142144
module: {
@@ -225,7 +227,7 @@ module.exports = {
225227
passes: 1
226228
},
227229
ecma: 5,
228-
mangle: true
230+
mangle: true
229231
},
230232
sourceMap: true
231233
})
@@ -241,4 +243,4 @@ module.exports = {
241243
automaticNameDelimiter: '~'
242244
}
243245
}
244-
}
246+
}

0 commit comments

Comments
 (0)