diff --git a/datamodels/2.x/installation.xml b/datamodels/2.x/installation.xml index 65660323d..26335edf6 100755 --- a/datamodels/2.x/installation.xml +++ b/datamodels/2.x/installation.xml @@ -85,6 +85,15 @@ + + itop-flow-map + Data flow + Map data flows between applications + + itop-flow-map + + false + diff --git a/datamodels/2.x/itop-flow-map/data/en_us.data.itop-flow-map.xml b/datamodels/2.x/itop-flow-map/data/en_us.data.itop-flow-map.xml new file mode 100644 index 000000000..32f326d09 --- /dev/null +++ b/datamodels/2.x/itop-flow-map/data/en_us.data.itop-flow-map.xml @@ -0,0 +1,21 @@ + + + + http + + + https + + + ftp + + + sftp + + + AS2 + + + X.400 + + \ No newline at end of file diff --git a/datamodels/2.x/itop-flow-map/datamodel.itop-flow-map.xml b/datamodels/2.x/itop-flow-map/datamodel.itop-flow-map.xml new file mode 100644 index 000000000..2b7dcf478 --- /dev/null +++ b/datamodels/2.x/itop-flow-map/datamodel.itop-flow-map.xml @@ -0,0 +1,750 @@ + + + + + cmdbAbstractObject + + bizmodel,searchable + false + dataflow + + + + + + + + + + + + + + + + + status='inactive' + + + status + + + + + name + + false + + + org_id + + + false + Organization + DEL_MANUAL + all + + + source_id + + + false + FunctionalCI + DEL_MANUAL + all + + + rank + + + yes + 10 + + + no + 20 + + + source_impact + yes + false + radio_horizontal + + + destination_id + + + false + FunctionalCI + DEL_MANUAL + all + + + rank + + + yes + 10 + + + no + 20 + + + destination_impact + no + false + radio_horizontal + + + dataflowtype_id + + + true + DataFlowType + DEL_MANUAL + all + + + description + + true + all + + + status + + + active + 10 + + + + inactive + 20 + + + + label + active + false + list + all + + + rank + + + high + 10 + + + medium + 20 + + + low + 30 + + + business_criticity + low + false + list + + + rank + + + realtime + 10 + + + ondemand + 20 + + + hourly + 30 + + + daily + 40 + + + weekly + 50 + + + monthly + 60 + + + yearly + 70 + + + execution_frequency + daily + false + list + + + lnkContactToDataFlow + dataflow_id + 0 + 0 + contact_id + + + + lnkDocumentToDataFlow + dataflow_id + 0 + 0 + document_id + + + + + + + + + 10 + + + 20 + + + 30 + + + 40 + + + 50 + + + + + + + 10 + + + 20 + + + 30 + + + 40 + + + +
+ + + + + + + 10 + + + 20 + + + 30 + + + 40 + + + 10 + + + + + 10 + + + 20 + + + 30 + + + 40 + + + 50 + + + 60 + + + 20 + + + 10 + + + + + + + 10 + + + 10 + + + 20 + + + 70 + + + 80 + + +
+ + + + 10 + + + 20 + + + 30 + + + 40 + + + 50 + + + + + + + 10 + + + 20 + + + +
+ + + + + destination_impact = 'yes' AND id = :this->destination_id]]> + id]]> + both + + + contacts_list + down + + + + +
+ + cmdbAbstractObject + + 1 + bizmodel + false + autoincrement + lnkdocumenttodataflow + id + + + + + + + + + + + + + + + + + + + + + + false + true + + + + + + dataflow_id + DataFlow + false + DEL_AUTO + + + document_id + Document + false + DEL_AUTO + + + + +
+ + + 10 + + + 20 + + +
+ + + + 10 + + + 20 + + + + + + + 10 + + + 20 + + + +
+
+ + cmdbAbstractObject + + 1 + bizmodel + false + autoincrement + lnkcontacttodataflow + id + + + + + + + + + + + + + + + + + + + + + + false + true + + + + + + dataflow_id + DataFlow + false + DEL_AUTO + + + contact_id + Contact + false + DEL_AUTO + + + + +
+ + + 10 + + + 20 + + +
+ + + + 10 + + + 20 + + + + + + + 10 + + + 20 + + + +
+
+ + Typology + + bizmodel,searchable + false + dataflowtype + + + + + + + + + + + + + + + + + + + 10 + + + + + + + 10 + + + +
+ + + 10 + + +
+
+
+ + + + true + + DashboardLayoutTwoCols + FunctionalCI:DataFlow:Title + + false + 300 + + + + 0 + + + 0 + FunctionalCI:DataFlow:Inbound + SELECT DataFlow WHERE destination_id=:this->id + true + + + + + 1 + + + 0 + FunctionalCI:DataFlow:Outbound + SELECT DataFlow WHERE source_id=:this->id + true + + + + + + + + + + + + id AND source_impact = 'yes']]> + id]]> + both + + + + + + + +
+ + + 25 + + +
+
+
+ + +
+ + + 25 + + +
+
+
+ + +
+ + + 25 + + +
+
+
+ + +
+ + + 25 + + +
+
+
+ + +
+ + + 25 + + +
+
+
+ + +
+ + + 25 + + +
+
+
+ + +
+ + + 25 + + +
+
+
+ + +
+ + + 25 + + +
+
+
+
+ + + + + + + + 20 + DataFlow + + + + + + + + + + + + + + + + + + +
diff --git a/datamodels/2.x/itop-flow-map/dictionaries/en.dict.itop-flow-map.php b/datamodels/2.x/itop-flow-map/dictionaries/en.dict.itop-flow-map.php new file mode 100644 index 000000000..415129609 --- /dev/null +++ b/datamodels/2.x/itop-flow-map/dictionaries/en.dict.itop-flow-map.php @@ -0,0 +1,96 @@ + 'Data flows', + 'Class:FunctionalCI/Attribute:dataflows+' => 'Data flows for which this object is the source or the destination', + 'FunctionalCI:DataFlow:Title' => 'Data flows', + 'FunctionalCI:DataFlow:Inbound' => 'Inbound flows', + 'FunctionalCI:DataFlow:Outbound' => 'Outbound flows', + + 'DataFlow:baseinfo' => 'General information', + 'DataFlow:otherinfo' => 'Other information', + 'DataFlow:moreinfo' => 'Flow specifics', + + 'Class:DataFlow' => 'Flow', + 'Class:DataFlow+' => 'For application flow for example', + 'Class:DataFlow/Name' => '%1$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:source_impact' => 'Source impacts?', + 'Class:DataFlow/Attribute:source_impact+' => 'Does the source impact the flow?', + 'Class:DataFlow/Attribute:source_impact/Value:yes' => 'yes', + 'Class:DataFlow/Attribute:source_impact/Value:yes+' => 'If the source falls down, the flow is impacted', + 'Class:DataFlow/Attribute:source_impact/Value:no' => 'no', + 'Class:DataFlow/Attribute:source_impact/Value:no+' => 'If the source falls down, the flow is not impacted', + 'Class:DataFlow/Attribute:destination_id' => 'Destination', + 'Class:DataFlow/Attribute:destination_id+' => 'Destination Ci for the flow', + 'Class:DataFlow/Attribute:destination_impact' => 'Destination impacted', + 'Class:DataFlow/Attribute:destination_impact+' => 'Is the destination impacted by the flow ?', + 'Class:DataFlow/Attribute:destination_impact/Value:yes' => 'yes', + 'Class:DataFlow/Attribute:destination_impact/Value:yes+' => 'If the flow stops, the destination is impacted', + 'Class:DataFlow/Attribute:destination_impact/Value:no' => 'no', + 'Class:DataFlow/Attribute:destination_impact/Value:no+' => 'If the flow stops, the destination is not impacted', + 'Class:DataFlow/Attribute:dataflowtype_id' => 'Flow type', + 'Class:DataFlow/Attribute:dataflowtype_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:realtime' => 'real-time', + 'Class:DataFlow/Attribute:execution_frequency/Value:realtime+' => '', + 'Class:DataFlow/Attribute:execution_frequency/Value:ondemand' => 'on demand', + 'Class:DataFlow/Attribute:execution_frequency/Value:ondemand+' => 'on the fly, not scheduled', + '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:documents_list' => 'Documents', + 'Class:DataFlow/Attribute:documents_list+' => 'Eg: technical specifications, runbooks, etc.', + 'Class:DataFlow/Attribute:contacts_list' => 'Contacts', + 'Class:DataFlow/Attribute:contacts_list+' => 'Eg: flow owner, technical support, etc.', + +/* + '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', +*/ +]); diff --git a/datamodels/2.x/itop-flow-map/dictionaries/fr.dict.itop-flow-map.php b/datamodels/2.x/itop-flow-map/dictionaries/fr.dict.itop-flow-map.php new file mode 100644 index 000000000..ea4e4afca --- /dev/null +++ b/datamodels/2.x/itop-flow-map/dictionaries/fr.dict.itop-flow-map.php @@ -0,0 +1,96 @@ + 'Flux de données', + 'Class:FunctionalCI/Attribute:dataflows+' => 'Flux de données dont cet objet est la source ou la destination', + 'FunctionalCI:DataFlow:Title' => 'Flux de données', + 'FunctionalCI:DataFlow:Inbound' => 'Flux entrants', + 'FunctionalCI:DataFlow:Outbound' => 'Flux sortants', + + 'DataFlow:baseinfo' => 'Informations générales', + 'DataFlow:otherinfo' => 'Autres informations', + 'DataFlow:moreinfo' => 'Spécificités du flux', + + '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', + '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:source_impact' => 'Source impactante ?', + 'Class:DataFlow/Attribute:source_impact+' => 'La source impacte-t-elle le flux de données ?', + 'Class:DataFlow/Attribute:source_impact/Value:yes' => 'oui', + 'Class:DataFlow/Attribute:source_impact/Value:yes+' => 'Si la source tombe en panne, le flux de données est impacté', + 'Class:DataFlow/Attribute:source_impact/Value:no' => 'non', + 'Class:DataFlow/Attribute:source_impact/Value:no+' => 'Si la source tombe en panne, le flux de données n\'est pas impacté', + 'Class:DataFlow/Attribute:destination_id' => 'Destinataire', + 'Class:DataFlow/Attribute:destination_id+' => 'Destinataire des données, à choisir parmi les instances d\'application', + 'Class:DataFlow/Attribute:destination_impact' => 'Destinataire impacté ?', + 'Class:DataFlow/Attribute:destination_impact+' => 'Le destinataire est-il impacté si le flux de données s\'arrête ?', + 'Class:DataFlow/Attribute:destination_impact/Value:yes' => 'oui', + 'Class:DataFlow/Attribute:destination_impact/Value:yes+' => 'Si le flux s\'arrête, le destinataire est impacté', + 'Class:DataFlow/Attribute:destination_impact/Value:no' => 'non', + 'Class:DataFlow/Attribute:destination_impact/Value:no+' => 'Si le flux s\'arrête, le destinataire n\'est pas impacté', + 'Class:DataFlow/Attribute:dataflowtype_id' => 'Type de flux', + 'Class:DataFlow/Attribute:dataflowtype_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:realtime' => 'temps réel', + 'Class:DataFlow/Attribute:execution_frequency/Value:realtime+' => '', + 'Class:DataFlow/Attribute:execution_frequency/Value:ondemand' => 'à la demande', + 'Class:DataFlow/Attribute:execution_frequency/Value:ondemand+' => '', + '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:documents_list' => 'Documents', + 'Class:DataFlow/Attribute:documents_list+' => 'Eg: technical specifications, runbooks, etc.', + 'Class:DataFlow/Attribute:contacts_list' => 'Contacts', + 'Class:DataFlow/Attribute:contacts_list+' => 'Eg: flow owner, technical support, etc.', + +/* + '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', +*/ +]); diff --git a/datamodels/2.x/itop-flow-map/images/icons8-sorting-arrows-horizontal.svg b/datamodels/2.x/itop-flow-map/images/icons8-sorting-arrows-horizontal.svg new file mode 100644 index 000000000..6cee6f7a0 --- /dev/null +++ b/datamodels/2.x/itop-flow-map/images/icons8-sorting-arrows-horizontal.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/datamodels/2.x/itop-flow-map/module.itop-flow-map.php b/datamodels/2.x/itop-flow-map/module.itop-flow-map.php new file mode 100644 index 000000000..a89b41d2f --- /dev/null +++ b/datamodels/2.x/itop-flow-map/module.itop-flow-map.php @@ -0,0 +1,50 @@ + 'Map applications data flows', + 'category' => 'business', + + // Setup + // + 'dependencies' => [ + 'itop-config-mgmt/3.2.0', + ], + 'mandatory' => false, + 'visible' => true, + + // Components + // + 'datamodel' => [ + + ], + 'webservice' => [ + + ], + 'data.struct' => [ + 'data/en_us.data.itop-flow-map.xml', + ], + 'data.sample' => [ + // add your sample data XML files here, + ], + + // Documentation + // + 'doc.manual_setup' => '', // hyperlink to manual setup documentation, if any + 'doc.more_information' => '', // hyperlink to more information, if any + + // Default settings + // + 'settings' => [ + // Module specific settings go here, if any + ], + ] +);