我正在尝试使用PyBOSSA 框架在CrowdCrafting.org上建立一个项目。我按照他们的教程进行项目开发。第一部分对我来说似乎很清楚,创建项目和添加任务都很好。
然后我构建了自己的 HTML 网页来向用户展示任务。现在下一步是从项目中加载任务,将它们呈现给用户,并保存他们的答案。
不幸的是,我不明白如何做到这一点。
我将尝试提出一些问题以使您理解我的问题:
- 我怎样才能试试这个?唯一的方法似乎是更新代码然后运行pbs update_project
- 我在哪里可以找到PyBossa.js的文档?我刚刚看到(在教程和其他页面上)有一些函数,比如
pybossa.taskLoaded(function(task, deferred){});
和pybossa.presentTask(function(task, deferred){});
。但我不知道它们是如何工作的以及还有什么。这个页面看起来会包含一些文档,但它没有(断开的链接或空索引)。 - 我如何使用图书馆?我想 a) 加载任务,b) 将其呈现给用户,c) 向用户展示他的进度,以及 d) 发送答案。所以我想我必须调用 4 个不同的函数。但我不知道怎么做。
- 查看示例项目的代码,我不明白关于加载 disqus 的内容是什么。我认为 disqus 是一个论坛软件,但我不确定,我不知道这与我的项目(或他们的项目)有什么关系。
据我了解,JS 库的基本部分是:
pybossa.taskLoaded(function(task, deferred) {
if ( !$.isEmptyObject(task) ) {
deferred.resolve(task);
}
else {
deferred.resolve(task);
}
});
pybossa.presentTask(function(task, deferred) {
if ( !$.isEmptyObject(task) ) {
// choose a container within your html to load the data into (depends on your layout and on the way you created the tasks)
$("#someID").html(task.info.someName);
// by clickin "next_button" save answer and load next task
$("#next_button").click( function () {
// save answer into variable here
var answer = $("#someOtherID").val();
if (typeof answer != 'undefined') {
pybossa.saveTask(task.id, answer).done(function() {
deferred.resolve();
});
}
});
}
else {
$("#someID").html("There are no more tasks to complete. Thanks for participating in ... ");
}
});
pybossa.run('<short name>');