feat: Add topic link to discussion post

Refactors the topics code and adds the topic relation box to posts.
This commit is contained in:
Kshitij Sobti
2021-10-22 14:01:38 +05:30
parent cb09b8c345
commit 7f26f3a6ca
23 changed files with 2901 additions and 1773 deletions

View File

@@ -0,0 +1,1061 @@
/* eslint-disable import/prefer-default-export */
// Course Blocks API response for the demo course.
export const blocksAPIResponse = {
root: 'block-v1:edX+DemoX+Demo_Course+type@course+block@course',
blocks: {
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_0270f6de40fc': {
id: 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_0270f6de40fc',
block_id: 'vertical_0270f6de40fc',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_0270f6de40fc',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_0270f6de40fc?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_0270f6de40fc',
type: 'vertical',
display_name: 'Introduction: Video and Sequences',
},
'block-v1:edX+DemoX+Demo_Course+type@sequential+block@edx_introduction': {
id: 'block-v1:edX+DemoX+Demo_Course+type@sequential+block@edx_introduction',
block_id: 'edx_introduction',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@sequential+block@edx_introduction',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@sequential+block@edx_introduction?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@sequential+block@edx_introduction',
type: 'sequential',
display_name: 'Demo Course Overview',
children: [
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_0270f6de40fc',
],
},
'block-v1:edX+DemoX+Demo_Course+type@chapter+block@d8a6192ade314473a78242dfeedfbf5b': {
id: 'block-v1:edX+DemoX+Demo_Course+type@chapter+block@d8a6192ade314473a78242dfeedfbf5b',
block_id: 'd8a6192ade314473a78242dfeedfbf5b',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@chapter+block@d8a6192ade314473a78242dfeedfbf5b',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@chapter+block@d8a6192ade314473a78242dfeedfbf5b?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@chapter+block@d8a6192ade314473a78242dfeedfbf5b',
type: 'chapter',
display_name: 'Introduction',
children: [
'block-v1:edX+DemoX+Demo_Course+type@sequential+block@edx_introduction',
],
},
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@867dddb6f55d410caaa9c1eb9c6743ec': {
id: 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@867dddb6f55d410caaa9c1eb9c6743ec',
block_id: '867dddb6f55d410caaa9c1eb9c6743ec',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@867dddb6f55d410caaa9c1eb9c6743ec',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@867dddb6f55d410caaa9c1eb9c6743ec?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@867dddb6f55d410caaa9c1eb9c6743ec',
type: 'vertical',
display_name: 'Getting Started',
},
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@412dc8dbb6674014862237b23c1f643f': {
id: 'block-v1:edX+DemoX+Demo_Course+type@discussion+block@412dc8dbb6674014862237b23c1f643f',
block_id: '412dc8dbb6674014862237b23c1f643f',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@412dc8dbb6674014862237b23c1f643f',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@412dc8dbb6674014862237b23c1f643f?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@discussion+block@412dc8dbb6674014862237b23c1f643f',
type: 'discussion',
display_name: 'Working with Videos',
student_view_data: {
topic_id: 'd9f970a42067413cbb633f81cfb12604',
},
},
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@4f6c1b4e316a419ab5b6bf30e6c708e9': {
id: 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@4f6c1b4e316a419ab5b6bf30e6c708e9',
block_id: '4f6c1b4e316a419ab5b6bf30e6c708e9',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@4f6c1b4e316a419ab5b6bf30e6c708e9',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@4f6c1b4e316a419ab5b6bf30e6c708e9?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@4f6c1b4e316a419ab5b6bf30e6c708e9',
type: 'vertical',
display_name: 'Working with Videos',
children: [
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@412dc8dbb6674014862237b23c1f643f',
],
},
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@722085be27c84ac693cfebc8ac5da700': {
id: 'block-v1:edX+DemoX+Demo_Course+type@discussion+block@722085be27c84ac693cfebc8ac5da700',
block_id: '722085be27c84ac693cfebc8ac5da700',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@722085be27c84ac693cfebc8ac5da700',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@722085be27c84ac693cfebc8ac5da700?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@discussion+block@722085be27c84ac693cfebc8ac5da700',
type: 'discussion',
display_name: 'Videos on edX',
student_view_data: {
topic_id: '98d8feb5971041a085512ae22b398613',
},
},
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@3dc16db8d14842e38324e95d4030b8a0': {
id: 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@3dc16db8d14842e38324e95d4030b8a0',
block_id: '3dc16db8d14842e38324e95d4030b8a0',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@3dc16db8d14842e38324e95d4030b8a0',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@3dc16db8d14842e38324e95d4030b8a0?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@3dc16db8d14842e38324e95d4030b8a0',
type: 'vertical',
display_name: 'Videos on edX',
children: [
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@722085be27c84ac693cfebc8ac5da700',
],
},
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@9f9e1373cc8243b985c8750cc8acec7d': {
id: 'block-v1:edX+DemoX+Demo_Course+type@discussion+block@9f9e1373cc8243b985c8750cc8acec7d',
block_id: '9f9e1373cc8243b985c8750cc8acec7d',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@9f9e1373cc8243b985c8750cc8acec7d',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@9f9e1373cc8243b985c8750cc8acec7d?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@discussion+block@9f9e1373cc8243b985c8750cc8acec7d',
type: 'discussion',
display_name: 'Video Demonstrations',
student_view_data: {
topic_id: '1d153da210844719a1a6cc39ca09673c',
},
},
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@4a1bba2a403f40bca5ec245e945b0d76': {
id: 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@4a1bba2a403f40bca5ec245e945b0d76',
block_id: '4a1bba2a403f40bca5ec245e945b0d76',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@4a1bba2a403f40bca5ec245e945b0d76',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@4a1bba2a403f40bca5ec245e945b0d76?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@4a1bba2a403f40bca5ec245e945b0d76',
type: 'vertical',
display_name: 'Video Demonstrations',
children: [
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@9f9e1373cc8243b985c8750cc8acec7d',
],
},
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@e2cb0e0994f84b0abfa5f4ae42ed9d44': {
id: 'block-v1:edX+DemoX+Demo_Course+type@discussion+block@e2cb0e0994f84b0abfa5f4ae42ed9d44',
block_id: 'e2cb0e0994f84b0abfa5f4ae42ed9d44',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@e2cb0e0994f84b0abfa5f4ae42ed9d44',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@e2cb0e0994f84b0abfa5f4ae42ed9d44?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@discussion+block@e2cb0e0994f84b0abfa5f4ae42ed9d44',
type: 'discussion',
display_name: 'Video Presentation Styles',
student_view_data: {
topic_id: '265ca2d808814d76ad670957a2b6071f',
},
},
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@256f17a44983429fb1a60802203ee4e0': {
id: 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@256f17a44983429fb1a60802203ee4e0',
block_id: '256f17a44983429fb1a60802203ee4e0',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@256f17a44983429fb1a60802203ee4e0',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@256f17a44983429fb1a60802203ee4e0?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@256f17a44983429fb1a60802203ee4e0',
type: 'vertical',
display_name: 'Video Presentation Styles',
children: [
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@e2cb0e0994f84b0abfa5f4ae42ed9d44',
],
},
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@3169f89efde2452993f2f2d9bc74f5b2': {
id: 'block-v1:edX+DemoX+Demo_Course+type@discussion+block@3169f89efde2452993f2f2d9bc74f5b2',
block_id: '3169f89efde2452993f2f2d9bc74f5b2',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@3169f89efde2452993f2f2d9bc74f5b2',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@3169f89efde2452993f2f2d9bc74f5b2?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@discussion+block@3169f89efde2452993f2f2d9bc74f5b2',
type: 'discussion',
display_name: '',
student_view_data: {
topic_id: '23347cb1d1e74ec79453ce361e38eb18',
},
},
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@e3601c0abee6427d8c17e6d6f8fdddd1': {
id: 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@e3601c0abee6427d8c17e6d6f8fdddd1',
block_id: 'e3601c0abee6427d8c17e6d6f8fdddd1',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@e3601c0abee6427d8c17e6d6f8fdddd1',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@e3601c0abee6427d8c17e6d6f8fdddd1?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@e3601c0abee6427d8c17e6d6f8fdddd1',
type: 'vertical',
display_name: 'Interactive Questions',
children: [
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@3169f89efde2452993f2f2d9bc74f5b2',
],
},
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@ffa5817d49e14fec83ad6187cbe16358': {
id: 'block-v1:edX+DemoX+Demo_Course+type@discussion+block@ffa5817d49e14fec83ad6187cbe16358',
block_id: 'ffa5817d49e14fec83ad6187cbe16358',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@ffa5817d49e14fec83ad6187cbe16358',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@ffa5817d49e14fec83ad6187cbe16358?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@discussion+block@ffa5817d49e14fec83ad6187cbe16358',
type: 'discussion',
display_name: 'Reading Sample',
student_view_data: {
topic_id: '4250393f9f684bfeb3f1d514e15592d1',
},
},
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@134df56c516a4a0dbb24dd5facef746e': {
id: 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@134df56c516a4a0dbb24dd5facef746e',
block_id: '134df56c516a4a0dbb24dd5facef746e',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@134df56c516a4a0dbb24dd5facef746e',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@134df56c516a4a0dbb24dd5facef746e?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@134df56c516a4a0dbb24dd5facef746e',
type: 'vertical',
display_name: 'Reading Assignments',
children: [
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@ffa5817d49e14fec83ad6187cbe16358',
],
},
'block-v1:edX+DemoX+Demo_Course+type@sequential+block@19a30717eff543078a5d94ae9d6c18a5': {
id: 'block-v1:edX+DemoX+Demo_Course+type@sequential+block@19a30717eff543078a5d94ae9d6c18a5',
block_id: '19a30717eff543078a5d94ae9d6c18a5',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@sequential+block@19a30717eff543078a5d94ae9d6c18a5',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@sequential+block@19a30717eff543078a5d94ae9d6c18a5?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@sequential+block@19a30717eff543078a5d94ae9d6c18a5',
type: 'sequential',
display_name: 'Lesson 1 - Getting Started',
children: [
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@867dddb6f55d410caaa9c1eb9c6743ec',
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@4f6c1b4e316a419ab5b6bf30e6c708e9',
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@3dc16db8d14842e38324e95d4030b8a0',
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@4a1bba2a403f40bca5ec245e945b0d76',
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@256f17a44983429fb1a60802203ee4e0',
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@e3601c0abee6427d8c17e6d6f8fdddd1',
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@134df56c516a4a0dbb24dd5facef746e',
],
},
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@e5eac7e1a5a24f5fa7ed77bb6d136591': {
id: 'block-v1:edX+DemoX+Demo_Course+type@discussion+block@e5eac7e1a5a24f5fa7ed77bb6d136591',
block_id: 'e5eac7e1a5a24f5fa7ed77bb6d136591',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@e5eac7e1a5a24f5fa7ed77bb6d136591',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@e5eac7e1a5a24f5fa7ed77bb6d136591?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@discussion+block@e5eac7e1a5a24f5fa7ed77bb6d136591',
type: 'discussion',
display_name: '',
student_view_data: {
topic_id: 'eb264c9899b745fc81cd7405b53a7a65',
},
},
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@2152d4a4aadc4cb0af5256394a3d1fc7': {
id: 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@2152d4a4aadc4cb0af5256394a3d1fc7',
block_id: '2152d4a4aadc4cb0af5256394a3d1fc7',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@2152d4a4aadc4cb0af5256394a3d1fc7',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@2152d4a4aadc4cb0af5256394a3d1fc7?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@2152d4a4aadc4cb0af5256394a3d1fc7',
type: 'vertical',
display_name: 'Pointing on a Picture',
children: [
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@e5eac7e1a5a24f5fa7ed77bb6d136591',
],
},
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@5ab88e67d46049b9aa694cb240c39cef': {
id: 'block-v1:edX+DemoX+Demo_Course+type@discussion+block@5ab88e67d46049b9aa694cb240c39cef',
block_id: '5ab88e67d46049b9aa694cb240c39cef',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@5ab88e67d46049b9aa694cb240c39cef',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@5ab88e67d46049b9aa694cb240c39cef?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@discussion+block@5ab88e67d46049b9aa694cb240c39cef',
type: 'discussion',
display_name: '',
student_view_data: {
topic_id: 'aecab8f355744782af5a9470185f0005',
},
},
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@47dbd5f836544e61877a483c0b75606c': {
id: 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@47dbd5f836544e61877a483c0b75606c',
block_id: '47dbd5f836544e61877a483c0b75606c',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@47dbd5f836544e61877a483c0b75606c',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@47dbd5f836544e61877a483c0b75606c?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@47dbd5f836544e61877a483c0b75606c',
type: 'vertical',
display_name: 'Drag and Drop',
children: [
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@5ab88e67d46049b9aa694cb240c39cef',
],
},
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@67c26b1e826e47aaa29757f62bcd1ad0': {
id: 'block-v1:edX+DemoX+Demo_Course+type@discussion+block@67c26b1e826e47aaa29757f62bcd1ad0',
block_id: '67c26b1e826e47aaa29757f62bcd1ad0',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@67c26b1e826e47aaa29757f62bcd1ad0',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@67c26b1e826e47aaa29757f62bcd1ad0?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@discussion+block@67c26b1e826e47aaa29757f62bcd1ad0',
type: 'discussion',
display_name: '',
student_view_data: {
topic_id: 'cba3e4cd91d0466b9ac50926e495b76f',
},
},
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@54bb9b142c6c4c22afc62bcb628f0e68': {
id: 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@54bb9b142c6c4c22afc62bcb628f0e68',
block_id: '54bb9b142c6c4c22afc62bcb628f0e68',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@54bb9b142c6c4c22afc62bcb628f0e68',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@54bb9b142c6c4c22afc62bcb628f0e68?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@54bb9b142c6c4c22afc62bcb628f0e68',
type: 'vertical',
display_name: 'Multiple Choice Questions',
children: [
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@67c26b1e826e47aaa29757f62bcd1ad0',
],
},
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@870371212ba04dcf9536d7c7b8f3109e': {
id: 'block-v1:edX+DemoX+Demo_Course+type@discussion+block@870371212ba04dcf9536d7c7b8f3109e',
block_id: '870371212ba04dcf9536d7c7b8f3109e',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@870371212ba04dcf9536d7c7b8f3109e',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@870371212ba04dcf9536d7c7b8f3109e?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@discussion+block@870371212ba04dcf9536d7c7b8f3109e',
type: 'discussion',
display_name: '',
student_view_data: {
topic_id: 'ed3164d1235645739374094a8172964b',
},
},
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_0c92347a5c00': {
id: 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_0c92347a5c00',
block_id: 'vertical_0c92347a5c00',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_0c92347a5c00',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_0c92347a5c00?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_0c92347a5c00',
type: 'vertical',
display_name: 'Mathematical Expressions',
children: [
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@870371212ba04dcf9536d7c7b8f3109e',
],
},
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@4d672c5893cb4f1dad0de67d2008522e': {
id: 'block-v1:edX+DemoX+Demo_Course+type@discussion+block@4d672c5893cb4f1dad0de67d2008522e',
block_id: '4d672c5893cb4f1dad0de67d2008522e',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@4d672c5893cb4f1dad0de67d2008522e',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@4d672c5893cb4f1dad0de67d2008522e?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@discussion+block@4d672c5893cb4f1dad0de67d2008522e',
type: 'discussion',
display_name: '',
student_view_data: {
topic_id: 'b770140a122741fea651a50362dee7e6',
},
},
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_1fef54c2b23b': {
id: 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_1fef54c2b23b',
block_id: 'vertical_1fef54c2b23b',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_1fef54c2b23b',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_1fef54c2b23b?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_1fef54c2b23b',
type: 'vertical',
display_name: 'Chemical Equations',
children: [
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@4d672c5893cb4f1dad0de67d2008522e',
],
},
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@501aed9d902349eeb2191fa505548de2': {
id: 'block-v1:edX+DemoX+Demo_Course+type@discussion+block@501aed9d902349eeb2191fa505548de2',
block_id: '501aed9d902349eeb2191fa505548de2',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@501aed9d902349eeb2191fa505548de2',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@501aed9d902349eeb2191fa505548de2?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@discussion+block@501aed9d902349eeb2191fa505548de2',
type: 'discussion',
display_name: '',
student_view_data: {
topic_id: 'c49f0dfb8fc94c9c8d9999cc95190c56',
},
},
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@2889db1677a549abb15eb4d886f95d1c': {
id: 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@2889db1677a549abb15eb4d886f95d1c',
block_id: '2889db1677a549abb15eb4d886f95d1c',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@2889db1677a549abb15eb4d886f95d1c',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@2889db1677a549abb15eb4d886f95d1c?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@2889db1677a549abb15eb4d886f95d1c',
type: 'vertical',
display_name: 'Numerical Input',
children: [
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@501aed9d902349eeb2191fa505548de2',
],
},
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@6244918637ed4ff4b5f94a840a7e4b43': {
id: 'block-v1:edX+DemoX+Demo_Course+type@discussion+block@6244918637ed4ff4b5f94a840a7e4b43',
block_id: '6244918637ed4ff4b5f94a840a7e4b43',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@6244918637ed4ff4b5f94a840a7e4b43',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@6244918637ed4ff4b5f94a840a7e4b43?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@discussion+block@6244918637ed4ff4b5f94a840a7e4b43',
type: 'discussion',
display_name: '',
student_view_data: {
topic_id: '53c486b035b4437c9197a543371e0f03',
},
},
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@e8a5cc2aed424838853defab7be45e42': {
id: 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@e8a5cc2aed424838853defab7be45e42',
block_id: 'e8a5cc2aed424838853defab7be45e42',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@e8a5cc2aed424838853defab7be45e42',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@e8a5cc2aed424838853defab7be45e42?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@e8a5cc2aed424838853defab7be45e42',
type: 'vertical',
display_name: 'Text input',
children: [
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@6244918637ed4ff4b5f94a840a7e4b43',
],
},
'block-v1:edX+DemoX+Demo_Course+type@sequential+block@basic_questions': {
id: 'block-v1:edX+DemoX+Demo_Course+type@sequential+block@basic_questions',
block_id: 'basic_questions',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@sequential+block@basic_questions',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@sequential+block@basic_questions?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@sequential+block@basic_questions',
type: 'sequential',
display_name: 'Homework - Question Styles',
children: [
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@2152d4a4aadc4cb0af5256394a3d1fc7',
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@47dbd5f836544e61877a483c0b75606c',
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@54bb9b142c6c4c22afc62bcb628f0e68',
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_0c92347a5c00',
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_1fef54c2b23b',
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@2889db1677a549abb15eb4d886f95d1c',
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@e8a5cc2aed424838853defab7be45e42',
],
},
'block-v1:edX+DemoX+Demo_Course+type@chapter+block@interactive_demonstrations': {
id: 'block-v1:edX+DemoX+Demo_Course+type@chapter+block@interactive_demonstrations',
block_id: 'interactive_demonstrations',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@chapter+block@interactive_demonstrations',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@chapter+block@interactive_demonstrations?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@chapter+block@interactive_demonstrations',
type: 'chapter',
display_name: 'Example Week 1: Getting Started',
children: [
'block-v1:edX+DemoX+Demo_Course+type@sequential+block@19a30717eff543078a5d94ae9d6c18a5',
'block-v1:edX+DemoX+Demo_Course+type@sequential+block@basic_questions',
],
},
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@d0d804e8863c4a95a659c04d8a2b2bc0': {
id: 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@d0d804e8863c4a95a659c04d8a2b2bc0',
block_id: 'd0d804e8863c4a95a659c04d8a2b2bc0',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@d0d804e8863c4a95a659c04d8a2b2bc0',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@d0d804e8863c4a95a659c04d8a2b2bc0?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@d0d804e8863c4a95a659c04d8a2b2bc0',
type: 'vertical',
display_name: "Lesson 2 - Let's Get Interactive! ",
},
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@6f7a6670f87147149caeff6afa07a526': {
id: 'block-v1:edX+DemoX+Demo_Course+type@discussion+block@6f7a6670f87147149caeff6afa07a526',
block_id: '6f7a6670f87147149caeff6afa07a526',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@6f7a6670f87147149caeff6afa07a526',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@6f7a6670f87147149caeff6afa07a526?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@discussion+block@6f7a6670f87147149caeff6afa07a526',
type: 'discussion',
display_name: '',
student_view_data: {
topic_id: 'd7b66e45154b4af18f33213337685e91',
},
},
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_2dbb0072785e': {
id: 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_2dbb0072785e',
block_id: 'vertical_2dbb0072785e',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_2dbb0072785e',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_2dbb0072785e?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_2dbb0072785e',
type: 'vertical',
display_name: 'An Interactive Reference Table',
children: [
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@6f7a6670f87147149caeff6afa07a526',
],
},
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@e0d7423118ab432582d03e8e8dad8e36': {
id: 'block-v1:edX+DemoX+Demo_Course+type@discussion+block@e0d7423118ab432582d03e8e8dad8e36',
block_id: 'e0d7423118ab432582d03e8e8dad8e36',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@e0d7423118ab432582d03e8e8dad8e36',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@e0d7423118ab432582d03e8e8dad8e36?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@discussion+block@e0d7423118ab432582d03e8e8dad8e36',
type: 'discussion',
display_name: '',
student_view_data: {
topic_id: '9ad16580878f49d1bf20ce1bc533d16e',
},
},
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_98cf62510471': {
id: 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_98cf62510471',
block_id: 'vertical_98cf62510471',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_98cf62510471',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_98cf62510471?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_98cf62510471',
type: 'vertical',
display_name: 'Zooming Diagrams',
children: [
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@e0d7423118ab432582d03e8e8dad8e36',
],
},
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@03f051f9a8814881a3783d2511613aa6': {
id: 'block-v1:edX+DemoX+Demo_Course+type@discussion+block@03f051f9a8814881a3783d2511613aa6',
block_id: '03f051f9a8814881a3783d2511613aa6',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@03f051f9a8814881a3783d2511613aa6',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@03f051f9a8814881a3783d2511613aa6?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@discussion+block@03f051f9a8814881a3783d2511613aa6',
type: 'discussion',
display_name: '',
student_view_data: {
topic_id: 'b11488e3580241f08146cbcfca693d06',
},
},
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_d32bf9b2242c': {
id: 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_d32bf9b2242c',
block_id: 'vertical_d32bf9b2242c',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_d32bf9b2242c',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_d32bf9b2242c?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_d32bf9b2242c',
type: 'vertical',
display_name: 'Electronic Sound Experiment',
children: [
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@03f051f9a8814881a3783d2511613aa6',
],
},
'block-v1:edX+DemoX+Demo_Course+type@sequential+block@simulations': {
id: 'block-v1:edX+DemoX+Demo_Course+type@sequential+block@simulations',
block_id: 'simulations',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@sequential+block@simulations',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@sequential+block@simulations?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@sequential+block@simulations',
type: 'sequential',
display_name: "Lesson 2 - Let's Get Interactive!",
children: [
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@d0d804e8863c4a95a659c04d8a2b2bc0',
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_2dbb0072785e',
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_98cf62510471',
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_d32bf9b2242c',
],
},
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@d6cee45205a449369d7ef8f159b22bdf': {
id: 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@d6cee45205a449369d7ef8f159b22bdf',
block_id: 'd6cee45205a449369d7ef8f159b22bdf',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@d6cee45205a449369d7ef8f159b22bdf',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@d6cee45205a449369d7ef8f159b22bdf?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@d6cee45205a449369d7ef8f159b22bdf',
type: 'vertical',
display_name: 'Labs and Demos',
},
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@0aa7a3bdbe18427795b0c1a1d7c3cb9a': {
id: 'block-v1:edX+DemoX+Demo_Course+type@discussion+block@0aa7a3bdbe18427795b0c1a1d7c3cb9a',
block_id: '0aa7a3bdbe18427795b0c1a1d7c3cb9a',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@0aa7a3bdbe18427795b0c1a1d7c3cb9a',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@0aa7a3bdbe18427795b0c1a1d7c3cb9a?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@discussion+block@0aa7a3bdbe18427795b0c1a1d7c3cb9a',
type: 'discussion',
display_name: '',
student_view_data: {
topic_id: 'bb15269287ec44b6a2f69447db43d845',
},
},
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_0fab6aa52165': {
id: 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_0fab6aa52165',
block_id: 'vertical_0fab6aa52165',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_0fab6aa52165',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_0fab6aa52165?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_0fab6aa52165',
type: 'vertical',
display_name: 'Molecule Editor',
children: [
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@0aa7a3bdbe18427795b0c1a1d7c3cb9a',
],
},
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@c6cd4bea43454aaea60ad01beb0cf213': {
id: 'block-v1:edX+DemoX+Demo_Course+type@discussion+block@c6cd4bea43454aaea60ad01beb0cf213',
block_id: 'c6cd4bea43454aaea60ad01beb0cf213',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@c6cd4bea43454aaea60ad01beb0cf213',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@c6cd4bea43454aaea60ad01beb0cf213?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@discussion+block@c6cd4bea43454aaea60ad01beb0cf213',
type: 'discussion',
display_name: '',
student_view_data: {
topic_id: '239ef52e6eee468fb698b4217a7bafc6',
},
},
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_aae927868e55': {
id: 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_aae927868e55',
block_id: 'vertical_aae927868e55',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_aae927868e55',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_aae927868e55?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_aae927868e55',
type: 'vertical',
display_name: 'Code Grader',
children: [
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@c6cd4bea43454aaea60ad01beb0cf213',
],
},
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@4f06b358a96f4d1dae57d6d81acd06f2': {
id: 'block-v1:edX+DemoX+Demo_Course+type@discussion+block@4f06b358a96f4d1dae57d6d81acd06f2',
block_id: '4f06b358a96f4d1dae57d6d81acd06f2',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@4f06b358a96f4d1dae57d6d81acd06f2',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@4f06b358a96f4d1dae57d6d81acd06f2?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@discussion+block@4f06b358a96f4d1dae57d6d81acd06f2',
type: 'discussion',
display_name: '',
student_view_data: {
topic_id: 'cdad92273f7d4622aed770b7de8583bc',
},
},
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_c037f3757df1': {
id: 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_c037f3757df1',
block_id: 'vertical_c037f3757df1',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_c037f3757df1',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_c037f3757df1?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_c037f3757df1',
type: 'vertical',
display_name: 'Electric Circuit Simulator',
children: [
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@4f06b358a96f4d1dae57d6d81acd06f2',
],
},
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@ed01bcd164e64038a78964a16eac3edc': {
id: 'block-v1:edX+DemoX+Demo_Course+type@discussion+block@ed01bcd164e64038a78964a16eac3edc',
block_id: 'ed01bcd164e64038a78964a16eac3edc',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@ed01bcd164e64038a78964a16eac3edc',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@ed01bcd164e64038a78964a16eac3edc?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@discussion+block@ed01bcd164e64038a78964a16eac3edc',
type: 'discussion',
display_name: '',
student_view_data: {
topic_id: 'e4365aad2c39498d824cf984b3f9b083',
},
},
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_bc69a47c6fae': {
id: 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_bc69a47c6fae',
block_id: 'vertical_bc69a47c6fae',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_bc69a47c6fae',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_bc69a47c6fae?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_bc69a47c6fae',
type: 'vertical',
display_name: 'Protein Creator',
children: [
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@ed01bcd164e64038a78964a16eac3edc',
],
},
'block-v1:edX+DemoX+Demo_Course+type@sequential+block@graded_simulations': {
id: 'block-v1:edX+DemoX+Demo_Course+type@sequential+block@graded_simulations',
block_id: 'graded_simulations',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@sequential+block@graded_simulations',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@sequential+block@graded_simulations?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@sequential+block@graded_simulations',
type: 'sequential',
display_name: 'Homework - Labs and Demos',
children: [
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@d6cee45205a449369d7ef8f159b22bdf',
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_0fab6aa52165',
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_aae927868e55',
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_c037f3757df1',
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_bc69a47c6fae',
],
},
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@12ad4f3ff4c14114a6e629b00e000976': {
id: 'block-v1:edX+DemoX+Demo_Course+type@discussion+block@12ad4f3ff4c14114a6e629b00e000976',
block_id: '12ad4f3ff4c14114a6e629b00e000976',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@12ad4f3ff4c14114a6e629b00e000976',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@12ad4f3ff4c14114a6e629b00e000976?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@discussion+block@12ad4f3ff4c14114a6e629b00e000976',
type: 'discussion',
display_name: 'Peer Grading',
student_view_data: {
topic_id: '6e51dd8f181b44ffa6d91303a287ed3f',
},
},
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@fb79dcbad35b466a8c6364f8ffee9050': {
id: 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@fb79dcbad35b466a8c6364f8ffee9050',
block_id: 'fb79dcbad35b466a8c6364f8ffee9050',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@fb79dcbad35b466a8c6364f8ffee9050',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@fb79dcbad35b466a8c6364f8ffee9050?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@fb79dcbad35b466a8c6364f8ffee9050',
type: 'vertical',
display_name: 'Peer Assessed Essays',
children: [
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@12ad4f3ff4c14114a6e629b00e000976',
],
},
'block-v1:edX+DemoX+Demo_Course+type@sequential+block@175e76c4951144a29d46211361266e0e': {
id: 'block-v1:edX+DemoX+Demo_Course+type@sequential+block@175e76c4951144a29d46211361266e0e',
block_id: '175e76c4951144a29d46211361266e0e',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@sequential+block@175e76c4951144a29d46211361266e0e',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@sequential+block@175e76c4951144a29d46211361266e0e?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@sequential+block@175e76c4951144a29d46211361266e0e',
type: 'sequential',
display_name: 'Homework - Essays',
children: [
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@fb79dcbad35b466a8c6364f8ffee9050',
],
},
'block-v1:edX+DemoX+Demo_Course+type@chapter+block@graded_interactions': {
id: 'block-v1:edX+DemoX+Demo_Course+type@chapter+block@graded_interactions',
block_id: 'graded_interactions',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@chapter+block@graded_interactions',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@chapter+block@graded_interactions?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@chapter+block@graded_interactions',
type: 'chapter',
display_name: 'Example Week 2: Get Interactive',
children: [
'block-v1:edX+DemoX+Demo_Course+type@sequential+block@simulations',
'block-v1:edX+DemoX+Demo_Course+type@sequential+block@graded_simulations',
'block-v1:edX+DemoX+Demo_Course+type@sequential+block@175e76c4951144a29d46211361266e0e',
],
},
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@3c4b575924bf4b75a2f3542df5c354fc': {
id: 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@3c4b575924bf4b75a2f3542df5c354fc',
block_id: '3c4b575924bf4b75a2f3542df5c354fc',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@3c4b575924bf4b75a2f3542df5c354fc',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@3c4b575924bf4b75a2f3542df5c354fc?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@3c4b575924bf4b75a2f3542df5c354fc',
type: 'vertical',
display_name: 'Be Social',
},
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@discussion_5deb6081620d': {
id: 'block-v1:edX+DemoX+Demo_Course+type@discussion+block@discussion_5deb6081620d',
block_id: 'discussion_5deb6081620d',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@discussion_5deb6081620d',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@discussion_5deb6081620d?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@discussion+block@discussion_5deb6081620d',
type: 'discussion',
display_name: 'Discussion Forums',
student_view_data: {
topic_id: 'edx_demo_embedded_discussion',
},
},
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_3888db0bc286': {
id: 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_3888db0bc286',
block_id: 'vertical_3888db0bc286',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_3888db0bc286',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_3888db0bc286?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_3888db0bc286',
type: 'vertical',
display_name: 'Discussion Forums',
children: [
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@discussion_5deb6081620d',
],
},
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@312cb4faed17420e82ab3178fc3e251a': {
id: 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@312cb4faed17420e82ab3178fc3e251a',
block_id: '312cb4faed17420e82ab3178fc3e251a',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@312cb4faed17420e82ab3178fc3e251a',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@312cb4faed17420e82ab3178fc3e251a?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@312cb4faed17420e82ab3178fc3e251a',
type: 'vertical',
display_name: 'Getting Help',
},
'block-v1:edX+DemoX+Demo_Course+type@sequential+block@48ecb924d7fe4b66a230137626bfa93e': {
id: 'block-v1:edX+DemoX+Demo_Course+type@sequential+block@48ecb924d7fe4b66a230137626bfa93e',
block_id: '48ecb924d7fe4b66a230137626bfa93e',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@sequential+block@48ecb924d7fe4b66a230137626bfa93e',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@sequential+block@48ecb924d7fe4b66a230137626bfa93e?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@sequential+block@48ecb924d7fe4b66a230137626bfa93e',
type: 'sequential',
display_name: 'Lesson 3 - Be Social',
children: [
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@3c4b575924bf4b75a2f3542df5c354fc',
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_3888db0bc286',
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@312cb4faed17420e82ab3178fc3e251a',
],
},
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@26d89b08f75d48829a63520ed8b0037d': {
id: 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@26d89b08f75d48829a63520ed8b0037d',
block_id: '26d89b08f75d48829a63520ed8b0037d',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@26d89b08f75d48829a63520ed8b0037d',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@26d89b08f75d48829a63520ed8b0037d?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@26d89b08f75d48829a63520ed8b0037d',
type: 'vertical',
display_name: 'Homework - Find Your Study Buddy',
},
'block-v1:edX+DemoX+Demo_Course+type@sequential+block@dbe8fc027bcb4fe9afb744d2e8415855': {
id: 'block-v1:edX+DemoX+Demo_Course+type@sequential+block@dbe8fc027bcb4fe9afb744d2e8415855',
block_id: 'dbe8fc027bcb4fe9afb744d2e8415855',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@sequential+block@dbe8fc027bcb4fe9afb744d2e8415855',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@sequential+block@dbe8fc027bcb4fe9afb744d2e8415855?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@sequential+block@dbe8fc027bcb4fe9afb744d2e8415855',
type: 'sequential',
display_name: 'Homework - Find Your Study Buddy',
children: [
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@26d89b08f75d48829a63520ed8b0037d',
],
},
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@ade92343df3d4953a40ab3adc8805390': {
id: 'block-v1:edX+DemoX+Demo_Course+type@discussion+block@ade92343df3d4953a40ab3adc8805390',
block_id: 'ade92343df3d4953a40ab3adc8805390',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@ade92343df3d4953a40ab3adc8805390',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@ade92343df3d4953a40ab3adc8805390?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@discussion+block@ade92343df3d4953a40ab3adc8805390',
type: 'discussion',
display_name: 'Google Hangout',
student_view_data: {
topic_id: '31c83aefa6634e83a3c80b81f5447201',
},
},
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@3f2c11aba9434e459676a7d7acc4d960': {
id: 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@3f2c11aba9434e459676a7d7acc4d960',
block_id: '3f2c11aba9434e459676a7d7acc4d960',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@3f2c11aba9434e459676a7d7acc4d960',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@3f2c11aba9434e459676a7d7acc4d960?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@3f2c11aba9434e459676a7d7acc4d960',
type: 'vertical',
display_name: 'Google Hangout',
children: [
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@ade92343df3d4953a40ab3adc8805390',
],
},
'block-v1:edX+DemoX+Demo_Course+type@sequential+block@6ab9c442501d472c8ed200e367b4edfa': {
id: 'block-v1:edX+DemoX+Demo_Course+type@sequential+block@6ab9c442501d472c8ed200e367b4edfa',
block_id: '6ab9c442501d472c8ed200e367b4edfa',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@sequential+block@6ab9c442501d472c8ed200e367b4edfa',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@sequential+block@6ab9c442501d472c8ed200e367b4edfa?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@sequential+block@6ab9c442501d472c8ed200e367b4edfa',
type: 'sequential',
display_name: 'More Ways to Connect',
children: [
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@3f2c11aba9434e459676a7d7acc4d960',
],
},
'block-v1:edX+DemoX+Demo_Course+type@chapter+block@social_integration': {
id: 'block-v1:edX+DemoX+Demo_Course+type@chapter+block@social_integration',
block_id: 'social_integration',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@chapter+block@social_integration',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@chapter+block@social_integration?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@chapter+block@social_integration',
type: 'chapter',
display_name: 'Example Week 3: Be Social',
children: [
'block-v1:edX+DemoX+Demo_Course+type@sequential+block@48ecb924d7fe4b66a230137626bfa93e',
'block-v1:edX+DemoX+Demo_Course+type@sequential+block@dbe8fc027bcb4fe9afb744d2e8415855',
'block-v1:edX+DemoX+Demo_Course+type@sequential+block@6ab9c442501d472c8ed200e367b4edfa',
],
},
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@934cc32c177d41b580c8413e561346b3': {
id: 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@934cc32c177d41b580c8413e561346b3',
block_id: '934cc32c177d41b580c8413e561346b3',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@934cc32c177d41b580c8413e561346b3',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@934cc32c177d41b580c8413e561346b3?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@934cc32c177d41b580c8413e561346b3',
type: 'vertical',
display_name: 'EdX Exams',
},
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@4aba537a78774bd5a862485a8563c345': {
id: 'block-v1:edX+DemoX+Demo_Course+type@discussion+block@4aba537a78774bd5a862485a8563c345',
block_id: '4aba537a78774bd5a862485a8563c345',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@4aba537a78774bd5a862485a8563c345',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@4aba537a78774bd5a862485a8563c345?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@discussion+block@4aba537a78774bd5a862485a8563c345',
type: 'discussion',
display_name: '',
student_view_data: {
topic_id: '0717ec26e67e49b2a9f30d2e15c417dd',
},
},
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_f04afeac0131': {
id: 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_f04afeac0131',
block_id: 'vertical_f04afeac0131',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_f04afeac0131',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_f04afeac0131?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_f04afeac0131',
type: 'vertical',
display_name: 'Immediate Feedback',
children: [
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@4aba537a78774bd5a862485a8563c345',
],
},
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@f480df4ce91347c5ae4301ddf6146238': {
id: 'block-v1:edX+DemoX+Demo_Course+type@discussion+block@f480df4ce91347c5ae4301ddf6146238',
block_id: 'f480df4ce91347c5ae4301ddf6146238',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@f480df4ce91347c5ae4301ddf6146238',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@f480df4ce91347c5ae4301ddf6146238?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@discussion+block@f480df4ce91347c5ae4301ddf6146238',
type: 'discussion',
display_name: '',
student_view_data: {
topic_id: 'df0905ee484844769644f330844253e7',
},
},
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@b6662b497c094bcc9b870d8270c90c93': {
id: 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@b6662b497c094bcc9b870d8270c90c93',
block_id: 'b6662b497c094bcc9b870d8270c90c93',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@b6662b497c094bcc9b870d8270c90c93',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@b6662b497c094bcc9b870d8270c90c93?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@b6662b497c094bcc9b870d8270c90c93',
type: 'vertical',
display_name: 'Getting Answers',
children: [
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@f480df4ce91347c5ae4301ddf6146238',
],
},
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@b8cec2a19ebf463f90cd3544c7927b0e': {
id: 'block-v1:edX+DemoX+Demo_Course+type@discussion+block@b8cec2a19ebf463f90cd3544c7927b0e',
block_id: 'b8cec2a19ebf463f90cd3544c7927b0e',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@b8cec2a19ebf463f90cd3544c7927b0e',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@b8cec2a19ebf463f90cd3544c7927b0e?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@discussion+block@b8cec2a19ebf463f90cd3544c7927b0e',
type: 'discussion',
display_name: '',
student_view_data: {
topic_id: 'e252d4de97c7426e8b67ff516a9962f6',
},
},
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@f91d8d31f7cf48ce990f8d8745ae4cfa': {
id: 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@f91d8d31f7cf48ce990f8d8745ae4cfa',
block_id: 'f91d8d31f7cf48ce990f8d8745ae4cfa',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@f91d8d31f7cf48ce990f8d8745ae4cfa',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@f91d8d31f7cf48ce990f8d8745ae4cfa?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@f91d8d31f7cf48ce990f8d8745ae4cfa',
type: 'vertical',
display_name: 'Answering More Than Once',
children: [
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@b8cec2a19ebf463f90cd3544c7927b0e',
],
},
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@cd177caa62444fbca48aa8f843f09eac': {
id: 'block-v1:edX+DemoX+Demo_Course+type@discussion+block@cd177caa62444fbca48aa8f843f09eac',
block_id: 'cd177caa62444fbca48aa8f843f09eac',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@cd177caa62444fbca48aa8f843f09eac',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@cd177caa62444fbca48aa8f843f09eac?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@discussion+block@cd177caa62444fbca48aa8f843f09eac',
type: 'discussion',
display_name: '',
student_view_data: {
topic_id: '97f19f6202e54d6a9ea59f7a573725a1',
},
},
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_ac391cde8a91': {
id: 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_ac391cde8a91',
block_id: 'vertical_ac391cde8a91',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_ac391cde8a91',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_ac391cde8a91?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_ac391cde8a91',
type: 'vertical',
display_name: 'Limited Checks',
children: [
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@cd177caa62444fbca48aa8f843f09eac',
],
},
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@ddede76df71045ffa16de9d1481d2119': {
id: 'block-v1:edX+DemoX+Demo_Course+type@discussion+block@ddede76df71045ffa16de9d1481d2119',
block_id: 'ddede76df71045ffa16de9d1481d2119',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@ddede76df71045ffa16de9d1481d2119',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@ddede76df71045ffa16de9d1481d2119?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@discussion+block@ddede76df71045ffa16de9d1481d2119',
type: 'discussion',
display_name: '',
student_view_data: {
topic_id: 'd459fcb5792b459ca0aefe141e633ccc',
},
},
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_36e0beb03f0a': {
id: 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_36e0beb03f0a',
block_id: 'vertical_36e0beb03f0a',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_36e0beb03f0a',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_36e0beb03f0a?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_36e0beb03f0a',
type: 'vertical',
display_name: 'Randomized Questions',
children: [
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@ddede76df71045ffa16de9d1481d2119',
],
},
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@1a810b1a3b2447b998f0917d0e5a802b': {
id: 'block-v1:edX+DemoX+Demo_Course+type@discussion+block@1a810b1a3b2447b998f0917d0e5a802b',
block_id: '1a810b1a3b2447b998f0917d0e5a802b',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@1a810b1a3b2447b998f0917d0e5a802b',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@1a810b1a3b2447b998f0917d0e5a802b?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@discussion+block@1a810b1a3b2447b998f0917d0e5a802b',
type: 'discussion',
display_name: '',
student_view_data: {
topic_id: 'ba12c2e0b81e4cef8e05e22049aafd63',
},
},
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@1b0e2c2c84884b95b1c99fb678cc964c': {
id: 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@1b0e2c2c84884b95b1c99fb678cc964c',
block_id: '1b0e2c2c84884b95b1c99fb678cc964c',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@1b0e2c2c84884b95b1c99fb678cc964c',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@1b0e2c2c84884b95b1c99fb678cc964c?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@1b0e2c2c84884b95b1c99fb678cc964c',
type: 'vertical',
display_name: 'Overall Grade Performance',
children: [
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@1a810b1a3b2447b998f0917d0e5a802b',
],
},
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@23e6eda482c04335af2bb265beacaf59': {
id: 'block-v1:edX+DemoX+Demo_Course+type@discussion+block@23e6eda482c04335af2bb265beacaf59',
block_id: '23e6eda482c04335af2bb265beacaf59',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@23e6eda482c04335af2bb265beacaf59',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@discussion+block@23e6eda482c04335af2bb265beacaf59?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@discussion+block@23e6eda482c04335af2bb265beacaf59',
type: 'discussion',
display_name: '',
student_view_data: {
topic_id: 'a56e406f164746d8bbff76545e6d981f',
},
},
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@c7e98fd39a6944edb6b286c32e1150ff': {
id: 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@c7e98fd39a6944edb6b286c32e1150ff',
block_id: 'c7e98fd39a6944edb6b286c32e1150ff',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@c7e98fd39a6944edb6b286c32e1150ff',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@c7e98fd39a6944edb6b286c32e1150ff?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@c7e98fd39a6944edb6b286c32e1150ff',
type: 'vertical',
display_name: 'Passing a Course',
children: [
'block-v1:edX+DemoX+Demo_Course+type@discussion+block@23e6eda482c04335af2bb265beacaf59',
],
},
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@d6eaa391d2be41dea20b8b1bfbcb1c45': {
id: 'block-v1:edX+DemoX+Demo_Course+type@vertical+block@d6eaa391d2be41dea20b8b1bfbcb1c45',
block_id: 'd6eaa391d2be41dea20b8b1bfbcb1c45',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@d6eaa391d2be41dea20b8b1bfbcb1c45',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@d6eaa391d2be41dea20b8b1bfbcb1c45?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@d6eaa391d2be41dea20b8b1bfbcb1c45',
type: 'vertical',
display_name: 'Getting Your edX Certificate',
},
'block-v1:edX+DemoX+Demo_Course+type@sequential+block@workflow': {
id: 'block-v1:edX+DemoX+Demo_Course+type@sequential+block@workflow',
block_id: 'workflow',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@sequential+block@workflow',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@sequential+block@workflow?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@sequential+block@workflow',
type: 'sequential',
display_name: 'edX Exams',
children: [
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@934cc32c177d41b580c8413e561346b3',
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_f04afeac0131',
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@b6662b497c094bcc9b870d8270c90c93',
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@f91d8d31f7cf48ce990f8d8745ae4cfa',
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_ac391cde8a91',
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@vertical_36e0beb03f0a',
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@1b0e2c2c84884b95b1c99fb678cc964c',
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@c7e98fd39a6944edb6b286c32e1150ff',
'block-v1:edX+DemoX+Demo_Course+type@vertical+block@d6eaa391d2be41dea20b8b1bfbcb1c45',
],
},
'block-v1:edX+DemoX+Demo_Course+type@chapter+block@1414ffd5143b4b508f739b563ab468b7': {
id: 'block-v1:edX+DemoX+Demo_Course+type@chapter+block@1414ffd5143b4b508f739b563ab468b7',
block_id: '1414ffd5143b4b508f739b563ab468b7',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@chapter+block@1414ffd5143b4b508f739b563ab468b7',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@chapter+block@1414ffd5143b4b508f739b563ab468b7?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@chapter+block@1414ffd5143b4b508f739b563ab468b7',
type: 'chapter',
display_name: 'About Exams and Certificates',
children: [
'block-v1:edX+DemoX+Demo_Course+type@sequential+block@workflow',
],
},
'block-v1:edX+DemoX+Demo_Course+type@sequential+block@07bc32474380492cb34f76e5f9d9a135': {
id: 'block-v1:edX+DemoX+Demo_Course+type@sequential+block@07bc32474380492cb34f76e5f9d9a135',
block_id: '07bc32474380492cb34f76e5f9d9a135',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@sequential+block@07bc32474380492cb34f76e5f9d9a135',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@sequential+block@07bc32474380492cb34f76e5f9d9a135?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@sequential+block@07bc32474380492cb34f76e5f9d9a135',
type: 'sequential',
display_name: 'New Subsection',
},
'block-v1:edX+DemoX+Demo_Course+type@chapter+block@9fca584977d04885bc911ea76a9ef29e': {
id: 'block-v1:edX+DemoX+Demo_Course+type@chapter+block@9fca584977d04885bc911ea76a9ef29e',
block_id: '9fca584977d04885bc911ea76a9ef29e',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@chapter+block@9fca584977d04885bc911ea76a9ef29e',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@chapter+block@9fca584977d04885bc911ea76a9ef29e?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@chapter+block@9fca584977d04885bc911ea76a9ef29e',
type: 'chapter',
display_name: 'holding section',
children: [
'block-v1:edX+DemoX+Demo_Course+type@sequential+block@07bc32474380492cb34f76e5f9d9a135',
],
},
'block-v1:edX+DemoX+Demo_Course+type@course+block@course': {
id: 'block-v1:edX+DemoX+Demo_Course+type@course+block@course',
block_id: 'course',
lms_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@course+block@course',
legacy_web_url: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@course+block@course?experience=legacy',
student_view_url: 'http://localhost:18000/xblock/block-v1:edX+DemoX+Demo_Course+type@course+block@course',
type: 'course',
display_name: 'Demonstration Course',
children: [
'block-v1:edX+DemoX+Demo_Course+type@chapter+block@d8a6192ade314473a78242dfeedfbf5b',
'block-v1:edX+DemoX+Demo_Course+type@chapter+block@interactive_demonstrations',
'block-v1:edX+DemoX+Demo_Course+type@chapter+block@graded_interactions',
'block-v1:edX+DemoX+Demo_Course+type@chapter+block@social_integration',
'block-v1:edX+DemoX+Demo_Course+type@chapter+block@1414ffd5143b4b508f739b563ab468b7',
'block-v1:edX+DemoX+Demo_Course+type@chapter+block@9fca584977d04885bc911ea76a9ef29e',
],
},
},
};

View File

@@ -0,0 +1 @@
export * from './blocks';

19
src/data/api.js Normal file
View File

@@ -0,0 +1,19 @@
/* eslint-disable import/prefer-default-export */
import { getAuthenticatedHttpClient } from '@edx/frontend-platform/auth';
import { API_BASE_URL } from './constants';
export const blocksAPIURL = `${API_BASE_URL}/api/courses/v1/blocks/`;
export async function getCourseBlocks(courseId, username) {
const params = {
course_id: courseId,
username,
depth: 'all',
requested_fields: 'children',
block_types_filter: 'course,chapter,sequential,vertical,discussion',
student_view_data: 'discussion',
};
const { data } = await getAuthenticatedHttpClient()
.get(blocksAPIURL, { params });
return data;
}

71
src/data/redux.test.js Normal file
View File

@@ -0,0 +1,71 @@
import MockAdapter from 'axios-mock-adapter';
import { Factory } from 'rosie';
import { getAuthenticatedHttpClient } from '@edx/frontend-platform/auth';
import { initializeMockApp } from '@edx/frontend-platform/testing';
import { initializeStore } from '../store';
import { executeThunk } from '../test-utils';
import { blocksAPIResponse } from './__factories__';
import { blocksAPIURL } from './api';
import { fetchCourseBlocks } from './thunks';
const courseId = 'course-v1:edX+DemoX+Demo_Course';
let axiosMock;
let store;
describe('Course blocks data layer tests', () => {
beforeEach(() => {
initializeMockApp({
authenticatedUser: {
userId: 3,
username: 'abc123',
administrator: true,
roles: [],
},
});
axiosMock = new MockAdapter(getAuthenticatedHttpClient());
Factory.resetAll();
store = initializeStore();
});
afterEach(() => {
axiosMock.reset();
});
test('successfully processes block data', async () => {
axiosMock.onGet(blocksAPIURL)
.reply(200, blocksAPIResponse);
await executeThunk(fetchCourseBlocks(courseId, 'test-user'), store.dispatch, store.getState);
expect(store.getState().blocks.chapters)
.toHaveLength(6);
expect(store.getState().blocks.chapters.map(chapter => chapter.displayName))
.toEqual(['Introduction', 'Example Week 1: Getting Started', 'Example Week 2: Get Interactive', 'Example Week 3: Be Social', 'About Exams and Certificates', 'holding section']);
expect(Object.keys(store.getState().blocks.topics))
.toEqual(['d9f970a42067413cbb633f81cfb12604', '98d8feb5971041a085512ae22b398613', '1d153da210844719a1a6cc39ca09673c', '265ca2d808814d76ad670957a2b6071f', '23347cb1d1e74ec79453ce361e38eb18', '4250393f9f684bfeb3f1d514e15592d1', 'eb264c9899b745fc81cd7405b53a7a65', 'aecab8f355744782af5a9470185f0005', 'cba3e4cd91d0466b9ac50926e495b76f', 'ed3164d1235645739374094a8172964b', 'b770140a122741fea651a50362dee7e6', 'c49f0dfb8fc94c9c8d9999cc95190c56', '53c486b035b4437c9197a543371e0f03', 'd7b66e45154b4af18f33213337685e91', '9ad16580878f49d1bf20ce1bc533d16e', 'b11488e3580241f08146cbcfca693d06', 'bb15269287ec44b6a2f69447db43d845', '239ef52e6eee468fb698b4217a7bafc6', 'cdad92273f7d4622aed770b7de8583bc', 'e4365aad2c39498d824cf984b3f9b083', '6e51dd8f181b44ffa6d91303a287ed3f', 'edx_demo_embedded_discussion', '31c83aefa6634e83a3c80b81f5447201', '0717ec26e67e49b2a9f30d2e15c417dd', 'df0905ee484844769644f330844253e7', 'e252d4de97c7426e8b67ff516a9962f6', '97f19f6202e54d6a9ea59f7a573725a1', 'd459fcb5792b459ca0aefe141e633ccc', 'ba12c2e0b81e4cef8e05e22049aafd63', 'a56e406f164746d8bbff76545e6d981f']);
expect(store.getState().blocks.topics['98d8feb5971041a085512ae22b398613'])
.toEqual({
chapterName: 'Example Week 1: Getting Started', unitLink: 'http://localhost:18000/courses/course-v1:edX+DemoX+Demo_Course/jump_to/block-v1:edX+DemoX+Demo_Course+type@vertical+block@3dc16db8d14842e38324e95d4030b8a0', unitName: 'Videos on edX', verticalName: 'Lesson 1 - Getting Started',
});
Object.values(store.getState().blocks.topics).forEach(
topic => {
expect(topic.chapterName)
.not
.toEqual(undefined);
expect(topic.unitName)
.not
.toEqual(undefined);
expect(topic.verticalName)
.not
.toEqual(undefined);
expect(topic.unitLink)
.not
.toEqual(undefined);
},
);
});
});

3
src/data/selectors.js Normal file
View File

@@ -0,0 +1,3 @@
/* eslint-disable import/prefer-default-export */
export const selectTopicContext = (topicId) => (state) => state.blocks.topics[topicId];

42
src/data/slices.js Normal file
View File

@@ -0,0 +1,42 @@
/* eslint-disable no-param-reassign,import/prefer-default-export */
import { createSlice } from '@reduxjs/toolkit';
import { RequestStatus } from './constants';
const blocksSlice = createSlice({
name: 'courseBlocks',
initialState: {
status: RequestStatus.IN_PROGRESS,
topics: {
// Maps topic id to the discussion course path and link
},
// List of chapter blocks in the course. Rest of the structure can be derived from children of topics
chapters: [],
// Mapping of block keys to block data
blocks: {},
},
reducers: {
fetchCourseBlocksRequest: (state) => {
state.status = RequestStatus.IN_PROGRESS;
},
fetchCourseBlocksSuccess: (state, { payload }) => {
state.status = RequestStatus.SUCCESSFUL;
Object.assign(state, payload);
},
fetchCourseBlocksFailed: (state) => {
state.status = RequestStatus.FAILED;
},
fetchCourseBlocksDenied: (state) => {
state.status = RequestStatus.DENIED;
},
},
});
export const {
fetchCourseBlocksRequest,
fetchCourseBlocksSuccess,
fetchCourseBlocksFailed,
fetchCourseBlocksDenied,
} = blocksSlice.actions;
export const blocksReducer = blocksSlice.reducer;

60
src/data/thunks.js Normal file
View File

@@ -0,0 +1,60 @@
/* eslint-disable import/prefer-default-export, no-unused-expressions */
import { camelCaseObject } from '@edx/frontend-platform';
import { logError } from '@edx/frontend-platform/logging';
import { getHttpErrorStatus } from '../discussions/utils';
import { getCourseBlocks } from './api';
import {
fetchCourseBlocksDenied,
fetchCourseBlocksFailed,
fetchCourseBlocksRequest,
fetchCourseBlocksSuccess,
} from './slices';
function normaliseCourseBlocks({
root,
blocks,
}) {
const topics = {};
const chapters = [];
const blockData = {};
blocks[root].children?.forEach(chapterId => {
const chapterData = camelCaseObject(blocks[chapterId]);
chapters.push(chapterData);
blockData[chapterId] = chapterData;
blocks[chapterId].children?.forEach(sequentialId => {
blockData[sequentialId] = camelCaseObject(blocks[sequentialId]);
blocks[sequentialId].children?.forEach(verticalId => {
blockData[verticalId] = camelCaseObject(blocks[verticalId]);
blocks[verticalId].children?.forEach(discussionId => {
const discussion = camelCaseObject(blocks[discussionId]);
blockData[discussionId] = discussion;
topics[discussion.studentViewData.topicId] = {
chapterName: blockData[chapterId].displayName,
verticalName: blockData[sequentialId].displayName,
unitName: blockData[verticalId].displayName,
unitLink: blockData[verticalId].lmsWebUrl,
};
});
});
});
});
return { chapters, blocks: blockData, topics };
}
export function fetchCourseBlocks(courseId, username) {
return async (dispatch) => {
try {
dispatch(fetchCourseBlocksRequest({ courseId }));
const data = await getCourseBlocks(courseId, username);
dispatch(fetchCourseBlocksSuccess(normaliseCourseBlocks(data)));
} catch (error) {
if (getHttpErrorStatus(error) === 403) {
dispatch(fetchCourseBlocksDenied());
} else {
dispatch(fetchCourseBlocksFailed());
}
logError(error);
}
};
}