Skip to content

Feature/9138 display details cmdb#839

Merged
v-dumas merged 3 commits intodevelopfrom
feature/9138-display-details-CMDB
Mar 13, 2026
Merged

Feature/9138 display details cmdb#839
v-dumas merged 3 commits intodevelopfrom
feature/9138-display-details-CMDB

Conversation

@v-dumas
Copy link
Copy Markdown
Contributor

@v-dumas v-dumas commented Mar 12, 2026

Base information

Question Answer
Related to a SourceForge thread / Another PR / Combodo ticket? (N°9138)
Type of change? Enhancement

Symptom (bug) / Objective (enhancement)

Finding a particular field in some CMDB classes details is a bit difficult

Proposed solution (bug and enhancement)

Organize most CMDB class display, using the same set of fielsets from the existing Server class display
When a field exists in multiple classes then you will always find it in the same fieldset and in the same position compare to other fields present in that fieldset

  • General Information
    • name
    • organization
    • status
    • business criticality
    • location
    • rack
    • enclosure
  • CI specifics
    • non common fields
  • Dates
    • any dates
  • Power Supply
  • Description
    • logo
    • description
    • comment

Checklist before requesting a review

  • I have performed a self-review of my code
  • I have tested all changes I made on an iTop instance
  • I have added a unit test, otherwise I have explained why I couldn't
  • Is the PR clear and detailed enough so anyone can understand digging in the code?

Checklist of things to do before PR is ready to merge

  • ...
  • ...
  • ...

@v-dumas v-dumas requested a review from Copilot March 12, 2026 08:46
@v-dumas v-dumas self-assigned this Mar 12, 2026
@v-dumas v-dumas added the internal Work made by Combodo label Mar 12, 2026
@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented Mar 12, 2026

Greptile Summary

This PR reorganizes the detail view layouts of numerous CMDB classes across four datamodel modules (itop-config-mgmt, itop-datacenter-mgmt, itop-endusers-devices, itop-storage-mgmt) by introducing a consistent two-column fieldset structure (using col:col1 / col:col2) modelled after the existing Server class. Shared fieldsets like ConfigMgnt:baseinfo, ConfigMgnt:moreinfo, ConfigMgnt:otherinfo, Storage:moreinfo, Software:moreinfo, and Phone:moreinfo are introduced so common fields (name, org, status, dates, description) appear in the same position across all classes. Dictionary entries for the new fieldset labels are added to all 17 supported locales — fully translated for EN/FR and with ~~ placeholders for the rest.

Key issues found:

  • Rank collision in Printer class (itop-endusers-devices): col:col1 and contacts_list both have <rank>80</rank>; col:col2 and documents_list both have <rank>90</rank>. Unlike other classes in this PR where the column ranks were updated to 10/20, the Printer columns were left at their original ranks while the list tabs were also placed at those same ranks, creating ambiguous display ordering.
  • Unrelated functional change in OsLicence: The existing <search> section is renamed to <default_search> and a new <search> block is added. This behavioural change for search is not explained in the PR description and is unrelated to the display reorganization objective. The new block also has inconsistent indentation.
  • Inconsistent XML indentation: Several classes (MobilePhone, IPPhone, Peripheral, PDU, EnclosureUnit) have <rank> child elements at incorrect indentation levels, making the XML harder to read and maintain.
  • ~~ markers in en_gb dictionary: Software:moreinfo and Phone:moreinfo carry the untranslated ~~ suffix in the British English dictionary despite being identical to their US English values.

Confidence Score: 3/5

  • PR is mostly safe but has a rank collision in the Printer class and an unexplained functional change to OsLicence search behaviour that should be reviewed before merging.
  • The majority of changes are straightforward XML presentation reorganization that follow a consistent pattern and carry low risk. However, the rank collision in the Printer class will cause non-deterministic field/tab ordering for that CI type, and the unrelated OsLicence search change (search → default_search + new search block) introduces a behavioural difference that is not explained or tested as part of this PR.
  • datamodels/2.x/itop-endusers-devices/datamodel.itop-endusers-devices.xml (Printer rank collision) and datamodels/2.x/itop-config-mgmt/datamodel.itop-config-mgmt.xml (OsLicence search/default_search change)

Important Files Changed

Filename Overview
datamodels/2.x/itop-endusers-devices/datamodel.itop-endusers-devices.xml Reorganizes presentation layout for Phone, MobilePhone, IPPhone, Tablet, PC, Printer, Peripheral classes into two-column fieldset layout — but the Printer class has a rank collision (col:col1 and contacts_list both at 80; col:col2 and documents_list both at 90), and several classes have inconsistent XML indentation on rank elements.
datamodels/2.x/itop-config-mgmt/datamodel.itop-config-mgmt.xml Reorganizes presentation layout for ~15 CMDB classes (VirtualMachine, SoftwareInstance, Middleware, WebServer, WebApplication, Network interfaces, Licences, etc.) into consistent two-column fieldset structure. Also includes an unrelated functional change for OsLicence: renames existing search to default_search and adds a new search block with incorrect indentation.
datamodels/2.x/itop-datacenter-mgmt/datamodel.itop-datacenter-mgmt.xml Reorganizes presentation layout for Datacenter, Rack, Enclosure, EnclosureUnit, and PDU classes into two-column fieldset layout using Server:baseinfo/moreinfo/Date/otherinfo fieldsets consistently. Minor inconsistency in indentation of rank elements in PDU block.
datamodels/2.x/itop-storage-mgmt/datamodel.itop-storage-mgmt.xml Renames fieldset:Server:moreinfo to fieldset:Storage:moreinfo for the NAS class, and reorganizes presentation for LogicalVolume, SANFabric, and LogicalDisk classes into two-column fieldset layout using new Storage:moreinfo and ConfigMgnt:baseinfo fieldsets.
datamodels/2.x/itop-config-mgmt/dictionaries/en.dict.itop-config-mgmt.php Adds translations for new fieldset keys (ConfigMgnt:baseinfo, ConfigMgnt:moreinfo, ConfigMgnt:otherinfo, Storage:moreinfo, Software:moreinfo, Phone:moreinfo), updates Server:baseinfo/moreinfo/otherinfo labels, moves the PhysicalInterface attribute block to correct position, and removes duplicate comment headers.
datamodels/2.x/itop-config-mgmt/dictionaries/en_gb.dict.itop-config-mgmt.php Adds new fieldset key translations for British English; Software:moreinfo and Phone:moreinfo incorrectly carry the ~~ untranslated marker even though their values are identical to US English.
datamodels/2.x/itop-config-mgmt/dictionaries/fr.dict.itop-config-mgmt.php Adds fully localized French translations for all new fieldset keys, moves PhysicalInterface attribute block to correct location, and removes a duplicate dictionary conventions comment block.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[CMDB Class Detail View] --> B[col:col1\nrank 10]
    A --> C[col:col2\nrank 20]
    A --> D[List Tabs\nrank 50-110]

    B --> E[fieldset: baseinfo\nrank 10\nname, org, status, business_criticity, location]
    B --> F[fieldset: moreinfo\nrank 20\nCI-specific fields\ne.g. brand, model, serialnumber]

    C --> G[fieldset: Date\nrank 10\nmove2production, purchase_date, end_of_warranty]
    C --> H[fieldset: otherinfo\nrank 20\ndescription]

    D --> I[contacts_list]
    D --> J[documents_list]
    D --> K[physicalinterface_list]
    D --> L[other lists]

    style A fill:#4a90d9,color:#fff
    style B fill:#7bc67e,color:#000
    style C fill:#7bc67e,color:#000
    style D fill:#f0a500,color:#000
Loading

Last reviewed commit: 8ccf9cf

Comment thread datamodels/2.x/itop-config-mgmt/datamodel.itop-config-mgmt.xml Outdated
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR standardizes the Details presentation of multiple CMDB classes by reorganizing attributes into consistent 2-column layouts and reusing common fieldset groupings (aligned with the existing Server template), improving discoverability of common fields across classes.

Changes:

  • Refactors multiple class <details> layouts into col:col1 / col:col2 with consistent fieldset grouping (baseinfo / moreinfo / Date / otherinfo).
  • Introduces new fieldset dictionary keys (eg. ConfigMgnt:*, Storage:moreinfo, Software:moreinfo, Phone:moreinfo) and updates some existing fieldset labels.
  • Reorders some linked-set “list” blocks in Details views to appear after the main attribute columns.

Reviewed changes

Copilot reviewed 21 out of 21 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
datamodels/2.x/itop-storage-mgmt/datamodel.itop-storage-mgmt.xml Reorganizes storage-related classes’ Details views into consistent columns/fieldsets and introduces Storage:moreinfo fieldset usage.
datamodels/2.x/itop-endusers-devices/datamodel.itop-endusers-devices.xml Refactors end-user device classes (phones/mobile/tablet/PC/printer) Details views into standardized columns/fieldsets and adjusts list placement/ranks.
datamodels/2.x/itop-datacenter-mgmt/datamodel.itop-datacenter-mgmt.xml Applies the same column + fieldset pattern to datacenter-management classes.
datamodels/2.x/itop-config-mgmt/datamodel.itop-config-mgmt.xml Reorganizes many config-mgmt classes’ Details views into consistent columns/fieldsets; updates search/default_search blocks in at least one class.
datamodels/2.x/itop-config-mgmt/dictionaries/*.dict.itop-config-mgmt.php Adds translations for the new fieldset keys across multiple locales and updates some existing fieldset labels.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

Comment thread datamodels/2.x/itop-config-mgmt/datamodel.itop-config-mgmt.xml Outdated
Comment thread datamodels/2.x/itop-config-mgmt/datamodel.itop-config-mgmt.xml
Comment thread datamodels/2.x/itop-config-mgmt/datamodel.itop-config-mgmt.xml
@v-dumas v-dumas merged commit 32ddf1c into develop Mar 13, 2026
@v-dumas v-dumas deleted the feature/9138-display-details-CMDB branch March 13, 2026 16:19
<item id="name">
<item id="col:col1">
<items>
<item id="fieldset:ConfigMgnt:baseinfo">
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo Mgnt versus Mgmt, same for all other occurrences.

Suggested change
<item id="fieldset:ConfigMgnt:baseinfo">
<item id="fieldset:ConfigMgmt:baseinfo">

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

internal Work made by Combodo

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants