问题描述
这是我的第一个堆栈溢出,这是一个复杂的溢出.抱歉.
this is my first stack overflow, and it's a complex one. Sorry.
我的任务是从基本模板以及一些没有 且具有每种情况的自定义表单设计元素的XML生成自定义文档.
My task is to generate custom documents from a basic template plus some XML without having a custom form design element for each case.
这是整个图片:
- 我们正在构建用于全球应用程序访问控制的Lotus Notes(客户端,而非Web)应用程序;范围大约是400.000个用户能够请求访问1000多个应用程序中的任何一个.每个应用程序都需要自己的请求表-批准者的数量不同,所需的信息也很多,诸如此类.
- 我们根本无法在数据库中拥有上千个表单(每个应用程序一个),无论如何,它们的维护确实需要从开发人员推到应用程序所有者.
- 因此,我们希望创建一个通用的模板"表单来存储自定义表单,该表单存储一个基本字段块,然后允许应用程序所有者动态地定义另一个字段块. 我想要一个强制性的纯文本字段,名称为'Name',然后是一个日期字段'Due',该日期字段必须晚于今天的日期,然后是...".我希望这是有道理的(如果没有的话,可以将其视为通用的问卷调查应用程序.)
- 我几乎拥有设计动态字段的结构(表单构建器GUI-> XML编码的数据->预先渲染的DXL以注入到表单中),包括字段类型的标记,值选项,和基本的现场验证说明.
我的问题正在生成一个在适当位置注入了此动态内容的文档(对于每种情况,都不需要自定义表单设计元素).
My problem is generating a document with this dynamic content injected at the proper location (without needing a custom form design element for each case).
- 通过HTML执行动态内容已告一段落. Notes客户端Web渲染简直太糟糕了,要实现诸如字段验证指令,日期选择器和名称查找之类的东西将是一个很大的挑战. 另一方面,
- DXL将允许我们使用本机Notes字段和代码.
- 作为一个技术演示,我设法实现了一个自定义表单生成器,该生成器将动态内容的预渲染DXL注入到基本表单中;但是正如我说的,我们不需要大量的自定义表单设计元素.
- 我试图实现一种创建带有在文档中存储表单"标志的文档的方法,但是一旦我从基本表单创建了文档,就无法通过DXL访问存储的表单设计,所以我不能注入我的动态内容.
- Doing the dynamic content via HTML is out. The Notes client web rendering is simply way too poor, and it would be quite a challenge to implement things like field validation instructions, date selectors, and name look-ups.
- DXL, on the other hand, would allow us to use native Notes fields and code.
- As a tech demo, I've managed to implement a custom form generator that injects the pre-rendered DXL for the dynamic content into a base form; but as I said, we don't want a ton of custom form design elements.
- I've tried to implement a way to create a document with the "store form in document" flag set, but once I've created the document from the base form, I can't get DXL access to the stored form design, and so I can't inject my dynamic content.
我知道这不是Notes曾经打算做的事情. 有没有人尝试过类似的东西(并摆脱它)?
I know this is not something Notes was ever intended to do. Has anyone ever tried something like it (and gotten away with it)?
感谢您阅读本文.
先感谢船运,
Jan Gundtofte-Bruun
推荐答案
我最终做了一些不同的事情.
I ended up doing it a bit differently.
我仍将使用在文档中存储表单"选项来确保每个提交的请求都可以独立存在;但是请求"文档将基于成百上千的单独形式(是的,就是成千上万;研究和测试表明,这不应该是性能问题).然后,将以编程方式生成许多形式.
I will still use the "store form in document" option to make sure that each submitted request can stand alone; but "request" documents will be based on hundreds/thousands of individual forms (yes, that's thousands; research and testing suggests it shouldn't be a performance issue). These many forms, then, will be programmatically generated.
我正在对其进行设置,以便模板作者"可以创建请求模板",这是其中包含xml块的普通文档.然后,后台代理获取所有这些文档,并将xml的每个块和基本表单处理为新的自定义表单.这些自定义表单会呈现给用户,以从中创建他们的请求"文档.
I'm setting it up so that "template authors" can create "request templates", which are normal documents with a block of xml in them. A background agent then takes all these documents and processes each block of xml, and a base form, into new custom forms. These custom forms are presented to users to create their "request" documents from.
这篇关于从基本表单和XML生成自定义表单文档?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!