Menu

add search field

modice
2023-01-27
2023-02-15
  • modice

    modice - 2023-01-27

    good afternoon. I'm trying to add a corpus field. with the ability to select a device from the list and not to enter text by hand. but the field does not appear. edit file C:\inetpub\wwwroot\web\extensions\datamodel-module\datamodel.datamodel-module.xml. no experience with itop.

     <class id="PC">
          <properties>
            <naming>
              <attributes _delta="redefine">
                <attribute id="name_id"/>
                <attribute id="name"/>
              </attributes>
            </naming>
          </properties>
          <fields>
            <field id="printer_list" xsi:type="AttributeLinkedSetIndirect" _delta="define">
              <linked_class>lnkPrinterToPc</linked_class>
              <ext_key_to_me>pc_id</ext_key_to_me>
              <edit_mode>add_remove</edit_mode>
              <ext_key_to_remote>printer_id</ext_key_to_remote>
            </field>    
            <field id="peripheral_list" xsi:type="AttributeLinkedSetIndirect" _delta="define">
              <linked_class>lnkPeripheralToPc</linked_class>
              <ext_key_to_me>pc_id</ext_key_to_me>
              <edit_mode>add_remove</edit_mode>
              <ext_key_to_remote>peripheral_id</ext_key_to_remote>
            </field>
            <field id="monitor_list" xsi:type="AttributeLinkedSet" _delta="define">
              <linked_class>Monitor</linked_class>
              <ext_key_to_me>pc_id</ext_key_to_me>
              <edit_mode>add_remove</edit_mode>
            </field>
            <field id="oslicence_id" xsi:type="AttributeExternalKey" _delta="define">
              <filter><![CDATA[SELECT OSLicence WHERE osversion_id = :this->osversion_id]]></filter>
              <dependencies>
                <attribute id="osversion_id"/>
              </dependencies>
              <sql>oslicence_id</sql>
              <target_class>OSLicence</target_class>
              <is_null_allowed>true</is_null_allowed>
              <on_target_delete>DEL_MANUAL</on_target_delete>
            </field>
            <field id="mb" xsi:type="AttributeString" _delta="define">
              <sql>mb</sql>
              <default_value/>
              <is_null_allowed>true</is_null_allowed>
            </field>    
            <field id="korpus" xsi:type="AttributeExternalKey" _delta="define">
              <linked_class>PhysicalDevice</linked_class>
              <sql>korpus</sql>
              <edit_mode>add_remove</edit_mode>
              <default_value/>
              <is_null_allowed>true</is_null_allowed>
              <on_target_delete>DEL_AUTO</on_target_delete>
            </field>
    
     
  • Guillaume Lajarige

    Hello modice,

    When you add fields to a class, you also need to add it to the "details" presentation so it will be displayed when you open the object. Check this page and this one.

    Hope it helps,
    Guillaume

     
    • modice

      modice - 2023-01-27

      Thanks for responding. Here is the whole PC code. What's wrong? And if i look at the schema of the MySQL database, i can't see the additional “korpus”

         <class id="PC">
            <properties>
              <naming>
                <attributes _delta="redefine">
                  <attribute id="name_id"/>
                  <attribute id="name"/>
                </attributes>
              </naming>
            </properties>
            <fields>
              <field id="printer_list" xsi:type="AttributeLinkedSetIndirect" _delta="define">
                <linked_class>lnkPrinterToPc</linked_class>
                <ext_key_to_me>pc_id</ext_key_to_me>
                <edit_mode>add_remove</edit_mode>
                <ext_key_to_remote>printer_id</ext_key_to_remote>
              </field>    
              <field id="peripheral_list" xsi:type="AttributeLinkedSetIndirect" _delta="define">
                <linked_class>lnkPeripheralToPc</linked_class>
                <ext_key_to_me>pc_id</ext_key_to_me>
                <edit_mode>add_remove</edit_mode>
                <ext_key_to_remote>peripheral_id</ext_key_to_remote>
              </field>
              <field id="monitor_list" xsi:type="AttributeLinkedSet" _delta="define">
                <linked_class>Monitor</linked_class>
                <ext_key_to_me>pc_id</ext_key_to_me>
                <edit_mode>add_remove</edit_mode>
              </field>
              <field id="oslicence_id" xsi:type="AttributeExternalKey" _delta="define">
                <filter><![CDATA[SELECT OSLicence WHERE osversion_id = :this->osversion_id]]></filter>
                <dependencies>
                  <attribute id="osversion_id"/>
                </dependencies>
                <sql>oslicence_id</sql>
                <target_class>OSLicence</target_class>
                <is_null_allowed>true</is_null_allowed>
                <on_target_delete>DEL_MANUAL</on_target_delete>
              </field>
              <field id="mb" xsi:type="AttributeString" _delta="define">
                <sql>mb</sql>
                <default_value/>
                <is_null_allowed>true</is_null_allowed>
              </field>    
              <field id="korpus" xsi:type="AttributeExternalKey" _delta="define">
                  <filter><![CDATA[SELECT PC WHERE korpus = :this->korpus]]></filter>
                  <dependencies>
                  <attribute id="korpus"/>
                </dependencies>
                <linked_class>FunctionalCI</linked_class>
                <sql>korpus</sql>
                <edit_mode>add_remove</edit_mode>
                <default_value/>
                <is_null_allowed>true</is_null_allowed>
                <on_target_delete>DEL_AUTO</on_target_delete>
              </field>        
              <field id="video" xsi:type="AttributeString" _delta="define">
                <sql>video</sql>
                <default_value/>
                <is_null_allowed>true</is_null_allowed>
              </field>
              <field id="hdd" xsi:type="AttributeString" _delta="define">
                <sql>hdd</sql>
                <default_value/>
                <is_null_allowed>true</is_null_allowed>
              </field>
              <field id="type">
                <default_value _delta="redefine">desktop</default_value>
              </field>
            </fields>
            <presentation>
              <details>
                <items>
                  <item id="monitor_list" _delta="define">
                    <rank>62</rank>
                  </item>  
                  <item id="printer_list" _delta="define">
                    <rank>64</rank>
                  </item>
                  <item id="peripheral_list" _delta="define">
                    <rank>66</rank>
                  </item>
                  <item id="col:col1">
                    <rank>80</rank>
                    <items>
                      <item id="fieldset:Server:baseinfo">
                        <rank>10</rank>
                        <items>
                          <item id="name_id" _delta="define">
                            <rank>12</rank>
                          </item>                    
                           <item id="networkname" _delta="define">
                            <rank>14</rank>
                          </item>                   
                          <item id="buhname" _delta="define">
                            <rank>16</rank>
                          </item>
                          <item id="person_id" _delta="define">
                            <rank>18</rank>
                          </item>
                          <item id="category_id" _delta="define">
                            <rank>45</rank>
                          </item>
                          <item id="room_id" _delta="define">
                            <rank>60</rank>
                          </item>
                          <item id="user_id" _delta="define">
                            <rank>61</rank>
                          </item>
                          <item id="korpus" _delta="define">
                            <rank>65</rank>
                          </item>                    
                        </items>
                      </item> 
                      <item id="fieldset:Server:moreinfo">
                        <rank>20</rank>
                        <items>
                          <item id="devicetype_id" _delta="define">
                            <rank>53</rank>
                          </item>                    
                          <item id="oslicence_id" _delta="define">
                            <rank>55</rank>
                          </item>
                          <item id="mb" _delta="define">
                            <rank>62</rank>
                          </item>
                          <item id="video" _delta="define">
                            <rank>73</rank>
                          </item>
                          <item id="hdd" _delta="define">
                            <rank>75</rank>
                          </item>
                          <item id="mc_number" _delta="define">
                            <rank>100</rank>
                          </item>
                        </items>
                      </item>
                    </items>
                  </item>
                  <item id="col:col2">
                    <rank>90</rank>
                    <items>
                      <item id="fieldset:Server:otherinfo">
                        <rank>20</rank>
                        <items>
                          <item id="approval" _delta="define">
                            <rank>20</rank>
                          </item>
                          <item id="position" _delta="define">
                            <rank>30</rank>
                          </item>
                          <item id="domen" _delta="define">
                            <rank>40</rank>
                          </item>
                          <item id="problem" _delta="define">
                            <rank>50</rank>
                          </item>                    
                        </items>
                      </item>
                    </items>
                  </item>
                </items>
              </details>
              <search>
                <items>
                  <item id="name_id" _delta="define">
                    <rank>12</rank>
                  </item>                         
                  <item id="networkname" _delta="define">
                    <rank>14</rank>
                  </item>       
                  <item id="buhname" _delta="define">
                    <rank>16</rank>
                  </item>
                  <item id="person_id" _delta="define">
                    <rank>18</rank>
                  </item>
                  <item id="category_id" _delta="define">
                    <rank>45</rank>
                  </item>
                  <item id="room_id" _delta="define">
                    <rank>55</rank>
                  </item>
                  <item id="devicetype_id" _delta="define">
                    <rank>85</rank>
                  </item>
                  <item id="mc_number" _delta="define">
                    <rank>105</rank>
                  </item>
                </items>
              </search>
              <list>
                <items>
                  <item id="org_id" _delta="delete">
                  </item>
                  <item id="name_id" _delta="define">
                    <rank>12</rank>
                  </item> 
                  <item id="buhname" _delta="define">
                    <rank>14</rank>
                  </item>           
                  <item id="networkname" _delta="define">
                    <rank>16</rank>
                  </item>
                  <item id="business_criticity" _delta="delete">
                  </item>
                  <item id="category_id" _delta="define">
                    <rank>35</rank>
                  </item>
                  <item id="room_id" _delta="define">
                    <rank>45</rank>
                  </item>
                  <item id="asset_number" _delta="define">
                    <rank>80</rank>
                  </item>
                  <item id="mc_number" _delta="define">
                    <rank>90</rank>
                  </item>
                  <item id="problem" _delta="define">
                    <rank>100</rank>
                  </item>
                  <item id="korpus" _delta="define">
                    <rank>110</rank>
                  </item>         
                </items>
              </list>
            </presentation>
          </class>
      
       
    • Guillaume Lajarige

      The XML seems fine. Can you share the whole module? Did you select it during the setup?

       
      • modice

        modice - 2023-01-30

        Yes, I chose during setup. As far as I understand this is a stock module.

         
  • Pierre Goiffon

    Pierre Goiffon - 2023-02-10

    Hello,
    You said you edited edit file C:\inetpub\wwwroot\web\extensions\datamodel-module\datamodel.datamodel-module.xml
    What do you mean exactly ??
    This kind of modifications must be done in an iTop extension module, and installed by running the setup again.
    See iTop Customization [iTop Documentation]

    Note that all of this can be done with just a few clicks in the ITSM Designer which is accessible to all Combodo clients.

     
  • modice

    modice - 2023-02-15

    The problem is that I didn't understand what I was doing.

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.