xpages部分刷新可以';复制本地副本后无法保存

xpages部分刷新可以';复制本地副本后无法保存,xpages,replicate,Xpages,Replicate,情景: 用于在web浏览器中编辑的用户预览xpage 开发人员将本地副本复制到服务器 用户单击保存按钮并触发保存操作部分/完全刷新 在8.5.2崩溃整个数据库的基础上,找不到java设计类。在8.5.3中,没有出现错误CS/SS,但没有对文件进行更改。如果您复制sessionID,它似乎会被覆盖。有没有办法修复/检测它 有什么想法吗 thx它与此效应有关: 简单地说,每次设计更改都会重置XSP引擎。从8.5.3开始,您可以通过XPage属性中的属性“在设计更改时刷新整个应用程序””来控制它-关闭

情景:

  • 用于在web浏览器中编辑的用户预览xpage
  • 开发人员将本地副本复制到服务器
  • 用户单击保存按钮并触发保存操作部分/完全刷新
  • 在8.5.2崩溃整个数据库的基础上,找不到java设计类。在8.5.3中,没有出现错误CS/SS,但没有对文件进行更改。如果您复制sessionID,它似乎会被覆盖。有没有办法修复/检测它

    有什么想法吗


    thx

    它与此效应有关:

    简单地说,每次设计更改都会重置XSP引擎。从8.5.3开始,您可以通过XPage属性中的属性“
    在设计更改时刷新整个应用程序”
    ”来控制它-关闭它(该版本的默认设置)只会“软重置”XSP引擎

    无论如何,您可能会丢失一些作用域变量和bean。这就得出了一些需要遵守的规则:

    • 不允许开发人员在工作时间内更改生产中的设计。
    • 将问题通知用户(部分刷新的onError事件)——Tim的评论解释说,不幸的是,在设计更改后,部分刷新不会导致错误。简单的CSJS代码ping应用程序可用性并在应用程序没有响应时报告问题可能会起作用,但我不建议这样做:我们使用ExtLib中的“keep alive”控件,而domlog.nsf中的故障排除成了一场噩梦——到处都是ping(几乎所有时间——许多用户一夜之间保持浏览器打开)

    • 如果数据非常重要,请实现类似于谷歌应用程序的自动保存机制


    顺便说一句:这种效果类似于超时会话-部分刷新将失败,用户需要重新加载页面(可能还有松散的编辑)。

    我将首先考虑您将更改复制到生产环境的频率和时间。如果您在用户使用应用程序时更改了应用程序的设计,则总是会出现问题。Frantisek,谢谢您的回复,但xsp.application.forcellrefresh不会解决问题,OneError也不会产生任何错误。如果我能检测到它,当然我会实现一个自动保存机制。还有其他建议吗?上面Frantisek的第一个要点是关键:不要在用户处于活动状态时部署更改。这样做会将他们正在使用的应用程序替换为一个不同的应用程序——一个类似的应用程序,但仍然是一个不同的应用程序。因此,部分刷新事件要求不再存在的应用程序响应。上面列出的设置将影响降至最低,但无法消除影响。因此,不要从用户下方替换应用程序。建立并遵循变更管理流程,提前通知用户即将发生的变更,并在影响最小时实施。