Maximo Anywhere — не видно поля, добавленного в ресурс OSLC

Я пытаюсь предоставить новое поле объекту OSLC OSLCWORKTYPE в Maximo Anywhere 7.6.1, в частности, в дополнительном ресурсе типа работы, используемом поиском типа работы.

Следуя инструкциям http://www.ibm.com/support/knowledgecenter/SSPJLC_7.6.0/com.ibm.si.mpl.doc/config_apps/t_add_flds_domains.html и прочитайте шаги, описанные в этом сообщении Включение настраиваемых полей в компоненты OSLC. У меня все еще возникают проблемы с просмотром поля в приложении.

Я добавил дополнительный ресурс типа работы, как показано ниже, но при выходе из консоли он не отображается в объекте. Однако, когда я запрашиваю rdf с помощью Postman, я вижу поле, возвращаемое в ответе. Поле, о котором идет речь, — brdbwtcategory.

<!-- Work Type resource -->
    <resource additionalData="true" describedBy="http://jazz.net/ns/ism/asset/smarter_physical_infrastructure#WorkType" id="additionalworktype" name="additionalworktype" pageSize="100" providedBy="/oslc/sp/SmarterPhysicalInfrastructure">
        <attributes id="additionalworktype_attributes">
            <attribute describedByProperty="spi:orgid" id="additionalworktype_orgid_spiorgid" index="true" isExactMatchIndex="true" name="orgid"/>
            <attribute describedByProperty="spi:worktype" id="additionalworktype_worktype_spiworktype" index="true" name="worktype"/>
            <attribute describedByProperty="dcterms:title" id="additionalworktype_wtypedesc_dctermstitle" index="true" name="wtypedesc"/>
            <attribute describedByProperty="spi:woclass" id="additionalworktype_woclass_spiwoclass" index="true" isExactMatchIndex="true" name="woclass"/>
            <attribute describedByProperty="spi:type" id="additionalworktype_type_spitype" index="true" isExactMatchIndex="true" name="type"/>
            <attribute describedByProperty="dcterms:identifier" id="additionalworktype_worktypeid_dctermsidentifier" name="worktypeid"/>
            <attribute describedByProperty="spi:brdbwtcategory" id="additionalworktype_worktypeid_spibrdbwtcategory" index="false" name="brdbwtcategory"/>
            <!-- <attribute name="startstatus" describedByProperty="spi:startstatus"
                /> -->
            <!-- <attribute name="completestatus" describedByProperty="spi:completestatus"
                /> -->
            <!-- <attribute name="promptdown" describedByProperty="spi:promptdown"
                /> -->
            <!-- <attribute name="promptfail" describedByProperty="spi:promptfail"
                /> -->
            <!-- <attribute name="keeptaskstatushist" describedByProperty="spi:keeptaskstatushist"
                /> -->
        </attributes>
        <queryBases id="additionalworktype_queryBases">
            <queryBase id="additionalworktype_queryBase_getworktype" name="getworktype" queryUri="/oslc/os/oslcworktype"/>
        </queryBases>
        <whereClause id="additionalworktype_whereClause"/>
    </resource>

Искать

            <lookup filterClass="application.handlers.WODetailHandler" filterMethod="filterWorktypeForLookup" id="WorkExecution.WorkTypeLookup" label="Select Work Type" resource="additionalworktype">
        <requiredResources id="WorkExecution.WorkTypeLookup_requiredResources">
            <requiredResource id="WorkExecution.WorkTypeLookup_additionalworktype" name="additionalworktype"/>
            <requiredResource id="WorkExecution.WorkTypeLookup_domainwoclass" name="domainwoclass"/>
        </requiredResources>
        <list id="WorkExecution.WorkTypeLookup_additionalworktype_list" resource="additionalworktype">
            <searchAttributes id="WorkExecution.WorkTypeLookup_additionalworktype_searchAttributes">
                <searchAttribute id="WorkExecution.WorkTypeLookup_additionalworktype_searchAttribute_worktype" name="worktype"/>
                <searchAttribute id="WorkExecution.WorkTypeLookup_additionalworktype_searchAttribute_wtypedesc" name="wtypedesc"/>
                <searchAttribute id="WorkExecution.WorkTypeLookup_additionalworktype_searchAttribute_brdbwtcategory" name="brdbwtcategory"/>
            </searchAttributes>
            <listItemTemplate id="WorkExecution.WorkTypeLookup_additionalworktype_listItemTemplate_Item1Desc1" layout="Item1Desc1">
                <listtext cssClass="bold textappearance-medium" id="WorkExecution.WorkTypeLookup_additionalworktype_Item1Desc1_worktype" layoutInsertAt="item1" resourceAttribute="worktype"/>
                <listtext cssClass="bold textappearance-medium" id="WorkExecution.WorkTypeLookup_additionalworktype_Item1Desc1_wtypedesc" layoutInsertAt="item2" resourceAttribute="wtypedesc"/>
                <listtext cssClass="bold textappearance-medium" id="WorkExecution.WorkTypeLookup__additionalworktype_Item1Desc1_brdbwtcategory" layoutInsertAt="item3" resourceAttribute="brdbwtcategory"/>
            </listItemTemplate>
        </list>
    </lookup>

Ответ почтальона

    {"spi:promptdown": false,
  "spi:contentuid": "9",
  "spi:promptfail": false,
  "spi:worktype": "FO",
  "dcterms:title": "Follow On",
  "spi:brdbwtcategory": "CM",
  "rdf:type": [
    {
      "rdf:resource": "http://jazz.net/ns/ism/asset/smarter_physical_infrastructure#WorkType"
    }
  ],
  "spi:orgid": "TESTORG",
  "spi:woclass_description": "Work Order",
  "rdf:about": "http://xxxxx.xxx-xxx.xxx:32800/maximo/oslc/os/oslcworktype/_OQ--",
  "spi:keeptaskstatushist": true,
  "dcterms:identifier": "9",
  "prefixes": {
    "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
    "dcterms": "http://purl.org/dc/terms/",
    "spi": "http://jazz.net/ns/ism/asset/smarter_physical_infrastructure#",
    "oslc": "http://open-services.net/ns/core#"
  },
  "_rowstamp": "1699854",
  "spi:woclass": "WORKORDER",
  "spi:brdbwtcategory_description": "Corrective Maintenance",
  "spi:type_description": "Not Applicable",
  "spi:type": "NONE"
}

Представление поиска показывает только тип работы

Поиск

Я запустил файлwhere-rdf-puller.xml и убедился, что это поле находится в файле oslc/shapes/oslcworktype на сервере MobileFirst.

Я упускаю что-то еще в этом процессе?

Любая помощь очень ценится


person Eugene    schedule 21.11.2016    source источник


Ответы (1)


Я совершенно уверен, что ваша ошибка в поиске.

В вашем коде по-прежнему используется макет Item1Desc1 по умолчанию, но в коде вы ссылаетесь на элементы layoutInsertAt item2 и item3, которые не существуют в этом макете. Как следует из названия (а также кода по умолчанию), есть только «поле» item1 и desc1, которые могут быть заполнены.

<listItemTemplate id="WorkExecution.WorkTypeLookup_additionalworktype_listItemTemplate_Item1Desc1" layout="Item1Desc1">
            <listtext cssClass="bold textappearance-medium" id="WorkExecution.WorkTypeLookup_additionalworktype_Item1Desc1_worktype" layoutInsertAt="item1" resourceAttribute="worktype"/>
            <listtext cssClass="bold textappearance-medium" id="WorkExecution.WorkTypeLookup_additionalworktype_Item1Desc1_wtypedesc" layoutInsertAt="item2" resourceAttribute="wtypedesc"/>
            <listtext cssClass="bold textappearance-medium" id="WorkExecution.WorkTypeLookup__additionalworktype_Item1Desc1_brdbwtcategory" layoutInsertAt="item3" resourceAttribute="brdbwtcategory"/>
</listItemTemplate>

Вы должны создать новый шаблон макета в файле Artifef/layouts/templates/small/. Просто взгляните на приведенные там примеры, и все станет понятно.

person Jeroen    schedule 03.01.2017