Есть насущьная необходимость внести изменения в список типов КЕ.
Пока видится, что можно часть переименовать, какие-то удалить совсеми на последок создать новые.
Хотя может гораздо проще удалить все не нужные и создать новые.
Подскажите - есть пошаговая инструкция на русском языке каким образом удалить лишние и создать новые типы КЕ?
Пока пытаюсь понять что именно надо делать для оздания новых типов КЕ по инструкции https://wiki.openitop.org/doku.php?id=2_1_0:customization:add-class-sample , но что-то плохо получается…
Можно пошагово - хотя бы в общих чертах что и в какой последовательности делать?
ToolKit я уже установил, но что с ним делать дальше? … или не с ним… чего-тто вечером голова не очень соображает
На русском языке инструкции нет. В официальной документации есть примеры с картинками, кодом и краткими пояснениями. Например Adding a new field to the Server class [iTop Documentation].
Первым делом нужно ознакомиться с содержанием раздела Кастомизация. Некоторые вопросы уже разбирались (изменение и удаление).
Смотри тут: Собственные модули
В инструкции написано, что именно надо делать. Что не получается?
5 сообщений перенесены в новую тему: Помогите создать свой модуль Customer
[quote=“vladimir, post:2, topic:140”]
Что не получается?[/quote]
Не получается понять что делать по инструкции от сюда
- Create an empty module - генерация пустого модуля, но что вносить в поля:
Module Version - это моя нумерация версий моего модуля?
Category - какие бывают категории и на что это влияет?
Dependencies - какие бывают зависимости и на что это влияет? - Install a development instance of iTop, including your empty module in the “extensions” folder" - это что такое необходимо установить и где его взять?
- Install the toolkit on your developement instance - тут понятно, сделано
- Edit your extension module and validate it with the toolkit - круто - отредактируйте для себя и проверьте в toolkit, а как это сделать?
- Apply the changes made to your extension module to the “production” environment - как это сделать?
Возможно у меня совсем тупые вопросы, но хотя бы основные шаги напишите по русски - по одному предложению со ссылкой где это читать.
Я в этом вообще “дуб-дубом”.
Спасибо.
По инструкции оттуда делать ничего не надо. Она описывает общий порядок разработки модулей. Сначала нужно сделать всё точь-в-точь по этим манам:
Прям так, как там написано, пункт за пунктом.
Смотрим сюда:
- Module Version - три цифры через точку, версия твоего модуля (подробнее см. semver).
- Category - модули, которые обеспечивают изменения в модели данных должны быть в категории ‘бизнес’. Кроме business есть другие категории, их можно посмотреть в исходниках iTop, но пока они не должны интересовать.
- Dependencies - кастом модуль (где добавляем новое поле к Серверу) зависит от модуля iTop управления конфигурацией версии 2.0.0, в котором класс Сервер определяется. Как написано в зеленом блоке после таблицы, тут указываются модули, в которых описана изменяемая твоим модулем функциональность. Это нужно для того, чтобы iTop знал в какой последовательности подгружать модули.
“Установите отдельный экземпляр iTop для разработки, включающий ваш пустой модуль в папке “дополнения””. Т.е. просто ставишь еще один iTop, в папку itop/extensions relftim папку со своим модулем.
Как пользоваться ToolKit. На первой вкладке проверяется правильность модели данных; изменил модуль, нажал Refresh, если есть ошибки, исправляешь, если нет, идешь на вторую вкладку. На второй вкладке нажимаешь Refresh, если отображаются необходимые изменения в БД, нажимаешь Udpate iTop Code And Database, если изменять БД не нужно, жмешь Udpate iTop Code. Всё, изменения модуля применены.
А какие изменения в самом модуле нужны, я знать не могу.
Кидаешь папку с модулем в экземпляр iTop, который у тебя в эксплуатации, разрешаешь редактирование config-itop.php, запускаешь http://itop/setup и обновляешь.
У меня есть аналогичные потребности. Нигде не нашел, как можно переименовать существующий тип КЕ. У примеру у меня нет типа КЕ - Монитор, но есть никому ненужный Планшет с подходящим набором полей. Хочу переименовать Планшет в Монитор и поменять иконку. Есть какая-то инструкция, как это сделать? Уверен, что это будет немного проще, чем создание нового типа с нуля.
Вот же пример: Creating a new class of CI: Monitor [iTop Documentation]. Там даже готовый код модуля есть, ничего создавать с нуля не нужно. Если нравится именно класс Планшет, то скопируй его код в свой новый класс Монитор.
А по поводу этой идеи приличных слов у меня нет…
А вот это коллеге не подойдёт?
Rename a node
Another attribute is _rename_from
. Use it to specify that the item (e.g. a class field) is in fact an existing item renamed from _rename_from
to id
.
Или это про другое?
Я бы сделал так:
- \iTop\datamodels\2.x\itop-endusers-devices\datamodel.itop-enduser-devices.xml
- Скопировать ветку
- По инструкции создайте пустой модуль (не забудьте в dependencies указать itop-endusers-devices/2.5.0. Вставьте в его xml скопированное в п.2.
- Переименуйте lass id=“Tablet” в Monitor, пропишите имя иконки и положите её в папку images и установите модуль ToolKit-ом.
Ну а если вам планшет как соринка в глазу. Добавьте ещё строчку .
Должно вроде сработать, Владимир поправит, если где не прав.
Уже создал отдельно новый класс, но за подсказку спасибо
Столкнулся с еще одной проблемой:
Тип КЕ “Monitor” создан. Я могу создавать КЕ, но(!) при создании КЕ типа “Monitor” необходимо указать Производителя и Модель. Производителей забить в базу - не проблему, а вот когда создаешь новую модель, там указывается 3 поля - Бренд, Модель и Тип КЕ, так вот в списке типов КЕ Monitorа нет.
Это “захардкоженный” справочник
Добавьте в xml модель вашего класса
<class id="Model">
<fields>
<field id="type" xsi:type="AttributeEnum">
<values>
<value id="Monitor">Monitor</value>
</values>
</field>
</fields>
Должен добавиться ещё один пункт меню.
А где именно нужно добавлять? В папке extensions или в env-production?
По идее в extantion, а потом через ToolKit внести изменения. По идеологии так, вроде, правильно. Но я тут не берусь утверждать, сам постигаю пока.
Мне кажется это неправильно…
Я вижу, что в /html/datamodels/2.x/itop-config-mgmt/datamodel.itop-config-mgmt.xml есть раздел <calss id=“Model” …
и в нем есть набор полей, которые должны подтягиваться. Может быть правильнее просто вписать туда еще одно поле?
Еще раз: любые правки только через собственные модули в extensions! Никаких исправлений в datamodels/2.x, а тем более в env-production делать нельзя.
т.е. если я допишу это в модуле add-class - он просто допишет этот пункт в соответствующий файл в прод?
Хм, кажется, это уже четвертое появление этой ссылки в теме
@CheaterUA, не противься своей судьбе, перейди по ссылке))
Блин… как-то странно… я по этмоу мануалу и добавлял тип КЕ, но именно этот момент упустил из виду. Прошу прощения
Логика проста. При загрузке iTop считывает кофиги модулей и формирует рабочую конфигурацию.
Когда вы вносите изменения через extension то фактически переопоеделяете/доопределяете какие-то директивы коробочной конфигурации.
Если вы внесёте измененич прямо в коробочный конфиг, то при выходе новой версии вам надо будет запомнить где были изменения, найти эти места в новом конфиге и вставить туда.
А так вы просто загрузите extension после нового конфига.