Tridion核心服务:如何更新组件/多媒体组件的系统属性

时间:2012-10-12 12:14:47

标签: tridion tridion-2011

我有一个要求,我需要更新组件/多媒体组件的系统属性(主要是创建和修改日期)。但是在创建组件时我只能访问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;

请建议。

3 个答案:

答案 0 :(得分:3)

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

我无法想到其他支持的方法。

答案 1 :(得分:1)

如@Jeremy所述,这些是只读属性。这些值很少用于除为编辑者提供信息之外的其他内容。

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

答案 2 :(得分:0)

您无法通过核心服务或任何界面进行修改和创建,因为这样可以保留版本。

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