开始之前
先把材料备齐,不用再多开标签页。
- Naratake 编辑器里开着一个云端项目。
- 出现保存冲突提示,说有另一个会话改过这个项目。
- 在发布之前,有足够时间把你浏览器里的成果和服务器上最新的版本都看一遍。
你将学会
- 搞懂 Naratake 为什么是暂停自动保存,而不是直接覆盖服务器。
- 在选任何会毁掉东西的恢复方式之前,先下载一份一模一样的应急备份。
- 在“以服务器版本为准”和“另建一份安全副本”之间做选择。
- 离开、导出或发布之前,确认找回来的项目已经保存。
看到保存冲突,就先停下来别改
冲突的意思是:服务器上的版本比你这个标签页一开始拿到的还新。Naratake 会暂停自动保存,让两边都不会被默默毁掉。
- 让“保存冲突”(Save conflict)提示一直开着,把上面的服务器版本和请求细节读完。
- 别在冲突中的项目里继续改。自动保存已经停了,多做的东西只会留在这个浏览器会话里。
- 别关掉标签页、别刷新,也别以为再保存一次就会把两个版本合并起来。
- 如果不小心把提示关掉了,macOS 按 Command-S、Windows 按 Ctrl-S,就能重新调出恢复选项。
达到这一步就算做完: 提示还在、标签页没关,而且你清楚知道浏览器这份和服务器那份已经不一样了。
先把一模一样的恢复文件下载下来
“下载恢复文件 .lsproj”会保存冲突当时浏览器里的快照。这一步不会破坏任何东西,也不代表你选了哪一版为准。
- 点“下载恢复文件”(Download recovery .lsproj),再点“继续”(Continue)。
- 等文件下载完,确认扩展名是 .lsproj,而且文件不是空的。
- 把文件放在以后找得到、认得出来的地方;里面是被暂存的浏览器版本,不是服务器上更新的那一版。
- 下载完提示还是会开着,这是正常的。下载只保住了文件内容,自动保存仍然刻意保持暂停。
达到这一步就算做完: 你手上有一份不是空的 .lsproj 恢复文件,而编辑器仍然在问你要按哪条路径继续编辑。
该以服务器版本为准时,就重新加载
如果别人更新的改动才是准的,而你这边的改动以后可以从恢复文件慢慢看,就选服务器版本。
- 先跟同事或项目负责人确认,服务器上最新那一版就是要当基础的版本。
- 在丢掉只存在浏览器里的状态之前,先确认恢复文件真的下载好了。
- 点“重新加载服务器版本”(Reload server version),再点“继续”。
- 项目重新加载之后,看一下被改过的页面,只把还需要的那些修改重做一遍。
达到这一步就算做完: 编辑器显示已加载服务器最新版本,画布上看到的是同事那份为准的改动。
两边都重要时,就建一份安全副本
恢复副本会把你浏览器里的成果另存为一个新的云端项目。原来的项目和它更新的版本都不会动到。
- 点“创建安全副本后继续”(Keep editing as a safe duplicate),再点“继续”。
- 等编辑器打开新项目,名称里会带有编辑器自动加上的“(Recovery copy)”(恢复副本)字样。
- 离开编辑器之前,确认保存状态已经变成已保存。
- 把恢复副本和原项目比对一遍,再用平常的编辑和审查流程决定要合并哪些改动。
达到这一步就算做完: 云端多了一个独立项目、有它自己的第一个版本,浏览器里的成果存在那里,原项目完全没被改到。
被拦住的交付动作,别想办法绕过去
冲突还没解决时,返回、导出和上线都是刻意锁住的,因为每一个都可能让一个还没定稿的版本被留下或发出去。
- 如果点返回时显示项目还没安全保存,就留在编辑器里,重新调出冲突选项。
- 导出或上线又把保存冲突调出来时,先把冲突处理掉,别再点一次。
- 光有下载下来的 .lsproj,绝对不能当成云端项目可以安全发布的证明。
- 重新加载或创建副本之后,先把找回来的项目检查一遍,再重新开始导出或上线。
达到这一步就算做完: 恢复状态已经处理完,选定的项目显示已保存,交付动作也不再被旧的冲突拦住。
跟另一位编辑者把话说清楚
技术上找回来只是没丢东西;下一次审查或上线之前,大家还是得说好用哪一个项目、哪一个版本。
- 告诉对方你找回来的东西现在在哪个项目里,以及你是重新加载还是另建了安全副本。
- 把受影响的页面、主题、模块和站点设置实际比对一遍,别凭印象合并。
- 等显示已保存,先对合并后的结果跑一遍预览,再去申请审查或上线。
- 在负责人批准最终项目之前,都留着那个恢复文件;之后再按工作空间的数据政策归档或删除。
达到这一步就算做完: 团队只有一个批准的项目,它保存下来的版本包含该有的改动,下一次审查就从这个共同状态开始。
最后检查
这几条全部成立,才算真做完。
- 编辑器的保存冲突提示是刻意处理掉的。
- 在丢掉只存在浏览器里的成果之前,已经下载了一份完整的 .lsproj 恢复文件。
- 要么重新加载了服务器最新版本,要么创建了新的安全副本并得到确认。
- 在离开、导出或发布之前,选定的项目已经显示已保存。
- 协作的人都看过找回来的结果,也说好接下来用哪一个项目。