我们有一个遗留的Lotus Notes应用程序,我们希望看看是否可以进行改进,首先是为此应用程序创建测试环境。目前,该应用程序位于主服务器上,每15分钟复制一次到Web服务器。 Web服务器上的副本具有不同的表单和视图,因为它们已经过调整以在Web浏览器上显示信息(据我所知)
我已经在主服务器上制作了一个新应用程序,没有任何问题。我有一些问题将它复制到Web服务器,因为我不明白那些未在Web服务器上的应用程序中使用的元素设计会发生什么。所以我所做的是将应用程序从主服务器复制到Web服务器,然后删除Web测试中的所有设计元素,然后将所有设计元素从生产环境复制到Web测试。
通过这样做,我能够进入登录页面然后登录。登录后,框架集假设显示默认视图,提供此错误消息'HTTP Web Server:找不到设计备注'。首先,我认为这是正常的,因为我无法在数据库中找到该视图并且使我感到困惑,因为当我尝试访问我知道存在于数据库上的视图时,实时系统无法在数据库上显示该视图,我仍然得到同样的错误。
所以我毕竟在Lotus Notes客户端上打开了Web测试应用程序。我可以打开存在的视图。现在,在这一点上,有两件事令我非常沮丧:
我知道这很长,但如果我能在这里得到一些关于我做错的指示。我只是想创建一个测试环境。不幸的是,我从未处理过Domino Web应用程序或完全具有不同元素设计的复制。
答案 0 :(得分:1)
让我们从测试视图开始。
创建视图时,首先需要验证它是否为公共视图。私人视图或首次使用共享私人(SPOFU)视图不是您想要的。
另外,请验证视图的名称和别名对于数据库是唯一的。
接下来,验证您的选择公式是否正确。
使用公式,而不是简单,所以你可以实际看到公式。 e.g。
SELECT @UpperCase(Form)=" WOREC"
刷新视图设计器(F9) - 您是否看到了您的记录?
另外,请确保视图不会从Web客户端隐藏...当您查看视图列表时,您将在设计器客户端中看到此信息 - 指示是否从Web客户端隐藏它的列,请注意客户端,移动客户等
如果没有,打开其中一个文件。显示属性,验证框中的表单属性(第二个选项卡),匹配值" WORec"。如果没有,请使用正确的表单名称拼写更正您的视图选择。
接下来,您需要确保允许您从网上查看此内容。 打开访问控制列表(ACL)并添加" anonymous"作为读者或以上。
在Designer中打开视图,然后在Web浏览器中预览。
至于"无法找到设计说明"消息 - 那不好。你肯定缺少设计元素。这是由于选择性复制公式问题,还是acl问题或其他原因,很难说清楚。但是如果你有一个Notes胖客户端和一个单独的Web版本,我会推荐不同的数据库(或主模板),而不是尝试使用选择性复制来处理这类事情。
答案 1 :(得分:1)
据我了解,您复制了数据库,然后删除了所有设计元素,并通过从生产Web副本中复制手动替换它们。相反,您应该从生产Web数据库中创建一个模板(通过仅设计复制),然后您应该使用“替换设计”功能从该模板更新测试Web数据库。
顺便说一句:以您描述的方式构建的应用程序(在不同服务器上的两个副本,每个副本都有一组不同的设计元素)是一个非常糟糕的实现。它可能是在Domino的早期阶段完成的,之后在设计元素级别提供了“从Notes客户端隐藏”和“从Web隐藏”属性。或者它可能是出于“安全目的”故意进行的(我在引号中加入,因为依靠Domino设计元素来强制执行Domino Web应用程序的安全性并不能真正使应用程序更加安全)。你可能会被困在这......但你可能不会。因此,在您尝试改进或增强此应用程序之前,我认为您应该考虑在设计元素上使用“隐藏...”属性。
另一方面,如果您坚持使用当前设计,我想提一下您需要确保主测试副本和Web测试副本上的ACL设置和选择性复制设置与ACL选择性复制相匹配相应生产副本上的设置。否则,当测试数据库跨服务器复制时,您最终会遇到一堆混乱的设计元素。
答案 2 :(得分:0)
我建议您将Web服务器上的Notes数据库的新副本发送到测试服务器。 尝试使用浏览器打开并检查一切正常。 在设计器中打开此副本,并检查它是否包含您之前未在测试中看到的视图。
我不确定你有两种不同的设计(一种用于不同于主服务器的webser)所以:
- 在主服务器上:打开此应用程序的文件/复制/选项。在高级中,检查Web服务器何时收到....如果选中了设计元素。
如果不是有意义的话,有两种不同的设计版本。
也许您没有找到的视图(在Web服务器上)限制使用?检查一下:
- 在视图中(在主服务器上)使用“所有读者及以上”键检查选项卡的属性。如果取消选中,这就是它们在Web服务器上不存在的原因,并且您在设计器中没有看到它们:
如果您没有角色,或者不是“可以使用此视图”的人,则您看不到视图,也无法复制。
要更正此问题,只需输入ACL(文件/应用程序/访问控制)并授予您相应的角色。
我希望我帮助