Skip to content
Snippets Groups Projects
  1. Jun 08, 2020
  2. May 20, 2020
    • Guruprasad Lakshmi Narayanan's avatar
      Fix the order randomization behaviour of Randomized Content Block · 5a2b607e
      Guruprasad Lakshmi Narayanan authored
      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.
      5a2b607e
  3. May 12, 2020
  4. May 10, 2020
  5. May 08, 2020
  6. May 04, 2020
  7. Mar 10, 2020
  8. Mar 04, 2020
  9. Feb 25, 2020
  10. Feb 21, 2020
    • Braden MacDonald's avatar
      REST API to export modulestore XBlocks as OLX. · 23d649d7
      Braden MacDonald authored
      This was originally a separate plugin called openedx-olx-rest-api.
      
      It provides a Studio API that any user with course authoring permission can use to get the OLX of an individual XBlock or a unit. Without this, the only way to get an XBlock's OLX was to download the tarball of the entire course.
      
      Examples of usage (be logged in to Studio on devstack):
      
      Simple HTML XBlock:
      http://localhost:18010/api/olx-export/v1/xblock/block-v1:edX+DemoX+Demo_Course+type@html+block@030e35c4756a4ddc8d40b95fbbfff4d4/
      
      Exporting a unit:
      http://localhost:18010/api/olx-export/v1/xblock/block-v1:edX+DemoX+Demo_Course+type@vertical+block@134df56c516a4a0dbb24dd5facef746e/
      
      Example output for an HTML block:
      
          { 
             "root_block_id":"block-v1:edX+DemoX+Demo_Course+type@html+block@030e35c4756a4ddc8d40b95fbbfff4d4",
             "blocks":{ 
                "block-v1:edX+DemoX+Demo_Course+type@html+block@030e35c4756a4ddc8d40b95fbbfff4d4":{ 
                   "olx":"<html display_name=\"Blank HTML Page\"><![CDATA[\n<p><strong>Welcome to the edX Demo Course Introduction.</strong></p>\n]]></html>\n"
                }
             }
          }
      
      The code is designed primarily for use when importing content into Blockstore. So it will:
      * Export HTML blocks as a combined OLX/HTML file, with the HTML in a CDATA section
      * Convert vertical blocks to unit blocks (unit is like a vertical but has no UI elements)
      * Detect static files (such as images) used by the XBlock and list the absolute URL of each static file in the "static_files": {...} JSON element for each XBlock that has at least one static file usage. This can handle static files that are in mongo ("contentstore" / "Files & Uploads") as well as files generated on-the-fly during OLX serialization via the export_fs API (mostly this is video transcripts).
      23d649d7
  11. Jan 28, 2020
  12. Sep 26, 2019
  13. Sep 13, 2019
  14. Sep 03, 2019
  15. Aug 30, 2019
  16. Jul 25, 2019
  17. Jul 24, 2019
    • Guruprasad Lakshmi Narayanan's avatar
      Fix the order randomization behaviour of Randomized Content Block · df4aee23
      Guruprasad Lakshmi Narayanan authored
      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.
      df4aee23
  18. Jul 09, 2019
  19. May 08, 2019
  20. Apr 25, 2019
    • Guruprasad Lakshmi Narayanan's avatar
      Fix the order randomization behaviour of Randomized Content Block · 73ab30e3
      Guruprasad Lakshmi Narayanan authored
      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.
      73ab30e3
  21. Apr 12, 2019
  22. Mar 28, 2019
  23. Mar 27, 2019
  24. Mar 26, 2019
  25. Mar 25, 2019
  26. Mar 11, 2019
    • Josh McLaughlin's avatar
      Add dashboard announcements feature · 4d4b0405
      Josh McLaughlin authored
      - Add announcements view using JSX to the dashboard sidebar
      - Create a new maintenance interface to edit and manage announcements
      - Adds an override to main.html template to include new skip links
      - Add plugins required for announcements to TinyMCE
      
      This is motivated by a desire to have system wide messages for students
      that show on the dashboard. Enabled with FEATURES['ENABLE_ANNOUNCEMENTS'].
      Global staff are allowed to edit from the studio maintenance view.
      4d4b0405
  27. Dec 20, 2018
  28. Oct 31, 2018
    • Calen Pennington's avatar
      Add Content Type Gating Behind Waffle Flag · 83d676cb
      Calen Pennington authored
      Content Type Gating: Xblocks that have a graded component cannot be
      accessed by audit track users.
        - Caveats:
          - In studio, instructors can set certain xblocks to be available to
            all users, but graded components will default to not being
            available for audit users
          - If a course does not have a verified mode option, all users will
            have access to graded content.
      
      The Waffle Flag: The waffle flag is of for now.
        It's name is: ```content_type_gating.debug```
      
      This Commit Does NOT Include: Displaying for a user WHY they do not have
      access to a specific piece of content.  That change will be part of
      another PR.
      83d676cb
  29. Oct 29, 2018
  30. Sep 15, 2018
  31. Jul 23, 2018
    • Bill Filler's avatar
      Add Journals support · c746a4e6
      Bill Filler authored
      Enable the journal app in LMS. Add support to display Journals on index
      and courseware pages and dashboard.
      c746a4e6
  32. Jun 13, 2018
    • David Ormsbee's avatar
      Enable model-caching of discussions ID mapping. · 72ed987d
      David Ormsbee authored
      Doing modulestore lookups is expensive, so commit 695b0362 created a
      course_publish listener that would materialize the discussion ID to
      XBlock usage key mapping into the CourseDiscussionSettings model.
      
      However, the signal wasn't hooked up to the Studio process, so that
      async task was never called. When hooking it up, I also discovered that
      bok choy tests related to partitioning were failing because of a race
      condition where multiple processes are overwriting the discussion
      settings. To make sure this wasn't an issue, I moved the mapping to
      its own table.
      
      This is part of ARCH-111, and the overall Course Structures API
      deprecation.
      72ed987d
  33. May 04, 2018
  34. Apr 25, 2018
  35. Mar 26, 2018
  36. Feb 26, 2018
  37. Feb 23, 2018
  38. Feb 16, 2018
  39. Feb 01, 2018