N°7771 - DataFlow between SoftwareInstances

This commit is contained in:
v-dumas
2025-12-26 13:29:55 +01:00
parent a332e06896
commit 8bd5473fde
5 changed files with 207 additions and 143 deletions

View File

@@ -1,21 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<Set>
<FlowType alias="FlowType" id="1">
<DataFlowType alias="DataFlowType" id="1">
<name>http</name>
</FlowType>
<FlowType alias="FlowType" id="2">
</DataFlowType>
<DataFlowType alias="DataFlowType" id="2">
<name>https</name>
</FlowType>
<FlowType alias="FlowType" id="3">
</DataFlowType>
<DataFlowType alias="DataFlowType" id="3">
<name>ftp</name>
</FlowType>
<FlowType alias="FlowType" id="4">
</DataFlowType>
<DataFlowType alias="DataFlowType" id="4">
<name>sftp</name>
</FlowType>
<FlowType alias="FlowType" id="5">
</DataFlowType>
<DataFlowType alias="DataFlowType" id="5">
<name>AS2</name>
</FlowType>
<FlowType alias="FlowType" id="6">
</DataFlowType>
<DataFlowType alias="DataFlowType" id="6">
<name>X.400</name>
</FlowType>
</DataFlowType>
</Set>

View File

@@ -3,20 +3,20 @@
<constants>
</constants>
<classes>
<class id="Flow" _delta="define">
<class id="DataFlow" _delta="define">
<parent>cmdbAbstractObject</parent>
<properties>
<category>bizmodel,searchable</category>
<abstract>false</abstract>
<db_table>flow</db_table>
<db_table>dataflow</db_table>
<style>
<icon>images/icons8-sorting-arrows-horizontal.svg</icon>
</style>
<naming>
<attributes>
<attribute id="name"/>
<attribute id="source_name"/>
<attribute id="destination_name"/>
<attribute id="source_id_friendlyname"/>
<attribute id="destination_id_friendlyname"/>
</attributes>
</naming>
<reconciliation>
@@ -55,27 +55,19 @@
<filter/>
<dependencies/>
<is_null_allowed>false</is_null_allowed>
<target_class>FunctionalCI</target_class>
<target_class>SoftwareInstance</target_class>
<on_target_delete>DEL_MANUAL</on_target_delete>
<tracking_level>all</tracking_level>
</field>
<field id="source_name" xsi:type="AttributeExternalField">
<extkey_attcode>source_id</extkey_attcode>
<target_attcode>name</target_attcode>
</field>
<field id="destination_id" xsi:type="AttributeExternalKey">
<sql>destination_id</sql>
<filter/>
<dependencies/>
<is_null_allowed>false</is_null_allowed>
<target_class>FunctionalCI</target_class>
<target_class>SoftwareInstance</target_class>
<on_target_delete>DEL_MANUAL</on_target_delete>
<tracking_level>all</tracking_level>
</field>
<field id="destination_name" xsi:type="AttributeExternalField">
<extkey_attcode>destination_id</extkey_attcode>
<target_attcode>name</target_attcode>
</field>
<field id="flowtype_id" xsi:type="AttributeExternalKey">
<sql>flowtype_id</sql>
<filter/>
@@ -140,6 +132,39 @@
<is_null_allowed>false</is_null_allowed>
<display_style>list</display_style>
</field>
<field id="execution_frequency" xsi:type="AttributeEnum">
<sort_type>rank</sort_type>
<values>
<value id="real_time">
<code>real_time</code>
<rank>10</rank>
</value>
<value id="hourly">
<code>hourly</code>
<rank>20</rank>
</value>
<value id="daily">
<code>daily</code>
<rank>30</rank>
</value>
<value id="weekly">
<code>weekly</code>
<rank>40</rank>
</value>
<value id="monthly">
<code>monthly</code>
<rank>50</rank>
</value>
<value id="yearly">
<code>yearly</code>
<rank>60</rank>
</value>
</values>
<sql>execution_frequency</sql>
<default_value>daily</default_value>
<is_null_allowed>false</is_null_allowed>
<display_style>list</display_style>
</field>
<field id="documents_list" xsi:type="AttributeLinkedSetIndirect">
<linked_class>lnkDocumentToFunctionalCI</linked_class>
<ext_key_to_me>functionalci_id</ext_key_to_me>
@@ -208,9 +233,12 @@
<item id="flowtype_id">
<rank>60</rank>
</item>
<item id="business_criticity">
<item id="execution_frequency">
<rank>70</rank>
</item>
<item id="business_criticity">
<rank>80</rank>
</item>
</items>
<rank>10</rank>
</item>
@@ -268,20 +296,20 @@
</relation>
</relations>
</class>
<class id="lnkDocumentToFlow" _delta="define">
<class id="lnkDocumentToDataFlow" _delta="define">
<parent>cmdbAbstractObject</parent>
<properties>
<is_link>1</is_link>
<category>bizmodel</category>
<abstract>false</abstract>
<key_type>autoincrement</key_type>
<db_table>lnkDocumentToFlow</db_table>
<db_table>lnkdocumenttodataflow</db_table>
<db_key_field>id</db_key_field>
<db_final_class_field/>
<naming>
<attributes>
<attribute id="document_id_friendlyname"/>
<attribute id="flow_id_friendlyname"/>
<attribute id="dataflow_id_friendlyname"/>
</attributes>
</naming>
<style>
@@ -289,7 +317,7 @@
</style>
<reconciliation>
<attributes>
<attribute id="flow_id"/>
<attribute id="dataflow_id"/>
<attribute id="document_id"/>
</attributes>
</reconciliation>
@@ -297,7 +325,7 @@
<rule id="no_duplicate">
<attributes>
<attribute id="document_id"/>
<attribute id="flow_id"/>
<attribute id="dataflow_id"/>
</attributes>
<filter><![CDATA[]]></filter>
<disabled>false</disabled>
@@ -306,9 +334,9 @@
</uniqueness_rules>
</properties>
<fields>
<field id="flow_id" xsi:type="AttributeExternalKey">
<sql>flow_id</sql>
<target_class>Flow</target_class>
<field id="dataflow_id" xsi:type="AttributeExternalKey">
<sql>dataflow_id</sql>
<target_class>DataFlow</target_class>
<is_null_allowed>false</is_null_allowed>
<on_target_delete>DEL_AUTO</on_target_delete>
</field>
@@ -326,14 +354,14 @@
<item id="document_id">
<rank>10</rank>
</item>
<item id="functionalci_id">
<item id="dataflow_id">
<rank>20</rank>
</item>
</items>
</details>
<search>
<items>
<item id="functionalci_id">
<item id="dataflow_id">
<rank>10</rank>
</item>
<item id="document_id">
@@ -343,7 +371,7 @@
</search>
<list>
<items>
<item id="functionalci_id">
<item id="dataflow_id">
<rank>10</rank>
</item>
<item id="document_id">
@@ -353,12 +381,12 @@
</list>
</presentation>
</class>
<class id="FlowType" _delta="define">
<class id="DataFlowType" _delta="define">
<parent>Typology</parent>
<properties>
<category>bizmodel,searchable</category>
<abstract>false</abstract>
<db_table>flowtype</db_table>
<db_table>dataflowtype</db_table>
<naming>
<attributes>
<attribute id="name"/>
@@ -397,19 +425,32 @@
</details>
</presentation>
</class>
<class id="FunctionalCI" _delta="must_exist">
<class id="SoftwareInstance" _delta="must_exist">
<relations>
<relation id="flow" _delta="define_if_not_exists">
<relation id="flow" _delta="define">
<neighbours>
<neighbour id="flow">
<query_down><![CDATA[SELECT Flow WHERE source_id = :this->id]]></query_down>
<query_up><![CDATA[SELECT FunctionalCI WHERE id = :this->source_id]]></query_up>
<query_down><![CDATA[SELECT DataFlow WHERE source_id = :this->id]]></query_down>
<query_up><![CDATA[SELECT SoftwareInstance WHERE id = :this->source_id]]></query_up>
<direction>both</direction>
</neighbour>
</neighbours>
</relation>
</relations>
</class>
</class>
<class id="Group" _delta="must_exist">
<relations>
<relation id="flow" _delta="define">
<neighbours>
<neighbour id="flow">
<query_down><![CDATA[SELECT DataFlow AS F JOIN SoftwareInstance AS SI ON F.source_id = SI.id JOIN lnkFunctionalCIToGroup AS G ON G.functionalci_id = SI.id WHERE G.group_id=:this->id ]]></query_down>
<query_up></query_up>
<direction>down</direction>
</neighbour>
</neighbours>
</relation>
</relations>
</class>
</classes>
<menus>
<menu id="ConfigManagementOverview" xsi:type="DashboardMenuNode" _delta="must_exist">
@@ -417,9 +458,9 @@
<cells>
<cell id="3" delta="must_exist">
<dashlets>
<dashlet id="Flow" xsi:type="DashletBadge" _delta="define_if_not_exists">
<rank>12</rank>
<class>Flow</class>
<dashlet id="DataFlow_20" xsi:type="DashletBadge" _delta="define">
<rank>20</rank>
<class>DataFlow</class>
</dashlet>
</dashlets>
</cell>
@@ -431,7 +472,8 @@
<groups>
<group id="Configuration">
<classes>
<class id="Flow" _delta="define_if_not_exists"/>
<class id="DataFlow" _delta="define"/>
<class id="DataFlowType" _delta="define"/>
</classes>
</group>
</groups>

View File

@@ -9,53 +9,64 @@
Dict::Add('EN US', 'English', 'English', [
'Relation:flow/Description' => 'Flow maps',
'Relation:flow/DownStream' => 'Sent flow...',
'Relation:flow/UpStream' => 'Received flow...',
'Relation:flow/Description' => 'Flow maps',
'Relation:flow/DownStream' => 'Sent flow...',
'Relation:flow/UpStream' => 'Received flow...',
'Class:Flow' => 'Flow',
'Class:Flow+' => 'For application flow for example',
'Class:Flow/Name' => '%1$s from %2$s to %3$s',
'Class:Flow/Attribute:name' => 'Name',
'Class:Flow/Attribute:name_id+' => 'Data that are transferred',
'Class:Flow/Attribute:source_id' => 'Source',
'Class:Flow/Attribute:source_id+' => 'Source Ci of the flow',
'Class:Flow/Attribute:source_name' => 'Source name',
'Class:Flow/Attribute:source_name+' => 'Name of the source Ci of the flow',
'Class:Flow/Attribute:destination_id' => 'Destination',
'Class:Flow/Attribute:destination_id+' => 'Destination Ci for the flow',
'Class:Flow/Attribute:destination_name' => 'Destination name',
'Class:Flow/Attribute:destination_name+' => 'Name of the destination CI for the flow',
'Class:Flow/Attribute:type_id' => 'Flow type',
'Class:Flow/Attribute:type_id+' => 'Typology of Flow.',
'Class:Flow/Attribute:description' => 'Description',
'Class:Flow/Attribute:description+' => 'Flow description, will appear in the summary card',
'Class:Flow/Attribute:status' => 'Status',
'Class:Flow/Attribute:status+' => '',
'Class:Flow/Attribute:status/Value:active' => 'active',
'Class:Flow/Attribute:status/Value:inactive' => 'inactive',
'Class:Flow/Attribute:org_id' => 'Organization',
'Class:Flow/Attribute:org_id+' => '',
'Class:Flow/Attribute:business_criticity' => 'Business criticality',
'Class:Flow/Attribute:business_criticity+' => '',
'Class:Flow/Attribute:business_criticity/Value:high' => 'high',
'Class:Flow/Attribute:business_criticity/Value:high+' => '',
'Class:Flow/Attribute:business_criticity/Value:low' => 'low',
'Class:Flow/Attribute:business_criticity/Value:low+' => '',
'Class:Flow/Attribute:business_criticity/Value:medium' => 'medium',
'Class:Flow/Attribute:business_criticity/Value:medium+' => '',
'Class:Flow/Attribute:source_id_friendlyname' => 'source_id_friendlyname',
'Class:Flow/Attribute:source_id_friendlyname+' => 'Full name',
'Class:Flow/Attribute:source_id_finalclass_recall' => 'source_id->CI sub-class',
'Class:Flow/Attribute:source_id_finalclass_recall+' => 'Name of the final class',
'Class:Flow/Attribute:source_id_obsolescence_flag' => 'source_id->Obsolete',
'Class:Flow/Attribute:source_id_obsolescence_flag+' => 'Computed dynamically on other attributes',
'Class:Flow/Attribute:destination_id_friendlyname' => 'destination_id_friendlyname',
'Class:Flow/Attribute:destination_id_friendlyname+' => 'Full name',
'Class:Flow/Attribute:destination_id_finalclass_recall' => 'destination_id->CI sub-class',
'Class:Flow/Attribute:destination_id_finalclass_recall+' => 'Name of the final class',
'Class:Flow/Attribute:destination_id_obsolescence_flag' => 'destination_id->Obsolete',
'Class:Flow/Attribute:destination_id_obsolescence_flag+' => 'Computed dynamically on other attributes',
'Class:DataFlow' => 'Flow',
'Class:DataFlow+' => 'For application flow for example',
'Class:DataFlow/Name' => '%1$s from %2$s to %3$s',
'Class:DataFlow/Attribute:name' => 'Name',
'Class:DataFlow/Attribute:name_id+' => 'Data that are transferred',
'Class:DataFlow/Attribute:source_id' => 'Source',
'Class:DataFlow/Attribute:source_id+' => 'Source Ci of the flow',
'Class:DataFlow/Attribute:destination_id' => 'Destination',
'Class:DataFlow/Attribute:destination_id+' => 'Destination Ci for the flow',
'Class:DataFlow/Attribute:type_id' => 'Flow type',
'Class:DataFlow/Attribute:type_id+' => 'Typology of Flow.',
'Class:DataFlow/Attribute:description' => 'Description',
'Class:DataFlow/Attribute:description+' => '',
'Class:DataFlow/Attribute:status' => 'Status',
'Class:DataFlow/Attribute:status+' => '',
'Class:DataFlow/Attribute:status/Value:active' => 'active',
'Class:DataFlow/Attribute:status/Value:inactive' => 'inactive',
'Class:DataFlow/Attribute:org_id' => 'Organization',
'Class:DataFlow/Attribute:org_id+' => '',
'Class:DataFlow/Attribute:business_criticity' => 'Business criticality',
'Class:DataFlow/Attribute:business_criticity+' => '',
'Class:DataFlow/Attribute:business_criticity/Value:high' => 'high',
'Class:DataFlow/Attribute:business_criticity/Value:high+' => '',
'Class:DataFlow/Attribute:business_criticity/Value:low' => 'low',
'Class:DataFlow/Attribute:business_criticity/Value:low+' => '',
'Class:DataFlow/Attribute:business_criticity/Value:medium' => 'medium',
'Class:DataFlow/Attribute:business_criticity/Value:medium+' => '',
'Class:DataFlow/Attribute:execution_frequency' => 'Execution frequency',
'Class:DataFlow/Attribute:execution_frequency+' => 'How often the data flow is executed',
'Class:DataFlow/Attribute:execution_frequency/Value:real_time' => 'real-time',
'Class:DataFlow/Attribute:execution_frequency/Value:real_time+' => '',
'Class:DataFlow/Attribute:execution_frequency/Value:hourly' => 'hourly',
'Class:DataFlow/Attribute:execution_frequency/Value:hourly+' => '',
'Class:DataFlow/Attribute:execution_frequency/Value:daily' => 'daily',
'Class:DataFlow/Attribute:execution_frequency/Value:daily+' => '',
'Class:DataFlow/Attribute:execution_frequency/Value:weekly' => 'weekly',
'Class:DataFlow/Attribute:execution_frequency/Value:weekly+' => '',
'Class:DataFlow/Attribute:execution_frequency/Value:monthly' => 'monthly',
'Class:DataFlow/Attribute:execution_frequency/Value:monthly+' => '',
'Class:DataFlow/Attribute:execution_frequency/Value:yearly' => 'yearly',
'Class:DataFlow/Attribute:execution_frequency/Value:yearly+' => '',
/*
'Class:DataFlow/Attribute:source_id_friendlyname' => 'source_id_friendlyname',
'Class:DataFlow/Attribute:source_id_friendlyname+' => 'Full name',
'Class:DataFlow/Attribute:source_id_finalclass_recall' => 'source_id->CI sub-class',
'Class:DataFlow/Attribute:source_id_finalclass_recall+' => 'Name of the final class',
'Class:DataFlow/Attribute:source_id_obsolescence_flag' => 'source_id->Obsolete',
'Class:DataFlow/Attribute:source_id_obsolescence_flag+' => 'Computed dynamically on other attributes',
'Class:DataFlow/Attribute:destination_id_friendlyname' => 'destination_id_friendlyname',
'Class:DataFlow/Attribute:destination_id_friendlyname+' => 'Full name',
'Class:DataFlow/Attribute:destination_id_finalclass_recall' => 'destination_id->CI sub-class',
'Class:DataFlow/Attribute:destination_id_finalclass_recall+' => 'Name of the final class',
'Class:DataFlow/Attribute:destination_id_obsolescence_flag' => 'destination_id->Obsolete',
'Class:DataFlow/Attribute:destination_id_obsolescence_flag+' => 'Computed dynamically on other attributes',
*/
]);

View File

@@ -9,52 +9,63 @@
Dict::Add('FR FR', 'French', 'Français', [
'Relation:flow/Description' => 'Carte des fluxs',
'Relation:flow/DownStream' => 'Flux émis...',
'Relation:flow/Description' => 'Carte des flux de données',
'Relation:flow/DownStream' => 'Flux sortants...',
'Relation:flow/UpStream' => 'Flux reçus...',
'Class:Flow' => 'Flux',
'Class:Flow+' => 'Modélise les fluxs d\'informations entre applications par exemple, mais aussi n\'importe quel autre type de flux entre CI',
'Class:Flow/Name' => '%1$s de %2$s à %3$s',
'Class:Flow/Attribute:name' => 'Nom',
'Class:Flow/Attribute:name_id+' => 'Type de données transferées',
'Class:Flow/Attribute:source_id' => 'Source',
'Class:Flow/Attribute:source_id+' => 'Ci source du flux, le plus souvent une instance d\'application',
'Class:Flow/Attribute:source_name' => 'Nom de la source ',
'Class:Flow/Attribute:source_name+' => 'Nom du CI à la source du flux',
'Class:Flow/Attribute:destination_id' => 'Destinataire',
'Class:Flow/Attribute:destination_id+' => 'Ci destinataire du flux, le plus souvent une instance d\'application',
'Class:Flow/Attribute:destination_name' => 'Nom du destinataire',
'Class:Flow/Attribute:destination_name+' => 'Nom du Ci destinataire du flux',
'Class:Flow/Attribute:type_id' => 'Type de flux',
'Class:Flow/Attribute:type_id+' => 'Typologie du flux',
'Class:Flow/Attribute:description' => 'Description',
'Class:Flow/Attribute:description+' => 'Description du flux, apparaitra dans les informations résumées ',
'Class:Flow/Attribute:status' => 'Etat',
'Class:Flow/Attribute:status+' => '',
'Class:Flow/Attribute:status/Value:active' => 'actif',
'Class:Flow/Attribute:status/Value:inactive' => 'inactif',
'Class:Flow/Attribute:org_id' => 'Organisation',
'Class:Flow/Attribute:org_id+' => '',
'Class:Flow/Attribute:business_criticity' => 'Criticité',
'Class:Flow/Attribute:business_criticity+' => '',
'Class:Flow/Attribute:business_criticity/Value:high' => 'haute',
'Class:Flow/Attribute:business_criticity/Value:high+' => '',
'Class:Flow/Attribute:business_criticity/Value:low' => 'basse',
'Class:Flow/Attribute:business_criticity/Value:low+' => '',
'Class:Flow/Attribute:business_criticity/Value:medium' => 'moyenne',
'Class:Flow/Attribute:business_criticity/Value:medium+' => '',
'Class:Flow/Attribute:source_id_friendlyname' => 'source_id_friendlyname',
'Class:Flow/Attribute:source_id_friendlyname+' => 'Nom complet',
'Class:Flow/Attribute:source_id_finalclass_recall' => 'source_id->CI sub-class',
'Class:Flow/Attribute:source_id_finalclass_recall+' => 'Classe finale',
'Class:Flow/Attribute:source_id_obsolescence_flag' => 'source_id->Obsolete',
'Class:Flow/Attribute:source_id_obsolescence_flag+' => 'Computed dynamically on other attributes',
'Class:Flow/Attribute:destination_id_friendlyname' => 'destination_id_friendlyname',
'Class:Flow/Attribute:destination_id_friendlyname+' => 'Nom complet',
'Class:Flow/Attribute:destination_id_finalclass_recall' => 'destination_id->CI sub-class',
'Class:Flow/Attribute:destination_id_finalclass_recall+' => 'Classe finale',
'Class:Flow/Attribute:destination_id_obsolescence_flag' => 'destination_id->Obsolete',
'Class:Flow/Attribute:destination_id_obsolescence_flag+' => 'Computed dynamically on other attributes',
'Class:DataFlow' => 'Flux de Données',
'Class:DataFlow+' => 'Modélise les données transférées entre instances d\'application',
'Class:DataFlow/Name' => '%1$s de %2$s à %3$s',
'Class:DataFlow/Attribute:name' => 'Nom',
'Class:DataFlow/Attribute:name_id+' => 'Type de données transferées',
'Class:DataFlow/Attribute:source_id' => 'Source',
'Class:DataFlow/Attribute:source_id+' => 'Instance d\application à la source du flux de données',
'Class:DataFlow/Attribute:destination_id' => 'Destinataire',
'Class:DataFlow/Attribute:destination_id+' => 'Destinataire des données, à choisir parmi les instances d\'application',
'Class:DataFlow/Attribute:type_id' => 'Type de flux',
'Class:DataFlow/Attribute:type_id+' => 'Typologie du flux',
'Class:DataFlow/Attribute:description' => 'Description',
'Class:DataFlow/Attribute:description+' => '',
'Class:DataFlow/Attribute:status' => 'Etat',
'Class:DataFlow/Attribute:status+' => '',
'Class:DataFlow/Attribute:status/Value:active' => 'actif',
'Class:DataFlow/Attribute:status/Value:inactive' => 'inactif',
'Class:DataFlow/Attribute:org_id' => 'Organisation',
'Class:DataFlow/Attribute:org_id+' => '',
'Class:DataFlow/Attribute:business_criticity' => 'Criticité',
'Class:DataFlow/Attribute:business_criticity+' => '',
'Class:DataFlow/Attribute:business_criticity/Value:high' => 'haute',
'Class:DataFlow/Attribute:business_criticity/Value:high+' => '',
'Class:DataFlow/Attribute:business_criticity/Value:low' => 'basse',
'Class:DataFlow/Attribute:business_criticity/Value:low+' => '',
'Class:DataFlow/Attribute:business_criticity/Value:medium' => 'moyenne',
'Class:DataFlow/Attribute:business_criticity/Value:medium+' => '',
'Class:DataFlow/Attribute:execution_frequency' => 'Fréquence d\'exécution',
'Class:DataFlow/Attribute:execution_frequency+' => 'À quelle fréquence le transfert de données est-il exécuté',
'Class:DataFlow/Attribute:execution_frequency/Value:real_time' => 'temps réel',
'Class:DataFlow/Attribute:execution_frequency/Value:real_time+' => '',
'Class:DataFlow/Attribute:execution_frequency/Value:hourly' => 'horaire',
'Class:DataFlow/Attribute:execution_frequency/Value:hourly+' => '',
'Class:DataFlow/Attribute:execution_frequency/Value:daily' => 'journalière',
'Class:DataFlow/Attribute:execution_frequency/Value:daily+' => '',
'Class:DataFlow/Attribute:execution_frequency/Value:weekly' => 'hebdomadaire',
'Class:DataFlow/Attribute:execution_frequency/Value:weekly+' => '',
'Class:DataFlow/Attribute:execution_frequency/Value:monthly' => 'mensuelle',
'Class:DataFlow/Attribute:execution_frequency/Value:monthly+' => '',
'Class:DataFlow/Attribute:execution_frequency/Value:yearly' => 'annuelle',
'Class:DataFlow/Attribute:execution_frequency/Value:yearly+' => '',
/*
'Class:DataFlow/Attribute:source_id_friendlyname' => 'source_id_friendlyname',
'Class:DataFlow/Attribute:source_id_friendlyname+' => 'Nom complet',
'Class:DataFlow/Attribute:source_id_finalclass_recall' => 'source_id->CI sub-class',
'Class:DataFlow/Attribute:source_id_finalclass_recall+' => 'Classe finale',
'Class:DataFlow/Attribute:source_id_obsolescence_flag' => 'source_id->Obsolete',
'Class:DataFlow/Attribute:source_id_obsolescence_flag+' => 'Computed dynamically on other attributes',
'Class:DataFlow/Attribute:destination_id_friendlyname' => 'destination_id_friendlyname',
'Class:DataFlow/Attribute:destination_id_friendlyname+' => 'Nom complet',
'Class:DataFlow/Attribute:destination_id_finalclass_recall' => 'destination_id->CI sub-class',
'Class:DataFlow/Attribute:destination_id_finalclass_recall+' => 'Classe finale',
'Class:DataFlow/Attribute:destination_id_obsolescence_flag' => 'destination_id->Obsolete',
'Class:DataFlow/Attribute:destination_id_obsolescence_flag+' => 'Computed dynamically on other attributes',
*/
]);

View File

@@ -10,7 +10,7 @@ SetupWebPage::AddModule(
[
// Identification
//
'label' => 'Add flow map in iTop',
'label' => 'Map applications data flows',
'category' => 'business',
// Setup