Description de la configuration ESM
Ce document présente une description des schémas XML de la plateforme Efecte. Il existe deux schémas XML :
- Schéma pour les modèles qui définissent les cartes de données.
- Schéma pour les cartes de données.
Ce document est destiné aux utilisateurs d'Efecte et aux fournisseurs d'intégration qui ont besoin de comprendre les schémas XML d'Efecte.
Les commentaires et propositions d’amélioration peuvent être adressés à l’adresse suivante : servicedesk@efecte.com.
Ce document s'adresse aux équipes techniques des clients Efecte souhaitant comprendre les possibilités offertes par les schémas XML Efecte. Les schémas XML Efecte peuvent être utilisés, par exemple :
- Migration des données des systèmes existants vers Efecte.
- Intégration d'Efecte aux systèmes d'information existants.
- Mise à jour des données Efecte avec les données collectées par Efecte Inspector .
Les noms et abréviations suivants sont utilisés dans ce document :
Nom |
Description |
Attribut |
Les attributs sont les plus petits éléments constitutifs de la hiérarchie des données d'Efecte. Ils identifient les champs de la carte de données et définissent les règles et propriétés des types de données autorisés. |
Classe |
Lors de la création d'un modèle, vous pouvez regrouper des ensembles d'attributs qui apparaissent généralement ensemble sous une classe afin de pouvoir réutiliser le groupe également dans d'autres modèles. |
Référence suspendue |
Référence d'une carte de données à une autre carte de données, qui ne contient aucune donnée. |
Carte de données |
La carte de données est l'endroit où les informations sont stockées dans Efecte et affichées aux utilisateurs. Une carte de données est basée sur un modèle qui définit son apparence et le contenu autorisé. |
Champ de la carte de données |
Les champs de données stockent une partie des informations d'une carte de données. Ils sont définis par leur attribut associé. |
Référence intégrée |
Une relation parent-enfant entre les modèles et donc les cartes de données présentant ces modèles. |
HMAC |
Authentification des messages par hachage cryptographique (MD5 ou SHA-1) associé à une clé partagée secrète. Les importations XML peuvent être effectuées depuis des systèmes externes via HMAC. |
Référence |
Une référence est un lien entre un attribut et un ou plusieurs modèles, ou vers une adresse externe. Sur une fiche de données, une référence apparaît sous forme de lien d'une fiche de données vers une autre fiche de données ou vers une adresse externe. |
Modèle |
Un modèle se compose de classes et d'attributs qui déterminent, par exemple, l'apparence et le contenu autorisé des cartes de données. |
XML |
XML (Extensible Markup Language) est un moyen de présenter des données structurées hiérarchiquement dans un format lisible par l'homme. |
Définition du modèle
Les modèles définissent la structure des données des cartes de données dans les produits Efecte. Ils contiennent des classes qui servent de conteneurs pour les attributs. Les attributs définissent les propriétés des champs des cartes de données, comme leur type de données et la manière dont ces données seront insérées et présentées, c'est-à-dire le type d'entrée et de sortie. La figure ci-dessous illustre la relation entre les modèles et les cartes de données. Notez qu'aucune relation n'est représentée entre les classes et les données, car les classes servent principalement à organiser les données de sortie. Les classes peuvent également servir au partage de données entre les modèles ; elles sont « surchargées » et ne servent pas uniquement à organiser les données de sortie.

Consultez le manuel d'administration d'Efecte pour plus d'informations sur la structure du modèle. Les paragraphes suivants expliquent les fonctionnalités de l'interface XML du modèle. Comprendre la structure du modèle est utile pour mieux comprendre l'interface XML de la carte de données.
Exportation XML du modèle
L'exportation XML des modèles peut être effectuée depuis l'interface utilisateur du navigateur web d'Efecte ou via l' API Web d'Efecte. Le fichier XML obtenu contiendra les modèles sélectionnés et toutes leurs propriétés. Lors de la copie de modèles entre différentes instances d'Efecte, il est essentiel d'exporter ensemble tous les modèles contenant des références afin que ces références soient automatiquement recréées lors de l'importation du fichier XML dans une autre instance d'Efecte.
L'outil de transport de configuration (CTT) facilite l'exportation et l'importation de modèles. Notez qu'il ne peut gérer qu'un seul modèle à la fois. Pour plus d'informations sur l' outil de transport de configuration, consultez l'article « Outil de transport de configuration » .
Importation de modèle XML
Les modèles peuvent être importés dans une instance Efecte via l'interface utilisateur du navigateur web. Aucune synchronisation ni mise à jour des données de la hiérarchie des modèles existants n'est effectuée ; les modèles sont donc créés comme de nouvelles instances, même s'il existe déjà un modèle avec les mêmes informations d'identification. Ce comportement est susceptible d'être modifié dans les prochaines versions d'Efecte.
Définition de la carte de données
Le format XML des cartes de données est utilisé pour transférer les données des cartes de données entre Efecte et des systèmes externes. L'interface utilisateur web d'Efecte et l' API Web permettent de créer de nouvelles cartes de données et de mettre à jour les cartes existantes. Les chapitres suivants expliquent d'abord le fonctionnement de l'importation de cartes de données, puis la fonctionnalité d'exportation.
Importation de cartes de données
Notions de base sur l'importation
Les importations de données sont toujours ciblées sur un modèle spécifique. Par exemple, pour importer des utilisateurs depuis des systèmes externes, un modèle utilisateur doit exister dans Efecte. L'importation produit soit la création de nouvelles fiches de données, soit la mise à jour de fiches existantes.
Le modèle définit les types de données de la fiche de données. Il est donc important de prendre en compte les types de données importés lors de la création d'un modèle d'importation. Par exemple, si des utilisateurs doivent être importés et que les données d'utilisateurs externes contiennent une date de naissance, le modèle Efecte doit être créé de manière à inclure un champ de date correspondant.
L'importation de cartes de données prend en charge tous les types d'attributs pris en charge par la plateforme Efecte :
Type de données |
Restrictions sur la forme des données |
Chaîne |
La longueur maximale est définie dans le fichier framework.properties . La valeur par défaut est de 450 caractères. Les bases de données prennent en charge différentes longueurs ; si la longueur de la chaîne est supérieure à la valeur par défaut, des restrictions doivent être prises en compte. |
Nombre |
Le nombre est limité par le type d'entier Java : –2^31 – 2^31 et les restrictions possibles de la base de données. Normalement, les bases de données prennent en charge au moins la même plage que les entiers Java . |
nombre décimal |
Le format des nombres décimaux est défini dans le fichier framework.properties . Vous pouvez définir la précision souhaitée pour les nombres décimaux. Java BigDecimal et la plage de nombres de la base de données définissent la plage de nombres valide pour les nombres décimaux. |
Date |
Le modèle de date d'entrée est indiqué dans le fichier framework.properties . Si les données d'origine ont un modèle différent, elles doivent être converties pour suivre le modèle dans Efecte, ou le modèle de date d'entrée doit être ajouté à Efecte. Les valeurs minimales et maximales de date peuvent être configurées dans le fichier framework.properties et dépendent également de la base de données. |
Date et heure |
Le modèle de saisie de date et d'heure est indiqué dans le fichier framework.properties . Si les données d'origine ont un modèle différent, elles doivent être converties pour suivre le modèle dans Efecte, ou le modèle d'entrée doit être ajouté à Efecte. Les valeurs de date minimale et maximale peuvent être configurées dans le fichier framework.properties et dépendent également de la base de données. |
Texte |
Le texte n'est limité que par les limites matérielles (RAM et espace disque dur). |
Références |
Les références suivent les mêmes limitations que les chaînes. |
Références intégrées |
Les références intégrées suivent les mêmes limitations que les chaînes. |
Références externes |
Les références externes suivent les mêmes limitations que les chaînes. |
Les données externes peuvent être importées vers n'importe lequel de ces types si la validation du type sélectionné est réussie. La validation vérifie l'exactitude du type et d'autres contraintes possibles, comme l'unicité, et la valeur requise.
Faire correspondre la carte de données entrante à un modèle
Le type de carte de données correct (modèle) pour les données XML entrantes est défini à l'aide d'un code de modèle, unique parmi les modèles d'une instance Efecte. De même, les champs de la carte de données sont mis en correspondance avec les données XML entrantes grâce à des codes d'attribut. Ainsi, si nous importons des cartes de données informatiques dans Efecte et que nous avons utilisé le code de modèle « ordinateur » pour le modèle informatique, nous devons utiliser le même code dans l'élément de modèle XML entrant. L'extrait XML suivant présente l'élément de modèle qui permet de mettre en correspondance les données XML avec une carte de données utilisant un modèle informatique.
<template code="computer"/>
Faire correspondre la carte de données entrante à la carte existante
Pour pouvoir associer le XML d'une carte de données entrante à une carte de données existante dans Efecte, un champ de carte de données doit être défini comme unique dans la configuration des attributs du modèle. L'importation Efecte interprète les données entrantes en fonction des informations du modèle et, lorsqu'un champ unique est trouvé, Efecte tente de le faire correspondre aux données des cartes de données existantes. Si une correspondance est trouvée, la carte de données existante est mise à jour.
Champs de référence
Si les cartes de données importées contiennent des champs de référence (définis avec le type de données d'attribut dans la hiérarchie des modèles), ces références sont créées lors de l'importation en comparant les données de l'élément de valeur de l'attribut XML aux valeurs de champ uniques des cartes de données Efecte existantes. Si nous avons une carte de données de ticket d'assistance avec un champ de référence vers un modèle client, nous pourrions utiliser les types de lignes suivants dans notre XML pour créer une référence au client approprié.
<attribute code="job_client">
<value>job.client@company.com</value>
</attribute>
Si la définition du modèle client contient un champ de courrier électronique défini comme unique et qu'il existe une carte de données client dans Efecte avec la même adresse électronique que dans le XML ci-dessus, nous obtiendrons une référence entre le ticket importé et le client existant.
Références suspendues
Il arrive qu'une carte de données référençant une autre carte de données soit importée dans Efecte avant la carte de données à laquelle elle fait référence. Dans ce cas, la fonctionnalité de références non synchronisées permet de créer la référence au préalable. Efecte y parvient en créant une carte de données vide à la place de la carte de données référencée. Lors de l'importation de la carte de données référencée, la carte vide est mise à jour, ce qui permet d'avoir les deux cartes de données dans Efecte et une référence entre elles.
Références intégrées
Les références incorporées servent à créer des structures de cartes de données parent-enfant dont le cycle de vie dépend de la carte parent. Lorsque la carte parent d'une carte est supprimée, l'enfant l'est également. De plus, aucune autre carte de données ne peut référencer l'enfant ; il appartient entièrement à son parent. Les relations parent-enfant entre cartes de données peuvent être importées dans Efecte, mais avec une restriction : le parent et ses enfants doivent être importés dans le même document XML et utiliser l'élément embeddedreference pour indiquer la référence entre eux. Voici un exemple de référence incorporée au format XML dans l'entité parent :
<attribute code="embedded_display">
<embeddedreference id="559122" name="DISP0001"/>
</attribute>
Ensuite, vous auriez également dans le même XML la carte de données intégrée réelle avec un identifiant correspondant.
<entity id="559122" name="DISP0001">
Notes sur la carte de données
Les notes de fiches de données peuvent également être créées via l'interface d'importation XML. Voici un exemple d'extrait XML illustrant une note unique :
<note creator="user_1" timestamp="21.01.2004 00:42" follow-references="false">
<name>Should this card be deleted?</name>
<text><![CDATA[I think that this card could be removed from the system. Am I correct?]]></text>
</note>
Exemple d'importation de carte de données
Dans le produit Efecte Asset, un modèle nommé « Ordinateur » est présent dans la sélection de modèles par défaut. Nous allons maintenant illustrer un scénario où un nouvel ordinateur est créé dans Efecte via l'interface d'importation XML. Par souci de concision, le XML est abrégé pour ne contenir que quelques champs de carte de données. Voici le XML :
<?xml version="1.0" encoding="UTF-8" ?>
<entityset>
<entity name="COMPUTER001">
<template code="computer"/>
<attribute code="software">
<value>ATI Display Driver</value>
<value>Java Web Start</value>
</attribute>
<attribute code="host_name">
<value>computer001</value>
</attribute>
</entity>
</entityset>Comme le montre le XML, l'ordinateur importé contient deux champs : logiciel et nom d'hôte. Il nous suffit maintenant de définir le code « ordinateur » dans notre modèle d'ordinateur et de faire correspondre les codes des deux champs. Supposons que le nom d'hôte soit l'identifiant unique des cartes de données informatiques.
L'attribut logiciel de notre modèle d'ordinateur a été configuré pour faire référence à un modèle de logiciel. Cela signifie que nous disposons de cartes de données distinctes pour chaque type de logiciel. Lors de l'importation, les références sont créées en comparant le contenu des éléments de valeur XML aux champs uniques de l'instance Efecte. Ainsi, dans notre exemple, nous devons avoir défini au moins un attribut comme unique et les champs de données définis par cet attribut doivent contenir les noms des logiciels. Comme expliqué au chapitre 3.1.5, nous pouvons utiliser le mode de référence non linéaire pour créer les cartes logicielles lors des importations d'ordinateurs.
Envoi d'une demande d'importation
Il existe plusieurs façons d'accéder à l'interface d'importation XML des cartes de données. La plus simple consiste à utiliser l'interface utilisateur d'Efecte basée sur un navigateur web. Les données peuvent également être importées en envoyant du XML sous forme de POST HTTP à une URL Efecte spécifiée. Un code d'authentification de message (HMAC) doit être généré pour le logiciel externe et sera envoyé en paramètre de la requête HTTP. Efecte fournit des outils d'importation qui facilitent la génération des hachages et la conversion des données externes au format XML acceptable.
Efecte 4.0 a introduit API Web, méthode privilégiée pour importer des cartes de données dans Efecte. Aucun outil de génération HMAC n'est requis, car l'authentification HTTP BASIC est utilisée ; seuls l'identifiant et le mot de passe sont requis. Il est essentiel d'utiliser API Web via HTTPS afin d'éviter la transmission d'informations confidentielles en texte brut.
Exportation de cartes de données
Les cartes de données peuvent être exportées depuis Efecte au format XML. Les fonctionnalités de recherche d'Efecte permettent de définir l'ensemble des cartes de données exportées. Les annexes présentent un exemple de présentation du XML d'une carte de données exportée. Comme vous pouvez le constater, le format XML est assez similaire au format d'importation. Le schéma XML d'une carte de données comporte de nombreux attributs facultatifs, car seul un sous-ensemble d'attributs est généralement nécessaire à l'importation, tandis que davantage d'attributs sont nécessaires à l'exportation pour conserver les notes, les références intégrées, etc.
L'outil de gestion des services Efecte (ESM) propose deux API : API Web et REST API (qui remplace la précédente), permettant de rechercher des cartes de données. Celle-ci permet d'extraire les informations des cartes de données d'Efecte.
Annexes
Description de la hiérarchie des modèles
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<!--
Efecte Template hierarchy XML Schema Definition
$Revision: 19053 $
$Date: 2006-03-14 15:07:15 +0200 $
-->
<xs:element name="templateset">
<xs:complexType>
<xs:sequence>
<xs:element ref="template" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="template">
<xs:complexType>
<xs:sequence>
<xs:element ref="id" minOccurs="0" maxOccurs="1"/>
<xs:element ref="code" minOccurs="1" maxOccurs="1"/>
<xs:element ref="name" minOccurs="1" maxOccurs="1"/>
<xs:element ref="description" minOccurs="0" maxOccurs="1"/>
<xs:element ref="system-code" minOccurs="1" maxOccurs="1"/>
<xs:element ref="protected" minOccurs="1" maxOccurs="1"/>
<xs:element ref="reference-cascade" minOccurs="1" maxOccurs="1"/>
<xs:element ref="class" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="id" type="xs:string"/>
<xs:element name="code" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
<xs:element name="description" type="xs:string"/>
<xs:element name="system-code" type="xs:string"/>
<xs:element name="protected" type="xs:boolean"/>
<xs:element name="reference-cascade" type="xs:boolean"/>
<xs:element name="class">
<xs:complexType>
<xs:sequence>
<xs:element ref="id" minOccurs="0" maxOccurs="1"/>
<xs:element ref="name" minOccurs="1" maxOccurs="1"/>
<xs:element ref="order" minOccurs="1" maxOccurs="1"/>
<xs:element ref="attribute" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="order" type="xs:nonNegativeInteger"/>
<xs:element name="attribute">
<xs:complexType>
<xs:sequence>
<xs:element ref="id" minOccurs="0" maxOccurs="1"/>
<xs:element ref="code" minOccurs="0" maxOccurs="1"/>
<xs:element ref="name" minOccurs="1" maxOccurs="1"/>
<xs:element ref="primary" minOccurs="0" maxOccurs="1"/>
<xs:element ref="datatype" minOccurs="1" maxOccurs="1"/>
<xs:élément ref="références" minOccurs="0" maxOccurs="1"/>
<xs:élément ref="description" minOccurs="0" maxOccurs="1"/>
<xs:élément ref="pardéfaut" minOccurs="0" maxOccurs="1"/>
<xs:élément ref="multivaleur" minOccurs="1" maxOccurs="1"/>
<xs:élément ref="la-sortie-est-toujours-affichée" minOccurs="1" maxOccurs="1"/>
<xs:élément ref="statique" minOccurs="1" maxOccurs="1"/>
<xs:élément ref="valeurs-statiques" minOccurs="0" maxOccurs="1"/>
<xs:élément ref="hiérarchie" minOccurs="1" maxOccurs="1"/>
<xs:élément ref="hierarchy-leafs-only" minOccurs="1" maxOccurs="1"/>
<xs:élément ref="spécial" minOccurs="1" maxOccurs="1"/>
<xs:élément ref="développer-les-références-automatiquement" minOccurs="1" maxOccurs="1"/>
<xs:élément ref="expand-complete-output-automatically" minOccurs="1" maxOccurs="1"/>
<xs:élément ref="importer-des-données-référencées-vers-le-référent" minOccurs="1" maxOccurs="1"/>
<xs:élément ref="handler" minOccurs="0" maxOccurs="1"/>
<xs:élément ref="en-tête" minOccurs="0" maxOccurs="1"/>
<xs:élément ref="pieddepage" minOccurs="0" maxOccurs="1"/>
<xs:élément ref="textelarge" minOccurs="1" maxOccurs="1"/>
<xs:élément ref="requête-cachée" minOccurs="1" maxOccurs="1"/>
<xs:élément ref="sortie-cachée" minOccurs="1" maxOccurs="1"/>
<xs:élément ref="en-tête-de-requête-masqué" minOccurs="1" maxOccurs="1"/>
<xs:élément ref="en-tête-de-sortie-masqué" minOccurs="1" maxOccurs="1"/>
<xs:élément ref="largeur-du-champ" minOccurs="1" maxOccurs="1"/>
<xs:élément ref="hauteur-du-champ" minOccurs="1" maxOccurs="1"/>
<xs:élément ref="espace-demande" minOccurs="1" maxOccurs="1"/>
<xs:élément ref="commande" minOccurs="1" maxOccurs="1"/>
<xs:élément ref="sélectionné" minOccurs="1" maxOccurs="1"/>
<xs:élément ref="unique" minOccurs="1" maxOccurs="1"/>
<xs:élément ref="obligatoire" minOccurs="1" maxOccurs="1"/>
<xs:élément ref="protégé" minOccurs="1" maxOccurs="1"/>
<xs:élément ref="métadonnées" minOccurs="0" maxOccurs="illimité"/>
</xs:séquence>
</xs:complexType>
</xs:element>
<xs:élément nom="primaire" type="xs:booléen"/>
<xs:élément nom="typededonnées">
<xs:simpleType>
<xs:restriction base="xs:chaîne">
<xs:énumération valeur="date"/>
<xs:énumération valeur="datetime"/>
<xs:énumération valeur="référenceintégrée"/>
<xs:énumération valeur="référenceexterne"/>
<xs:énumération valeur="float"/>
<xs:énumération valeur="entier"/>
<xs:énumération valeur="référence"/>
<xs:énumération valeur="chaîne"/>
<xs:énumération valeur="texte"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:élément nom="références">
<xs:complexType>
<xs:séquence>
<xs:élément nom="référence" type="xs:chaîne" minOccurs="1" maxOccurs="illimité"/>
</xs:séquence>
</xs:complexType>
</xs:element>
<xs:élément nom="pardéfaut" type="xs:chaîne"/>
<xs:élément nom="multivaleur" type="xs:booléen"/>
<xs:élément nom="la-sortie-est-toujours-affichée" type="xs:booléen"/>
<xs:élément nom="statique" type="xs:booléen"/>
<xs:élément nom="valeurs-statiques">
<xs:complexType>
<xs:séquence>
<xs:élément ref="valeur-statique" minOccurs="1" maxOccurs="illimité"/>
</xs:séquence>
</xs:complexType>
</xs:element>
<xs:élément nom="valeur-statique">
<xs:complexType>
<xs:séquence>
<xs:élément ref="valeur" minoccurs="0" maxOccurs="1"/>
<xs:élément ref="valeur-statique" minOccurs="0" maxOccurs="illimité"/>
</xs:séquence>
<xs:attribut nom="valeur" type="xs:chaîne" utiliser="facultatif"/>
</xs:complexType>
</xs:element>
<xs:élément nom="valeur" type="xs:chaîne"/>
<xs:élément nom="hiérarchie" type="xs:booléen"/>
<xs:élément nom="hierarchie-feuilles-uniquement" type="xs:booléen"/>
<xs:élément nom="spécial" type="xs:booléen"/>
<xs:élément nom="développer-les-références-automatiquement" type="xs:booléen"/>
<xs:élément nom="expand-complete-output-automatically" type="xs:booléen"/>
<xs:élément nom="importer-des-données-référencées-vers-le-référent" type="xs:booléen"/>
<xs:élément nom="gestionnaire" type="xs:chaîne"/>
<xs:élément nom="en-tête" type="xs:chaîne"/>
<xs:élément nom="pieddepage" type="xs:chaîne"/>
<xs:élément nom="grand-texte" type="xs:booléen"/>
<xs:élément nom="requête-cachée" type="xs:booléen"/>
<xs:élément nom="sortie-cachée" type="xs:booléen"/>
<xs:élément nom="en-tête-de-requête-masqué" type="xs:booléen"/>
<xs:élément nom="en-tête-de-sortie-masqué" type="xs:booléen"/>
<xs:élément nom="largeur-du-champ" type="xs:nonNegativeInteger"/>
<xs:élément nom="hauteur-du-champ" type="xs:nonNegativeInteger"/>
<xs:élément nom="demande-d'espace">
<xs:simpleType>
<xs:restriction base="xs:entier">
<xs:minInclusif valeur="1"/>
<xs:maxInclusive valeur="4"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:élément nom="sélectionné" type="xs:booléen"/>
<xs:élément nom="unique" type="xs:booléen"/>
<xs:élément nom="obligatoire" type="xs:booléen"/>
<xs:élément nom="métadonnées">
<xs:complexType>
<xs:attribut nom="nom" type="xs:chaîne" utiliser="requis"/>
<xs:attribut nom="valeur" type="xs:chaîne" utiliser="requis"/>
</xs:complexType>
</xs:element>
</xs:schema>Exemple de modèle XML
<?xml version="1.0" encoding="UTF-8"?>
<templateset>
<template>
<id>171</id>
<code>client_contact</code>
<name>Contact</name>
<system-code>client</system-code>
<protected>false</protected>
<reference-cascade>false</reference-cascade>
<class>
<id>279</id>
<name>Contact information</name>
<order>0</order>
<attribute>
<code>contact_first_name</code>
<name>First name</name>
<datatype>string</datatype>
<multivalue>false</multivalue>
<output-is-always-shown>false</output-is-always-shown>
<static>false</static>
<hierarchy>false</hierarchy>
<hierarchy-leafs-only>false</hierarchy-leafs-only>
<special>false</special>
<expand-references-automatically>false</expand-references-automatically>
<expand-complete-output-automatically>false</expand-complete-output-automatically>
<import-referenced-data-to-referrer>false</import-referenced-data-to-referrer>
<large-text>false</large-text>
<query-hidden>false</query-hidden>
<output-hidden>false</output-hidden>
<query-header-hidden>false</query-header-hidden>
<output-header-hidden>false</output-header-hidden>
<field-width>25</field-width>
<field-height>1</field-height>
<space-demand>3</space-demand>
<order>100</order>
<selected>false</selected>
<unique>false</unique>
<required>false</required>
<protected>false</protected>
</attribute>
<attribute>
<name>Photo</name>
<datatype>externalreference</datatype>
<multivalue>false</multivalue>
<output-is-always-shown>false</output-is-always-shown>
<static>false</static>
<hierarchy>false</hierarchy>
<hierarchy-leafs-only>false</hierarchy-leafs-only>
<special>true</special>
<expand-references-automatically>false</expand-references-automatically>
<expand-complete-output-automatically>false</expand-complete-output-automatically>
<import-referenced-data-to-referrer>false</import-referenced-data-to-referrer>
<handler>com.bitmount.equipment.entitydatahandler.plugin.ImageHandler</handler>
<large-text>false</large-text>
<query-hidden>true</query-hidden>
<output-hidden>true</output-hidden>
<query-header-hidden>false</query-header-hidden>
<output-header-hidden>false</output-header-hidden>
<field-width>40</field-width>
<field-height>1</field-height>
<space-demand>4</space-demand>
<order>100</order>
<selected>false</selected>
<unique>false</unique>
<required>false</required>
<protected>false</protected>
</attribute>
<attribute>
<code>contact_last_name</code>
<name>Last name</name>
<datatype>string</datatype>
<multivalue>false</multivalue>
<output-is-always-shown>false</output-is-always-shown>
<static>false</static>
<hierarchy>false</hierarchy>
<hierarchy-leafs-only>false</hierarchy-leafs-only>
<special>false</special>
<expand-references-automatically>faux</expand-references-automatically>
<expand-complete-output-automatically>faux</expand-complete-output-automatically>
<import-referenced-data-to-referrer>faux</import-referenced-data-to-referrer>
<large-text>faux</large-text>
<query-hidden>faux</query-hidden>
<output-hidden>faux</output-hidden>
<query-header-hidden>faux</query-header-hidden>
<output-header-hidden>faux</output-header-hidden>
<field-width>25</field-width>
<field-height>1</field-height>
<espace-demand>3</espace-demand>
<commande>200</commande>
<sélectionné>faux</sélectionné>
<unique>faux</unique>
<required>faux</required>
<protected>faux</protected>
</attribute>
<attribut>
<code>nom_complet_du_contact</code>
<nom>Complet nom
<primary>vrai</primary>
<datatype>chaîne</datatype>
<multivalue>faux</multivalue>
<output-is-always-shown>faux</output-is-always-shown>
<static>faux</static>
<hierarchy>faux</hierarchy>
<hierarchy-leafs-only>faux</hierarchy-leafs-only>
<special>vrai</special>
<expand-references-automatically>faux</expand-references-automatically>
<expand-complete-output-automatically>faux</expand-complete-output-automatically>
<import-referenced-data-to-referrer>faux</import-referenced-data-to-referrer>
<handler>com.bitmount.equipment.entitydatahandler.plugin.AttributeCombinerHandler</handler>
<large-text>faux</large-text>
<query-hidden>faux</query-hidden>
<output-hidden>faux</output-hidden>
<query-header-hidden>faux</query-header-hidden>
<output-header-hidden>faux</output-header-hidden>
<field-width>25</field-width>
<field-height>1</field-height>
<espace-demand>3</espace-demand>
<commande>300</commande>
<sélectionné>vrai</sélectionné>
<unique>vrai</unique>
<required>faux</required>
<protected>faux</protected>
<métadonnées nom="contact_first_name" valeur="20"/>
<métadonnées nom="contact_last_name" valeur="10"/>
<métadonnées nom="séparateur" valeur=","/>
</attribute>
<attribut>
<code>contact_entreprise</code>
<name>Société</name>
<datatype>chaîne</datatype>
<multivalue>faux</multivalue>
<output-is-always-shown>faux</output-is-always-shown>
<static>vrai</static>
<valeurs-statiques>
<valeur-statique>
<valeur>Entreprise 1</valeur>
</static-value>
<valeur-statique>
<valeur>Entreprise 2</valeur>
</static-value>
</static-values>
<hierarchy>faux</hierarchy>
<hierarchy-leafs-only>faux</hierarchy-leafs-only>
<special>faux</special>
<expand-references-automatically>faux</expand-references-automatically>
<expand-complete-output-automatically>faux</expand-complete-output-automatically>
<import-referenced-data-to-referrer>faux</import-referenced-data-to-referrer>
<large-text>faux</large-text>
<query-hidden>faux</query-hidden>
<output-hidden>faux</output-hidden>
<query-header-hidden>faux</query-header-hidden>
<output-header-hidden>faux</output-header-hidden>
<largeurduchamp>25</largeurduchamp>
<field-height>1</field-height>
<space-demand>1</space-demand>
<commande>350</commande>
<sélectionné>faux</sélectionné>
<unique>faux</unique>
<required>faux</required>
<protected>faux</protected>
</attribute>
<attribut>
<code>e-mail</code>
<name>E-mail</name>
<datatype>chaîne</datatype>
<multivalue>faux</multivalue>
<output-is-always-shown>faux</output-is-always-shown>
<static>faux</static>
<hierarchy>faux</hierarchy>
<hierarchy-leafs-only>faux</hierarchy-leafs-only>
<special>faux</special>
<expand-references-automatically>faux</expand-references-automatically>
<expand-complete-output-automatically>faux</expand-complete-output-automatically>
<import-referenced-data-to-referrer>faux</import-referenced-data-to-referrer>
<large-text>faux</large-text>
<query-hidden>faux</query-hidden>
<output-hidden>faux</output-hidden>
<query-header-hidden>faux</query-header-hidden>
<output-header-hidden>faux</output-header-hidden>
<largeurduchamp>25</largeurduchamp>
<field-height>1</field-height>
<espace-demand>3</espace-demand>
<commande>400</commande>
<sélectionné>vrai</sélectionné>
<unique>vrai</unique>
<required>vrai</required>
<protected>faux</protected>
</attribute>
<attribut>
<code>numéro_de_téléphone_de_contact</code>
<nom>Téléphone numéro</nom>
<datatype>chaîne</datatype>
<multivalue>faux</multivalue>
<output-is-always-shown>faux</output-is-always-shown>
<static>faux</static>
<hierarchy>faux</hierarchy>
<hierarchy-leafs-only>faux</hierarchy-leafs-only>
<special>faux</special>
<expand-references-automatically>faux</expand-references-automatically>
<expand-complete-output-automatically>faux</expand-complete-output-automatically>
<import-referenced-data-to-referrer>faux</import-referenced-data-to-referrer>
<large-text>faux</large-text>
<query-hidden>faux</query-hidden>
<output-hidden>faux</output-hidden>
<query-header-hidden>faux</query-header-hidden>
<output-header-hidden>faux</output-header-hidden>
<field-width>25</field-width>
<field-height>1</field-height>
<space-demand>1</space-demand>
<commande>450</commande>
<sélectionné>faux</sélectionné>
<unique>faux</unique>
<required>faux</required>
<protected>faux</protected>
</attribute>
<attribut>
<code>adresse_de_contact</code>
<name>Adresse</name>
<datatype>texte</datatype>
<multivalue>faux</multivalue>
<output-is-always-shown>faux</output-is-always-shown>
<static>faux</static>
<hierarchy>faux</hierarchy>
<hierarchy-leafs-only>faux</hierarchy-leafs-only>
<special>faux</special>
<expand-references-automatically>faux</expand-references-automatically>
<expand-complete-output-automatically>faux</expand-complete-output-automatically>
<import-referenced-data-to-referrer>faux</import-referenced-data-to-referrer>
<large-text>faux</large-text>
<query-hidden>faux</query-hidden>
<output-hidden>faux</output-hidden>
<query-header-hidden>faux</query-header-hidden>
<output-header-hidden>faux</output-header-hidden>
<largeurduchamp>25</largeurduchamp>
<field-height>4</field-height>
<espace-demand>3</espace-demand>
<commande>600</commande>
<sélectionné>faux</sélectionné>
<unique>faux</unique>
<required>faux</required>
<protected>faux</protected>
</attribute>
</class>
</template>
</templateset>Schéma XML de la carte de données d'effet
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="entityset">
<xs:complexType>
<xs:sequence>
<xs:element ref="entity" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<!-- entity element contains the data for one card -->
<xs:element name="entity">
<xs:complexType>
<!-- entity element contains either scanner error or data elements -->
<xs:choice>
<xs:element ref="error" minOccurs="1" maxOccurs="1"/>
<xs:group ref="standardEntityElements"/>
</xs:choice>
<xs:attribute name="id" type="xs:string" use="optional"/>
<xs:attribute name="name" type="xs:string" use="optional"/>
<xs:attribute name="ip" type="xs:string" use="optional"/>
<!-- If card is marked as hidden, it is not defaultly shown in -->
<!-- Efecte UI. This mode is used for Efecte Help closed jobs -->
<xs:attribute name="hidden" type="xs:boolean" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="error" type="xs:string"/>
<xs:group name="standardEntityElements">
<xs:sequence>
<xs:element ref="template" minOccurs="1" maxOccurs="1"/>
<xs:element ref="attribute" maxOccurs="unbounded"/>
<xs:element ref="note" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:group>
<xs:element name="template">
<xs:complexType>
<xs:attribute name="id" type="xs:string" use="optional"/>
<xs:attribute name="name" type="xs:string" use="optional"/>
<xs:attribute name="code" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="attribute">
<xs:complexType>
<xs:sequence>
<xs:element ref="header" minOccurs="0"/>
<xs:choice>
<xs:element ref="value" maxOccurs="unbounded"/>
<xs:element ref="reference" maxOccurs="unbounded"/>
<xs:element ref="embeddedreference" maxOccurs="unbounded"/>
<xs:element ref="externalreference" maxOccurs="unbounded"/>
</xs:choice>
<xs:element ref="footer" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="optional"/>
<xs:attribute name="name" type="xs:string" use="optional"/>
<xs:attribute name="code" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="reference">
<xs:complexType>
<xs:attribute name="id" type="xs:string" use="optional"/>
<xs:attribute name="name" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="embeddedreference">
<xs:complexType>
<xs:attribute name="id" type="xs:string" use="optional"/>
<xs:attribute name="name" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="externalreference">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="optional"/>
<xs:attribute name="location" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="header" type="xs:string"/>
<xs:element name="value" type="xs:string"/>
<xs:element name="footer" type="xs:string"/>
<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element ref="name" minOccurs="1" maxOccurs="1"/>
<xs:element ref="text" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
<xs:attribute name="creator" type="xs:string" use="required"/>
<xs:attribute name="timestamp" type="xs:string" use="optional"/>
<xs:attribute name="follow-references" type="xs:boolean" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="name" type="xs:string"/>
<xs:element name="text" type="xs:string"/>
</xs:schema>Exemple 1 de carte de données XML Efecte (exportée depuis Efecte)
<?xml version="1.0" encoding="ISO-8859-15"?>
<entityset>
<entity id="230626" name="Amarillion Amanda">
<template id="26" name="Contact" code="client"/>
<attribute id="1100" name="Last name" code="last_name">
<value>Amarillion</value>
</attribute>
<attribute id="1099" name="First name" code="first_name">
<value>Amanda</value>
</attribute>
<attribute id="1584" name="Company" code="company">
<reference id="230404" name="Customer Company"/>
</attribute>
<attribute id="1974" name="Title" code="title">
<value>Senior Manager</value>
</attribute>
<attribute id="1112" name="Email" code="email">
<value>amanda.amarillion@customercompany.com</value>
</attribute>
<attribute id="1101" name="Full name" code="full_name">
<value>Amarillion Amanda</value>
</attribute>
<attribute id="1201" name="ID" code="person_number">
<value>CLIENT10379</value>
</attribute>
<attribute id="1206" name="Direct phone" code="direct_phone">
<value>555 5555</value>
</attribute>
<attribute id="2194" name="Mobile phone" code="gsm">
<value>055 555 5555</value>
</attribute>
<attribute id="458456" name="Department" code="department">
<value>LEGAL</value>
</attribute>
</entity>
</entityset>
Exemple 2 de carte de données XML Efecte (renvoyée par Efecte Inspector )
<?xml version="1.0" encoding="UTF-8" ?>
<entityset>
<entity name="COMPUTER001">
<template code="computer"/>
<attribute code="computer_name">
<value>COMPUTER001</value>
</attribute>
<attribute code="scanning_date">
<value>2004-05-21 14:22:27</value>
</attribute>
<attribute code="ram">
<value>1023</value>
<footer>MB</footer>
</attribute>
<attribute code="software">
<value>ArGoSoft Mail Server Pro</value>
<value>ATI Display Driver</value>
<value>BEA WebLogic Platform 8.1</value>
<value>F-Secure Anti-Virus for Windows NT Server</value>
<value>F-Secure BackWeb</value>
<value>F-Secure Management Agent</value>
<value>Internet Explorer Q831167</value>
<value>Java Web Start</value>
</attribute>
<attribute code="computer_product_serial">
<value></value>
</attribute>
<attribute code="bios_serial_number">
<value></value>
</attribute>
<attribute code="mother_board_serial_number">
<value>AZMV30807979</value>
</attribute>
<attribute code="display_adapter">
<value>Radeon 7000 / Radeon VE</value>
</attribute>
<attribute code="processor_count">
<value>1</value>
</attribute>
<attribute code="system_environment_variables">
<value>ComSpec=%SystemRoot%\system32\cmd.exe</value>
<value>NUMBER_OF_PROCESSORS=1</value>
<value>OS=Windows_NT</value>
<value>Os2LibPath=%SystemRoot%\system32\os2\dll;</value>
<value>PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH</value>
<value>PROCESSOR_ARCHITECTURE=x86</value>
<value>PROCESSOR_IDENTIFIER=x86 Family 15 Model 2 Stepping 7, GenuineIntel</value>
<value>PROCESSOR_LEVEL=15</value>
<value>PROCESSOR_REVISION=0207</value>
<value>Path=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Resource
Kit\</value>
<value>TEMP=%SystemRoot%\TEMP</value>
<value>TMP=%SystemRoot%\TEMP</value>
<value>windir=%SystemRoot%</value>
</attribute>
<attribut code="service">
<value>Alerteur</value>
<valeur>F-Secure BackWeb
<valeur>beasvc mondomaine_monserveur</value>
<valeur>Efecte Pro
<valeur>Arrière-plan Intelligent Transfert Service
<valeur>Ordinateur Navigateur
<valeur>Distribué Déposer Système</value>
<valeur>DHCP Client
<valeur>Logique Disque Gestionnaire
<valeur>DNS Serveur
<valeur>DNS Client
<valeur>Événement Journal</value>
<valeur>COM+ Événement Système</value>
<valeur>F-Secure Portier Gestionnaire Entrée</value>
<valeur>F-Secure Réseau Demande Courtier
<valeur>F-Secure Gestion Agent</valeur>
<valeur>Intersite Messagerie
<valeur>Kerberos Clé Distribution Centre
<value>Serveur</value>
<value>Postedetravail</value>
<valeur>Licence Enregistrement Service
<valeur>TCP/IP NetBIOS Auxiliaire Service
<value>Mercure</value>
<value>Messager</value>
<valeur>Distribué Transaction Coordonnateur
<valeur>Net Connexion
<valeur>Réseau Connexions
<valeur>Fichier Réplication Service
<valeur>NT LM Sécurité Soutien Pro
<valeur>Amovible Stockage
<valeur>Prise et Jouer
<valeur>IPSEC Politique Agent</valeur>
<valeur>Pro Stockage
<valeur>Àdistance Accéder Auto Connexion Gestionnaire
<valeur>Àdistance Accéder Connexion Gestionnaire
<value>Effet Àdistance
<valeur>Àdistance Enregistrement Service
<valeur>Àdistance Pro Appel (RPC) Localisateur
<valeur>Àdistance Pro Appel (RPC)
<valeur>Sécurité Comptes Gestionnaire
<valeur>Tâche Planificateur
<valeur>Exécuterentantque Service
<valeur>Système Événement Notification
<valeur>SoundMAX Agent Service
<valeur>Imprimer Spouleur
<value>Téléphonie</value>
<valeur>Terminal Services
<valeur>Distribué Lien Suivi Serveur
<valeur>Distribué Lien Suivi Client
<valeur>Fenêtres Temps
<valeur>Fenêtres Gestion Instrumentation
<valeur>Fenêtres Gestion Instrumentation Conducteur Extensions
<valeur>Automatique Misesàjour
<valeur>Efecte Agent</valeur>
</attribute>
<attribut code="windows_domain">
<value>TEST</value>
</attribute>
<attribut code="nom_hôte">
<value>ordinateur001</value>
</attribute>
<attribut code="domaine">
<value>mondomaine.com</value>
</attribute>
<attribut code="bios_date">
<value>25/10/02</value>
</attribute>
<attribut code="type_système">
<valeur>x86</valeur>
</attribute>
<attribut code="fabricant_du_système">
<value>D850MV</value>
</attribute>
<attribut code="system_model">
<value>MV85010A</value>
</attribute>
<attribut code="disque_dur">
<valeur>Maxtor 6E040L0 (atapi)</valeur>
</attribute>
<attribut code="drive">
<valeur>C:\ 30,87 GB / 38,28 GB</value>
</attribute>
<attribut code="cdrom">
<valeur>HL-DT-ST DVD-ROM GDR8161B (atapi)</valeur>
</attribute>
<attribut code="capacité_du_disque">
<value>38,28</value>
<footer>GB</footer>
</attribute>
<attribut code="vitesse_du_processeur">
<valeur>2407</valeur>
<footer>MHz</footer>
</attribute>
<attribut code="last_logged_user">
<value>Administrateur</value>
</attribute>
<attribut code="os">
<valeur>Fenêtres 2000 Serveur
</attribute>
<attribut code="service_pack">
<valeur>Service Paquet 4</valeur>
</attribute>
<attribut code="product_id">
<value>51876-335-7841125-05307</value>
</attribute>
<attribut code="adresse_ip">
<value>10.1.1.51</value>
<value>10.1.1.50</value>
</attribute>
<attribut code="ip_type">
<value>statique</value>
</attribute>
<attribut code="passerelle_par_défaut">
<valeur>10.1.1.1</valeur>
</attribute>
<attribut code="masque_de_sous-réseau">
<valeur>255.255.255.0</valeur>
<valeur>255.255.255.0</valeur>
</attribute>
<attribut code="adresse_mac">
<valeur>00-04-75-C2-2F-51</valeur>
</attribute>
<attribut code="adaptateur_réseau">
<valeur>3Com EtherLink PCI
</attribute>
<attribut code="nom_de_domaine_entièrement_qualifié">
<value>computer001.mycompany.com</value>
</attribute>
<attribut code="fournisseur_processeur">
<value>Intel</value>
</attribute>
<attribut code="processor_model">
<valeur>Intel(R) Pentium(R) 4 processeur 2,40GHz
</attribute>
<attribut code="utilisateurs">
<value>Administrateur</value>
</attribute>
<attribut code="inspector_agent_version">
<valeur>2.0.20</valeur>
</attribute>
<attribut code="unique_id">
<valeur>c14a2a0f-b0d5-4019-bbb28018efef318b</valeur>
</attribute>
</entité>
</entityset>