我们希望将Orbeon与Java Web应用程序集成。我阅读了https://doc.orbeon.com/上的文档,但是没有找到我想要的所有答案。
在决定使用Orbeon之前,我想得到一些答案。
当您创建表格(调查)时,当用户回答调查问卷时,是否有可能对文档有文字识别?
如我所见,每个答案都有一个唯一的documentid。您是否可以拥有自己的ID,其中包含多个字段,例如公司,用户,实例,...
我们有相同的调查,每个月都必须回答。我们如何在Orbeon中实现这一目标?
我们是否可以创建一个新的表单,该表单具有month字段,然后在应用程序中使用URL或API将值传递到month字段,所以用户不需要填写此字段,甚至根本看不到它?
所以从根本上来说,问题是,我们可以使用URL或API创建新文档,并将客户数据传递到文档中吗,这样用户不必这样做,我们可以在自己的应用程序中管理这些数据。
用户完成调查后,是否可以再次对其进行编辑还是“已关闭”?
为了更清楚地说明我们想要做什么,让我解释一下我们想要实现的目标。
我们的Web应用程序有许多用户。我们希望每个月给每个用户一个调查(根据记录的用户,他们将有不同的调查)。我们想通过使用URL或orbeon API将我们的Web应用程序与orbeon表单链接。
场景是:
用户登录到我们的Web应用程序,发现他有一个(或多个)服务员可以完成。
当他喜欢某人时,我们的应用会打开orbeon表单
当用户完成服务后,我们需要知道(在我们的应用中)他完成了服务。我们需要在应用程序的orbeon whith数据中链接文档。
我知道我们可以在数据库级别(我们使用Oracle)或使用API或从orbeon调用到Web服务的技术上做到这一点,但是我们需要具有相同的数据(userId或其他数据)才能将它们链接在一起。
最佳答案
让我尝试回答以下您的问题。我不会详细介绍每一个的所有技术细节,但是即使只是在较高的层次上,这也已经使您有了一些想法。
就像您说的那样,当用户填写新表单时,Orbeon Forms会自动为新表单的每个实例分配一个新的ID,即所谓的文档ID。如果用户回来编辑表单,则文档ID不变。您无法告诉Orbeon Forms使用哪个文档ID,但是可以将某些信息(例如令牌)存储为表单数据的一部分,以便随后基于令牌查找数据。该令牌通常来自请求参数或HTTP标头(如果由Servlet过滤器或反向代理设置)。另外,如果用户已登录,Orbeon Forms将存储用户名和数据。
您可以使用API以编程方式创建新实例。它需要对API的一些调用,因此理想情况下是more complicated than it could be,但是当然可以。
如果用户使用permissions登录(这在您所考虑的系统中似乎是这种情况),则可以执行以下两种操作:表单作者可以决定是否应允许用户备份和编辑以前保存的数据。