我有一个自定义CMS实现,它将内容节点存储在两个表中,如http://www.slideshare.net/billkarwin/models-for-hierarchical-data中的“闭包表”部分所述,并在Ruby on Rails 3和MySQL下使用此gem https://github.com/mceachen/closure_tree。
我现在应该实现版本历史记录,其中内容树中的任何更改(编辑,插入,移动,删除节点等)都将创建根节点(发布)的新版本。用户可以查看旧版本并恢复它们。还原操作将创建一个较新的版本,它是已还原版本的副本。
有没有众所周知的方法来实现这一目标?或者有没有人有这样的想法或示例实现?
任何意见都将受到赞赏。
答案 0 :(得分:1)
State machines?如果有更多的想法,我很好奇。我肯定知道有一个很棒的解决方案,但它不属于Rails范围。这是文件管理系统。我建议的第一个是Alfresco。