我们有大量的出版物,目前我们在多个环境(主要是UAT和PROD)中手动应用CMS权限。这很乏味且经常容易出错。
我们正尝试在多个环境中导出和导入CMS权限,因此可以手动完成,并使用某种工具移植到其他环境。
环境:Tridion 2011 SP1 + IIS 7.5 + SQL Server 2008 r2
在旧的PowerTools(VBScript)中,曾经有一些工具来管理Access管理,这可能很方便,但仍然容易出错。由于显而易见的原因,我们对使用OLD powertools不感兴趣,并且它是重复运行功能,因此也排除了DB选项。
我们正在考虑使用Core Service构建一个可以导出和导入权限的工具。我们在这些环境中拥有相同的组,发布和文件夹结构。
以前有人试过这个吗?其他同事Tridioneers在大型实施中使用的经验或做法是什么?
非常感谢任何观点。
答案 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
开放式结构组
更新结构组