Skip to content

Commit

Permalink
docs: Combine docs XBlock introduction texts
Browse files Browse the repository at this point in the history
  • Loading branch information
sarina committed Nov 3, 2023
1 parent cd6ce49 commit 243e141
Show file tree
Hide file tree
Showing 5 changed files with 49 additions and 67 deletions.
33 changes: 22 additions & 11 deletions docs/introduction.rst
Original file line number Diff line number Diff line change
@@ -1,8 +1,18 @@
.. _Introduction to XBlocks:

#############################
#######################
Introduction to XBlocks
#############################
#######################

This section introduces XBlocks.

.. contents::
:local:
:depth: 1

********
Overview
********

As a developer, you build XBlocks that course teams use to create independent
course components that work seamlessly with other components in an online
Expand All @@ -14,17 +24,18 @@ can build XBlocks to represent larger structures such as lessons, sections, and
entire courses.

A primary advantage to XBlocks is that they are sharable. The code you write
can be deployed in any instance of the edX Platform or other XBlock runtime
can be deployed in any instance of the Open edX Platform or other XBlock runtime
application, then used by any course team using that system.

By combining XBlocks from a wide variety of sources, from text and video, to
multiple choice and numerical questions, to sophisticated collaborative and
interactive learning laboratories, course teams can create rich and engaging
courseware.
In educational applications, XBlocks can be used to represent individual
problems, web-formatted text and videos, interactive simulations and labs, or
collaborative learning experiences. Furthermore, XBlocks are composable,
allowing an XBlock developer to control the display of other XBlocks to compose
lessons, sections, and entire courses.

*****************************************
****************************************
XBlock Independence and Interoperability
*****************************************
****************************************

You must design your XBlock to meet two goals.

Expand All @@ -34,9 +45,9 @@ You must design your XBlock to meet two goals.
* The XBlock must work together with other XBlocks. Course teams must be
able to combine different XBlocks in flexible ways.

*****************************************
************************************
XBlocks Compared to Web Applications
*****************************************
************************************

XBlocks are like miniature web applications: they maintain state in a storage
layer, render themselves through views, and process user actions through
Expand Down
1 change: 1 addition & 0 deletions docs/links.rst
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
.. _Download Python: https://www.python.org/downloads/release/python-386/

.. _GitHub Help: https://help.github.com/articles/set-up-git
.. _Git: https://help.github.com/articles/set-up-git

.. _VirtualEnv: http://www.virtualenv.org/en/latest/

Expand Down
2 changes: 1 addition & 1 deletion docs/xblock-tutorial/concepts/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ XBlock Concepts
You build XBlocks that course teams use to create independent course components
that work seamlessly with other components in an online course. For example,
you can build XBlocks to represent individual problems, lessons, or course
sections. For more information, see :ref:`Introduction to XBlocks`.
sections. For more information, see :ref:`Tutorial Introduction to XBlocks`.

This part of the tutorial provides conceptual information about XBlocks that
all XBlock developers must understand.
Expand Down
4 changes: 2 additions & 2 deletions docs/xblock-tutorial/overview/index.rst
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
.. _XBlock Overview:

#############################
###############
XBlock Overview
#############################
###############

.. toctree::
:maxdepth: 2
Expand Down
76 changes: 23 additions & 53 deletions docs/xblock-tutorial/overview/introduction.rst
Original file line number Diff line number Diff line change
@@ -1,69 +1,39 @@
.. _Introduction to XBlocks:
.. _Tutorial Introduction to XBlocks:

#############################
Introduction to XBlocks
#############################
.. include:: ../../introduction.rst

This section introduces XBlocks.

.. contents::
:local:
:depth: 1

***************
Overview
***************

The XBlock specification is a component architecture designed to make it easier
to create new online educational experiences. XBlock was developed by edX,
which has a focus in education, but the technology can be used in web
applications that need to use multiple independent components and display those
components on a single web page.

An XBlock developer does not need to download and run the entire edx-platform
developer stack or to know anything about the technologies that edX uses to
provide the XBlock runtime. Instead, XBlock developers writing with edX in mind
can work from the xblock-sdk and deploy their work on any platform that is
compatible with XBlocks.

In educational applications, XBlocks can be used to represent individual
problems, web-formatted text and videos, interactive simulations and labs, or
collaborative learning experiences. Furthermore, XBlocks are composable,
allowing an XBlock developer to control the display of other XBlocks to compose
lessons, sections, and entire courses.

*****************************
***********************
XBlock API and Runtimes
*****************************
***********************

Any web application can be an :ref:`XBlock runtime<XBlock Runtimes>` by
implementing the XBlock API. Note that the XBlock API is not a RESTful API.
XBlock runtimes can compose web pages out of XBlocks that were developed by
programmers who do not need to know anything about the other components that a
web page might be using or displaying.

*****************************
XBlocks and the edX Platform
*****************************
*********************************
XBlocks and the Open edX Platform
*********************************

The edX Platform is an XBlock runtime and edX currently provides most of the
support for the development of the XBlock library and specification.
Programmers who use the edx-platform devstack instead of the xblock-sdk to
The Open edX Platform is an XBlock runtime and the Open edX community
currently provides most of the support for the development of the XBlock library and specification.
Programmers who use Tutor or the edx-platform devstack instead of the xblock-sdk to
develop an XBlock should make sure that their XBlock is fully compliant with
the XBlock specification before deploying to other XBlock runtimes. More
specifically, XBlocks should package any services provided by edx-platform that
a different XBlock compliant runtime might not provide.

The edX Platform currently has a large suite of XBlocks built into its primary
The Open edX Platform currently has a large suite of XBlocks built into its primary
repository that are available to course developers. Those XBlocks include HTML
content, videos, and interactive problems. The edX Platform also includes many
content, videos, and interactive problems. The Open edX Platform also includes many
specialized XBlocks such as the :ref:`opencoursestaff:Google Drive Files Tool`
and :ref:`opencoursestaff:Open Response Assessments Two`. For more information,
see :ref:`XBlocks and the edX Platform`.

***********************
**********************
XBlocks for Developers
***********************
**********************

Developers can select from functionality developed by the Open edX community by
installing an XBlock on their instance of Open edX. Developers can integrate
Expand All @@ -78,33 +48,33 @@ piece of a complete web page. Like HTML ``<div>`` tags, XBlocks can represent
components as small as a paragraph of text, a video, or a multiple choice input
field, or as large as a section, a chapter, or an entire course.

===================
=============
Prerequisites
===================
=============

This tutorial is for developers who are new to XBlock. To use this tutorial,
you should have basic knowledge of the following technologies.

* Python
* JavaScript
* HTML and CSS
* Python virtualenv
* Git
* Python `VirtualEnv`_
* `Git`_

===================
================
XBlock Resources
===================
================

This tutorial is meant to guide developers through the process of creating an
XBlock, and to explain the :ref:`concepts<XBlock Concepts>` and
:ref:`anatomy<Anatomy of an XBlock>` of XBlocks.

EdX provides the `XBlock SDK`_ to support the creation of new XBlocks.
The `XBlock SDK`_ supports the creation of new XBlocks.
Developers should also see the :ref:`xblockapi:EdX XBlock API Guide`.

=========================================
========================================
XBlock Independence and Interoperability
=========================================
========================================

You must design your XBlock to meet two criteria.

Expand Down

0 comments on commit 243e141

Please sign in to comment.