Force a field to be always mandatory
Prerequisite: You must be familiar with the Syntax used in Tutorials and have already created an extension.
In this first use case related to forcing a field to be provided, we want the “location” to be filled on all PhysicalDevices, all the time, so on all sub-classes: Servers, Mobile Phones, Rack, Tablet, PDU,… and so on.
As the field location_id
is declared directly on
the class PhysicalDevice, we just set the tag
is_null_allowed
to false on the
field.
- itop_design / classes
-
<class id="PhysicalDevice"> <fields> <field id="location_id"> <is_null_allowed _delta="redefine">false</is_null_allowed> </field> </fields> </class>
Migration: At Setup (or the
Toolkit), if some existing PhysicalDevice in iTop do not
have a Location documented, You will get an error message.
Later in
iTop, with menu DB tools
, you can rerun that same
check. You can fix the objects in iTop, as this error won't prevent
their opening and modification. If you have DataSynchro or
REST/JSON script completing invalid PhysicalDevice on field other
than Location, it will fail, so it's better to fix them.
is_null_allowed
flag will force the field to be provided in all cases: on the
Console, in the Portal, in CSV import, in DataSynchro and in
REST/JSON API