新添加的字段在 Orbeon 的旧版本中不显示

New added field does not show in old version in Orbeon

我想修改表单定义并升级所有旧的填写表单数据。但是当我尝试添加新字段时,我发现旧的输入表单数据无法显示新字段。这意味着我无法在此类旧表单数据中填写新值。基本上这意味着 Orbeon 不支持将旧形式数据升级为新定义。

理解此类问题的具体步骤:

  1. 创建一个包含两个字段的表单:Name 和 Id。保存这样的表格和 作为版本 1 发布。
  2. 填写这样的表格并保存。
  3. 打开表单定义并添加一个新字段,例如地址。保存并发布。当询问publish as new one or overwritten时,选择overwritten the version 1.
  4. 打开填好的表格数据可以看到没有新的Address字段出现。

也许这不是处理将旧数据升级到新定义的正确方法。我想我们无论如何都理解我的要求。

处理此问题的推荐方法是使用版本控制:当您发布表单定义的不兼容版本时,您将在新的表单定义版本下发布它。例如:

  • 使用版本 1 创建和发布表单定义
  • 使用版本 1 创建表单数据
  • 创建和发布与版本 2 不兼容的表单定义
  • 使用表单定义版本 1 读取现有表单数据
  • 使用表单定义版本 2 读取使用表单定义版本 2 创建的新数据

目前不支持将现有数据从一个版本升级到另一个版本(比如版本 1 到版本 2)。我们确实有一个 RFE 的最小版本。

另请参阅此 blog post 了解更多信息。