The web fragments library provides a Python and Django implementation for managing fragments of web pages. In particular, this library refactors the fragment code from XBlock into a standalone implementation.
A Django view subclass called FragmentView is provided which supports three different ways of rendering a fragment into a page:
- the fragment can be rendered as a standalone page at its own URL
- the fragment can be rendered into another page directly from Django
- the fragment can be returned as JSON so that it can be rendered client-side
The rationale behind this design can be found in OEP-12.
The intention is that a client-side implementation will be provided in a subsequent version. This should provide JavaScript code to request fragements over AJAX and then dynamically update the current page. This logic will be a refactoring of the current implementation in edx-platform for rendering XBlocks. It is also intended that this functionality will enhance the capabilities around dependency loading.
The code in this repository is licensed under the AGPL 3.0 unless otherwise noted.
Please see LICENSE.txt
for details.
Contributions are very welcome. Please read the Open edX Contributing Guide for details.
Please do not report security issues in public. Please email security@openedx.org.
Have a question about this repository, or about Open edX in general? Please refer to the Open edX guide to Getting Help.