Skip to content

N°7771 cmdb flow map#905

Merged
v-dumas merged 12 commits into
developfrom
feature/7771-CMDB-flow-map
May 6, 2026
Merged

N°7771 cmdb flow map#905
v-dumas merged 12 commits into
developfrom
feature/7771-CMDB-flow-map

Conversation

@v-dumas
Copy link
Copy Markdown
Contributor

@v-dumas v-dumas commented May 6, 2026

Base information

Question Answer
Related to a SourceForge thread / Another PR / A GitHub Issue / Combodo ticket? N°7771
Type of change? Enhancement

Objective (enhancement)

Enable Application Data Flow management with impact analysis

Proposed solution (bug and enhancement)

A new module, on demand can be install which bring:

  • A new class DataFlow between 2 FunctionalCIs, this class is not a FunctionalCI itself
  • The different type of Flow can be modeled with a typology DataFlowType
  • A new dashboard attribute on FunctionalCI, displays the Outbound and the Inbound Flows
  • On Software CIs, MiddlewareInstance and WebApplication that dasboard is displayed (Out of the box it is not on other FunctionalCI)

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 without digging in the code?

@v-dumas
Copy link
Copy Markdown
Contributor Author

v-dumas commented May 6, 2026

Once approved, the extensions/installation.xml of the 3 product-itop-xxxx need to be updated just after the merge

@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented May 6, 2026

Greptile Summary

This PR introduces a new optional itop-flow-map module that models application data flows as a DataFlow class linking two FunctionalCI objects, with a typology (DataFlowType), impact flags on both ends, and a dashboard panel surfaced on key Software CI classes.

  • New DataFlow schema: Defines DataFlow, DataFlowType, lnkContactToDataFlow, and lnkDocumentToDataFlow classes with impact-analysis relations hooked into the existing FunctionalCI graph.
  • Presentation layer: Adds an AttributeDashboard to FunctionalCI showing inbound/outbound flows, exposed on seven subclasses.
  • Seed data and i18n: Ships 6 default DataFlowType entries and EN/FR dictionaries; the reconciliation block names a field flowtype_id that does not exist in the class (the correct name is dataflowtype_id), which will break CSV/synchro reconciliation on this key.

Confidence Score: 3/5

The module is mostly well-structured but ships with a reconciliation key that references a non-existent field name, which will break any CSV import or synchro connector that tries to match on flow type.

The reconciliation block in the DataFlow class lists flowtype_id as a key, while the actual attribute is named dataflowtype_id. Any data synchronisation job using this reconciliation will either error out or create duplicate records silently. This is a present defect in the shipped datamodel that should be fixed before release.

datamodels/2.x/itop-flow-map/datamodel.itop-flow-map.xml — the reconciliation field mismatch needs to be corrected before the module is used with any import/sync tooling.

Important Files Changed

Filename Overview
datamodels/2.x/itop-flow-map/datamodel.itop-flow-map.xml Core schema file introducing DataFlow, DataFlowType, and two link classes; contains a reconciliation reference to a non-existent field (flowtype_id vs dataflowtype_id), trailing spaces in neighbour IDs, and an incorrectly editable dashboard attribute.
datamodels/2.x/itop-flow-map/module.itop-flow-map.php Module registration file; the datamodel array is empty — verify that auto-discovery of the XML file is the intended and supported approach for this framework version.
datamodels/2.x/itop-flow-map/dictionaries/en.dict.itop-flow-map.php English dictionary with complete translations for all new attributes; contains a placeholder copyright notice (XXXXX, year 2013) that needs updating.
datamodels/2.x/itop-flow-map/dictionaries/fr.dict.itop-flow-map.php French dictionary; two help-text strings (documents_list+, contacts_list+) remain untranslated.
datamodels/2.x/itop-flow-map/data/en_us.data.itop-flow-map.xml Seed data providing 6 default DataFlowType entries; straightforward and correct.
datamodels/2.x/installation.xml Adds the new optional itop-flow-map module choice to the installer; otherwise correct.

Entity Relationship Diagram

%%{init: {'theme': 'neutral'}}%%
erDiagram
    FunctionalCI {
        int id PK
        string name
    }
    DataFlow {
        int id PK
        string name
        int org_id FK
        int source_id FK
        enum source_impact
        int destination_id FK
        enum destination_impact
        int dataflowtype_id FK
        enum status
        enum business_criticity
        enum execution_frequency
        text description
    }
    DataFlowType {
        int id PK
        string name
    }
    lnkContactToDataFlow {
        int id PK
        int dataflow_id FK
        int contact_id FK
    }
    lnkDocumentToDataFlow {
        int id PK
        int dataflow_id FK
        int document_id FK
    }
    FunctionalCI ||--o{ DataFlow : "source_id"
    FunctionalCI ||--o{ DataFlow : "destination_id"
    DataFlowType ||--o{ DataFlow : "dataflowtype_id"
    DataFlow ||--o{ lnkContactToDataFlow : "dataflow_id"
    DataFlow ||--o{ lnkDocumentToDataFlow : "dataflow_id"
Loading

Reviews (1): Last reviewed commit: "N°7771 - Dataflow impacts Contact" | Re-trigger Greptile

Comment thread datamodels/2.x/itop-flow-map/datamodel.itop-flow-map.xml
Comment thread datamodels/2.x/itop-flow-map/datamodel.itop-flow-map.xml
Comment thread datamodels/2.x/itop-flow-map/module.itop-flow-map.php
@v-dumas v-dumas merged commit e662370 into develop May 6, 2026
3 checks passed
@v-dumas v-dumas deleted the feature/7771-CMDB-flow-map branch May 6, 2026 09:28
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