5

我在一个 Tridion Content Manager 2009 实例中有 2 个发布树

我需要将一组内容(架构、组件等)从一棵树移植到下一棵树。没有一棵树共享任何共同的出版物,所以我们有这样的东西

PUB_A              --->           PUB_C   (Schemas)
   PUB_B                              PUB_D   (Components)

我可以导出内容 OK,但 PUB_C / D 中不存在任何内容(显然出版物名称完全不同)。这些组件可怕地嵌套在旧网站中,因此重新创建它们并不是我真正想要探索的选项。

我可以使用 Content Porter 执行此操作并让它在新出版物中创建我的项目吗?这似乎是它应该能够做的事情,但我很难理解映射,尝试重命名映射文件中的“importTarget”属性,但它仍然坚持尝试重新导入与源导出相同。

谢谢

4

2 回答 2

7

您可以使用 Content Porter 来执行此操作。首先,您需要将源出版物重命名为不同的名称,例如 PUB_A_TEMP、PUB_B_TEMP。然后您需要重命名您的目标出版物以具有源出版物的原始名称,例如 PUB_C > PUB_A、PUB_D > PUB_B。然后,您可以运行 CP 导入。导入完成后,您可以将 Publications 重命名为原始值,首先要重命名目标 Publications。

于 2012-05-25T14:32:44.027 回答
1

使用 importContext 属性

在从 SP1 开始的 Content Porter 中,mappings.xml 控制从旧到新的位置映射。

  • 更改importContext属性以移动项目。
  • 虽然它不适用于此处,但您也可以使用 importTitle 更改目标名称。
  • 请务必对 importContext 中设置的发布名称进行“url 编码”(用 %20 替换空格,用 %2D 替换破折号)。当我错误地设置这些属性时,Content Porter 失败 - 编辑并重试是安全的。
  • 我们不能创建新项目,但我们可以在系统内移动它们。

请注意,我们不能移动整个出版物,我们为每个项目设置这些。

提示:正确映射后,使用您最喜欢的搜索和替换技术进行更改。我让这个动作工作了一两次,最大的问题是拼写错误。

示例更改: <tcccp:Mapping exportContext="/Publication/Building%20Blocks" exportTitle="component.xml" importContext="/Destination%20%Pub" importTitle="" />

一次端口零件

对于相当干净的内容端口和测试映射更改,它有助于通过对最基本模板构建块及以上的依赖关系来分解事物。

例如,我通常会关注以下一组或两组。

  1. 关键字(和类别,如果需要)
  2. 可嵌入架构
  3. 常规模式
  4. 组件和/或模板
  5. 页面

这种非连接移动的最大挑战可能是依赖关系,即移动正在使用的模式的问题。虽然我不完全确定 CP 是否会彻底失败。如果有一个共享的父级,那么向上移动架构*可能*会起作用。

相关细节:

于 2012-07-14T10:01:01.817 回答