0

Java API を使用してプログラムで VersionOne Assets の会話を作成します。Web UI で会話を確認すると、言及されているアセットがアルファベット順に並べられていることがわかります。

メンションのデフォルトの配置をオーバーライドする方法があるかどうかを知りたいです。ターゲットの配置は、親アセット -> 子になります。

このようなもの:

  • デフォルト: リセット ボタンの追加 (タスク)、送信ボタンの追加 (タスク)、UI の作成 (ストーリー)
  • 対象:UI作成(ストーリー)、リセットボタン追加(タスク)、サブミットボタン追加(タスク)

私が試したいくつかのこと:

  1. Expression および Message メタデータを調べます。並べ替えまたは順序付けに関連するものは見つかりません。
  2. 最初に親アセットを追加し、その後に子を追加します。

    // create a new conversation; this will act as the container of the expression (message)
    
    IAssetType conversationType = super.connection.metaModel.getAssetType(CONVERSATION);
    Asset conversationAsset = super.connection.services.createNew(conversationType, Oid.Null);
    super.connection.services.save(conversationAsset);
    
    // create a new expression containing the error message
    
    IAssetType expressionType = super.connection.metaModel.getAssetType(EXPRESSION);
    IAttributeDefinition expressionContentAttr = super.connection.metaModel.getAttributeDefinition(EXPRESSION_CONTENT);
    IAttributeDefinition expressionBelongsTo = super.connection.metaModel.getAttributeDefinition(EXPRESSION_BELONGS_TO);
    IAttributeDefinition expressionMentionsAttr = super.connection.metaModel.getAttributeDefinition(EXPRESSION_MENTIONS);
    
    Asset expressionAsset = super.connection.services.createNew(expressionType, Oid.Null);
    
    // set the message
    expressionAsset.setAttributeValue(expressionContentAttr, message);
    
    // add the message to the conversation
    expressionAsset.setAttributeValue(expressionBelongsTo, conversationAsset.oid);
    
    // set the context of the expression to belong to the VersionOne record
    Oid oid = Oid.fromToken(entity.oid, super.connection.metaModel);
    expressionAsset.addAttributeValue(expressionMentionsAttr, oid);
    
    // add mentions of other assets to the conversation
    for (String assetOid : assetOids) {
        Oid otherOid = Oid.fromToken(assetOid, super.connection.metaModel);
        expressionAsset.addAttributeValue(expressionMentionsAttr, otherOid);
    }
    
    super.connection.services.save(expressionAsset);
    
4

1 に答える 1