【问题标题】:Lotus Notes Views are not showing up in the web browserLotus Notes 视图未显示在 Web 浏览器中
【发布时间】:2012-04-18 14:09:13
【问题描述】:

我们有一个遗留的 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 应用程序或完全具有不同元素设计的复制。

【问题讨论】:

    标签: lotus-notes lotus-domino lotusscript


    【解决方案1】:

    让我们从测试视图开始。

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

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

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

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

    SELECT @UpperCase(Form) = "WOREC"

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

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

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

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

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

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

    【讨论】:

    • 当您说“公共”而不是“共享”时,对吗?创建新视图时,我没有找到“公共”选项。
    • 我尝试使用您上面提到的公式创建一个新的“共享”视图,在 Designer 中刷新它,但仍然没有记录。这很奇怪,我打开了“WOByName”视图,在 Designer 中查找相同的表单并获得了记录
    • 是的,我的意思是共享。您可以检查 WOByName 视图上的安全选项卡吗? (alt-enter 打开属性,最右边的选项卡)。这看起来像什么?此外,如果您错过了一些微妙的东西,您可能会再看一下设计师对视图的帮助。 publib.boulder.ibm.com/infocenter/domhelp/v8r0/…
    【解决方案2】:

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

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

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

    【讨论】:

    • 您对第一段的评论与我所做的非常接近,但让我在这里更清楚一点。
    • 您对第一段的评论与我所做的非常接近,但让我在这里更清楚地说明。我们在主服务器上有 1 个数据库,在 Web 服务器上有它的副本。主办公室的用户正在通过 Notes 客户端访问主服务器上的数据库。 Web 服务器上的副本仅用于显示办公室中用户修改的数据。现在 db 和它的副本有不同的设计元素,虽然它们有一些名称相同但看起来不同的表单,我相信这是因为一个是为 Notes 客户端设计的,一个是为 Web 浏览器设计的
    • 问题是我不明白这怎么可能。数据库在复制时不应该具有相同的设计元素。考虑到这一点,我对如何创建测试系统感到困惑。为了在主服务器上创建测试,我只使用带有 Copy design 和 ACL 的“New Copy”,它作为测试系统运行良好。但是,如果我从该测试系统创建一个复制到 Web 服务器,那么所有的设计元素都不是为 Web 查看而设计的。所以就像你说的,我从副本中删除了所有设计元素,并从生产副本数据库中复制了所有设计元素
    • 我正在考虑从副本生产数据库创建一个新副本,但这意味着新副本将具有与主服务器上的测试数据库不同的副本 ID,对吧?我的目标是我想要一个模仿我们当前应用程序的测试系统。我在这里说得通吗?
    • RE “我不明白这怎么可能”。这不正常,但可以做到。通常,它是通过手动更改其中一个副本中的设计元素来完成的,然后非常小心地设置 ACL,以便不会复制设计更改。即,服务器彼此仅授予编辑器访问权限,因此它们不能更改彼此的设计。 (也可以通过选择性复制选项来完成,但这些都是邪恶的,我从不推荐使用它们。)
    【解决方案3】:

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

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

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

    【讨论】:

    • 我检查了生产数据库,在“高级”选项卡上,它说。仅接收来自其他副本的信息子集当计算机“主服务器”时,接收器来自“-任何服务器-”。没有一个复选框被选中
    • 在生产网络数据库(副本)上。在我看到的高级选项卡上,仅接收来自其他副本的信息子集当计算机“Web 服务器”时,从“-任何服务器-”接收,按选择公式检查文档,从其他副本“删除”接收这些元素跨度>
    • 当我从主服务器上的数据库中查看我的测试数据库(新副本)时。 Replication 选项上的 Basics 选项卡显示为灰色。真的不知道为什么。
    • 这可能表明您没有数据库的管理员权限。
    • 我刚刚检查了 ACL。我拥有经理权限并包含在所有角色中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-18
    • 2012-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多