仪表盘版本管理
物可视平台拥有自动保存功能,任何对仪表盘的改动(包括组件位置,属性,数据表等等)都会在 3 秒后触发自动保存,大大降低了用户的操作成本,也保证了用户的操作不会丢失,是一个友好的功能。
但事物都有两面性。如果用户的一些误操作损坏了仪表盘,因为自动保存功能的存在,当前的损坏状态也会被保存下来,反而无法找回之前的仪表盘了,这反而给用户带来了困扰。
虽然物可视也拥有“发布”功能,但毕竟发布通常是在一些里程碑状态下进行的操作,用户不可能频繁发布。另外发布只能保证运行状态,却无法让编辑器回到发布时的状态,因此“只能看,不能改”,也是其不足之一。
好消息是,物可视现在拥有了“仪表盘版本管理”功能,允许用户进行“时光回溯”,把仪表盘回到过去的某个状态。妈妈再也不用担心我的误操作了。
什么是版本?
如果您使用过 Git 或者更早期的 SVN/CVS,您应该对”版本“这个词并不陌生。在物可视环境下,版本指的是某一个时刻的仪表盘所有状态,物可视会记录每个版本的仪表盘信息。
在需要回退版本时,找出目标版本的仪表盘并加载到编辑器中。之后用户可以像通常一样继续操作,就好像时间回到了过去。下图展示了一个常规的版本回退操作。
有一点需要大家注意:在回退操作完成后,”版本3“实际上已不存在,因此回退版本是一个不可逆操作。一旦退回到“版本2”,相当于时间回到了过去,那时是不存在“版本3”的,因此也无法再前进到“版本3”,所以回退操作需要慎重。
我应该如何回退版本?
在最新版的物可视平台,仪表盘编辑界面中,仪表盘工具栏靠前位置会出现一个”回退“按钮。
点击”回退“,可以看到最近 30 天的可回退版本信息。选中某一个版本还能在右侧看到当时的缩略图,供用户参考。
(当版本数量超过 10 个,还会出现翻页按钮。上图版本不足 10 个,没有翻页)
点击弹出框右下角的“回退”按钮,之后等待浏览器自动刷新,即可让仪表盘回到当时的状态。
有几点需要大家注意:
- 再次提醒,回退操作本身不可逆,回退到过去之后无法再前进到现在,所以必须谨慎操作。
- 新建的仓库没有历史版本,因此不会列出版本,也不能回退。
- 为了产品稳定性考虑,回退版本不会影响已发布的内容。 举例来说,假设我在10月1日拥有版本1,在10月2日发布了仪表盘,在10月3日回退到1日的版本1。虽然发布时间(2日)晚于版本1的时间(1日),但物可视必须保证这个已发布版本的正常运行,因此它依然存在,内容也不会变化,可以放心使用。
物可视会记录我的所有操作吗?
既然物可视有自动保存功能,理论上来说,如果把每次自动保存的结果都生成一个版本的话,那每一步操作就都可以回退了吗?答案是 YES。
但这样做并不合理,因为用户的操作可能会很琐碎,很细节。把每一步操作都保存起来,在回退时,会发现供回退的版本也多到无法想象。这种情况其实并不是用户所需要的,因为用户面对海量的版本无所适从,反而需要在寻找目标版本上花费很多的时间。
因此物可视会在一定数量的操作后自动创建版本,既保证了用户可以回退,不丢失过多的工作,同时也不至于因为版本过多,让用户眼花缭乱。
物可视自动创建版本有什么规律吗?
物可视会在以下两种情况创建版本:
-
用户打开仪表盘或最近一次创建版本后超过 30 分钟且进行了导致仪表盘变化的操作时。
举例来说,用户于10:00打开物可视平台,进行了一系列的操作。如果这些操作在10:30之前,则物可视系统只会单纯地保存他们,不会创建版本。而例如在10:35用户又进行了一次修改操作,此时除了常规的保存,物可视还会额外创建一个版本,版本描述将会是“自动保存于2019-10-1 10:35:00”。这条信息可以在回退操作框中看到。
10:35现在作为了一个新的起始点,同样根据 30 分钟的规则,在11:05之前的操作不会创建版本,之后的第一个操作会再创建一个版本。
-
如果用户从编辑界面返回列表页,这个时间会缩短到 10 分钟。
考虑到通常用户进行了一系列操作之后才会退出编辑器,因此在退出时物可视把这个时间限制缩短为10分钟。顺着上面的例子,如果在11:05分创建了版本了,那么在11:15分之前退出不会创建版本,而在之后就会再创建一个版本。
另外,直接关闭浏览器不会创建版本。
我能自己手动创建版本吗?
可以。毕竟用户自己知道自己进行了什么操作,是否到了一个里程碑,因此这个权力同样开放给用户使用。用户可以在编辑器的工具栏左侧找到一个“记录点”按钮。
点击“记录点”按钮,输入一些有意义的信息,点击确定即可创建一个手动版本。
这些信息最终会显示在回退版本的弹框上,所以尽量填写一些自己容易辨别的信息,例如“完成了XX功能”之类。
版本和自动保存有什么关系?
可能有用户会认为,版本可以回退,而自动保存不可以,这么想版本似乎是进阶版的保存。如果用记录点替代自动保存,就可以更加“万无一失”。实际上上面已有说明,保存的版本过多,在回退时会面临海量的选择,反而不利于用户自身。
此外,从技术本质上说,保存和版本并没有关联,技术实现也完全不同。可以认为版本是对自动保存功能的一个补充,在不小心进行误操作时出来救场而已,并不是要替代自动保存功能,这点请千万要牢记。