[英]Orbeon Custom metadata at form level
I want to configure success message ( successMessageTextBox
) and downloadLink ( linkTextbox
) at form level(meta-data) through formBuilder
, so that admin can change and publish it anytime. 我想配置成功消息 (
successMessageTextBox
)和downloadLink( linkTextbox
在通过表单级别(元数据)) formBuilder
,使管理员可以改变,随时发布。 Also these values can be accessible to properties-local.xml
file to configure the success-message
. 这些值也可以通过
properties-local.xml
文件访问以配置success-message
。
eg: 例如:
navigate(uri="{xxf:instance('fr-parameters-instance')//linkTextbox}")
success-message(message = "{xxf:instance('fr-parameters-instance')//successMessageTextBox}")
Any suggestion would be appreciated!! 任何建议,将不胜感激!
UPDATE :- 更新 :-
1>MetaData 1>元数据
if (exists(xxf:instance('fr-form-metadata')/linkTextbox))
then navigate(uri="{xxf:instance('fr-form-metadata')/linkTextbox}")
else nop
2>Formfeild 2> Formfeild
if (exists(xxf:instance('fr-form-instance')//linkTextbox))
then success-message(message = "{xxf:instance('fr-form-instance')//linkTextbox}")
else then success-message("save-success")
Code snap exists 存在代码捕捉
<property as="xs:string" name="oxf.fr.detail.process.save-final.*.*">
require-uploads
then validate-all
then save
if (exists(xxf:instance('fr-form-instance')//linkTextbox))
then navigate(uri="{xxf:instance('fr-form-instance')//linkTextbox}")
else nop
recover error-message("database-error")
</property>
Code snap is-blank 代码捕捉是空白的
<property as="xs:string" name="oxf.fr.detail.process.save-final.*.*">
require-uploads
then validate-all
then save
then
(
if ("not(xxf:is-blank(xxf:instance('fr-form-instance')//msg))")
then success-message(message = "{xxf:instance('fr-form-instance')//msg}")
else nop
)
recover error-message("database-error")
</property>
Error log :- 错误日志 :
2016-09-26 23:06:44,925 INFO lifecycle - event: {"request": "21", "session": "AA57957F553E16581E264D06E3241BFD", "source": "fr", "message": "start: process", "uuid": "3bd78eb64e035d7d710a74049c972aca086b095a", "scope": "oxf.fr.detail.process", "name": "save-final-custom"}
2016-09-26 23:06:45,302 ERROR XFormsServer -
+----------------------------------------------------------------------------------------------------------------------+
|An Error has Occurred |
|----------------------------------------------------------------------------------------------------------------------|
|Invalid source: |
|Invalid input 'f', expected OptWhiteSpace or ')' (line 9, pos 39): |
| if ('not(xxf:is-blank(xxf:instanc |
|e('fr-form-instance')//msg))') |
| ^ |
|----------------------------------------------------------------------------------------------------------------------|
|Application Call Stack |
|----------------------------------------------------------------------------------------------------------------------|
|----------------------------------------------------------------------------------------------------------------------|
|Exception: org.parboiled.errors.ParsingException |
|----------------------------------------------------------------------------------------------------------------------|
|org.orbeon.oxf.fr.process.ProcessParser$ |parse |ProcessParser.scala | 121|
|nterpreter$ProcessRuntime$$anonfun$parseProcess$1$1|apply |ProcessInterpreter.scala | 201|
|nterpreter$ProcessRuntime$$anonfun$parseProcess$1$1|apply |ProcessInterpreter.scala | 201|
|org.orbeon.oxf.util.ScalaUtils$BooleanWrapper$ |option$extension |ScalaUtils.scala | 115|
|n.oxf.fr.process.ProcessInterpreter$ProcessRuntime$|parseProcess$1 |ProcessInterpreter.scala | 201|
|n.oxf.fr.process.ProcessInterpreter$ProcessRuntime$|runSubProcess |ProcessInterpreter.scala | 203|
|nonfun$apply$11$$anonfun$apply$12$$anonfun$apply$13|apply |ProcessInterpreter.scala | 235|
|nonfun$apply$11$$anonfun$apply$12$$anonfun$apply$13|apply |ProcessInterpreter.scala | 235|
|scala.util.control.Breaks$$anon$1 |catchBreak |Breaks.scala | 63|
|un$runProcess$3$$anonfun$apply$11$$anonfun$apply$12|apply |ProcessInterpreter.scala | 236|
|un$runProcess$3$$anonfun$apply$11$$anonfun$apply$12|apply |ProcessInterpreter.scala | 233|
|scala.util.Success |flatMap |Try.scala | 231|
|Interpreter$$anonfun$runProcess$3$$anonfun$apply$11|apply |ProcessInterpreter.scala | 233|
|Interpreter$$anonfun$runProcess$3$$anonfun$apply$11|apply |ProcessInterpreter.scala | 241|
|org.orbeon.oxf.util.DynamicVariable |withValue |DynamicVariable.scala | 42|
|n.oxf.fr.process.ProcessInterpreter$ProcessRuntime$|withEmptyStack |ProcessInterpreter.scala | 96|
|fr.process.ProcessInterpreter$$anonfun$runProcess$3|apply |ProcessInterpreter.scala | 232|
|fr.process.ProcessInterpreter$$anonfun$runProcess$3|apply |ProcessInterpreter.scala | 232|
+----------------------------------------------------------------------------------------------------------------------+
2016-09-26 23:06:45,396 INFO lifecycle - event: {"request": "21", "session": "AA57957F553E16581E264D06E3241BFD", "source": "fr", "message": "end: process", "time": "471 ms"}
2016-09-26 23:06:45,593 INFO lifecycle - event: {"request": "21", "session": "AA57957F553E16581E264D06E3241BFD", "source": "xforms", "message": "after cacheOrStore", "document cache current size": "1", "document cache max size": "50"}
2016-09-26 23:06:45,594 INFO ProcessorService - /xforms-server - Timing: 1198
I would rather add this to the fr-form-metadata
instance, eg by editing the source of the form in Form Builder, and adding, say, a <success-message>
inside <metadata>
: 我宁愿将此添加到
fr-form-metadata
实例中,例如,通过在Form Builder中编辑表单的源,并在<metadata>
内添加<success-message>
<metadata>
:
<xf:instance xxf:readonly="true" id="fr-form-metadata" xxf:exclude-result-prefixes="#all">
<metadata>
...
<success-message>Submitted, all good!</success-message>
</metadata>
</xf:instance>
Then, in your process, you can show that message with: 然后,在您的过程中,可以显示以下消息:
success-message(message = "{xxf:instance('fr-form-metadata')/success-message}")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.