跨环境导出和导入安全权限的最佳方法是什么?

时间:2012-05-08 18:35:32

标签: tridion

我们有大量的出版物,目前我们在多个环境(主要是UAT和PROD)中手动应用CMS权限。这很乏味且经常容易出错。

我们正尝试在多个环境中导出和导入CMS权限,因此可以手动完成,并使用某种工具移植到其他环境。

环境:Tridion 2011 SP1 + IIS 7.5 + SQL Server 2008 r2

在旧的PowerTools(VBScript)中,曾经有一些工具来管理Access管理,这可能很方便,但仍然容易出错。由于显而易见的原因,我们对使用OLD powertools不感兴趣,并且它是重复运行功能,因此也排除了DB选项。

我们正在考虑使用Core Service构建一个可以导出和导入权限的工具。我们在这些环境中拥有相同的组,发布和文件夹结构。

以前有人试过这个吗?其他同事Tridioneers在大型实施中使用的经验或做法是什么?

非常感谢任何观点。

2 个答案:

答案 0 :(得分:6)

我曾经编写过一个工具,允许您将所需的权限设置描述为JSON,并通过API应用它们。说实话,如果你要编写DTAP安全工具,我会采用类似的方法。首先,能够以开放的,基于文本的格式表达您想要的设置,然后编写一个导入它们的工具。完成后,您可以轻松构建一个导出它们的工具。

答案 1 :(得分:4)

我在Tridion 5.2中创建了一个安全迁移工具,但解决方案方法仍将适用于当前版本的Tridion

<强>摘要

该解决方案使用一组简单的vbscript导出页面模板将安全信息提取为xml并将其存储在一组组件中。

然后我使用Tridion内容移植器将这些安全组件,页面模板和tbbs移动到目标CMS的

使用一组简单的导入页面模板打开安全xml组件,以将安全设置应用于目标cms。

tcmid在目标cms中会有所不同,因此导入功能必须使用webdav网址并为受托者等构建tcmid字典

<强>详情

导出安全组

  • 迭代选定的群组

  • 追加群组xml

  • 在组件中保存xml

导出出版权

  • getlistpublications

  • 迭代出版物清单

  • 获取每个出版物xml

  • 删除“// tcm:CategoriesXSD”节点

  • appendChild publication xml

  • 删除不需要的“// tcm:Trustee”节点

  • 在组件中保存xml

导出文件夹权限

  • 递归迭代文件夹

  • 追加文件夹XML

  • 删除继承的受托者节点(“IsInheritanceRoot”)

  • 在组件中保存xml

导出结构组权限

  • 递归迭代结构组

  • 追加结构组XML

  • 删除元数据节点“// tcm:元数据”

  • 过滤掉不需要的受托人

  • 在组件中保存xml

导入安全组

  • 从安全组件加载xml

  • 迭代组节点

  • 创建组(如果它们尚不存在)

导入发布权

  • 从安全组件加载xml

  • 更新xml tcmid的

  • 迭代出版物

  • 加载出版物xml

  • 构建xml updategram

  • 更新刊物xml

导入文件夹权限

  • 从安全组件加载xml

  • 更新xml tcmid的

  • 每个文件夹节点
  • 构建updategram xml

  • 打开文件夹

  • 更新文件夹xml

导入结构组权限

  • 从安全组件加载xml

  • 更新xml tcmid的

  • 每个结构组节点

  • 构建updategram xml

  • 开放式结构组

  • 更新结构组