真的我哭死:Domino数据可视化可以这么简单

大家好,才是真的好。 

感谢AI的辅助,本篇虽然写得很快,但内容还是很扎实,主题是Domino中的数据可视化问题。

本文详细分享了在Domino中实现数据可视化可视化的强大而简单的方式,实现业务和逻辑的完全分离,避开了32K数据限制,最重要的是,类型丰富,界面好看。

主要是来自于上个月Engage大会中Phora Group公司的的Richard Moy的分享,他从自1995 年开始使用 Notes,分享了从数据可视化的定义、价值、原则、最佳实践和方法等方面核心内容。

我们先看看当前主流的可视化开源工具:

图片

采用开源工具也要考虑许可类型以及数据兼容,并能否在Domino平台运行,还要考虑工具是否足够轻量,拥有较好的性能和良好的集成特性,等等。

废话不多说,大家最喜闻乐见的就是Demo分享环节。

这里有一个案例,就是Gross Point 啤酒厂有8种啤酒、8名销售人员;2025 年目标销售额 115 万美元;销售数据都储存在Domino数据库中,现在要进行可视化展现。

这里有两个库,一个是dvdata.nsf用来存储数据,另一个是dvdemo.nsf,用来进行前端可视化页面展示,我们建议在Domino服务器中创建一个文件夹,例如engage用来存放该两个数据库(可以在我们的公众号中回复“可视化”来获取,不带引号哦),你也可以使用其他文件夹,但会涉及到一点js改动,如下图:

图片

可以在domino服务器上运行load fixup engage来识别该两个数据库,也别忘记了签名。

之后你可以通过浏览器来直接访问https://hostname/engage/dvdemo.nsf/demo01看到效果:

图片

当你点击2025按月汇总的柱形图,则会跳到详细页面中查看对应月份每一天的销售情况:

图片

这一页我没有做文字汉化。

我们再来解析一下该基于Domino的Web应用的结构。

通常,在Domino上做Web开发,可以考虑很多技术,例如传统的Domino Web(表单、视图、可计算字段、可计算文本、代理结合HTML和Javascript等),也可以考虑XPages;还有Node.js或其他Web技术,然后使用DAS、readviewentries、XAgents、LotusScript/Java 代理或REST JSON API来进行获取Notes库中的数据。

而这里采用的就是最为传统的Domino Web技术方式,严格做到了表单、数据和业务逻辑分离,并且没有32k数据限制。

我们先来看看,每个 Web 页面(例如本例中的demo01)都由一个 Web 导航器(Navigators,如demo01),然后对应有一个Web表单(如$$NavigatorTemplate for demo01),如下图:

图片

这就共同构成了一个网页容器。

用户通过浏览器访问的是demo01导航器,就会自动加载表单NavigatorTemplate for demo01,而该表单上有一个叫做html的富文本字段和其他CGI字段

图片

这时就会触发表单中的 WebQueryOpen (buildWebPage) 代理程序,buildWebpage 代理从对应Demo01文档中的 RTF 字段(html)中读取要生成并显示 Web 内容的 HTML,已经存在的Demo01文档不必位于同一数据库中,如下图:

图片

该文档可以双击打开查看,里面是写好的Html(你甚至可以使用VSCode写好,然后推送到这里):

图片

静态网页这样做就可以了,但我们这里是可视化显示,因此要动态地从另一个Notes库中加载销售数据。

上图文档html里面关键和有趣的是格式为 <$DX(something)$> 的 DX 标记,将 DX 标记替换为您需要的业务逻辑,并输出响应以包含在 Web 页的 html 生成中。响应可以是 html、text、JSON 或其他。这取决于具体的需要。

例如在<$DX(CurrentYear)$>,它调用了一个返回当前年份的 LotusScript 函数;如果你在这里使用计算文本元素来代替的话,返回其他数据库或服务器上的数据,有32K限制,对不对?但在这里没有,因为这些html在RTF字段中,并且我们采用LotusScript来替换的。

图片

具体的lotusscript代理代码我们这里就不讲解了,Demo里面都有,非常简单,主要是思路的问题。

本文参考了站点内容:https://dominointerface.blogspot.com/2025/06/out-with-old-in-with-old-building-your.html,你也能在该站点下载到本文的Demo应用。

今天就介绍到这里。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值