在 Orbeon 4.5 中自定义按钮

Customizing buttons in Orbeon 4.5

在属性中-local.xml我定义了持久层:

<property
    as="xs:string"
    name="oxf.fr.persistence.provider.*.*.*"
    value="MsSqlPersistance"/>

<property
    as="xs:anyURI"
    name="oxf.fr.persistence.MsSqlPersistance.uri"
    value="http://10.7.3.63:8080/MsSqlPersistenceLayerImpl"/>

所以现在,每次我点击保存或发送按钮时,都会有 HTTP PUT 请求发送到我的 MsSqlPersistenceLayerImpl REST 服务。 还有

<property as="xs:anyURI" name="oxf.fr.detail.send.success.uri.*.*"
          value="http://10.7.3.63:8080/orb_submit/orbSubmit"/>
<!-- HTTP method to use to navigate to the success page -->
<property as="xs:string" name="oxf.fr.detail.send.success.method.*.*" value="post" replace="all"/>

据我了解,在单击 发送按钮 后,有一个 HTTP PUT 请求发送到我的 MsSqlPersistenceLayerImpl 组件,成功后,有是发送到 orb_submit 服务的另一个 POST 请求。

现在,我想在单击 发送按钮 (工作流发送)后,不要向我的 MsSqlPersistenceLayerImpl 发送任何 HTTP PUT 请求服务,我只想调用(表单验证后)orb_submit 服务。可能吗?


更新

自定义按钮对我来说似乎真的很难。通常,单击“保存”后,我的表单将保存在数据库中并显示成功消息——这是默认行为。但是当我把这个代码

 <property as="xs:string"  name="oxf.fr.detail.process.save-draft.*.*">
    save
    then success-message("save-draft-success")
    recover error-message("database-error")
</property>

进入properties-local.xml点击保存后没有任何反应(没有保存,没有消息;我当然会排除正常行为)。此外,尝试以同样的方式自定义workflow-send,它根本没有影响。我错过了什么吗?

4.5 不支持内联属性。改为尝试:

<property
    as="xs:string"
    name="oxf.fr.detail.process.save-draft.*.*"
    value='
        save
        then success-message("save-draft-success")
        recover error-message("database-error")'
/>