From 694790f1431622f09bff6c08b71dcc127fd9f2a7 Mon Sep 17 00:00:00 2001 From: Emad Rad Date: Sun, 13 Oct 2024 11:49:48 +0330 Subject: [PATCH 1/4] chore: cleanup - Trailing whitespaces removed - Typos fixed --- README.rst | 8 ++++---- catalog-info.yaml | 2 +- invideoquiz/public/js/src/config.js | 2 +- invideoquiz/public/js/src/invideoquiz.js | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/README.rst b/README.rst index 1b63122..d9ff9b4 100644 --- a/README.rst +++ b/README.rst @@ -1,7 +1,7 @@ In Video Quiz XBlock ==================== -This XBlock allows for edX components to be displayed to users inside of videos at specific time points. +This XBlock allows for Open edX components to be displayed to users inside of videos at specific time points. License ------- @@ -17,13 +17,13 @@ licenses any further contributions to this repository under `the AGPLv3 license` .. _final-bsd-3c-contribution: https://github.com/openedx/xblock-in-video-quiz/releases/tag/final-bsd-3c-contribution .. _BSD 3-Clause License: ./LICENSE-BSD-3c -.. _the APGLv3 license: ./LICENSE +.. _the AGPLv3 license: ./LICENSE Overview -------- -This XBlock expects to have a Video component and a Problem component +This XBlock expects to have a **Video component** and a **Problem component** added to the same Unit as itself. The XBlock is then configured (see below) to map timestamps (in seconds) @@ -49,7 +49,7 @@ root folder: .. code:: bash - $ make requirements + make requirements Enabling in Studio ------------------ diff --git a/catalog-info.yaml b/catalog-info.yaml index 68be19a..eb86567 100644 --- a/catalog-info.yaml +++ b/catalog-info.yaml @@ -5,6 +5,6 @@ metadata: annotations: github.com/project-slug: openedx/xblock-in-video-quiz spec: - type: xblock + type: xblock lifecycle: unmaintained owner: axim-engineering diff --git a/invideoquiz/public/js/src/config.js b/invideoquiz/public/js/src/config.js index b106473..e870ed8 100644 --- a/invideoquiz/public/js/src/config.js +++ b/invideoquiz/public/js/src/config.js @@ -7,7 +7,7 @@ var InVideoQuizXBlock = InVideoQuizXBlock || {{}}; var videoId = '{video_id}'; // This is (temporary) error handling for previous-submitted invalid timemap. - try {{ + try {{ if (videoId) {{ InVideoQuizXBlock.config[videoId] = JSON.parse(`{timemap}`); }} diff --git a/invideoquiz/public/js/src/invideoquiz.js b/invideoquiz/public/js/src/invideoquiz.js index 1d893e7..a1e5470 100644 --- a/invideoquiz/public/js/src/invideoquiz.js +++ b/invideoquiz/public/js/src/invideoquiz.js @@ -89,7 +89,7 @@ function InVideoQuizXBlock(runtime, element) { } }); } - + function resizeInVideoProblem(currentProblem, dimensions) { currentProblem.css(dimensions); } From f7348f2d13c3ffa6cd5e2a338045cb8f575b6733 Mon Sep 17 00:00:00 2001 From: Emad Rad Date: Sun, 13 Oct 2024 12:04:55 +0330 Subject: [PATCH 2/4] fix: enable in studio description updated --- README.rst | 13 +++++++++---- images/advanced-settings.png | Bin 0 -> 44351 bytes 2 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 images/advanced-settings.png diff --git a/README.rst b/README.rst index d9ff9b4..a219121 100644 --- a/README.rst +++ b/README.rst @@ -58,10 +58,15 @@ You can enable the In Video Quiz XBlock in Studio through the advanced settings. 1. From the main page of a specific course, navigate to - ``Settings -> Advanced Settings`` from the top menu. -2. Check for the ``advanced_modules`` policy key, and add - ``"invideoquiz"`` to the policy value list. -3. Click the "Save changes" button. + ``Settings -> Advanced Settings`` from the top menu. +2. Add the ``"invideoquiz"`` to your ``Advanced module list``. +3. Click the "**Save changes**" button. + +.. image:: ./images/advanced-settings.png + :alt: Advanced Settings + :width: 500px + :align: center + Configuration in Studio ----------------------- diff --git a/images/advanced-settings.png b/images/advanced-settings.png new file mode 100644 index 0000000000000000000000000000000000000000..a8b16153c7bb652a0d5a875f2af2717341c4dc51 GIT binary patch literal 44351 zcmbrlWmH^I(=OOFG=at)f@{zKf#A}(6Wj?JENCD&gvQ<7T?4`0-Q696ySof|?>Do) zHFws`y=(ecpQ_rmt9I@EoH|wK1S!Z%pn%_l0RRAsl%%K<000640I>WBuy2&J$Crw? z3xI;GirC%l&FkCm`RwxI;*E85cnD@uU0YqXwY7bCd>k4a*xlK_zdaHY6F@pSbC|x;2#4HjtGLRu%tSVk55LEhlZKsHh+= zrLwg#d)wk!b8ve%5O%*^YL>s2yL>AxDUJ;X7`wVnH5OZaxCbD~-res0DJ$siY7&<+ z5;sUdMn>AZy}3Va5Z4S-j~R!7C%nI1<3F83FGl0SZHYN{tnf!EJ&R&&jiWyMs* z#LP8hA8$rq7lFAs8O24}GAag&U+pr|6A^g)0Psv{`wz-eh5%&Vu)({;gh*W}qnRXq zjxa&eHusrDMhJr*XYrR*L@dJ=5pc^HcC(9ei^ z_TiGM4vjZYFB73AjSu``i>ls@7T(ED8C`Q-Wzt?vCL!gI4HlUCrJ;g|le6<}Yu5(u z@yG;p5q+nNOAEdw0iPyyUH79=CIT#T4K&2ytq; zF4aW?>7C{({d;qM<+!N-?7OQUo&ViCr~ET@KT{!W<`{y$L{ z6$XLXi4Q~W*G1}0dAXFT@%;SU7>Nr8T5e@&A@qW(A`OR!cPDvep|9JDOL-tB0HEkW zN>oV2dGTl(1_i)^43|ao$LwW9t{;kkN@n5q4m}S-CJTim0--D*paB@J6C1&o4jn<6 z3_bt$1wu5sSVyw@prn2OrDAi@k29z zmTLROS(T4N5deGbAE2C@GkQ#?gKJvfZLZrJIf;@mo$3+UdGmI$rj*5>N8}AWX4Uja z3cqo*VZfMme1J~s{7I}Kma$$T!61+k{ld}t6`1C6A^R~IRS<_@a4GuzGgak%C>(Iy z`wI}q$mW;hiR&t|pKy|2-!r0v_(4Z=LVK3=#q~xozzcWuOQxdp{%~oxv%rrDgL^84 zT)XL)Dk?yx&n1>K8)?O|NYr_wJ*}lqWEIw)mG1}31+G+;9+mGf5Lf}ijiw6u)62C% zZJ8Cad3uL}4|(Z_am#i*&<}m&MH4HtB~~@a0QU7)2g%{z$MMqvj@fTQUe1Cw>+nCe%3!bklAEsE%YzVDkDe#&MV2uNSg8P zu*ZF33>%w_FfxuL0wSvl897z=Qv(ohj!n*92J!DJ>u5EB$rBT}HT3JrNX`o)BDFdF znSze%M=Tr-%f=P$+Z1?mD&O3K_P}a+OZ7|~4JU)wmuK} lJAR7Y|B^r) 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 literal 0 HcmV?d00001 From ebbf30cae776388fee5a504b098dd78686ee7376 Mon Sep 17 00:00:00 2001 From: Emad Rad Date: Sun, 13 Oct 2024 13:16:44 +0330 Subject: [PATCH 3/4] chore: duplicate license removed --- README.rst | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/README.rst b/README.rst index a219121..ff01ff1 100644 --- a/README.rst +++ b/README.rst @@ -3,23 +3,6 @@ In Video Quiz XBlock This XBlock allows for Open edX components to be displayed to users inside of videos at specific time points. -License -------- - -This software was forked from https://github.com/Stanford-Online/xblock-in-video-quiz - -All contribution made to those repositories, the last of which is tagged -`final-bsd-3c-contribution`_, are licensed by the original contributors under -the terms of the `BSD 3-Clause License`_. - -This software is now maintained for the purpose of the Open edX Project, which -licenses any further contributions to this repository under `the AGPLv3 license`_. - -.. _final-bsd-3c-contribution: https://github.com/openedx/xblock-in-video-quiz/releases/tag/final-bsd-3c-contribution -.. _BSD 3-Clause License: ./LICENSE-BSD-3c -.. _the AGPLv3 license: ./LICENSE - - Overview -------- @@ -125,4 +108,15 @@ configuration. License ------- -The In Video Quiz XBlock is available under the AGPL Version 3.0 License. +This software was forked from https://github.com/Stanford-Online/xblock-in-video-quiz + +All contribution made to those repositories, the last of which is tagged +`final-bsd-3c-contribution`_, are licensed by the original contributors under +the terms of the `BSD 3-Clause License`_. + +This software is now maintained for the purpose of the Open edX Project, which +licenses any further contributions to this repository under `the AGPLv3 license`_. + +.. _final-bsd-3c-contribution: https://github.com/openedx/xblock-in-video-quiz/releases/tag/final-bsd-3c-contribution +.. _BSD 3-Clause License: ./LICENSE-BSD-3c +.. _the AGPLv3 license: ./LICENSE From f52b15330fd716e02cd33d2802f58574ce8f5f45 Mon Sep 17 00:00:00 2001 From: Emad Rad Date: Sun, 13 Oct 2024 15:03:29 +0330 Subject: [PATCH 4/4] fix: tutor installation section added --- README.rst | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/README.rst b/README.rst index ff01ff1..3845c7b 100644 --- a/README.rst +++ b/README.rst @@ -26,6 +26,35 @@ Multiple timestamps can be configured per video. Installation ------------ +Tutor +***** + +To add the In Video Quiz XBlock package to Tutor, follow these steps: + +1. Add the package to the ``OPENEDX_EXTRA_PIP_REQUIREMENTS`` using the following command: + +.. code:: bash + + tutor config save --append OPENEDX_EXTRA_PIP_REQUIREMENTS="git+https://github.com/openedx/xblock-in-video-quiz@LATEST_RELEASE" + + +5. Rebuild the Open edX image to include the new package: + + .. code:: bash + + tutor images build openedx + +6. Start or restart the Open edX platform: + + .. code:: bash + + tutor local start -d + +The In Video Quiz XBlock should now be installed and available for use in your Open edX instance. + +Other +***** + Install the requirements into the python virtual environment of your ``edx-platform`` installation by running the following command from the root folder: