Commit Graph

5 Commits

Author SHA1 Message Date
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
Usman Khalid
fe54b085c6 Added ability to disable xblock types in LMS.
TNL-2305
2015-07-03 20:58:40 +05:00
Xavier Antoviaque
0293727220 hidden-module-unicode: Return unicode string to pass assertion
XBlock Fragments expect unicode strings, and fail on an assertion when
it isn't:

```
2013-11-14 07:55:50,774 ERROR 3788 [django.request] base.py:215 - Internal Server Error: /courses/TestU/TST101/now/courseware/41d55c576a574fde99319420228f7f88/5fef5794e34842f4a2d45ebcdeaa9a3a/
Traceback (most recent call last):
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 111, in get_response
    response = callback(request, *callback_args, **callback_kwargs)
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/contrib/auth/decorators.py", line 20, in _wrapped_view
    return view_func(request, *args, **kwargs)
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/utils/decorators.py", line 91, in _wrapped_view
    response = view_func(request, *args, **kwargs)
  File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/views/decorators/cache.py", line 75, in _cache_controlled
    response = viewfunc(request, *args, **kw)
  File "/edx/app/edxapp/edx-platform/lms/djangoapps/courseware/views.py", line 407, in index
    context['fragment'] = section_module.render('student_view')
  File "/edx/app/edxapp/venvs/edxapp/src/xblock/xblock/core.py", line 156, in render
    return self.runtime.render(self, view, context)
  File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/x_module.py", line 903, in render
    return block.xmodule_runtime.render(to_render, view_name, context)
  File "/edx/app/edxapp/venvs/edxapp/src/xblock/xblock/runtime.py", line 356, in render
    frag = view_fn(context)
  File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/seq_module.py", line 77, in student_view
    rendered_child = child.render('student_view', context)
  File "/edx/app/edxapp/venvs/edxapp/src/xblock/xblock/core.py", line 156, in render
    return self.runtime.render(self, view, context)
  File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/x_module.py", line 903, in render
    return block.xmodule_runtime.render(to_render, view_name, context)
  File "/edx/app/edxapp/venvs/edxapp/src/xblock/xblock/runtime.py", line 356, in render
    frag = view_fn(context)
  File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/vertical_module.py", line 27, in student_view
    rendered_child = child.render('student_view', context)
  File "/edx/app/edxapp/venvs/edxapp/src/xblock/xblock/core.py", line 156, in render
    return self.runtime.render(self, view, context)
  File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/x_module.py", line 903, in render
    return block.xmodule_runtime.render(to_render, view_name, context)
  File "/edx/app/edxapp/venvs/edxapp/src/xblock/xblock/runtime.py", line 356, in render
    frag = view_fn(context)
  File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/x_module.py", line 464, in student_view
    return Fragment(self.get_html())
  File "/edx/app/edxapp/venvs/edxapp/src/xblock/xblock/fragment.py", line 34, in __init__
    self.add_content(content)
  File "/edx/app/edxapp/venvs/edxapp/src/xblock/xblock/fragment.py", line 71, in add_content
    assert isinstance(content, unicode)
AssertionError
```
2013-11-14 13:57:08 +01:00
Victor Shnayder
fffbb55944 Make hidden_module not cause 500 errors by adding a get_html() 2013-02-14 12:45:01 -05:00
Calen Pennington
a0f550396c Make xmodule fit the typical python installation setup 2012-07-02 13:19:27 -04:00