Orbeon 4.3似乎不允许创建具有给定ID的新表单

时间:2013-09-11 20:29:28

标签: orbeon

我们有一个应用程序,可以在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进行控制。

我们使用标准的存在持久层。

1 个答案:

答案 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>

这假设您对编辑表单定义源感到满意。

免责声明:我不知道文档参数的路线图,所以不能说这是多么可支持。