Blocs de construction > Extension du modèle de données > Création d'un gestionnaire personnalisé
Création d'un gestionnaire personnalisé
Le modèle de données utilise les objets du gestionnaire pour contrôler certaines fonctionnalités. L'objet de gestionnaire contient les fonctions nécessaires à toute manipulation de la base de données, comme la création et la mise à jour de tables de base de données. Il implémente également toutes les formes d'objet responsables de la gestion des services associés au modèle d'objet associé.
Ces objets de gestionnaires sont enregistrés dans la table DefaultGlobalManagerConfiguration de la page Configuration de l'objet PTC.Base.Manager.
Vous pouvez créer des gestionnaires personnalisés pour gérer (créer et mettre à jour) vos propres tables de base de données. Utilisez les objets de gestionnaire comme modèles.
Les étapes suivantes décrivent comment créer un gestionnaire pour gérer une table de base de données nommée customdata, avec deux colonnes : UID (clé primaire, générée automatiquement) et CustomProperty1 (données de type chaîne). La table customdata est initialisée avec deux lignes.
1. Créez un nouveau bloc de construction.
Pour créer un nouveau bloc de construction, procédez comme suit :
a. Créez un nouveau projet. Utilisez un préfixe unique pour votre projet, tel que le nom de votre société. Le préfixe PTC est réservé pour les entités livrées par PTC. Pour cet exemple, créez un projet nommé MyCompany.MyBuildingBlock. Pour chaque nouveau modèle d'objet, objet ou autre entité que vous créez pour ce bloc de construction, ajoutez votre nouveau projet en tant que valeur de Projet sur la page Informations générales de l'entité.
b. Créez un nouveau modèle d'objet dans votre projet qui utilise PTC.Base.ComponentEntryPoint_TT comme Modèle d'objet de base. Pour cet exemple, nommez le nouveau modèle d'objet MyCompany.MyBuildingBlock.EntryPoint_TT. Si votre nouveau bloc de construction s'étend à partir d'un bloc de construction PTC, utilisez le modèle d'objet de point d'entrée du bloc de construction PTC en tant que Modèle d'objet de base pour votre nouveau bloc de construction.
c. Créez un nouvel objet dans votre projet qui utilise le modèle d'objet créé à l'étape 1.b comme Modèle d'objet de base.
2. Dans ThingWorx Composer, créez une nouvelle forme de données.
a. Dans Nom, saisissez MyCompany.MyBuildingBlock.CustomData_DS.
b. Dans Projet, sélectionnez le projet de votre bloc de construction. Dans cet exemple, MyCompany.MyBuildingBlock.
c. Sous Définitions de champ, cliquez sur Ajouter.
d. Définissez le champ suivant :
Nom : spécifiez UID.
Type de base : sélectionnez LONG.
Est une clé primaire : cochez cette case.
e. Cliquez sur Icône permettant d'ajouter le champ actuel immédiatement suivi d'un autre champ. pour ajouter le premier champ et définir un autre champ :
Nom : spécifiez CustomProperty1.
Type de base : sélectionnez STRING.
f. Cliquez sur Icône Ajouter. pour ajouter le second champ.
g. Cliquez sur Enregistrer pour enregistrer la nouvelle forme de données.
3. Dans ThingWorx Composer, créez un nouveau modèle d'objet.
a. Dans Nom, saisissez MyCompany.MyBuildingBlock.Manager_TT.
b. Dans Modèle d'objet de base, sélectionnez le modèle d'objet PTC.Base.CommonManager_TT. Si le nouveau bloc de construction s'étend à partir d'un bloc de construction PTC, utilisez le modèle d'objet de gestionnaire à partir du bloc de construction comme Modèle d'objet de base.
c. Dans Formes implémentées, recherchez et ajoutez PTC.DBConnection.DBManagement_TS. Si le gestionnaire est utilisé pour appeler les services de création, recherchez et ajoutez PTC.DBConnection.ServiceConfiguration_TS.
d. Cliquez sur Enregistrer pour enregistrer le modèle d'objet.
4. Dans ThingWorx Composer, créez un nouvel objet.
a. Dans Nom, saisissez MyCompany.MyBuildingBlock.Manager.
b. Dans Modèle d'objet de base, recherchez et sélectionnez MyCompany.MyBuildingBlock.Manager_TT (le modèle d'objet créé à l'étape 3).
c. Sous Services, remplacez le service GetDBInfo et ajoutez le code suivant, puis cliquez sur Terminé :
var result = {
dbInfo: [{dataShapeName: "CustomData"}]
};
d. Sous Services, remplacez le service InitData et ajoutez le code suivant, puis cliquez sur Terminé :
var infoTable = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape({
infoTableName : "InfoTable",
dataShapeName : "CustomData"
});
infoTable.AddRow({"CustomProperty1":"TestValue1"});
infoTable.AddRow({"CustomProperty1":"TestValue2"});
Things[me.GetDatabaseThingName()].Insert({
infoTable: infoTable,
dataShapeName: "CustomData"
});
e. Cliquez sur Enregistrer pour enregistrer l'objet.
5. Si votre nouveau bloc de construction s'étend à partir d'un bloc de construction PTC, ajoutez les configurations de l'objet de gestionnaire du bloc de construction d'origine à l'objet de gestionnaire de votre nouveau bloc de construction.
a. Accédez à l'objet de gestionnaire que vous avez créé à l'étape 4, dans cet exemple, MyCompany.MyBuildingBlock.Manager.
b. Sous Configuration, ajoutez les mêmes configurations que celles de la page Configuration concernant l'objet de gestionnaire du bloc de construction d'origine.
6. Enregistrez le gestionnaire personnalisé.
a. Accédez à l'objet PTC.Base.Manager.
b. Sous Configuration, cliquez sur Ajouter pour la table de configuration DefaultGlobalManagerConfiguration.
Dans Nom, entrez un nom pour le gestionnaire personnalisé, par exemple MyCompany.MyBuildingBlock.Manager.
Dans Valeur, recherchez et sélectionnez l'objet de gestionnaire personnalisé créé à l'étape 4.
c. Cliquez sur Ajouter pour ajouter le gestionnaire personnalisé à la table de configuration.
d. Cliquez sur Enregistrer pour enregistrer les mises à jour apportées à l'objet de gestionnaire.
7. Sur l'objet MyCompany.MyBuildingBlock.Manager que vous avez créé à l'étape 4, sous Services, exécutez le service CreateTables. Une table de base de données nommée customdata est créée et contient deux lignes.
8. Si vous souhaitez définir des clés étrangères, consultez la rubrique Ajout ou suppression de clés étrangères.
9. Pour modifier la longueur des colonnes de la base de données String, consultez la rubrique Paramétrage de la longueur des colonnes de la base de données de type STRING.
10. Pour configurer la distribution et validation des événements pré et post-action, consultez la rubrique Distribution et validation des événements pré, en et post-action.
Est-ce que cela a été utile ?