On my initial install, there is a mandatory field for 'System' when entering a server (i.e. DBSERVER). However, there is no table for System in the iTop mysql db, no data model, nothing that I can find to either add the necessary field so it can populate, or delete the mandatory field from the UI. I would be happy to just know how to disable it for now. I am running version 2.5.
Can someone provide the steps on how to make the modification to turn off the mandatory field?
Please keep in mind that I am new to PHP and do not have a lot of developer experience, but do have access to knowledgeable folks.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
If you hover above the filter icon, you'll see: SELECT FunctionalCI WHERE finalclass IN ('Server','VirtualMachine','PC')
Now, this means you need to create a Server, PC or VirtualMachine - which are all subclasses of FunctionalCI (there are others though, that's why you don't see the plus sign I guess to add it like you would do with an Organization or Person).
Part 2: how to make it non-mandatory
If you want to make it not mandatory, it's best to create a small extension to overrule the mandatory part. An extension consists of a few files; where datamodel.xxx.xml is the most important one. Here's an example on how to remove some mandatory fields for UserRequest - https://github.com/jbostoen/iTop-custom-extensions/tree/master/web/extensions/jb-userrequest-tweaks
The good news: you'd just need to rename a few things (the folder, filenames, edit title and descriptions etc), but there's no actual PHP development involved. You will however need to modify the XML file for the datamodel.
On my initial install, there is a mandatory field for 'System' when entering a server (i.e. DBSERVER). However, there is no table for System in the iTop mysql db, no data model, nothing that I can find to either add the necessary field so it can populate, or delete the mandatory field from the UI. I would be happy to just know how to disable it for now. I am running version 2.5.
Can someone provide the steps on how to make the modification to turn off the mandatory field?
Please keep in mind that I am new to PHP and do not have a lot of developer experience, but do have access to knowledgeable folks.
Part 1: how to make FunctionalCIs available to pick as 'system'
In newer versions, there's a datamodel view in iTop which greatly helps: https://demo.combodo.com/full/pages/schema.php?operation=details_class&class=DBServer&c[menu]=DataModelMenu
If you hover above the filter icon, you'll see:
SELECT FunctionalCI WHERE finalclass IN ('Server','VirtualMachine','PC')
Now, this means you need to create a Server, PC or VirtualMachine - which are all subclasses of FunctionalCI (there are others though, that's why you don't see the plus sign I guess to add it like you would do with an Organization or Person).
Part 2: how to make it non-mandatory
If you want to make it not mandatory, it's best to create a small extension to overrule the mandatory part. An extension consists of a few files; where datamodel.xxx.xml is the most important one. Here's an example on how to remove some mandatory fields for UserRequest - https://github.com/jbostoen/iTop-custom-extensions/tree/master/web/extensions/jb-userrequest-tweaks
The good news: you'd just need to rename a few things (the folder, filenames, edit title and descriptions etc), but there's no actual PHP development involved. You will however need to modify the XML file for the datamodel.
For all info about the datamodel and modifying it, read https://www.itophub.io/wiki/page?id=latest%3Acustomization%3Axml_reference (definitely check "delta").
Last edit: Jeffrey Bostoen 2019-05-19