场景:IBM Domino for 2开发人员。 开发人员A修改xpage .....,当他在网络浏览器中预览时,没有反映出变化。 Web浏览器中的开发人员B预览,并且未反映出更改。 开发人员B打开xpage并查看更改,但不在浏览器中预览。
如果开发人员B保存xpage,开发人员都会预览更改。
问题仅针对开发人员A,仅适用于xpages,其余组件在Web中运行良好。
构建和清理不会改变任何东西。 我们重新安装了多米诺设计师&客户,不工作。
我们使用管理员的ID,行为是相同的。
有什么想法吗?
由于
答案 0 :(得分:10)
需要其他信息来发现此行为的根本原因,但以下是我发现的最佳做法的一般指导原则,可能也有助于此情况:
从不使用“在网络浏览器中预览”。它取决于你:即使它“工作”,它运行的环境类似到真正的Domino服务器,但它不是Domino服务器。除非应用程序的每个用户都使用自己的Designer客户端中的“在Web浏览器中预览”启动应用程序,否则此模式无法完全代表用户将体验到的内容。因此,使用它来对应用程序进行单元测试会适得其反,因为您所看到的与用户将会看到的类似,而不是将看到的内容。相反,打开用户将使用的同一浏览器并手动导航到测试应用程序的URL。无论何时进行更改,只需刷新浏览器窗口即可。这将为您提供具有代表性的结果。
从不启用“自动构建”。保存后能够立即测试您的更改感觉很方便,但是在保存和测试之间手动执行构建所需的两次额外鼠标点击值得消除“自动构建”导致的不一致行为。
始终针对本地副本进行开发。即使您在计算机上运行本地开发服务器(强烈建议),Designer也会在连接到Domino服务器时执行大量不必要的工作,即使连接到该服务器不需要实际的网络流量也是如此。针对本地副本进行开发,并在每次构建之后复制到您的测试服务器 - 无论该服务器是在本地计算机上还是在其他地方的“真实”服务器上。这再次感觉像是一个额外的步骤,但提供了明显更好的结果。
总是在开发XPage应用程序时使用某种形式的版本控制,即使团队只是两个开发人员。无论是Git还是Mercurial还是Subversion还是其他什么,避免不必要的流血事件的最佳方法是确保每个开发人员都针对应用程序的单独副本进行测试,这些副本都与相同版本控制存储库。通过适当的分支,这种方法不仅允许您根据需要或期望恢复到以前版本的设计元素,而且还允许您决定何时将其他开发人员的更改合并到您自己的更改中,而不是每次复制时都要覆盖彼此的更改 - 或者,如果您没有遵循上述建议,请立即保存。
有许多因素可能导致您报告的行为,例如签名者权限(听起来您已经排除了),以及同一应用程序中的多个签名者(为了测试这一点,只需立即签署整个设计在进行构建之前,再次测试页面)。但是从你问题的内容来看,我怀疑上面列出的四条建议将大大改善你的开发过程,即使它们没有解决这种特定行为的根本原因。
答案 1 :(得分:0)
完全相同的行为发生在我身上(与开发人员A和开发人员B)并且它非常简单:开发人员A没有选择“项目”选项> “自动构建”,开发人员B拥有它。
@tim推荐:
永远不要启用“自动构建”
在这种情况下,开发人员B必须知道点击构建项目才能预览更改。
到目前为止,我没有遇到过“自动构建”的问题,但很高兴知道。