diff --git a/docs/introduction.rst b/docs/introduction.rst index 3f8bce6b1..ad67d0a79 100644 --- a/docs/introduction.rst +++ b/docs/introduction.rst @@ -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 @@ -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. @@ -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 diff --git a/docs/links.rst b/docs/links.rst index 0c5cf371c..de070a3f1 100644 --- a/docs/links.rst +++ b/docs/links.rst @@ -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/ diff --git a/docs/xblock-tutorial/concepts/index.rst b/docs/xblock-tutorial/concepts/index.rst index b333c7350..b6c5ce0c7 100644 --- a/docs/xblock-tutorial/concepts/index.rst +++ b/docs/xblock-tutorial/concepts/index.rst @@ -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. diff --git a/docs/xblock-tutorial/overview/index.rst b/docs/xblock-tutorial/overview/index.rst index 7b1b6cfdb..bb4733f5e 100644 --- a/docs/xblock-tutorial/overview/index.rst +++ b/docs/xblock-tutorial/overview/index.rst @@ -1,8 +1,8 @@ .. _XBlock Overview: -############################# +############### XBlock Overview -############################# +############### .. toctree:: :maxdepth: 2 diff --git a/docs/xblock-tutorial/overview/introduction.rst b/docs/xblock-tutorial/overview/introduction.rst index ce14b1962..171972cf0 100644 --- a/docs/xblock-tutorial/overview/introduction.rst +++ b/docs/xblock-tutorial/overview/introduction.rst @@ -1,40 +1,10 @@ -.. _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` by implementing the XBlock API. Note that the XBlock API is not a RESTful API. @@ -42,28 +12,28 @@ 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 @@ -78,9 +48,9 @@ piece of a complete web page. Like HTML ``
`` 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. @@ -88,23 +58,23 @@ 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` and :ref:`anatomy` 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.