3.3. Create Your First XBlock#
Before you continue, make sure that you have set up the XBlock SDK. You then create the XBlock and deploy it in the XBlock SDK.
3.3.1. Create an XBlock#
You use the XBlock SDK to create skeleton files for an XBlock. To do this, follow these steps at a command prompt.
Change to the
xblock_developmentdirectory, which contains the
Run the following command to create the skeleton files for the XBlock.
(venv) $ xblock-sdk/bin/workbench-make-xblock
Instructions in the command window instruct you to determine a short name and a class name. Follow the guidelines in the command window to determine the names that you want to use.
You will be prompted for two pieces of information: * Short name: a single word, all lower-case, for directory and file names. For a hologram 3-D XBlock, you might choose "holo3d". * Class name: a valid Python class name. It's best if this ends with "XBlock", so for our hologram XBlock, you might choose "Hologram3dXBlock". Once you specify those two names, a directory is created in the ``xblock_development`` directory containing the new project. If you don't want to create the project here, or you enter a name incorrectly, type Ctrl-C to stop the creation script. If you don't want the resulting project, delete the directory it created.
At the command prompt, enter the Short Name you selected for your XBlock.
$ Short name: myxblock
At the command prompt, enter the Class name you selected for your XBlock.
$ Class name: MyXBlock
The skeleton files for the XBlock are created in the
For more information about the XBlock files, see
Anatomy of an XBlock.
3.3.2. Install the XBlock#
After you create the XBlock, you install it in the XBlock SDK.
xblock_development directory, use
pip to install your XBlock.
(venv) $ pip install -e myxblock
You can then test your XBlock in the XBlock SDK.
3.3.3. Create the SQLite Database#
Before running the XBlock SDK the first time, you must create the SQLite database.
xblock_developmentdirectory, run the following command to create the database and the tables.
(venv) $ python xblock-sdk/manage.py migrate
You are prompted to indicate whether or not to create a Django superuser.
You just installed Django's auth system, which means you don't have any superusers defined. Would you like to create one now? (yes/no):
3.3.4. Run the XBlock SDK Server#
To see the web interface of the XBlock SDK, you must run the SDK server.
xblock_development directory, run the following command to start the
(venv) $ python xblock-sdk/manage.py runserver
If you do not specify a port, the XBlock SDK server uses port 8000.
To use a different port, specify it in the
Then test that the XBlock SDK is running. In a browser, go to
http://localhost:8000. You should see the following page.
The page shows the XBlocks installed automatically with the XBlock SDK. Note that the page also shows the MyXBlock XBlock that you created in Create Your First XBlock.
184.108.40.206. Get Help for the XBlock SDK Server#
To get help for the XBlock SDK
runserver command, run the following
(venv) $ python xblock-sdk/manage.py help
The command window lists and describes the available commands.
3.3.5. Next Steps#
You have now completed the Getting Started section of the XBlock tutorial. In the next sections, you will learn how to use the XBlock SDK, about the anatomy of an XBlock, and how to customize your new XBlock.