Convert WordCloudModule to XBlock style JS asset loading

Description

The WordCloudModule is rarely used, but accounts for about 160K worth of uncompressed JS in the 481KB XModule JS bundle. Pulling those JS files out of the bundle and serving them in the XBlock style should reduce the overall weight for the majority of students.

Steps to Reproduce

None

Current Behavior

None

Expected Behavior

None

Reason for Variance

None

Release Notes

None

User Impact Summary

None

Activity

Show:
Andy Armstrong
September 13, 2016, 4:26 PM

I was also thinking about what it would take to remove RequireJS Optimizer, and just have the files loaded individually. I see that it isn't just as straightforward as loading the files directly as there are other costs: https://blog.newrelic.com/2016/02/09/http2-best-practices-web-performance/. We should start doing the research as to what it would take.

ChristinaR
September 13, 2016, 5:47 PM

FYI, word cloud is actually used quite a bit (shocking, I know).

David Ormsbee
September 13, 2016, 6:07 PM
Edited

Yeah, I was really surprised that it was being used at all! I thought it was a super-niche thing. But NR Insights reports that ~2% of all sequences loaded in the courseware in the past week on edx.org do have a word cloud module in them. Still, we should be able to see some worthwhile gains from splitting it off.

If anyone's interested in the NRQL for that (and comparison to Capa problems and Video):

SELECT filter(count, where `seq.block_counts.word_cloud` >= 1) / count, filter(count, where `seq.block_counts.problem` >= 1) / count, filter(count, where `seq.block_counts.video` >= 1) / count from Transaction where appName='prod-edx-edxapp-lms' and name='WebTransaction/Function/courseware.views.index:CoursewareIndex.get' SINCE 1 week ago

David Ormsbee
September 13, 2016, 6:08 PM

JIRA markup makes me want to scream.

David Ormsbee
September 13, 2016, 6:11 PM

Assignee

Toby Lawrence

Reporter

David Ormsbee

Labels

Reach

None

Impact

None

Platform Area

None

Customer

None

Partner Manager

None

URL

None

Contributor Name

None

Groups with Read-Only Access

None

Actual Points

None

Category of Work

None

Platform Map Area (Levels 1 & 2)

None

Platform Map Area (Levels 3 & 4)

None

Story Points

3

Sprint

None

Priority

Unset
Configure