首页 > 解决方案 > IBM ICN 3.0.3 - 内容对话框中单值属性的选择列表的丑陋显示

问题描述

给定一个 Document 类,Entry Template 的一个单值属性与一个 ChoiceList 相关联。如果 ChoiceList 没有“子级别”(Choice),则此方法效果很好。

当添加组选择并且用户尝试填充属性时,对话框变得难看,如下所示:

入口模板单值属性控制

有没有办法自动展开根 Choices 的树视图,并且删除“none”标签(法语中的“Aucun”)以及 ChoiceList 的符号名称(此处模糊)?

我必须写一个插件来解决这个问题吗?

更新。此处“瓯村”的目的是清空田地。

标签: pluginsfilenet-content-engineibm-content-navigatorfilenet-cpe

解决方案


我联系了支持团队,简而言之,“开箱即用”是不可能的。但我找到了解决方法。

我写了一个 ResponseFilter 来捕获请求的响应/p8/openContentClass。原来它的响应包含 ChoiceList 值:

 {
     "classes": [{
             "parentClassId": "<PARENTCLASSID>",
             "template_name": "<ENTRYTEMPLATE>",
             /* [...] */
         }
     ],
     /* [...] */
     "criterias": [/* [...] */, {
             "settability": "readWrite",
             "defaultOperator": "EQUAL",
             "minValue": null,
             "uniqueValues": true,
             "orderable": false,
             "choiceList": {
                 "choices":                   /* <----- here */,
                 "displayName": "CL_ToFilter"
             },
             /* [...] */
             "name": "<propertyName>"
         }
     ]
 }

重新格式化"choices"条目以获得一级选择列表确保在一级显示。下面的相关代码ResponseFilter

public class ChoiceListValuesResponseFilter extends PluginResponseFilter {
     public String[] getFilteredServices() {
         return new String[] { "/p8/openContentClass"/* "/p8/openItem"*/ };
     }
     public void filter(String serverType, PluginServiceCallbacks callbacks,
             HttpServletRequest request, JSONObject jsonResponse) throws Exception {
         
         // [...]
         
         JSONArray jsonProperties =
                 (JSONArray) jsonResponse.get("criterias");
         Iterator it = jsonProperties.iterator();
         
         while (it.hasNext()) {
             JSONObject jo = (JSONObject) it.next();
             if ("<PROPERTYWITHFILTEREDCL>".equals(jo.get("name"))) {
                 JSONObject choiceListJo = (JSONObject) jo.get("choiceList");
                 // do the processing here
                 break;
             }
         }
     }
    // [...]
}

推荐阅读