Adobe 如何在创建资产的过程中以编程方式在资产中添加自定义元数据字段

Adobe 如何在创建资产的过程中以编程方式在资产中添加自定义元数据字段,adobe,aem,livefyre,Adobe,Aem,Livefyre,我想在资产创建期间在资产中添加自定义元数据字段。我已经参考了资产类别和资产管理器类别的文档。我已经使用createAsset函数来创建资产 <?xml version="1.0" encoding="UTF-8"?> <jcr:root xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dam="http://www.day.com/dam/1.0" xmlns:cq="http://www.day.com/jcr/cq/1.0

我想在资产创建期间在资产中添加自定义元数据字段。我已经参考了资产类别和资产管理器类别的文档。我已经使用createAsset函数来创建资产

<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dam="http://www.day.com/dam/1.0" xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:mix="http://www.jcp.org/jcr/mix/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0"
    jcr:mixinTypes="[mix:referenceable]"
    jcr:primaryType="dam:Asset"
    jcr:uuid="11111111111111111111111">
    <jcr:content
        dam:relativePath="demo/demo"
        jcr:lastModified="{Date}2016-10-12T21:13:27.224+05:30"
        jcr:lastModifiedBy="dam-replication-service"
        jcr:primaryType="dam:AssetContent">
        <metadata
            dam:extracted="{Date}2016-10-12T21:13:27.164+05:30"
            dam:sha1="17cb9a4ba368ff01951a11c3ca7e3f8348eee59c"
            dam:size="{Long}1184"
            dc:format="application/demo"
            jcr:mixinTypes="[cq:Taggable]"
            jcr:primaryType="nt:unstructured"/>
        <related jcr:primaryType="nt:unstructured"/>
    </jcr:content>
</jcr:root>

这是一个演示代码。我想在元数据中添加一个附加属性,例如:source=“xyz”。我也提到了这个链接。 谁能帮帮我吗。
提前感谢。

不清楚您在添加额外元数据字段时遇到了什么问题。有两种方法可以做到这一点-

  • 如前所述,覆盖元数据表单并添加其他字段
  • 如果源可以自动识别,则可以添加自定义流程(编写自己的流程步骤,然后添加到模型)步骤以更新资产工作流-
    /etc/workflow/models/dam/update_asset.html
    或编写事件侦听器(流程密集型,因为通过工作流导入和处理资产时会多次调用它),它侦听资产更改并添加元数据字段

  • 不清楚在添加额外元数据字段时存在什么问题。有几种方法可以做到这一点-

  • 如前所述,覆盖元数据表单并添加其他字段
  • 如果源可以自动识别,则可以添加自定义流程(编写自己的流程步骤,然后添加到模型)步骤以更新资产工作流-
    /etc/workflow/models/dam/update_asset.html
    或编写事件侦听器(流程密集型,因为通过工作流导入和处理资产时会多次调用它),它侦听资产更改并添加元数据字段

  • 使用java Sling,您可以像这样添加我希望如此:-

        session = resource.getResourceResolver().adaptTo(Session.class);
        Node node = session.getNode(resource.getPath());
        node.setProperty("hpe-un:objec_name", "my text");
    

    使用java Sling,您可以像这样添加我希望如此:-

        session = resource.getResourceResolver().adaptTo(Session.class);
        Node node = session.getNode(resource.getPath());
        node.setProperty("hpe-un:objec_name", "my text");
    

    我想在资产中添加自定义mimetype属性。假设我有函数asset myAsset=assetManager.createAsset(路径,bytearrastream,“application/demo”,true);我想在资产创建后添加自定义mimetype属性,如source=“xyz”很抱歉,出现了不同的评论。我错误地按了enter键,并且该评论已发布。我看不到编辑该评论的选项。结果是:请参阅此处,您可以尝试asset.Adaptio(Resource.class)然后按照上面链接中的更新步骤操作。我想在资源中添加自定义mimetype属性。假设我有函数asset myAsset=assetManager.createAsset(路径,ByteArrastream,“application/demo”,true);我想在创建资源后添加自定义mimetype属性,如source=“xyz”很抱歉,出现了不同的评论。我错误地按了enter键,并且该评论已发布。我看不到编辑该评论的选项。结果是:请参阅此处,您可以尝试asset.Adaptio(Resource.class),然后按照上面链接中的更新步骤进行操作