Atlassian Confluence 蓝图向导 - 不存在的大豆模板
Atlassian Confluence Blueprint wizard - Non existent soy template
我正在构建一个 confluence 插件,其中包括带有蓝图的蓝图向导对话框。但是当我尝试加载向导时,浏览器控制台出现 JS 错误,
Uncaught error wizard points to a non-existent Soy template, OutputPlugin.Blueprints.Simple.page1Form'. Check your web-resources or server logs.
我试过的是,
- 已检查服务器日志。没有证据。
- 已尝试清理并重新安装插件和 SDK。
但是,我已经在 atlassian-plugin.xml
文件中将 soy 添加到网络资源中。
我遵循了 atlassian confluence 插件教程“Write an intermediate blueprint plugin”
我正在使用 Confluence 6.14.0 和 atlasisian SDK 8.16.0
atlassian-plugin.xml
<web-resource key="ma2.create_wizard-resources" name="ma2.create_wizard Web Resources">
...
<transformation extension="soy">
<transformer key="soyTransformer">
<functions>com.atlassian.confluence.plugins.soy:soy-core-functions
</functions>
</transformer>
</transformation>
...
<resource type="download" name="outputTemplate.soy.js" location="/soy/outputTemplate.soy" />
</web-resource>
<blueprint key="output-blueprint" content-template-key="output-template" index-key="output-index" i18n-name-key="output.blueprint.name">
<content-template ref="output-template"/>
<dialog-wizard key="outputTemplate-wizard">
<dialog-page id="page1Id"
template-key="OutputPlugin.Blueprints.Simple.page1Form"
title-key="output.blueprint.wizard.page1.title"
description-header-key="test"
description-content-key="test1"
last="true"/>
</dialog-wizard>
</blueprint>
outputTemplate.soy
{namespace OutputPlugin.Blueprints.Simple}
/**
* A form that accepts a person's name
*/
{template .page1Form}
<form action="#" method="post" class="aui">
<fieldset>
<div class="field-group">
<label for="contentvar">{getText('output.blueprint.form.label.title.vName')}</label>
<input id="contentvar" class="text" type="text" name="contentVar">
</div>
</fieldset>
</form>
{/template}
终于找到解决办法了。第一个问题是我的服务器控制台没有记录必要的日志。只有 java jdk 和同步日志。所以我按照 this confluence support page 中提到的配置日志来拥有 "com.atlassian.confluence.core" 的所有日志。然后发现报错
[INFO] [talledLocalContainer] com.atlassian.soy.impl.QuieterSoySyntaxException: In file /soy/outputTemplate.soy: End of SoyDoc not at end of line [line 4, column 1].
最后问题是大豆文档结束后 space。
/**
* A form that accepts a person's name
*/{space}
而不是
/**
* A form that accepts a person's name
*/
我正在构建一个 confluence 插件,其中包括带有蓝图的蓝图向导对话框。但是当我尝试加载向导时,浏览器控制台出现 JS 错误,
Uncaught error wizard points to a non-existent Soy template, OutputPlugin.Blueprints.Simple.page1Form'. Check your web-resources or server logs.
我试过的是,
- 已检查服务器日志。没有证据。
- 已尝试清理并重新安装插件和 SDK。
但是,我已经在 atlassian-plugin.xml
文件中将 soy 添加到网络资源中。
我遵循了 atlassian confluence 插件教程“Write an intermediate blueprint plugin”
我正在使用 Confluence 6.14.0 和 atlasisian SDK 8.16.0
atlassian-plugin.xml
<web-resource key="ma2.create_wizard-resources" name="ma2.create_wizard Web Resources">
...
<transformation extension="soy">
<transformer key="soyTransformer">
<functions>com.atlassian.confluence.plugins.soy:soy-core-functions
</functions>
</transformer>
</transformation>
...
<resource type="download" name="outputTemplate.soy.js" location="/soy/outputTemplate.soy" />
</web-resource>
<blueprint key="output-blueprint" content-template-key="output-template" index-key="output-index" i18n-name-key="output.blueprint.name">
<content-template ref="output-template"/>
<dialog-wizard key="outputTemplate-wizard">
<dialog-page id="page1Id"
template-key="OutputPlugin.Blueprints.Simple.page1Form"
title-key="output.blueprint.wizard.page1.title"
description-header-key="test"
description-content-key="test1"
last="true"/>
</dialog-wizard>
</blueprint>
outputTemplate.soy
{namespace OutputPlugin.Blueprints.Simple}
/**
* A form that accepts a person's name
*/
{template .page1Form}
<form action="#" method="post" class="aui">
<fieldset>
<div class="field-group">
<label for="contentvar">{getText('output.blueprint.form.label.title.vName')}</label>
<input id="contentvar" class="text" type="text" name="contentVar">
</div>
</fieldset>
</form>
{/template}
终于找到解决办法了。第一个问题是我的服务器控制台没有记录必要的日志。只有 java jdk 和同步日志。所以我按照 this confluence support page 中提到的配置日志来拥有 "com.atlassian.confluence.core" 的所有日志。然后发现报错
[INFO] [talledLocalContainer] com.atlassian.soy.impl.QuieterSoySyntaxException: In file /soy/outputTemplate.soy: End of SoyDoc not at end of line [line 4, column 1].
最后问题是大豆文档结束后 space。
/**
* A form that accepts a person's name
*/{space}
而不是
/**
* A form that accepts a person's name
*/