1. 12 Jun, 2017 1 commit
  2. 09 Jun, 2017 1 commit
  3. 30 May, 2017 1 commit
  4. 25 May, 2017 2 commits
  5. 30 Mar, 2017 1 commit
  6. 07 Oct, 2016 1 commit
  7. 19 May, 2016 1 commit
  8. 29 Apr, 2016 1 commit
    • WIP: xblock pipeline work (#10176) · 2497f0a0
      [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.
      Christina Roberts committed
  9. 01 Apr, 2016 3 commits
  10. 11 Mar, 2016 1 commit
    • mattdrayer/xblock-translations: Add I18N/L10N support to XBlocks via the runtime · 3ed3fea2
      * mattdrayer:  Latest proto code
      * mattdrayer:  Add translation.py
      * asadiqbal08: Xblock translation ugettext update, remove translation.py
      * mattdrayer:  Additional I18N work -- starting to see some translations!
      * asadiqbal08: Trying to make xBlock message catalog files path dynamic
      * mattdrayer:  Remove unnecessary modifications
      * mattdrayer:  Cleaned up implementation
      * mattdrayer:  Moved import statement
      * asadiqbal08: update as suggested
      * asadiqbal08: xblock its own domain
      * asadiqbal08: translation: secure none object
      * asadiqbal08: pylint
      * asadiqbal08: get locale from xblock
      * asadiqbal08: update
      * mattdrayer:  Determine XBlock locale path within runtime service
      * mattdrayer:  Determine module location via the runtime
      * mattdrayer:  Remove ModuleI18nService reference
      * asadiqbal08: override the service in studio
      * asadiqbal08: remove import
      * asadiqbal08: update the Modulei18nService
      * asadiqbal08: update the Modulei18nService
      * mattdrayer:  Remove redundant __class__ reference
      * asadiqbal08: update the docstring
      * asadiqbal08: tests
      * mattdrayer:  Remove specific ugettext override from ModuleI18nService
      * mattdrayer:  Move service operation to base class
      * mattdrayer:  Address quality violations
      * asadiqbal08: Investigating the test failure issue on jenkins and solved
      * asadiqbal08: First utilizing the parent class method
      * mattdrayer:  Use recommended callable approach
      * asadiqbal08: remove unused code
      * asadiqbal08: Updated the test to use cms preview module system runtime in order to get i18n service.
      * asadiqbal08: Pylint quality
      * asadiqbal08: update the service call to check xblock declarations
      * asadiqbal08: update doc string
      * asadiqbal08: i18n callable test in studio
      * asadiqbal08: test lms runtime for modulei18n service
      * asadiqbal08: add doc strings
      * asadiqbal08: Rename locale and domain to Flask-Babel convention
      Matt Drayer committed
  11. 28 Oct, 2015 1 commit
    • Changes to handler URL generation · 9b88bdb0
      * The LMS now also monkey-patches
        xmodule.x_module.descriptor_global_handler_url and
        xmodule.x_module.descriptor_global_local_resource_url so that we can
        get LMS XBlock URLs from the DescriptorSystem. That functionality is
        needed in the block transforms collect() phase for certain XModules
        like Video. For instance, say we want to generate the transcripts
        URLs. The collect phase is run asynchronously, without a user context.
      
      * The URL handler monkey-patching is now done in the startup.py files
        for LMS and Studio. Studio used to do this in the import of
        cms/djangoapps/contentstore/views/item.py. This was mostly just
        because it seemed like a sane and consistent place to put it.
      
      * LmsHandlerUrls was removed, its handler_url and local_resource_url
        methods were moved to be top level functions. The only reason that
        class existed seems to be to give a place to store course_id state,
        and that can now be derived from the block location.
      
      * To avoid the Module -> Descriptor ProxyAttribute magic that we do
        (which explodes with an UndefinedContext error because there is no
        user involved), when examining the block's handler method in
        handler_url, I made a few changes:
      
      ** Check the .__class__ to see if the handler was defined, instead of the
         block itself.
      
      ** The above required me to relax the check for _is_xblock_handler on the
         function, since that will no longer be defined.
      
      90% of this goes away when we kill XModules and do the refactoring we've
      wanted to do for a while.
      David Ormsbee committed
  12. 03 Aug, 2015 1 commit
  13. 18 Mar, 2015 1 commit
  14. 17 Mar, 2015 1 commit
  15. 05 Mar, 2015 1 commit
  16. 16 Feb, 2015 1 commit
    • xblock-external-ui: Add XBlock API call to render XBlock views · 2ba49579
      xblock-external-ui: Include CSRF token in the API answer
      xblock-external-ui: Include full path when building local_url
      xblock-external-ui: Fix TestHandleXBlockCallback & bok_choy, add tests
      xblock-external-ui: Only return `instance` in `_invoke_xblock_handler()`
      xblock-external-ui: Group resources by hash tag to avoid duplicate loads
      xblock-external-ui: PEP8
      xblock-external-ui: Fail early if the XBlock view is called anonymously
      
          We used to serve anonymous requests, but most XBlocks assume that the
          user is logged in, which can generate a lot of errors when the user is
          accessed or when an XBlock ajax callback is queried. Fail early to only
          get one error per page load, and prevent displaying the XBlock
          altogether when the LMS doesn't find an active user session.
      
      xblock-external-ui: Add request params in view render context
      xblock-external-ui: HTTP error status when file is too large for handler
      xblock-external-ui: Fix unicode encodings in XBlock rendering
      xblock-external-ui: Feature flag for API call ENABLE_XBLOCK_VIEW_ENDPOINT
      Xavier Antoviaque committed
  17. 12 Jan, 2015 1 commit
  18. 08 Jan, 2015 1 commit
  19. 17 Dec, 2014 2 commits
  20. 13 Dec, 2014 2 commits
  21. 05 Dec, 2014 1 commit
  22. 29 Oct, 2014 1 commit
  23. 21 Oct, 2014 1 commit
  24. 14 Oct, 2014 1 commit
  25. 25 Aug, 2014 1 commit
  26. 19 Aug, 2014 1 commit
  27. 08 May, 2014 1 commit
    • Make course ids and usage ids opaque to LMS and Studio [partial commit] · cd746bf8
      This commit adds the non-courseware lms/djangoapps and lms/lib.
      
      These keys are now objects with a limited interface, and the particular
      internal representation is managed by the data storage layer (the
      modulestore).
      
      For the LMS, there should be no outward-facing changes to the system.
      The keys are, for now, a change to internal representation only. For
      Studio, the new serialized form of the keys is used in urls, to allow
      for further migration in the future.
      
      Co-Author: Andy Armstrong <andya@edx.org>
      Co-Author: Christina Roberts <christina@edx.org>
      Co-Author: David Baumgold <db@edx.org>
      Co-Author: Diana Huang <dkh@edx.org>
      Co-Author: Don Mitchell <dmitchell@edx.org>
      Co-Author: Julia Hansbrough <julia@edx.org>
      Co-Author: Nimisha Asthagiri <nasthagiri@edx.org>
      Co-Author: Sarina Canelake <sarina@edx.org>
      
      [LMS-2370]
      Calen Pennington committed
  28. 29 Apr, 2014 1 commit
  29. 05 Mar, 2014 2 commits
    • Add tests and clean up A/B testing · bce7d9e4
      Also fixes STUD-1351
      Diana Huang committed
    • split testing support in the LMS. · 281ad63d
      Adds a split_test_module XModule, that can choose one of its children
      to display, based on a get_condition_for_user API added to the runtime.
      
      To test, add something like this to an xml course, or make equivalent
       tweaks in mongo.
      
       <vertical url_name="split_test_vert">
          <split_test url_name="split1" experiment_id="0" condition_id_to_child='{"0": "i4x://MITx/6.00x/html/split_test_cond0", "1": "i4x://MITx/6.00x/html/split_test_cond1"}'>
             <html url_name="split_test_cond0">condition 0</html>
             <html url_name="split_test_cond1">condition 1</html>
          </split_test>
        </vertical>
      
      Also needs an experiment configured in the course policy json: e.g.
      
              "user_partitions": [{"id": 0,
                                            "name": "Experiment 0",
                                            "description": "Unicorns?",
                                            "version": 1,
                                            "groups": [{"id": 0,
                                                              "name": "group 0",
                                                              "version": 1},
                                                              {"id": 1,
                                                              "name": "group 1",
                                                              "version": 1}]}]
      
      (This particular snippet will work inside a course with org MITx
       and course name 6.00x)
      
      Co-Author: Sarina Canelake <sarina@edx.org>
      Co-Author: Julia Hansbrough <julia@edx.org>
      Co-Author: Diana Huang <diana@edx.org>
      Co-Author: Calen Pennington <cale@edx.org>
      
      [LMS-2095]
      Victor Shnayder committed
  30. 25 Feb, 2014 1 commit
  31. 04 Feb, 2014 1 commit
  32. 30 Jan, 2014 1 commit
    • Unicode changes to support QRF · bc30addf
      fixing unit tests
      
      fixing merge error
      
      fixing xqueue submission issue with unicode url (trial 0.1)
      
      fixing fotmats as commented upon
      
      removing yaml file language selection
      
      Unicode changes to support QRF
      
      removed unnecessary pass in modulestore/init.py
      
      fixing merge error
      
      fixing fotmats as commented upon
      
      removing yaml file language selection
      
      fixing pep8 violations
      
      - fixing pylint violations
      
      pylint violation
      
      fixing line spaces and formats
      
      ignore pylint E1101
      
      remove empty line
      
      fixing pylint violations
      
       pep8 violations
      
      bulk mail unicode/decode
      
      fix migration error
      
      fix pep8 just to push again
      
      more unicode/decode
      Final changes to comments and error messages.
      Jay Zoldak committed
  33. 10 Dec, 2013 1 commit
  34. 26 Nov, 2013 1 commit
    • Enable un-authenticated handler urls · 6d613f9d
      Updates to depend on the latest version of XBlock, which includes
      support for service-to-service (thirdparty) handler urls, which aren't
      authenticated with a user (unlike handler requests coming from the
      xblock client-side javascript).
      
      Co-author: Ned Batchelder <ned@edx.org>
      Calen Pennington committed