Xblock核心库

xblock-openedx的Python项目详细描述


部分"edx代码"部分` ` ` ` ` ` ` edx代码` ` ` ` ` edx代码` ` ` ` `




http://code.edx.org//

xblock课件组件`;

xblock是由edx.org为xblock课件组件制作课件。

Xblock API的一个版本,用于收集API潜在用户的输入。我们喜欢这里的内容,但对
更改的建议持开放态度。我们将很快在edx lms中实现这一点。

此repo包含实现xblocks的核心代码。



background
----


edx课件由分层组合的组件构成。
这些组件包括视频播放器等组件。`lon-capa问题,以及
作为复合成分,如学习序列。我们正在为这些组件开发一个称为xblocks的第二代api。尽管他们处于原型阶段,但我们喜欢这个api,并希望与其他人合作,将其开发为行业标准。这是我们提议的API和Xblocks规范。_ lon-capa:http://www.lon-capa.org/

在高级别上,xblocks是一个python
语言级api,它为存储
数据等提供了合理的默认值。xblock可以封装在lti中,也可以生成lti xblock。编写xblock的核心原因是它是可部署的。你可以给我们一个xblock的
代码,我们可以把它嵌入到我们的课件中。LTI将要求您
给我们一个运行它的虚拟机映像。

…_学习工具互操作性:http://www.imsglobal.org/toolsinteroperability2.cfm
…_ scorm:http://scorm.com/scorm explained/



安装
----


此代码在python 2.7上运行。如果您喜欢使用python 3,那么xblock中有一个fork
提供python3支持,但是edx还不支持这个fork



1。获取此回购协议的本地副本。

2。(可选)创建并激活要在其中工作的虚拟机。

3。安装需求并向注册xblock入口点(如果不使用virtualenv,您可能需要sudo):


$pip install-r requirements.txt

……_提供python 3支持的一个xblock分支:https://github.com/singingwolfboy/xblock/tree/py3



覆盖范围内的套件:

$coverage run-m nose

以执行测试。然后要查看覆盖率报告:

$coverage report


有关更多信息和选项,请参阅"coverage.py"文档。

……_ coverage.py:http://nedbatchelder.com/code/coverage/



style testing
----


我们使用两个工具--``pylint``和``pep8``来管理此repo中所有python文件的代码质量和样式。我们的目标是始终保持零报告的pylint
和pep8冲突。


在单个文件上运行这些工具:

$pylint path/to/file.py


$pep8 path/to/file.py



我们不遵守所有Pylint和PEP8违规行为。通过查看"pylintrc"和"setup.cfg"的内容,可以检查我们忽略了哪些冲突。在发出pull
请求之前,您应该使用这些工具检查您的代码,以确保您的分支不会添加任何新的质量冲突。_ pylintrc:https://github.com/edx/xblock/blob/master/pylintrc
。_ setup.cfg:https://github.com/edx/xblock/blob/master/setup.cfg


您可以在pushin之前自动运行这些测试g通过激活"pre-push"脚本将代码发送到github(并在travis中运行

ln-s../。/script/pre-push




xblock sdk存在于单独的存储库中。sdk包含一些有用的工具,用于
开发您自己的xblock,例如模板xblock生成器、示例xblock
,这些工具演示了xblock的功能。

您可以在它自己的存储库中找到它:https://github.com/edx/xblock sdk


https://xblock.readthedocs.org.




在docstrings中,我们试图弄清楚代码所在的层,尽管有时行是模糊的:

1。**xblock**示例xblock代码。这是最重要的,它是大多数第三方将要编写的
代码,并演示xblock
接口。**运行时**我们认为对所有运行时都是通用的运行时代码。
这是edx为使xblock工作而编写的后台代码。
这一层可能不是真正的代码,但我们需要编写真正的代码来执行这些功能。




g Xblock可以很简单地创建一个python类,只需使用一些特定的方法。


Xblock sdk:https://github.com/edx/Xblock sdk




license
----


WISE
注意。

请参阅"license.txt"了解详细信息。



最简单的方法是分叉此repo,然后从分叉发出拉取请求。第一次发出请求时,您可能会被要求签署贡献者协议。

--————

请不要公开报告安全问题。请发送电子邮件至security@edx.org


packaging
----


ps://github.com/warner/python versioner)



|构建状态图像::https://travis-ci.org/edx/xblock.svg?branch=master
:目标:https://travis ci.org/edx/xblock
…|覆盖状态图像::https://coveralls.io/repos/edx/xblock/badge.svg
:目标:https://coveralls.io/r/edx/xblock

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
试图读取字段“java”。lang.反对安卓。util。一对首先   gradle对java的影响。属性作为任务的输入?   java我的return语句不起作用。我做错了什么?   java通用同步代码块[无对象锁定]   macos Java小程序游戏不能在Mac上运行,即使它可以在PC上运行   java Firebase GeoFire设置位置未在服务中工作   java排序字符串对象   java通过JLabel上传背景图像(jpg)后,如何将图像缩放到它所在的面板上?   java无法连接到jsp中的数据库   java如何在整个ant taskdef操作的执行过程中拥有一个singleton类实例   java如何在按键事件中检查JTtextField中的字符串数字验证器   如何最好地输出大型单行XML文件(使用Java/Eclipse)?   内存不足,Java运行时环境无法在Java应用程序中继续运行   java Hibernate连接错误:组织上的NullPointerException。冬眠hql。阿斯特。HqlSqlWalker。createFromJoinElement   linux将参数从shell脚本传递到java类   java对于接受多个参数的setter是否有类似于@JsonCreator的注释?   java在链表中添加节点