6

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

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

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

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

我们正在考虑使用核心服务构建一个可以导出和导入权限的工具。我们在这些环境中具有相同的组、出版物和文件夹结构。

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

非常感谢任何观点。

4

2 回答 2

6

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

于 2012-05-08T19:33:11.857 回答
4

I created a security migration tool in Tridion 5.2 but the solution approach will still apply to current versions of Tridion

Summary

The solution used a set of simple vbscript export page templates to extract the security information as xml and store it in a set of components.

I then used Tridion Content Porter to move these security components, page templates and tbbs's to the target CMS's

Using set of simple import page templates to open the security xml components to apply the security setting to the target cms.

The tcmid's will be different in the target cms so the import functions must use webdav urls and build dictionaries of tcmid's for trustees etc

Details

Export Security Groups

  • iterate selected Groups

  • append group xml

  • save xml in component

Export Publication Rights

  • getlistpublications

  • iterate list of publications

  • get each publication xml

  • remove "//tcm:CategoriesXSD" node

  • appendChild publication xml

  • remove unwanted "//tcm:Trustee" nodes

  • save xml in component

Export Folder Permissions

  • recursively iterate folders

  • append Folder XML

  • remove trustee nodes that are inherited ("IsInheritanceRoot")

  • save xml in component

Export Structure Group Permissions

  • recursively iterate Structure groups

  • append structure group XML

  • remove metadata node "//tcm:Metadata"

  • filter out unwanted Trustees

  • save xml in component

Import Security Groups

  • load xml from security component

  • iterate group nodes

  • create groups if they don't already exist

Import Publication rights

  • load xml from security component

  • update xml tcmid's

  • iterate publications

  • load publication xml

  • build xml updategram

  • update publication xml

Import Folder Permissions

  • load xml from security component

  • update xml tcmid's

  • for each folder node

  • build updategram xml

  • open folder

  • update folder xml

Import Structure Group Permissions

  • load xml from security component

  • update xml tcmid's

  • for each structure group node

  • build updategram xml

  • open structure group

  • update structure group

于 2012-06-16T07:14:39.767 回答