Создание КЕ

Добрый вечер.
Подскажите, я создал свой КЕ, в toolbox ошибок нету, установился без проблем но КЕ в Itop не отображается.
Обновленный Itop 2.2.

    <itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0">
   <classes>
    <class id="Hdd" _delta="define">
      <parent>PhysicalDevice</parent>
      <properties>
        <category>bizmodel,searchable</category>
        <abstract>false</abstract>
        <key_type>autoincrement</key_type>
        <db_table>Hdd</db_table>
        <db_key_field>id</db_key_field>
        <db_final_class_field/>
        <naming>
          <format>%1$s</format>
          <attributes>
            <attribute id="name"/>
          </attributes>
        </naming>
        <display_template/>
        <reconciliation>
          <attributes>
            <attribute id="name"/>
            <attribute id="org_id"/>
            <attribute id="organization_name"/>
          </attributes>
        </reconciliation>
      </properties>
      <fields>
	<field id="Type" xsi:type="AttributeEnum">
          <values>
            <value>SSD</value>
            <value>HDD</value>
          </values>
          <sql>Type</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
          <display_style>radio_horizontal</display_style>
        </field>
	<fields>
	<field id="formfactor" xsi:type="AttributeEnum">
          <values>
            <value>2.5</value>
            <value>3.5</value>
          </values>
          <sql>formfactor</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
          <display_style>radio_horizontal</display_style>
        </field>
	</fields>
	<field id="Interface" xsi:type="AttributeEnum">
          <values>
            <value>USB</value>
            <value>SATA 3</value>
            <value>SAS</value>
            <value>PCIx</value>
	    <value>SCSI</value>
            <value>IDE</value>
           </values>
          <sql>Interface</sql>
          <default_value/>
          <is_null_allowed>true</is_null_allowed>
          <display_style>radio_horizontal</display_style>
        </field>
      </fields>
      <methods/>
      <presentation>
        <details>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="org_id">
              <rank>20</rank>
            </item>
            <item id="status">
              <rank>30</rank>
            </item>
            <item id="business_criticity">
              <rank>40</rank>
            </item>
            <item id="location_id">
              <rank>50</rank>
            </item>
            <item id="brand_id">
              <rank>60</rank>
            </item>
            <item id="model_id">
              <rank>70</rank>
            </item>
            <item id="Type">
              <rank>75</rank>
            </item>
            <item id="formfactor">
              <rank>80</rank>
            </item>
            <item id="Interface">
              <rank>85</rank>
            </item>
            <item id="serialnumber">
              <rank>90</rank>
            </item>
            <item id="asset_number">
              <rank>95</rank>
            </item>
            <item id="move2production">
              <rank>100</rank>
            </item>
            <item id="purchase_date">
              <rank>110</rank>
            </item>
            <item id="end_of_warranty">
              <rank>120</rank>
            </item>
            <item id="description">
              <rank>130</rank>
            </item>
            <item id="contacts_list">
              <rank>140</rank>
            </item>
            <item id="documents_list">
              <rank>150</rank>
            </item>
            <item id="tickets_list">
              <rank>160</rank>
            </item>
            <item id="providercontracts_list">
              <rank>170</rank>
            </item>
            <item id="services_list">
              <rank>180</rank>
            </item>
          </items>
        </details>
        <search>
          <items>
            <item id="name">
              <rank>10</rank>
            </item>
            <item id="org_id">
              <rank>20</rank>
            </item>
            <item id="status">
              <rank>30</rank>
            </item>
            <item id="business_criticity">
              <rank>40</rank>
            </item>
            <item id="location_id">
              <rank>50</rank>
            </item>
            <item id="brand_id">
              <rank>60</rank>
            </item>
            <item id="model_id">
              <rank>70</rank>
            </item>
            <item id="Type">
              <rank>75</rank>
            </item>
            <item id="formfactor">
              <rank>80</rank>
            </item>
            <item id="Interface">
              <rank>85</rank>
            </item>
            <item id="serialnumber">
              <rank>90</rank>
            </item>
            <item id="asset_number">
              <rank>95</rank>
            </item>
            <item id="move2production">
              <rank>100</rank>
            </item>
            <item id="purchase_date">
              <rank>110</rank>
            </item>
            <item id="end_of_warranty">
              <rank>120</rank>
            </item>
          </items>
        </search>
        <list>
          <items>
            <item id="org_id">
              <rank>10</rank>
            </item>
            <item id="status">
              <rank>20</rank>
            </item>
            <item id="business_criticity">
              <rank>30</rank>
            </item>
            <item id="location_id">
              <rank>40</rank>
            </item>
            <item id="brand_id">
              <rank>50</rank>
            </item>
            <item id="model_id">
              <rank>60</rank>
            </item>
            <item id="serialnumber">
              <rank>70</rank>
            </item>
          </items>
        </list>
      </presentation>
    </class>
  </classes>
<menus>
  <menu id="ConfigManagementOverview" xsi:type="DashboardMenuNode" _delta="must_exist">
    <definition>
      <cells>
        <cell id="0" _delta="must_exist">
          <dashlets>
            <dashlet id="104" xsi:type="DashletBadge" _delta="define">
              <rank>8</rank>
              <class>Hdd</class>
            </dashlet>
          </dashlets>
        </cell>
      </cells>
    </definition>
  </menu>
</menus>
  <profiles>
  </profiles>
</itop_design>

Добрый вечер, @dima_Golovanev.
Где ищете КЕ? В Администрирование => Модель данных смотрели? Я вижу лишние теги fields, но не уверен, что это из-за них.

В Администрирование => Модель данных там моего ке нету.
Без этих тегов не проходит проверку в toolbox

Какую ошибку выдаёт toolkit? Сам toolkit тоже новый?

toolkit тоже новый, я ошибся, при удалении этих тегов ошибок тоже нету.

Какие ещё файлы в модуле? Их содержимое? Глупый вопрос, но всё же, модуль установлен через http://itop/setup?

Да модуль установлен через Setup.
Установка прошла без ошибок.
Копия модуля с файлом php упал в папку env-productiot.
Список файлов пришлю чуть позже но он стандартный

<?php
//
// iTop module definition file
//

SetupWebPage::AddModule(
	__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
	'sample-module-HDD/',
	array(
		// Identification
		//
		'label' => 'hdd Sample Module',
		'category' => 'business',

		// Setup
		//
		'dependencies' => array(
			'itop-config-mgmt/2.0.0',
			'itop-endusers-devices/2.0.0'
		),
		'mandatory' => false,
		'visible' => true,

		// Components
		//
		'datamodel' => array(
			'model.sample-module-hdd.php'
		),
		'webservice' => array(
			
		),
		'data.struct' => array(
			// add your 'structure' definition XML files here,
		),
		'data.sample' => array(
			// add your sample data XML files here,
		),
		
		// Documentation
		//
		'doc.manual_setup' => '', // hyperlink to manual setup documentation, if any
		'doc.more_information' => '', // hyperlink to more information, if any 

		// Default settings
		//
		'settings' => array(
			// Module specific settings go here, if any
		),
	)
);


?>

Как называется модуль? Папка? Файлы? Какой путь до модуля в конфиге айтопа?

/var/www/html/extensions/sample-module-hdd
datamodel.sample-module-hdd.xml
module.sample-module-hdd.php
model.sample-module-hdd.php
en.dict.modul-hdd.php

Это где посмотреть ?

// source_dir: Source directory for the datamodel files. (which gets compiled to env-production).
// default: ‘’
‘source_dir’ => ‘datamodels/2.x/’,
Это в /var/www/html/conf/production/config-itop.php

В самом низу конфиг-файла идет перечисление путей к установленным модулям и переводам.

Если модуль называется sample-module-hdd, то именно так его название и следует указывать во всех файлах.

Проверьте журнал ошибок php. Возможно придётся повысить уровень логирования в php.ini.

‘env-production/sample-module-hdd/model.sample-module-hdd.php’

все сделал.
Все работает спасибо!!!
Можно ли у вас на сайте разместить мои модули что бы другим потом было проще?

Что сделали-то напишите?)

Разместить модули не можно, а нужно! Для этого есть категория Модули. Прочитайте описание кактегории, там написано, как оформить пост.

Если ваш модуль служит для целей обучения работе с iTop, возможно, логичнее сделать о нем пост в категории Инструкции.

Прошу прощения,
В файле module.sample-module-hdd.php название КЕ было с большой буквы.

SetupWebPage::AddModule(
	__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
	'sample-module-HDD/',

а у меня модуль называется sample-module-hdd.xml
Просто заменил большую букву на маленькую и все заработало

Создал тему с модулями