Cloud Software Group, Inc. EBX®
Documentation > Guide utilisateur > Modèles de données > Implémentation des modèles de données
Mode navigation Documentation > Guide utilisateur > Modèles de données > Implémentation des modèles de données

# Extensions de modèles de données

## Extensions utilisées par un modèle de données

Une extension offre la possibilité de définir des fonctionnalités additionnelles au modèle de données. Les extensions d'un modèle de données sont affichées dans le panneau de navigation sous la section 'Extensions'.

Les extensions suivantes sont par défaut activées dans les nouveaux modèles de données :

- Barres d'outils

- Noms d'entités

- Réplications

- Indexation et stratégies de recherche

- Objets métier

- Formulaires personnalisés

- Scripts (anglais)

- Permissions sur l'enregistrement

- Confidentialité des noeuds

Certaines extensions sont optionnelles et sont définies dans des jeux de données dédiés. Ces extensions peuvent être désactivées ou activées à partir de l'interface utilisateur.

Une extension peut être désactivée en sélectionnant l'action 'Désactiver l'extension' à partir du menu située à gauche de l'extension à désactiver.

##### Note

Lorsqu'une extension est désactivée le dataset associé est supprimé et il n'est pas possible de récupérer son contenu après sa suppression.

A partir du menu situé à gauche de 'Extensions dans le panneau de navigation, il est possible d'activer une extension en sélectionnant l'action 'Activer une extension'. Cette option est affichée uniquement si des extensions sont disponibles. Après avoir sélection cette action un formulaire présente les extensions disponibles et pouvant être activiées.

Après avoir activé une extension celle-ci devient accessible dans le panneau de navigation sous l'entrée 'Extensions' et peut être éditée.

## Indexation et stratégies de recherche

Cette fonctionnalité est documentée dans le chapitre Search.

## Objets métier

Un objet métier représente une couche d'abstraction qui permet de manipuler par l'intermédiaire d'une entité des enregistrements provenant de tables différentes dans un même modèle de données. Les objets métiers sont configurables dans le modèle de données via la section 'Extensions'. La structure d'un objet métier est composée d'une table principale et d'entités enfants qui sont définies en utilisant les relations de la table principale.

##### Note

Seul l'addon EBX® Match and merge exploite le concept d'objets métier. Les objets métier ne sont pas utilisés dans les fonctionnalités principales de EBX®. Cette extension peut être activée uniquement si l'addon EBX® Match and merge est enregistré dans le serveur d'applications.

Définissez la structure d'un objet métier à partir de la section Objets métier > Définitions disponible dans le panneau de navigation, et en cliquant sur le menu située à la gauche de Objets métier, ensuite sélectionnez l'optionCréer objet métier. Suivez l'assistant de création pour créer l'objet métier. Un objet métier définit les informations suivantes :

Nom de l'objet métier | Ce nom identifie la définition de l'objet métier dans le modèle de données. Ce nom doit être unique dans le contexte du modèle de données.
Libellé et description | Libellés et descriptions internationalisés affichés à l'utilisateur.
Table principale | Définit la table principale de cet objet métier. Le chemin vers la table doit être absolu (doit commencer par "/"). La table principale de cet objet métier ne doit pas être la table principale ou une entité d'un autre objet métier.

### Définir la structure d'un objet métier

Un objet métier est composé d'une table principale et d'entités enfants reliées par des relations.

Ajoutez une entité à la structure d'un objet métier existant en cliquant sur le menu situé à gauche de l'objet métier puis en sélectionnant l'option Ajouter entité enfant. Suivez l'assistant de création pour ajouter une entité. Les informations suivantes doivent être renseignées :

Relation vers la table | Ce champ définit la relation vers la table à ajouter en tant qu'entité enfant. Le chemin vers la relation à utiliser doit être absolu (doit commencer par "/"). Seules les contraintes de clés étrangères et les associations par clé étrangères peuvent être utilisées. Ces relations doivent respecter les contraintes suivantes : les contraintes de clés étrangères ne doivent pas être une liste ou sous une liste. Les associations par clé étrangère doivent utiliser une clé étrangère qui n'est pas une liste ou sous une liste. La table cible de la relation ne doit pas déjà être utilisée par cet objet métier ou un autre en tant que table principale ou en tant qu'entité enfant.

## Barres d'outils

Une barre d'outils permet de personnaliser les boutons et menus affichés lors de la consultation de tables ou d'enregistrements dans un jeu de données. Les barres d'outils sont configurables dans le modèle de données via la section 'Extensions'.

Ajoutez une barre d'outils à partir de la section Barres d'outils du panneau de navigation, en cliquant sur le menu située à gauche de l'élément [ Tous les éléments ], puis en sélectionnant l'option Créer barre d'outils. Suivez ensuite l'assistant de création pour créer une barre d'outils. Une barre d'outils définit les informations suivantes :

Nom | Nom de la barre d'outils. Le nom de la barre d'outils doit être unique dans le modèle de données, il n'est pas possible de créer plusieurs barres d'outils avec le même nom. Les tables et associations pouvant utiliser des barres d'outils, utilisent ce nom pour définir la barre d'outils à utiliser.
Libellé et description | Libellés et descriptions internationalisés affichés à l'utilisateur.
Modèle de barre d'outils | Permet de créer une barre d'outils à partir d'une barre d'outils par défaut.
Emplacements | Définit les emplacements pour lesquels la barre d'outils peut être utilisée dans les jeux de données associés. Entête de table: Définit la barre d'outils à afficher en entête de la vue table par défaut. Ligne de table: Définit la barre d'outils à afficher pour chaque item de la vue table par défaut. Item de la vue tuiles: Définit la barre d'outils à afficher pour chaque item de la vue tuiles. Entête de formulaire: Définit la barre d'outils à afficher en entête du formulaire d'un enregistrement. Entête de hiérarchie: Définit la barre d'outils à afficher en entête de la hiérarchie par défaut de la table. Limitation connue Une barre d'outils définie en mode "Item de la vue tuiles" ne peut pas avoir plus de six éléments et elle ne peut avoir que des éléments de type action. L'affichage de ces boutons action est toujours en mode "Icône uniquement".

### Définir la structure d'une barre d'outils

Une barre d'outils peut définir les éléments suivants :

- Bouton action

- Bouton menu

- Séparateur

- Groupe de menu

- Action de menu

- Sous-menu

Ajoutez un de ces éléments sous une barre d'outils ou à un élément existant en cliquant sur le menu située à gauche de l'élément existant, puis en sélectionnant une option de création parmi celles présentées dans le menu. Suivez ensuite l'assistant de création pour créer un élément.

#### Bouton action

Ce type d'élément permet d'associer une action à un bouton dans une barre d'outils. L'action est exécutée lorsque l'utilisateur clique sur le bouton associé dans une barre d'outils. Un élément de type Bouton action définit les informations suivantes :

Service | Définit le service à exécuter lorsque l'utilisateur clique sur le bouton. Il est possible de sélectionner un service fourni, ou un service utilisateur défini dans un module ou dans le modèle de données courant. Si la cible 'Composant web' est sélectionnée, le service devra avoir été déclaré comme utilisable en tant que composant web dans les barres d'outils.
Libellé et description | Libellés et descriptions internationalisés affichés à l'utilisateur.
Rendu | Définit la manière d'afficher cet élément dans les jeux de données utilisant la barre d'outils. Il est possible d'afficher : l'icône seule, le texte seul, le texte avec l'icône sur la gauche ou le texte avec l'icône sur la droite.
Icône | Icône à afficher. Il est possible d'utiliser une icône parmi un ensemble d'icônes proposées, ou de faire référence à une icône en utilisant une URL.
Relief | Définit l'apparence du bouton. Le bouton peut être affiché en relief ou avec un design plat.
Est en surbrillance | Indique si le bouton doit être par défaut en surbrillance.

##### Note

Un élément de type Bouton action peut uniquement être créé sous un élément de type barre d'outils.

#### Bouton menu

Ce type d'élément permet de définir un menu qui est affiché lorsque l'utilisateur clique sur le bouton associé dans une barre d'outils. Un élément de type Bouton menu définit les informations suivantes :

Libellé et description | Libellés et descriptions internationalisés affichés à l'utilisateur.
Rendu | Définit la manière d'afficher cet élément dans les jeux de données utilisant la barre d'outils. Il est possible d'afficher : l'icône seule, le texte seul, le texte avec l'icône sur la gauche ou le texte avec l'icône sur la droite.
Icône | Icône à afficher. Il est possible d'utiliser une icône parmi un ensemble d'icônes proposées, ou de faire référence à une icône en utilisant une URL.
Relief | Définit l'apparence du bouton. Le bouton peut être affiché en relief ou avec un design plat.
Est en surbrillance | Indique si le bouton doit être par défaut en surbrillance.

##### Note

Un élément de type Bouton menu peut uniquement être créé sous un élément de type barre d'outils.

#### Séparateur

Ce type d'élément permet d'insérer un séparateur sous la forme d'espacements entre deux éléments d'une barre d'outils.

##### Note

Un élément de type Séparateur peut uniquement être créé sous un élément de type barre d'outils.

#### Groupe de menu

Ce type d'élément permet de définir un groupe d'éléments dans un menu. Un élément de type Groupe de menu définit les informations suivantes :

Libellé et description | Libellés et descriptions internationalisés affichés à l'utilisateur.
Type de groupe | Indique le type de groupe de menu à créer : - 'Local' permet de créer un groupe de menu vide. - 'Groupe de services' permet d'assigner un groupe de services existant à ce groupe de menu. - 'Menu builder' permet d'assigner un menu prédéfini à ce groupe de menu. Une fois créé, il n'est pas possible de changer le type de ce groupe de menu.
Nom du groupe de service | Définit un groupe de services existant à réutiliser. Un groupe de services est déclaré dans un module et peut inclure d'autres groupes de services. Tous les services contenus dans ce groupe seront affichés dans les jeux de données associés.
Nom du Menu builder | Indique le menu prédéfini à assigner à ce groupe de menu: - 'Menu par défaut "Actions"' correspond au menu 'Actions' de la barre d'outil par défaut. Les services standards et utilisateurs y sont présentés sans distinction. - 'Menu par défaut "Actions"' (avec séparateur)' a le même contenu que le menu 'Actions' de la barre d'outil par défaut, mais les services standards et utilisateurs y sont présentés séparément (d'abord les services standards, puis les services utilisateurs).
Services exclus | Définit les services à exclure du groupe de services à réutiliser. Les services exclus ne seront pas affichés dans les jeux de données associés.
Groupes de services exclus | Définit les groupes à exclure du groupe de services à réutiliser. Les services contenus dans les groupes à exclure ne seront pas affichés dans les jeux de données associés.
Politique d'affichage | Si "Filtrage intelligent", les services configurés en accès direct, c'est à dire via un bouton action ou une action de menu, seront retirés de la génération automatique de ce groupe.

##### Note

Un élément de type Groupe de menu peut uniquement être créé sous les éléments suivants :

- Bouton menu

- Sous-menu

#### Action de menu

Ce type d'élément permet d'associer une action à une entrée d'un menu dans une barre d'outils. L'action est exécutée lorsque l'utilisateur clique sur l'entrée correspondante dans un menu. Un élément de type Action de menu définit les informations suivantes :

Libellé et description | Libellés et descriptions internationalisés affichés à l'utilisateur.
Service | Définit le service à exécuter lorsque l'utilisateur clique sur le bouton. Il est possible de sélectionner un service fourni, ou un service utilisateur défini dans un module ou dans le modèle de données courant. Si la cible 'Composant web' est sélectionnée, le service devra avoir été déclaré comme utilisable en tant que composant web dans les barres d'outils.

##### Note

Un élément de type Action de menu peut uniquement être créé sous un élément de type Groupe de menu.

#### Sous-menu

Ce type d'élément permet d'ajouter un sous-menu dans un menu d'une barre d'outils. Un Sous-menu définit les informations suivantes :

Libellé et description | Libellés et descriptions internationalisés affichés à l'utilisateur.

##### Note

Un élément de type Sous-menu peut uniquement être créé sous un élément de type Groupe de menu.

### Supprimer des éléments

Tous les éléments d'une barre d'outils peuvent être supprimés de celle-ci en utilisant le menu située à gauche de l'élément à supprimer.

Si un élément contenant d'autres éléments est supprimé, alors la suppression est effectuée récursivement sur tous les éléments situés sous l'élément supprimé.

### Dupliquer des éléments existants

Pour dupliquer un élément, cliquez sur le menu située à gauche de l'élément à dupliquer. Spécifiez le nom et les propriétés de l'élément dupliqué. Toutes les propriétés de l'élément source sont dupliquées.

L'élément dupliqué est ajouté au même niveau que l'élément d'origine, en dernière position. Lorsqu'un élément contenant d'autres éléments est dupliqué, tous les sous-éléments sont dupliqués avec leurs propriétés.

### Déplacer des éléments

Pour déplacer un élément, cliquez sur le menu et sélectionnez l'option de déplacement souhaitée.

### Associer avec des tables existantes

Pour associer une barre d'outils avec des tables existantes, cliquez sur le menu et sélectionnez l'option Associer à des tables. Ce service permet de définir une barre d'outils en tant que barre d'outils par défaut d'un ensemble de tables. Pour cela, définissez les positions cibles de la barre d'outils et sélectionnez les tables ou types de données complexes, définissant les propriétés de la table, à associer à la barre d'outils. La barre d'outils sera définie par défaut aux positions définies sur les tables et types sélectionnées.

### Exporter les barres d'outils

Il est possible d'exporter les barres d'outils définies dans le modèle dans un document XML. Pour cela, sélectionner l'option Export XML disponible dans le menu Actions de la section 'Barres d'outils'. Suivez ensuite l'assistant pour exporter les barres d'outils.

##### Note

Une sélection de barres d'outils peut être exportée en sélectionnant dans la section 'Barres d'outils' les barres d'outils à exporter, puis en sélectionnant l'option Export XML disponible dans le menu Actions. Les barres d'outils peuvent aussi être exportées en utilisant le service d'export des modèles de données accessible depuis le menu 'Actions' du modèle de données dans le panneau de navigation.

##### Voir aussi

- Import et export de modèles de données.

### Importer des barres d'outils

Il est possible d'importer des barres d'outils existantes à partir d'un document XML. Pour cela, sélectionner l'option Import XML disponible dans le menu Actions de la section Barres d'outils. Suivez ensuite l'assistant pour importer les barres d'outils.

##### Note

Les barres d'outils peuvent aussi être importées en utilisant le service d'import de modèles de données accessible depuis le menu 'Actions' du modèle de données dans le panneau de navigation.

##### Voir aussi

- Import et export de modèles de données.

##### Voir aussi

- Utilisation des barres d'outils

## Noms d'entités

Vous pouvez faire référence à des tables dans des requêtes SQL et des services SOAP en utilisant des noms uniques au lieu de leurs chemins. Pour ce faire, vous devez définir des noms d'entités pour associer un nom d'entité unique à une table d'un modèle de données. Ce nom d'entité est utilisé comme suffixe WSDL dans les opérations SOAP et comme alias dans les requêtes SQL pour référencer la table associée.

##### Note

EBX® crée automatiquement un nom d'entité pour les tables définies dans un modèle de données. La dernière partie du chemin de la table est utilisée comme nom d'entité par défaut. Étant donné que les noms d'entité doivent être uniques dans un modèle de données, une erreur est désormais générée lors de la compilation d'un modèle si celui-ci contient des tables portant le même nom. Pour éviter cette erreur vous devez définir explicitement des noms d'entités pour les tables ayant le même nom.

Pour définir des noms d'entités via l'interface utilisateur, dans le panneau de navigation d'un modèle de données, accédez à Extensions > Noms d'entités et créez un nouvel enregistrement. Vous pouvez définir les propriétés suivantes :

Chemin de la table | Indique le chemin de la table dans le modèle de données qui doit être associée à ce nom d'entité.
Nom d'entité | Ce nom est utilisé pour suffixer tous les noms des opérations WSDL qui concernent la table spécifiée. Ce nom peut être utilisé en tant qu'alias de table dans une requête SQL. Si cette propriété n'est pas définie pour une table donnée, alors le dernier élément du chemin de la table est utilisé. Ce nom doit être unique dans le modèle de données.

##### Voir aussi

- Data services

## Réplication des données vers tables relationnelles

Dans n'importe quel type de modèle de données, il est possible de définir des unités de réplication afin que les données du référentiel soient copiées dans des tables relationnelles dédiées. Ainsi, ces tables relationnelles permettent d'accéder directement aux données en utilisant des requêtes et des vues SQL.

Pour définir une unité de réplication en utilisant l'interface utilisateur, créez un nouvel enregistrement dans la table "Réplications" située dans la section Configuration du modèle de données dans le panneau de navigation. Chaque unité de réplication concerne un jeu de données spécifique dans un espace de données particulier. Une unité de réplication peut inclure plusieurs tables, tant qu'elles sont dans le même jeu de données. Une unité de réplication définit les informations suivantes :

Nom | Nom de l'unité de réplication. Ce nom identifie l'unité de réplication dans le modèle de données. Ce nom doit être unique.
Espace de données | Indique l'espace de données concerné par la réplication. Cet espace de données ne peut pas être une version.
Jeu de données | Indique le jeu de données concerné par la réplication.
Mode de rafraichissement | Définit le mode de synchronisation. Les différents modes de synchronisation sont les suivants : Sur "commit" : les données répliquées contenues dans la base de données sont toujours à jour par rapport à la table source. Chaque transaction de mise à jour de la table source produit les mises à jour correspondantes dans la table contenant les données répliquées dans la base de données. Sur demande : les données répliquées contenues dans la base de données sont mises à jour uniquement lorsqu'une opération manuelle de rafraichissement est effectuée.
Tables | Indique les tables du modèle de données qui doivent être répliquées dans la base de données. Chemin de la table : Indique le chemin de la table dans le modèle de données qui doit être répliquée dans la base de données. Nom dans la base de données : Indique le nom de la table dans la base de données qui contiendra les données répliquées. Ce nom doit être unique par rapport à toutes les unités de réplication.
Listes agrégées | Définit les propriétés des listes agrégées contenues dans la table. Chemin de l'élément : Indique le chemin de la liste agrégée dans la table qui doit être répliquée dans la base de données. Nom dans la base de données : Indique le nom de la table dans la base de données qui contiendra les données répliquées de la liste agrégée. Ce nom doit être unique par rapport à toutes les unités de réplication.

##### Voir aussi

- Replication

## Confidentialité des noeuds

La confidentialité d'un noeud indique s'il est possible de l'utiliser dans Query ou dans Request quand le noeud est caché pour un certain utilisateur. Par défault, tous les noeuds sont confidentiels.

La confidentialité d'un noeud peut être configurée dans le DMA en utilisant l'onglet "Extensions" dans le formulaire d'édition du noeud. Il est possible de définir la confidentialité sur plusieurs niveaux:

- au niveau du modèle de données (noeud racine): définit la confidentialité par défault pour les noeuds terminaux du modèle sauf si une définition plus spécifique est faite (au niveau de la table ou du noeud lui-même).

- au niveau d'une table (noeud table): définit la confidentialité par défault pour les noeuds terminaux de la table sauf si une définition plus spécifique est faite (au niveau du noeud lui-même).

- au niveau d'un noeud terminal: définit la confidentialité du noeud.

Pour plus d'informations, voir aussi Définir la confidentailité des noeuds

User guide table of contents

Documentation > Guide utilisateur > Modèles de données > Implémentation des modèles de données