我希望能够比较Sitecore实例之间的差异,而无需将序列化文件下载到一台机器,然后可能自动化该过程。我想知道这是否可以使用Sitecore Courier?或者任何人都可以为此建议任何开源工具。
查看代码,我注意到有一个SnapShotProvider。有没有人用它来比较包而不是序列化文件夹之间的差异,并知道这是否有效?
由于
伊恩
答案 0 :(得分:3)
我也使用了RAZL并且会推荐它,并且正如Sean在评论中指出的那样,因为许可费很少,即使与半天的开发时间相比,也会花费任何时间自己编写代码。如果您确切知道内容树中的确切位置,那么您可以轻松地在那里导航(或使用历史引擎面板查找更改)并来回同步更改。您可以在Youtube上找到一些产品演示。
我发现RAZL的一个缺点是一次比较了很多嵌套项目。以前我在服务器上序列化数据,将其下载到一台机器上,然后使用WinMerge比较序列化内容文件夹(确保比较子文件夹和树模式下的视图)。在处理大型或大型数据(例如媒体库)时,比较这种方式也可能更快,因为您不必经常为每个操作请求项目。这是相同数量的数据传输,如果需要,您可以在夜间运行序列化,因此所有数据都是预先请求的"。这种方法的缺点是整个"文件"比较,因此对单个字段进行小的更改("更新日期"例如")意味着我必须手动检查更改。在RAZL中,您可以根据需要从比较中排除单个字段。
我在以前的项目中也使用过Sitecore Courier,但不是用于创建差异包。无论如何,您需要序列化内容并在某个时刻将其移动到实例,因为它实际上比较了2个磁盘位置。我个人认为这对开发人员而言比对内容作者更重要。有关用法,请参阅this blog post,但可以将其用于快速清除所有已更改的项目到单个包中。它还具有优于先前能够检测场级变化的方法的优势。
我能想到的最后一个选项是Velir Published Item Comparer模块。通常它将用于比较主数据库和Web数据库,但没有理由不能为不同的Sitecore实例添加连接字符串条目并进行比较。这是逐项工作的(因此可能很慢),但我知道Velir Suite Suite模块也使用了Item Comparer,并且当项目不匹配时能够在内容编辑器树中显示装订线图标。
这实际上取决于你的具体要求,但我希望有所帮助。