Problem Builder and Step Builder
--------------------------------
[![Circle CI](https://circleci.com/gh/open-craft/problem-builder.svg?style=svg)](https://circleci.com/gh/open-craft/problem-builder)
This repository provides two XBlocks: Problem Builder and Step Builder.
Both blocks allow to create questions of various types. They can be
used to simulate the workflow of real-life mentoring, within an edX
course.
Supported features include:
* **Free-form answers** (textarea) which can be shared accross
different XBlock instances (for example, to allow a student to
review and edit an answer they gave before).
* **Self-assessment MCQs** (multiple choice questions), to display
predetermined feedback to a student based on his choices in the
self-assessment. Supports rating scales and arbitrary answers.
* **MRQs (Multiple Response Questions)**, a type of multiple choice
question that allows the student to select more than one choice.
* **Answer recaps** that display a read-only summary of a user's
answer to a free-form question asked earlier in the course.
* **Progression tracking**, to require that the student has
completed a particular step before allowing them to complete the
next step. Provides a link to the next step to the student.
* **Tables**, which allow to present answers from the student to
free-form answers in a concise way. Supports custom headers.
* **Dashboards**, for displaying a summary of the student's answers
to multiple choice questions. [Details](doc/Dashboard.md)
The following screenshot shows an example of a Problem Builder block
containing a free-form question, two MCQs and one MRQ:
![Problem Builder Example](doc/img/mentoring-example.png)
Installation
------------
You can install Problem Builder from [PyPI](https://pypi.org/project/xblock-problem-builder/)
using this command:
```
pip install xblock-problem-builder
```
For full details, see "Open edX Installation", below.
Usage
-----
See [Usage Instructions](doc/Usage.md)
Workbench installation and settings
-----------------------------------
For developers, you can install this XBlock into an XBlock SDK workbench's
virtualenv.
Firstly, create a virtualenv:
```bash
~/xblock_development $ virtualenv venv
~/xblock_development $ . venv/bin/activate
```
Now run the following commands from the problem builder repo
root to install the problem builder dependencies:
```bash
(venv) ~/xblock_development/problem-builder $ pip install -r requirements.txt
(venv) ~/xblock_development/problem-builder $ pip install -r requirements-dev.txt
```
Switch to the created XBlock SDK repository, install its dependencies, and
create its migrations:
```bash
(venv) ~/xblock_development/problem-builder $ cd ../venv/src/xblock-sdk
(venv) ~/xblock_development/venv/src/xblock-sdk $ make pip
(venv) ~/xblock_development/venv/src/xblock-sdk $ python manage.py makemigrations workbench
```
Create the following configuration file in `workbench/settings_pb.py`:
```python
from settings import *
INSTALLED_APPS += ('problem_builder',)
DATABASES['default']['NAME'] = 'var/workbench.db'
```
Because this XBlock uses a Django model, you need to sync the database
before starting the workbench. Run this from the XBlock repository
root:
```bash
$ ./manage.py migrate --settings=workbench.settings_pb
```
Running the workbench
---------------------
```bash
$ ./manage.py runserver 8000 --settings=workbench.settings_pb
```
Access it at [http://localhost:8000/](http://localhost:8000).
Running tests
-------------
Install [Xvfb](https://en.wikipedia.org/wiki/Xvfb). For instance:
```bash
$ apt-get install xvfb
```
Install [firefox
38.0.5](https://ftp.mozilla.org/pub/firefox/releases/38.0.5) in
`/opt/firefox-38.0.5`. For instance:
```bash
$ mkdir /opt/firefox-38.0.5
$ cd /opt/firefox-38.0.5
$ wget https://ftp.mozilla.org/pub/firefox/releases/38.0.5/linux-x86_64/en-US/firefox-38.0.5.tar.bz2
$ tar -xvf firefox-38.0.5.tar.bz2
```
From the xblock-problem-builder repository root, run the tests with the
following command:
```bash
$ PATH=/opt/firefox-38.0.5/firefox tox
```
To run only the quality tests run:
```bash
$ PATH=/opt/firefox-38.0.5/firefox tox -e quality
```
To run only the integration tests run:
```bash
$ PATH=/opt/firefox-38.0.5/firefox tox -e integration
```
Extracting Translatable Strings
-------------------------------
To extract/update strings for translation, you will need i18n_tools:
```bash
pip install git+https://github.com/edx/i18n-tools.git#egg=i18n_tools
```
To extract strings, use `i18n_tool`. We added two dummy translations for testing. Easily set your openedx instance to use one of them (`eo` and `rtl`) and check.
If you want to add a new language:
1. Clone `en` directory to `problem_builder/locale/<lang_code>/` for example: `problem_builder/locale/fa_IR/`
2. Make neccessary changes to translation files headers. Make sure you have proper `Language` and `Plural-Forms` lines.
3. Edit the contents of .po files located in `problem_builder/locale/<lang_code>/LC_MESSAGES` as you wish
4. When you finished your modification process, re-compile the translation messages manually by executing the following command in the root of xblock:
```bash
i18n_tool generate
```
Adding custom scenarios to the workbench
----------------------------------------
Within the xblock-problem-builder repository, create the `templates/xml` and
add XML scenarios to it - all files with the `*.xml` extension will be
automatically loaded by the workbench:
```bash
$ mkdir templates/xml
$ cat > templates/xml/my_pb_scenario.xml
```
Restart the workbench to take the new scenarios into account.
Upgrading from Version 1
------------------------
To upgrade a course from xblock-mentoring ("v1") to xblock-problem-builder
("v2"), run the following command on a system with edx-platform,
xblock-mentoring, and xblock-problem-builder installed:
```bash
$ SERVICE_VARIANT=cms DJANGO_SETTINGS_MODULE="cms.envs.devstack" python -m problem_builder.v1.upgrade "Org/Course/Run"
```
Where "Org/Course/Run" is replaced with the ID of the course to upgrade.
Open edX Installation
---------------------
Problem Builder releases are tagged with a version number, e.g.
[`v2.6.0`](https://github.com/open-craft/problem-builder/tree/v2.6.0),
[`v2.6.5`](https://github.com/open-craft/problem-builder/tree/v2.6.5). We recommend installing the most recently tagged
version, with the exception of the following compatibility issues:
* `edx-platform` version `open-release/eucalyptus.2` and earlier must use
≤[v2.6.0](https://github.com/open-craft/problem-builder/tree/v2.6.0). See
[PR 128](https://github.com/open-craft/problem-builder/pull/128) for details.
* `edx-platform` version `named-release/dogwood.3` and earlier must use
[v2.0.0](https://github.com/open-craft/problem-builder/tree/v2.0.0).
The `edx-platform` `master` branch will generally always be compatible with the most recent Problem Builder tag. See
[the EDXAPP_PRIVATE_REQUIREMENTS setting](https://github.com/edx/configuration/blob/master/playbooks/roles/edxapp/defaults/main.yml) for the version
currently installed on [edx.org](https://edx.org).
To install new versions of Problem Builder (v3.1.3+), use `pip install xblock-problem-builder` or specify a version using e.g. `pip install xblock-problem-builder==3.1.3`. To do this on Open edX could look like:
```bash
$ sudo -Hu edxapp bash
edxapp $ cd && . edxapp_env && . ./venvs/edxapp/bin/activate && cd edx-platform/
edxapp $ pip install xblock-problem-builder
edxapp $ ./manage.py lms migrate --settings=aws # or openstack, as appropriate
```
Then, restart the edxapp services:
```bash
$ sudo /edx/bin/supervisorctl restart edxapp:
$ sudo /edx/bin/supervisorctl restart edxapp_workers:
```
To install old verions of Problem Builder (< v3.1.3) on an Open edX installation, choose the tag you wish to install, follow the above instructions but instead of the `pip install xblock-problem-builder` command, us
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
资源分类:Python库 所属语言:Python 资源全名:xblock-problem-builder-3.3.4.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
资源推荐
资源详情
资源评论
收起资源包目录
Python库 | xblock-problem-builder-3.3.4.tar.gz (177个子文件)
babel_underscore.cfg 187B
setup.cfg 38B
problem-builder.css 5KB
problem-builder-edit.css 4KB
mentoring-table.css 3KB
questionnaire.css 3KB
instructor_tool.css 2KB
questionnaire-edit.css 820B
dashboard.css 809B
answer.css 612B
plot-preview.css 382B
plot.css 358B
problem-builder-tinymce-content.css 302B
overlay.css 83B
sb-review-score.html 3KB
dashboard.html 3KB
instructor_tool.html 3KB
ratingblock.html 2KB
plot.html 2KB
mentoring-table-container.html 2KB
mentoring.html 2KB
mrqblock.html 2KB
mentoring_with_steps.html 2KB
mcqblock.html 1KB
dashboard_report.html 1KB
overlay.html 850B
slider.html 771B
plot_preview.html 770B
questionnaire_add_buttons.html 708B
answer_editable.html 698B
mentoring-table-report.html 676B
step.html 643B
completion.html 577B
ratingblock_edit_preview.html 522B
mentoring-column-add-button.html 443B
mentoring-table.html 401B
answer_read_only.html 392B
sb-review-per-question-feedback.html 377B
mentoring-table-add-button.html 317B
mentoring-table-shared-list.html 313B
mentoring_url_name.html 227B
rating_edit_footer.html 214B
slider_edit_footer.html 208B
tip_choice_group.html 173B
tip.html 166B
d3.min.js 148KB
backbone-min.js 19KB
mentoring_with_steps.js 19KB
instructor_tool.js 15KB
underscore-min.js 13KB
backbone.paginator.min.js 10KB
questionnaire.js 10KB
plot.js 9KB
review_blocks.js 8KB
jquery-shorten.js 5KB
mentoring_standard_view.js 5KB
textjs.js 5KB
step_util.js 5KB
textjs.js 4KB
step.js 4KB
textjs.js 4KB
textjs.js 4KB
textjs.js 4KB
textjs.js 4KB
textjs.js 4KB
answer.js 4KB
mentoring.js 3KB
textjs.js 3KB
textjs.js 3KB
util.js 2KB
slider.js 1KB
completion.js 1KB
mentoring_edit.js 833B
container_edit.js 720B
answer_recap.js 698B
README.md 9KB
django.mo 60KB
django.mo 44KB
djangojs.mo 2KB
djangojs.mo 1KB
PKG-INFO 213B
PKG-INFO 213B
immunity-map-assumptions-bg.png 7KB
immunity-map-bg.png 5KB
django.po 75KB
django.po 58KB
django.po 35KB
djangojs.po 3KB
djangojs.po 2KB
djangojs.po 2KB
test_step_builder.py 65KB
mentoring.py 43KB
test_mentoring.py 26KB
dashboard.py 22KB
test_instructor_tool.py 17KB
plot.py 17KB
test_dashboard.py 16KB
table.py 14KB
step_review.py 13KB
base_test.py 13KB
共 177 条
- 1
- 2
资源评论
挣扎的蓝藻
- 粉丝: 13w+
- 资源: 15万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- virtio-win-0.1.248.iso版本驱动
- 谷歌小恐龙训练模型Chrome-Dino-run-RL-main
- 基于SpringBoot+Vue.JS前后端分离的健康饮食管理系统 源码+数据库+录屏(毕业设计)
- Devart-UniDAC-v9.40 源码版
- Cisco 思科 CP-7945g 7965g sip模式固件 9.4.2
- 贪吃蛇方案设计的方法.zip
- 微信支付账单(20240731-20240731).zip
- minio20240920.tar
- 集成供应链(Integrated Supply Chain,ISC)核心业务流程再造,华为的最佳实践
- zabbix-server-pgsql-7.0-centos-latest.tar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功