Swiper PlugIn内部字段丢失

时间:2017-01-17 13:27:27

标签: git xpages domino-designer-eclipse

我刚刚在Domino Designer FP7上安装了Swiper Plugin,经过一些测试(也许)我发现了一个错误。

不幸的是,如果您在分支机构之间切换,$DesignerVersion$$ScriptName等内部字段会丢失!

这是我的测试场景:

  1. 创建表单(form1.form
  2. 初次提交master分支
  3. 创建一个额外的分支,例如develop
  4. form1.form分支
  5. 中的develop进行一些更改
  6. 提交此更改
  7. 切换回master分支
  8. 在此步骤之后,内部字段(如上所述)丢失:(

1 个答案:

答案 0 :(得分:8)

Swiper决定轻扫'的属性和元素。使用xslt文件控制离开。

默认的xslt文件确实选择了 DesignerVersion $$ ScriptName 进行刷卡。

默认情况下会刷掉

DesignerVersion ,因为这会在您升级多米诺骨牌设计器时导致很多合并冲突,或者如果您的某位同事决定安装一个您并非所有的修补程序包突然之间,每个文件都会再次发生冲突,需要解决。

虽然可能存在每个版本的导入/导出行为可能不同的论点,但我会怀疑IBM在过去几年中对DXL导入/导出做了任何更改。

关于$$ ScriptName,说实话,我不记得为什么我要把它包括在内,但它一定让我讨厌。它对我来说没有任何问题,但是我再也没有做过很多经典的NSF开发,所以这可能确实会导致问题。

提供您自己的自定义xslt过滤器

如果你不想要这些'刷卡'那么你可以提供一个自定义的xslt文件 复制默认文件org.openntf.swiper/src/org/openntf/swiper/action/DXLClean.xsl

然后评论或删除与Designer版本相关的条目(有多个)

<xsl:template match="//n:form/@replicaid"/>
<xsl:template match="//n:form/@version"/>
<!--<xsl:template match="//n:form/@designerversion"/>-->

<xsl:template match="//n:database/@replicaid"/>
<xsl:template match="//n:database/@version"/>
<!--<xsl:template match="//n:database/@designerversion"/>-->
.... and so on make sure you do all of them

然后注释掉/删除$$ ScriptName

的那个
<!-- Ignore the DesignerVersion Item  and this random FileModDT one -->
<xsl:template match="//n:item[@name='$DesignerVersion']"/>
<!--<xsl:template match="//n:item[@name='$$ScriptName']"/>-->
<xsl:template match="//n:item[@name='$ScriptLib_error']"/>
<xsl:template match="//n:imageresource/n:item[@name='$FileModDT']"/>
<xsl:template match="//n:imageresource/n:item[@name='$EditFilePath']"/>

将其另存为某个.xsl文件 然后在Designer中转到File - &gt;偏好 - &gt;刷卡 在&#39;自定义XSLT过滤器&#39;浏览到您文件的位置,然后单击“应用/确定”。

当文件从NSF导出到ODP时,这些规则将在下次swiper运行时生效。因此,您可能需要强行保存文件,或者故意轻扫&#39;一个文件来查看新结果。