我们有一个应用程序,可以在Orbeon中创建新的表单运行器表单。这是通过打开表单运行程序表单的URL来完成的。 例: http://server.com/orbeon/fr/[APP_NAME]/[FORM_NAME]/new/[new id]
在3.8和3.9中,我们能够给出[new id]和Orbeon将创建一个具有给定ID的新表单。 在4.3但它似乎不再接受[新id]。 我们在浏览器中收到此消息: 您无权访问此页面。
它允许我们使用此网址生成新表单: http://server.com/orbeon/fr/[APP_NAME]/[FORM_NAME]/new 但这并没有让我们对ID进行控制。
我们使用标准的存在持久层。
答案 0 :(得分:0)
我不确定3.4和4.3之间的区别,但在4.3中,id可以作为URL参数传递,然后使用操作进行设置。
例如:
http://server.com/orbeon/fr/[APP_NAME]/[FORM_NAME]/new?document-id=[new id]
并在表单定义中包含一个操作:
<xf:model>
...
<xf:action id="populate-document-id-binding">
<xf:action ev:event="xforms-ready" ev:observer="fr-form-model" if="($fr-mode='new') and (xxf:get-request-parameter('document-id')!='')">
<xf:setvalue model="fr-parameters-model" ref="instance('fr-parameters-instance')/document" value="xxf:get-request-parameter('document-id')"/>
</xf:action>
</xf:action>
...
</xf:model>
这假设您对编辑表单定义源感到满意。
免责声明:我不知道文档参数的路线图,所以不能说这是多么可支持。