0

我们有一个遗留的 Lotus Notes 应用程序,我们想看看是否可以进行改进,首先为此应用程序创建一个测试环境。目前,该应用程序位于主服务器上,每 15 分钟复制一次到 Web 服务器。Web 服务器上的副本具有不同的形式和视图,因为它们被调整为在 Web 浏览器上显示信息(据我了解)

我已经制作了主服务器上的应用程序的新副本,没有任何问题。我在将其复制到 Web 服务器时遇到了一些问题,因为我不明白那些未在 Web 服务器上的应用程序中使用的元素设计会发生什么。所以我所做的是将应用程序从主服务器复制到 Web 服务器,然后删除 Web 测试中的所有设计元素,然后将所有设计元素从生产环境复制到 Web 测试。

通过这样做,我能够进入登录页面然后登录。登录后,假设显示默认视图的框架集给出此错误消息“HTTP Web 服务器:找不到设计说明”。首先,我认为这是正常的,因为我在数据库中找不到视图,这让我感到困惑,因为实时系统在数据库中没有该视图的情况下工作,但是当我尝试访问我知道数据库中存在的视图时,我仍然得到同样的错误。

所以毕竟我在 Lotus Notes 客户端上打开了 Web 测试应用程序。我可以打开存在的视图。现在在这一点上,有两件事让我非常沮丧:

  1. 即使代码特别提到了我无法从 Domino Designer 中找到的视图,实时系统也能正常工作。这没有任何意义
  2. 作为测试,我在 Web 测试应用程序上创建了一个“测试”视图。基本上,我只是告诉它获取一个名为“WORec”的表单,其中包含工单信息。令我惊讶的是,该视图在 Web 浏览器上打开但没有显示任何结果,这让我更加沮丧,因为“WOByName”视图可以很好地获取所有工作订单。这两个视图具有相同的选择公式,所以我真的不明白为什么一个视图能够显示另一个视图不能显示的数据。此外,如果我告诉测试视图获取数据库中的所有文档,它只会获取那些不是“WORec”形式的文档

我知道这很长,但如果我能得到一些关于我在这里做错了什么的指示。我只是想创建一个测试环境。不幸的是,我从未处理过 Domino Web 应用程序或完全具有不同元素设计的复制。

4

3 回答 3

1

据我了解,您复制了数据库,然后删除了所有设计元素,并通过从生产 Web 副本复制来手动替换它们。相反,您应该从生产 Web 数据库制作模板(通过仅设计副本),然后您应该使用“替换设计”功能从该模板更新测试 Web 数据库。

顺便说一句:按照您描述的方式构建的应用程序(两个副本在不同的服务器上,每个副本都有一组不同的设计元素)是一个非常糟糕的实现。它可能在 Domino 的早期就完成了,那时“从 Notes 客户端隐藏”和“从 Web 隐藏”属性在设计元素级别可用。或者它可能是出于“安全目的”而故意进行的(我将其放在引号中是因为依靠 Domino 设计元素来强制 Domino Web 应用程序的安全性并不能真正使应用程序更加安全)。你可能会被这个困住......但你可能不会。因此,在您尝试改进或增强此应用程序之前,我认为您应该考虑在设计元素上使用“隐藏...”属性。

另一方面,如果您坚持当前的设计,我想提一下,您需要确保主副本和 Web 测试副本上的 ACL 设置和选择性复制设置与相应的生产副本。否则,当测试数据库跨服务器复制时,您最终会遇到混乱的设计元素。

于 2012-04-17T23:41:33.737 回答
1

让我们从测试视图开始。

创建视图时,您需要首先验证它是公共视图。私人视图或首次使用时共享私人 (SPOFU) 视图不是您想要的。

此外,验证视图的名称和别名对于您的数据库是唯一的。

接下来,验证您的选择公式是否正确。

使用公式,而不是简单,这样您就可以实际看到公式。例如

SELECT @UpperCase(Form) = "WOREC"

刷新您的视图设计器 (F9) - 您看到您的记录通过了吗?

另外,请确保视图没有对 Web 客户端隐藏...当您查看视图列表时,您将在设计器客户端中看到这一点 - 一个指示它是否对 Web 客户端、便笺客户端、移动客户端隐藏的列, ETC。

如果没有,请打开其中一份文件。显示属性,验证框(第二个选项卡)中的表单属性,匹配值“WORec”。如果不是,请使用正确的表单名称拼写更正您的视图选择。

接下来,您需要确保允许您从网络上查看此内容。打开访问控制列表(ACL)并添加“匿名”作为读者或以上。

在 Designer 中打开视图,并在 Web 浏览器中预览。

至于“找不到设计说明”消息 - 这不好。你肯定缺少设计元素。这是由于选择性复制公式问题,还是 acl 问题,或其他原因,很难说。但是,如果您有一个 Notes 胖客户端和一个单独的 Web 版本,我会推荐不同的数据库(或主模板),而不是尝试使用选择性复制来处理这类事情。

于 2012-04-17T20:06:16.090 回答
0

我建议您将 Web 服务器上的 Notes 数据库的新副本复制到测试服务器。尝试使用浏览器打开并检查一切是否正常。在设计器中打开此副本并检查它是否包含您之前在测试中没有看到的视图。

我不确定您是否真的有 2 种不同的设计(一种用于 webser 与您的主服务器不同),因此:
- 在主服务器上:打开此应用程序的文件/复制/选项。如果设计元素被选中,请在高级中选中当 Web 服务器从 .... 接收时。如果不是,那么有两个不同的设计版本是有道理的。

也许您没有找到的视图(在 Web 服务器上)限制了使用?要检查这一点:
- 在视图(在主服务器上)中,使用“所有读者及以上”键检查选项卡的属性。如果未选中,这就是它们在 Web 服务器上不存在并且您在设计器中看不到它们的原因:如果您没有角色或不是“可以使用此视图的人” “你不
要更正此问题,只需输入 ACL(文件/应用程序/访问控制)并授予您相应的角色。我希望我有所帮助

于 2012-04-18T06:09:13.153 回答