Commit Graph

97 Commits

Author SHA1 Message Date
stvn
3da9362ac8 Log and skip empty children when rendering library_content
instead of throwing an exception on None-access.
2020-08-24 10:04:25 -07:00
Guruprasad Lakshmi Narayanan
149ebfec58 Fix the order randomization behaviour of Randomized Content Block
The Randomized Content Block XBlock only randomizes the selection of
the children blocks and has unpredictable randomization of
the order of the selected child blocks due to the usage of sets, which
are unordered, for storing the selected blocks. This becomes apparent
when all the available child blocks in a library are chosen for a
Randomized Content Block, to randomize just the order of the child
blocks and not just the selection of the blocks. The order of the
selected blocks ends up being similar for multiple learners.

This change modifies the XBlock to store the selected child blocks in
a list, instead of a set, after randomly shuffling them.

A new block structure transformer, ContentLibraryOrderTransformer has
been added to transform the order of the selected children XBlocks to
match the order of the selections made in the
ContentLibraryTransformer. This ensures that same correct randomized order
of blocks is also returned by the course blocks API.
2020-08-11 11:46:49 -04:00
Sid Verma
99220e0967 Add "Source from library" XBlock
This lets the user import a block from a blockstore-based content library into a (modulestore based) course, by copying the block into the course.
2020-07-24 13:32:37 +05:30
Dillon Dumesnil
35549f56ba AA-220: Making Library Content an Aggregator CompletionMode
This change will prevent Library Content from being marked as
complete on view and the corresponding version bump to
edx-completion contains code that will start looking at the
children of the library content for completeness.
2020-07-01 17:33:54 -04:00
David Ormsbee
4f3a45f444 Revert "[BB-112] Fix the unpredictable order randomization issue with randomized content blocks" 2020-06-08 16:47:35 -04:00
Guruprasad Lakshmi Narayanan
5a2b607ea6 Fix the order randomization behaviour of Randomized Content Block
The Randomized Content Block XBlock only randomizes the selection of
the children blocks and has unpredictable randomization of
the order of the selected child blocks due to the usage of sets, which
are unordered, for storing the selected blocks. This becomes apparent
when all the available child blocks in a library are chosen for a
Randomized Content Block, to randomize just the order of the child
blocks and not just the selection of the blocks. The order of the
selected blocks ends up being similar for multiple learners.

This change modifies the XBlock to store the selected child blocks in
a list, instead of a set, after randomly shuffling them.
2020-05-20 13:07:57 +05:30
Aarif
98af9ce418 remove useless-supression warnings 2020-05-01 19:42:15 +05:00
Aarif
6ee2089077 fixed warnings for wrong-import-order 2020-04-08 23:43:06 +05:00
Awais Jibran
084b409662 Unnecessary logs. 2020-03-12 15:15:22 +05:00
Feanil Patel
9cf2f9f298 Run 2to3 -f future . -w
This will remove imports from __future__ that are no longer needed.

https://docs.python.org/3.5/library/2to3.html#2to3fixer-future
2019-12-30 10:35:30 -05:00
arbisoft
9b87cb0172 BOM-85
he builtin basestring abstract type was removed. Use str instead.
2019-08-09 22:08:57 +05:00
David Ormsbee
b1f3d2cef2 Revert "Fix the unpredictable order randomization issue with randomized content blocks" 2019-07-25 13:42:20 -04:00
Guruprasad Lakshmi Narayanan
df4aee23b9 Fix the order randomization behaviour of Randomized Content Block
The Randomized Content Block XBlock only randomizes the selection of
the children blocks and has unpredictable randomization of
the order of the selected child blocks due to the usage of sets, which
are unordered, for storing the selected blocks. This becomes apparent
when all the available child blocks in a library are chosen for a
Randomized Content Block, to randomize just the order of the child
blocks and not just the selection of the blocks. The order of the
selected blocks ends up being similar for multiple learners.

This change modifies the XBlock to store the selected child blocks in
a list, instead of a set, after randomly shuffling them.
2019-07-25 00:58:11 +05:30
asadazam93
e7ee94552b Added logs 2019-05-21 18:01:08 +05:00
Maxim Dorovkov
8702e40589 INCR-230 - Run python-modernize and isort on common/lib/xmodule/xmodule (#20506)
* INCR-230 - Run python-modernize and isort on common/lib/xmodule/xmodule, plus a few minor fixes suggested by Jeremy
2019-05-16 10:09:15 -04:00
asadazam93
e7cae866c3 Reverted logs 2019-05-13 12:38:55 +05:00
David Ormsbee
d2af1d4c5b Revert "Fix the unpredictable order randomization issue with randomized content blocks" 2019-05-08 12:42:44 -04:00
asadazam93
397ee3dc4e updated logs 2019-05-08 14:34:27 +05:00
David Ormsbee
21cc1f4719 Merge branch 'master' into guruprasad/randomize-question-order-pr 2019-05-06 16:33:51 -04:00
asadazam93
bc324c8cd4 Added logs 2019-05-03 15:13:49 +05:00
Guruprasad Lakshmi Narayanan
73ab30e342 Fix the order randomization behaviour of Randomized Content Block
The Randomized Content Block XBlock only randomizes the selection of
the children blocks and has unpredictable randomization of
the order of the selected child blocks due to the usage of sets, which
are unordered, for storing the selected blocks. This becomes apparent
when all the available child blocks in a library are chosen for a
Randomized Content Block, to randomize just the order of the child
blocks and not just the selection of the blocks. The order of the
selected blocks ends up being similar for multiple learners.

This change modifies the XBlock to store the selected child blocks in
a list, instead of a set, after randomly shuffling them.
2019-04-25 10:23:46 +05:30
Cory Lee
305167cd86 Removing unnecessary log statements 2018-10-18 11:08:54 -04:00
Michael Terry
a34c8c8233 Drop remaining coffee use
This basically commits the transpiled CoffeeScript JS (with minor
cleanup) and removes coffee build support.

A tiny amount of support for xblocks exists, because external users
may have xblocks with coffee. But no coffee in our tree anyway.
2018-04-13 14:10:40 -04:00
Alex Dusenbery
1cbf7ab0fb EDUCATOR-1290 | Remove over-limit block keys randomly for library content blocks. 2018-03-31 13:43:11 -04:00
Alex Dusenbery
a996822094 Revert "Revert "Track viewing of individual blocks.""
This reverts commit e2675f57b5f747b6a9e21067c75911fbd0341943.
2018-03-22 10:37:40 -04:00
Alex Dusenbery
82d5bef4f6 EDUCATOR-1290 | Create a new random.Random instance when selecting from library content blocks. 2018-03-15 11:31:41 -04:00
Alex Dusenbery
8bcdcc522e EDUCATOR-1290 | Make sure we have a key with a course id in it before library content logging call. 2018-02-28 09:49:25 -05:00
Alex Dusenbery
05319ab516 Fixup logging statement for randomized blocks. 2018-02-27 10:28:07 -05:00
Alex Dusenbery
919355cab1 Revert "Track viewing of individual blocks."
This reverts commit 4946b6b296.
2018-02-20 14:42:28 -05:00
J. Cliff Dyer
4946b6b296 Track viewing of individual blocks.
* Implement a ViewedEvent handling system which calls handlers when a
  block has been viewed for 5 seconds (configurable).
* Hook up Verticals to register their children blocks with this event,
  and submit completions once seen.

OSPR-2093
OC-3358
2018-02-15 15:13:48 -05:00
Sanford Student
af0909e8cf reducing logging for EDUCATOR-1290 2018-01-19 11:34:44 -05:00
Jeremy Bowman
f8e5e38cc4 PLAT-1884 Replace deprecated xblock.fragment usage 2018-01-11 14:20:12 -05:00
Jeremy Bowman
d3d6272d8f PLAT-1873 to_deprecated_string() cleanup part 1 2018-01-08 13:51:42 -05:00
Sanford Student
14618c35de EDUCATOR-1290: logging 2018-01-03 16:36:23 -05:00
J. Cliff Dyer
b8202e40de Handle default complete-by-viewing completion method.
* Vertical marks blocks completed when viewed.
* Functionality is hidden behind a waffle switch
* Submissions from front-end are limited to known-incomplete blocks
* Upgrades xblock to version 1.1.1
* Related future requirements listed in TODO tagged with EDUCATOR-1778
  and relevant opencraft OC-* ticket IDs.

OC-3088
2017-11-28 15:07:06 -05:00
Ned Batchelder
e23e3a0486 Fix a number of unused-import pylint violations 2017-11-21 19:57:06 -05:00
noraiz-anwar
73f9c02d6d optimize libraries iter for studio dashboard 2017-11-14 12:52:36 +05:00
Giulio Gratta
2ad885b726 Fix attrib check code for library_content import
Attributes come in as a list of dicts with strings as keys and values.
Implicitly casting each result as a tuple causes the code to split the key string into it's characters.
This yields a list of characters, the first two of which are placed into the variables "attr_name" and "attr_value".
This is not only wrong, but because keys tend to be more than 2 characters, the net result is:

"ValueError: too many values to unpack"
2017-08-04 10:47:05 -07:00
Andy Armstrong
93235d118d Reorder imports using isort (except lms and cms) 2017-05-30 16:04:54 -04:00
Mushtaq Ali
485ffb1b68 restrict move action 2017-03-01 19:29:59 +05:00
Gregory Martin
e1e47793df change help strings 2017-01-12 09:02:28 -05:00
Sanford Student
39fb66fccf removing scored/has_score from randomized content block
for TNL-4171
2016-09-30 09:59:39 -04:00
John Eskew
b5ab64505a Merge pull request #11331 from CredoReference/invalid-studio-user-permissions
Invalid StudioPermissionsService object in API to show/save xblock settings in CMS
2016-05-03 13:16:43 -04:00
Christina Roberts
2497f0a0eb WIP: xblock pipeline work (#10176)
[PERF-303] Integer XBlocks/XModules into the static asset pipeline.

This PR, based on hackathon work from Christina/Andy, implements a way to discover all installed XBlocks and XModules and to enumerate their public assets, then pulling them in during the collectstatic phase and hashing them.  In turn, the methods for generating URLs to resources will then returned the hashed name for assets, allowing them to be served from nginx/CDNs, and cached heavily.
2016-04-29 10:52:42 -04:00
Dmitry Viskov
bab4428297 Invalid StudioPermissionsService object in API to show/save xblock settings in CMS.
Randomized Content Block editor did not check Studio user's permissions
2016-04-21 19:52:25 +03:00
muzaffaryousaf
3cbbb8f3b1 Add/Remove Bookmark button to each unit in LMS courseware.
TNL-1957
2015-12-17 22:07:32 +05:00
David Adams
66a52497b4 Remove unused filter field from Randomized Content Block edit form. 2015-12-10 11:48:38 -08:00
Ned Batchelder
f5d0f3ff55 Remove useless pylint suppressions 2015-11-22 07:41:19 -05:00
Nimisha Asthagiri
a78b94d83a Transformer: ContentLibraryTransformer 2015-11-05 16:22:06 -05:00
Renzo Lucioni
2f0e663581 Use ugettext_noop instead of lambdas assigned to the underscore
Replaces instances of an old hack with the more clear ugettext_noop.
2015-11-04 09:17:18 -05:00