在 Iron Speed Designer 应用程序中集成帮助





1.00/5 (4投票s)
了解如何将帮助系统集成到任何由 Iron Speed Designer 生成的应用程序中。
引言
向任何应用程序添加帮助系统通常是开发人员待办事项列表中的最后一项。但是,借助 Iron Speed Designer 和一张表,您可以轻松拥有一个完全可定制的多语言帮助系统,该系统可以集成到任何应用程序中。

图 1:应用程序用户指南
我一直对帮助系统感到恼火,因为它们通常是静态的。我无法添加自己的注释,但需要一个完全独立的应用程序来处理它们。
当客户使用您的应用程序时,他们通常有自己的业务流程与应用程序协同工作。该软件可以分发给许多具有不同语言和业务实践的公司,因此提供可定制的帮助是很有意义的。只需稍加努力,即可轻松创建完全可定制的字段级帮助系统。
在本文中,我将讨论如何使用 Iron Speed Designer 以及开源的 FCKeditor 将帮助系统集成到任何由 Iron Speed Designer 生成的应用程序中。我使用了 FCKeditor,但您可以使用您选择的网页编辑器。FCKeditor 可以在这里找到。
在此示例中,我使用 Iron Speed Designer 免费版 V5.0 和 Microsoft Access 数据库来创建我的帮助系统。
Procedure
与任何由 Iron Speed Designer 生成的应用程序一样,您需要从设计良好的数据库开始。因此,让我们从构建两个表开始。第一个也是核心表将是名为 HelpNodes
的帮助表(参见图 1)。使用适合您应用程序的任何名称。第二个表将是 Customer
表,我们将使用它来演示如何链接字段级帮助。

图 2:帮助表布局
我们将主要关注 HelpNodes
表,因为它是我们帮助系统的主要表。有关表中每个字段的说明,请参见图 2。基本思想是存在根节点,并且可以从根节点创建许多子节点到任何级别。这是通过将帮助表从 ParentNode
自连接到 NodeID
来完成的。这可以在数据库级别完成,但我想演示如何使用 Iron Speed Designer(参见图 3)。当您创建自连接时,Iron Speed Designer 会自动创建用于选择父节点的下拉列表并显示节点标题。
NodeID
- 主键字段。NodeCaption
- 将在树视图中显示的节点标题。RootNodeID
- 指向基本节点 (NodeID
),以便更快地访问父节点。ParentNode
- 指向父节点 (NodeID
)。Language
- 指定当前节点的语言。Sequence
- 对应显示的同级节点进行排序。Form
- 字段级帮助的引用。也可以使用其他相关的锚点。HelpMessage
- 实际的帮助消息。

图 3:设置自连接的虚拟外键
创建 Iron Speed Designer 应用程序超出了本文的范围。我的讨论将侧重于在 Iron Speed Designer 中构建帮助表单。当您在 Iron Speed Designer 中使用应用程序向导时,会为帮助表生成显示、添加、编辑和浏览页面。生成的页面大部分是完整的,但我们仍然希望集成第三方控件用于网页编辑器,并为网页表单添加一些我们自己的视觉提示。
通过在添加表单旁边放置树视图,用户可以看到他们的条目将放置在哪里(参见图 4)。他们还可以选择父节点,添加/编辑表单将通过将其选作父节点下拉列表来自动反映他们的更改。语言输入已更改为下拉列表输入字段,并使用自定义函数填充。序列已更改为下拉列表,并通过指定值在设计器内部填充。输入字段 Form 已更改为下拉列表,通过覆盖生成的下拉列表填充,我能够调用自定义例程遍历站点并用所有表单填充它。最后一个要更改的输入字段是 Help Message 本身,它被替换为开源编辑器。可以在知识库中搜索有关如何集成第三方控件的文章。

图 4:修改后的添加表单
现在有了输入数据的方法,添加节点表单需要将每个字段保存到数据库中。生成的代码处理所有条目,除了第三方控件。使用 Iron Speed Designer 框架,这很简单。该框架允许覆盖许多生成的方法。如果我们要覆盖 GetUIData
,添加帮助记录控件现在可以引用 Help Message 控件并填充数据源(参见图 5)。这是一个填充任何非视觉元素的好地方。

图 5:覆盖 GetUIData 方法
我们刚刚将一个开箱即用的生成页面进行了扩展,以适应应用程序的特定要求。所有这些都说明了 Iron Speed Designer 生成应用程序的可扩展性。
为了让用户与生成的帮助文档交互,我们创建了一个标准的 ASP.NET 页面来显示它。用户界面 (UI) 组件以树视图显示帮助文档,其中包含两个 <div>
标签和一些样式表标记。填充的树视图调用单个递归方法来填充每个节点。一个 <div>
包含树视图,而另一个用于在用户单击每个节点时输出内容(参见图 6)。尽管我只在文档中包含了文本,但内容中可以包含许多服务器端元素,例如图像或指向其他页面的链接。

图 6:生成的帮助文档的显示
由于字段级帮助内容已在帮助表中,因此将帮助连接到用户界面很容易。编辑器使用标准 HTML,因此锚标记用作 HTML 块的引用。在下面的示例中,客户名称、地址信息和账单地址信息都附加了锚点。我们稍后在链接到单个字段时将使用这些锚点。

图 7:字段级帮助的锚标记
在图 8 中,有一个添加客户页面。它显示了一个显示客户名称字段级帮助的标注。这与客户帮助文档中使用的内容相同。我们通过使用锚点提取了与客户名称相关的内容。为了实现此功能,在每个字段旁边放置了一个图像按钮。然后,从 Iron Speed Designer 内部设置了鼠标悬停事件以调用 JavaScript 函数。
然后该函数调用一个 Web 方法来检索内容并将其传回以显示。涉及几种不同的技术和一些编码,但这是可行的。

图 8:集成帮助系统
还有其他方法可以从帮助子系统中获得额外用途。例如,您可以生成 PDF 手册。通过一些小的修改,可以使用上述示例生成一个应用程序,以创建整个文档应用程序。未来需要增加的一个功能是允许最终用户动态地将字段级帮助图标链接到特定的帮助文档/锚点。能够从应用程序页面更新字段级内容也会很好。
结论
在本文中,我指出了使用 Iron Speed Designer 生成的应用程序创建帮助系统的好处。希望您喜欢这篇文章。