Support custom / iTop-specific CI classes in CI search and rich previews
Problem
The iTop integration currently supports a fixed list of 11 CI classes:
PC, Phone, IPPhone, MobilePhone, Tablet, Printer, Peripheral,
PCSoftware, OtherSoftware, WebApplication, Software.
Every iTop deployment is different. Organizations routinely extend the CMDB
with custom subclasses of FunctionalCI — things like Monitor, Scanner,
NetworkDevice, VirtualMachine, StorageSystem, or domain-specific classes
created by iTop modules or in-house development.
With the current integration, CIs of those classes are completely invisible:
- They do not appear in smart-picker / reference search
- Pasting an iTop URL for one of them produces no rich preview in Talk or Deck
- There is no way for an administrator to enable them without modifying source code
Solution
Add an admin-configurable custom CI classes mechanism with the same
3-state control already used for built-in classes (Disable / Force Enable /
User Choice).
Admin workflow:
- Open Admin Settings → iTop Integration → Custom CI Classes
- Click "Browse iTop classes" — the integration queries the live iTop
instance and returns any FunctionalCI subclasses not already covered by
the built-in list
- Tick the desired classes and save
- The added classes immediately appear with a 3-state toggle and can be
removed at any time
Under the hood:
- Custom classes are stored in
custom_ci_classes (JSON) and merged with the
standard list everywhere: effective class resolution, search, and reference
resolution
- Search uses a safe
name LIKE '%term%' OQL fallback so it works across any
FunctionalCI subclass regardless of which fields it exposes
- Rich previews fall back to the generic
FunctionalCI icon when no
class-specific icon exists
Examples
| Scenario |
Before |
After |
Organisation has Monitor as a custom class |
Not searchable; no preview |
Admin enables it; users can search and get rich previews |
MSP uses iTop module that adds ManagedDevice |
Completely hidden |
Admin adds it via the browser; appears in picker search |
User pastes an iTop URL for a NetworkDevice CI into a Talk message |
No card rendered |
Rich link card appears (generic FunctionalCI icon) |
Notes
- Validation prevents adding class names that conflict with built-in classes
or contain unsafe characters
- Removing a custom class also cleans up any stale per-class state config
- No changes are needed by end-users; this is purely an admin-level extension
of the existing configuration system
Support custom / iTop-specific CI classes in CI search and rich previews
Problem
The iTop integration currently supports a fixed list of 11 CI classes:
PC,Phone,IPPhone,MobilePhone,Tablet,Printer,Peripheral,PCSoftware,OtherSoftware,WebApplication,Software.Every iTop deployment is different. Organizations routinely extend the CMDB
with custom subclasses of
FunctionalCI— things likeMonitor,Scanner,NetworkDevice,VirtualMachine,StorageSystem, or domain-specific classescreated by iTop modules or in-house development.
With the current integration, CIs of those classes are completely invisible:
Solution
Add an admin-configurable custom CI classes mechanism with the same
3-state control already used for built-in classes (Disable / Force Enable /
User Choice).
Admin workflow:
instance and returns any
FunctionalCIsubclasses not already covered bythe built-in list
removed at any time
Under the hood:
custom_ci_classes(JSON) and merged with thestandard list everywhere: effective class resolution, search, and reference
resolution
name LIKE '%term%'OQL fallback so it works across anyFunctionalCIsubclass regardless of which fields it exposesFunctionalCIicon when noclass-specific icon exists
Examples
Monitoras a custom classManagedDeviceNetworkDeviceCI into a Talk messageNotes
or contain unsafe characters
of the existing configuration system