【问题标题】:Tridion Core Service: How to update system properties of component/ multimedia componentTridion 核心服务:如何更新组件/多媒体组件的系统属性
【发布时间】:2012-10-03 06:09:08
【问题描述】:

我有一个需求,我需要更新组件/多媒体组件的系统属性(主要是创建和修改日期)。但是在创建组件时,我只能访问 Title 属性,通过它我可以设置组件的名称,所以有没有办法通过代码更新创建和修改日期。

在 Filenet 等大多数存储库中,系统属性不可直接编辑,但在一些配置更改后,系统属性也可编辑。

在 SDL Tridion 中也可以在更改配置文件后使其他系统属性可编辑?如果是,那么我究竟需要在哪里进行更改?

下面是我用来创建组件的代码:

core_service.ServiceReference1.SessionAwareCoreService2010Client client = 
    new SessionAwareCoreService2010Client();

client.ClientCredentials.Windows.ClientCredential.UserName = "myUserName";
client.ClientCredentials.Windows.ClientCredential.Password = "myPassword";

client.Open();

ComponentData component = (ComponentData)client.GetDefaultData(
                                     ItemType.Component, folderUri);
component.Title = targetFileName;
component.ComponentType = ComponentType.Normal;

请提出建议。

【问题讨论】:

  • 这些属性是只读的,你不能通过API改变它。
  • 我建议您在多媒体架构中添加一些元数据,例如创作日期或修改日期,然后更新元数据。

标签: tridion tridion-2011


【解决方案1】:

如果您想在发生迁移的系统之间维护日期信息,那么一个好的方法是将“创建”和“修改”日期字段作为元数据添加到正在迁移的项目中。然后,您需要在从源存储库中导出这些字段之前使用适当的值填充这些字段。

我想不出其他受支持的方法。

【讨论】:

    【解决方案2】:

    您不能通过核心服务或任何接口修改和创建,因为tridion维护版本。

    您可以设置创建和修订日期,但核心服务不会更改日期。

    【讨论】:

      【解决方案3】:

      正如@Jeremy 所说,这些是只读属性。除了为编辑提供信息之外,这些值很少用于其他用途。

      也许如果你能解释你的业务需求,有人可以提供替代解决方案。

      【讨论】:

      • 我的业务/客户要求是我希望保持创建和修改日期与我的源存储库中的相同(因为我从另一个存储库迁移内容)。
      • 您确实应该在您的问题中发布此类信息 - 这会使回答变得更加容易;)无论如何,我已经根据这些新信息更新了我的答案。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-21
      • 1970-01-01
      • 2012-11-09
      • 2013-01-07
      • 2012-10-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多