1

场景:IBM Domino 供 2 位开发人员使用。开发人员 A 修改 xpage .....,当他在 Web 浏览器中预览时,更改不会反映。开发人员 B 在 Web 浏览器中预览,并且未反映更改。开发人员 B 打开 xpage 并查看更改,但不在浏览器的预览中。

如果开发人员 B 保存 xpage,则两个开发人员都可以预览更改。

该问题仅针对开发人员 A,并且仅针对 xpages,其余组件在 web.xml 中运行良好。

构建和清理不会改变任何东西。我们重新安装了多米诺设计器和客户端,但不起作用。

我们使用管理员的id,行为是一样的。

有任何想法吗?

谢谢

4

2 回答 2

10

需要其他信息来发现此行为的根本原因,但以下是我发现的一些一般准则,它们可能也有助于解决这种情况:

  1. 切勿使用“在 Web 浏览器中预览”。它对您说谎:即使它“工作”,它运行的环境也类似于真正的 Domino 服务器,但它不是 Domino 服务器。除非应用程序的每个用户都将通过他们自己的 Designer 客户端使用“在 Web 浏览器中预览”来启动应用程序,否则这种模式并不能完全代表用户的体验。因此,使用它对应用程序进行单元测试会适得其反,因为您所看到的与用户将看到的相似,而不是他们看到的。相反,打开您的用户将使用的同一浏览器并手动导航到测试应用程序的 URL。每当您进行更改时,只需刷新浏览器窗口即可。

  2. 永远不要启用“自动构建”。保存后能够立即测试您的更改感觉很方便,但是在保存和测试之间手动执行构建所需的两次额外鼠标点击值得消除“自动构建”引起的不一致行为。

  3. 始终针对本地副本进行开发。即使您在机器上运行本地开发服务器(强烈推荐),Designer 在连接到 Domino 服务器时也会执行大量不必要的工作,即使连接到该服务器不需要实际的网络流量。针对本地副本进行开发,并在每次构建后复制到您的测试服务器——无论该服务器是否也在您的本地计算机上或其他地方的“真实”服务器上。同样,这感觉像是一个额外的步骤,但提供了明显更好的结果。

  4. 作为一个团队开发 XPage 应用程序时,总是使用某种形式的版本控制,即使团队只有两个开发人员。无论是GitMercurial还是Subversion或者完全是别的什么,避免不必要的流血事件的最好方法是确保每个开发人员都针对应用程序的单独副本进行测试,这些副本都链接到同一个版本控制存储库。通过适当的分支,这种方法不仅允许您根据需要或希望恢复到以前版本的设计元素,还允许您决定何时将其他开发人员的更改合并到您自己的更改中,而不是冒着在每次复制时覆盖彼此的更改的风险-- 或者,如果您没有遵循上述建议,请在保存时立即执行。

有许多因素会导致您报告的行为,例如签名者权限(听起来您已经排除了),以及同一应用程序中的多个签名者(要对此进行测试,只需在执行之前立即对整个设计进行签名构建,然后再次测试页面)。但是从您的问题内容来看,我怀疑我上面列出的四个建议将大大改善您的开发过程,即使它们没有解决这种特定行为的根本原因。

于 2013-08-27T01:05:34.370 回答
0

完全相同的行为发生在我身上(开发人员 A 和开发人员 B),这非常简单:开发人员 A 没有选择“项目”>“自动构建”选项,而开发人员 B 有它。

@蒂姆推荐:

永远不要启用“自动构建”

在这种情况下,开发人员 B 必须知道单击构建项目才能预览更改。

到目前为止,我还没有遇到“自动构建”的问题,但很高兴知道。

于 2014-02-19T20:49:27.527 回答