我试图通过使用PyBOSSA框架在CrowdCrafting.org上建立一个项目.
我跟着tutorial进行了项目开发.
第一部分对我来说非常清楚,创建项目并添加任务工作正常.
然后我构建了自己的html网页,向用户展示任务.现在,下一步是从项目中加载任务,将它们呈现给用户,并保存他们的答案.
不幸的是,我不明白该怎么做.
我会尝试制定一些问题,让你了解我的问题:
>我怎么试试呢?唯一的方法似乎是更新代码然后运行pbs update_project
>我在哪里可以找到PyBossa.js的文档?我刚看到(在教程和其他页面中)有一些函数,如pybossa.taskLoaded(function(task,deferred){});和pybossa.presentTask(function(task,deferred){});.但我不知道它们是如何工作的以及还有什么.这个page看起来会包含一个文档,但它没有(断开链接或空索引).
>我如何使用该库?我想a)加载任务,b)将其呈现给用户,c)向用户显示他的进度,以及d)发送答案.所以我想我必须调用4种不同的功能.但我不知道怎么做.
我期待着您的任何信息.
编辑: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>');
解决方法
>您可以运行pbs更新项目或转到项目页面>
任务>任务演示者并在那里编辑代码.
>我相信this链接工作,你应该找到
你想要的信息.
>所以,一旦你创建了项目并添加了任务和
演示者(您构建的HTML)应该包含Javascript
演示者本身内部的代码.你实际上只需要写
这两个函数:pybossa.taskLoaded(function(task,task)
延迟){});和pybossa.presentTask(function(task,deferred){});
在第一个内容中,你必须写下你想要发生的事情
一旦任务已加载但在您准备好呈现之前
给用户(例如加载与任务相关的附加数据,
除了任务本身,就像来自外部网站的图像).一旦
这样做,你必须调用deferred.resolve(),这就是方法
告诉pybossa.js我们完成了任务的负载
(如果它已经成功或发生了一些错误).
之后,您必须为第二个编写回调(pybossa.presentTask)你为你的任务设置了一切,就像按钮答案提交的事件处理程序一样,这里是你应该把用户的逻辑放在哪里完成任务本身,然后你应该在哪里调用pybossa.saveTask().再次,你应该在最后调用deferred.resolve()来告诉pybossa.js用户完成此任务并显示下一个任务.一世会建议你在回调内做pybossa.saveTask(task).done(callbackFunc()),所以你确定你一旦当前的任务正确进行,继续下一个任务保存.>你可以忘记讨论代码.这些只是模板提供,其中包含一些允许人们的代码评论任务.为此,使用了Disquss,但它取决于您是否要使用它,因此您可以安全地删除它码.