这是我的第一次堆栈溢出,而且很复杂。对不起。
我的任务是从基本模板和一些 XML 生成自定义文档without每种情况都有一个自定义表单设计元素。
Here's 整个画面:
- 我们正在构建一个 Lotus Notes(客户端,而不是 Web)应用程序,用于全球应用程序访问控制;范围约为 400,000 个用户能够请求访问 1000 多个应用程序中的任何一个。每个应用程序都需要自己的请求表——不同数量的批准者、所需的各种信息等等。
- 我们根本不可能在数据库中拥有一千个表单(每个应用程序一个),而且无论如何,它们的维护确实需要从开发人员转移到应用程序所有者。
- 因此,我们希望创建一个通用的“模板”表单,而不是自定义表单,该表单存储一组基本字段,但随后允许应用程序所有者定义另一个字段块动态地--“我想要一个名为“姓名”的强制纯文本字段,然后是一个名为“到期”的日期字段,该字段必须晚于今天的日期,然后......”。我希望这是有道理的(如果没有,请将其视为通用问卷应用程序)。
- 我几乎已经准备好用于设计动态字段的结构(表单生成器 GUI -> XML 编码数据 -> 用于注入表单的预渲染 DXL),包括字段类型、值选项和基本字段的标记验证说明。
我的问题正在生成一个文档,并将此动态内容注入到正确的位置(无需为每种情况使用自定义表单设计元素)。
- 通过 HTML 处理动态内容已经过时了。 Notes 客户端 Web 渲染实在是太差了,实现字段验证指令、日期选择器和名称查找等功能将是一个相当大的挑战。
- DXL, on the other hand, would allow us to use native Notes fields and code.
- 作为一个技术演示,我成功实现了一个自定义表单生成器,它将动态内容的预渲染 DXL 注入到基本表单中;但正如我所说,我们不需要大量的自定义表单设计元素。
- 我尝试实现一种方法来创建设置了“在文档中存储表单”标志的文档,但是一旦我从基本表单创建了文档,我就无法通过 DXL 访问存储的表单设计,并且所以我无法注入我的动态内容。
我知道这不是 Notes 本来打算做的事情。有没有人尝试过类似的事情(并且成功了)?
感谢您阅读本文。
With a boatload提前致谢,
简·冈德托夫特-布鲁恩
我真的没有答案给你,但我有一些想法:
我知道您提到该应用程序必须适用于 Notes 客户端而不是 Web - 这是绝对的吗? Domino Web 应用程序可以灵活地完成您需要的操作,而不是强制将其强制输入 Notes 客户端。 (也许是一个混合应用程序 - 通过浏览器填写请求表单,但报告/工作流程是通过 Notes 客户端完成的?)
假设这是绝对的,那么我会重新考虑 DXL 选项 - 是的,您最终可能会在数据库中得到 1,000 多个表单(或者更好的是子表单),但这真的是一个问题吗?我不知道表格数量有任何上限(无论是定义的还是实际的)。而且,您不会手动“维护”这些(子)表单 - 您的代码只会检测对配置文档的更改,然后重建适当的表单注释。
为了限制设计元素的实际数量,也许您可以实现“模板”概念 - 因此系统中的多个“应用程序”可以使用相同的访问请求“模板”。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)