Building block > Estensione del modello di dati > Creazione di un manager personalizzato
Creazione di un manager personalizzato
Il modello di dati utilizza gli oggetti manager per controllare determinate funzionalità. L'oggetto manager contiene le funzioni necessarie per qualsiasi operazione di gestione del database per la funzionalità, ad esempio la creazione e l'aggiornamento delle tabelle del database. L'oggetto manager implementa inoltre tutte le thing shape responsabili della gestione dei servizi correlati al modello di oggetto associato.
Questi oggetti manager sono registrati nella tabella DefaultGlobalManagerConfiguration della pagina Configurazione dell'oggetto PTC.Base.Manager.
È possibile creare manager personalizzati per gestire (creare e aggiornare) le proprie tabelle di database. Utilizzare gli oggetti manager come modelli.
I passi che seguono descrivono come creare un manager che gestisce una tabella di database denominata customdata con due colonne: UID (chiave principale, generazione automatica) e CustomProperty1 (tipo di dati String). La tabella customdata viene inizializzata con due righe.
1. Creare un nuovo building block.
Per creare un nuovo building block, attenersi alla procedura descritta di seguito.
a. Creare un nuovo progetto. Utilizzare un prefisso univoco per il progetto, ad esempio il nome dell'azienda. Il prefisso PTC è riservato alle entità fornite da PTC. In questo esempio, creare un progetto denominato MyCompany.MyBuildingBlock. Per ogni nuovo modello di oggetto, oggetto o altra entità creata per questo building block, aggiungere il nuovo progetto come valore di Progetto nella pagina Informazioni generali dell'entità.
b. Creare un nuovo modello di oggetto punto di entrata nel progetto. Modello di oggetto di base da utilizzare varia a seconda che il building block si estenda da un building block di PTC.
Se il nuovo building block si estende da un building block di PTC, utilizzare il modello di oggetto punto di entrata del building block di PTC.
Se il nuovo building block non si estende da un building block di PTC, utilizzare PTC.DefaultConfiguration.EntryPoint_TT.
In questo esempio, assegnare al nuovo modello di oggetto il nome MyCompany.MyBuildingBlock.EntryPoint_TT e utilizzare PTC.DefaultConfiguration.EntryPoint_TT come Modello di oggetto di base.
c. Creare un nuovo oggetto nel progetto che utilizza il modello di oggetto creato al passo 1.b come Modello di oggetto di base.
2. In ThingWorx Composer, creare una nuova data shape.
a. Per Nome, immettere MyCompany.MyBuildingBlock.CustomData_DS.
b. Per Progetto, selezionare il progetto per il building block. In questo esempio, MyCompany.MyBuildingBlock.
c. In Definizioni campi, fare clic su Aggiungi.
d. Definire il campo seguente:
Nome - Immettere UID.
Tipo di base - Selezionare LONG.
Chiave principale - Selezionare questa casella di controllo.
e. Fare clic su Icona per aggiungere il campo corrente e immediatamente un altro campo. per aggiungere il primo campo, quindi definire un altro campo:
Nome - Immettere CustomProperty1.
Tipo di base - Selezionare STRING.
f. Fare clic su Icona Aggiungi. per aggiungere il secondo campo.
g. Fare clic su Salva per salvare la nuova data shape.
3. In ThingWorx Composer, creare un nuovo modello di oggetto.
a. Per Nome, immettere MyCompany.MyBuildingBlock.Manager_TT.
b. Per Modello di oggetto di base, selezionare il modello di oggetto PTC.Base.CommonManager_TT. Se il nuovo building block si estende da un building block di PTC, utilizzare il modello di oggetto manager del building block di PTC come Modello di oggetto di base.
c. Per Shape implementate, cercare e aggiungere PTC.DBConnection.DBManagement_TS. Se il manager viene utilizzato per chiamare i servizi di creazione, cercare e aggiungere anche PTC.DBConnection.ServiceConfiguration_TS.
d. Fare clic su Salva per salvare il modello di oggetto.
4. In ThingWorx Composer, creare un nuovo oggetto.
a. Per Nome, immettere MyCompany.MyBuildingBlock.Manager.
b. Per Modello di oggetto di base, cercare e selezionare MyCompany.MyBuildingBlock.Manager_TT (il modello di oggetto creato al passo 3).
c. In Servizi, sostituire il servizio GetDBInfo e aggiungere il codice seguente, quindi fare clic su Fine:
var result = {
dbInfo: [{dataShapeName: "CustomData"}]
};
d. In Servizi, sostituire il servizio InitData e aggiungere il codice seguente, quindi fare clic su Fine:
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. Fare clic su Salva per salvare l'oggetto.
5. Se il nuovo building block si estende da un building block di PTC, aggiungere eventuali configurazioni dall'oggetto manager del building block originale all'oggetto manager del nuovo building block.
a. Passare all'oggetto manager creato al passo 4, in questo esempio MyCompany.MyBuildingBlock.Manager.
b. In Configurazione, aggiungere le stesse configurazioni disponibili nella pagina Configurazione dell'oggetto manager del building block originale.
6. Registrare il manager personalizzato.
a. Passare all'oggetto PTC.Base.Manager.
b. In Configurazione, fare clic su Aggiungi per la tabella di configurazione DefaultGlobalManagerConfiguration.
Per Nome, immettere un nome per il manager personalizzato, ad esempio MyCompany.MyBuildingBlock.Manager.
Per Valore, cercare e selezionare l'oggetto manager personalizzato creato al passo 4.
c. Fare clic su Aggiungi per aggiungere il manager personalizzato alla tabella di configurazione.
d. Fare clic su Salva per salvare gli aggiornamenti apportati all'oggetto manager.
7. Nell'oggetto MyCompany.MyBuildingBlock.Manager creato al passo 4, in Servizi, eseguire il servizio CreateTables. Viene creata una tabella di database denominata customdata contenente due righe.
8. Se si desidera definire chiavi esterne, vedere Aggiunta o rimozione di chiavi esterne.
9. Per modificare la lunghezza delle colonne di database String, vedere Impostazione della lunghezza delle colonne di database di tipo STRING.
10. Per configurare l'invio e la convalida di eventi pre o post-azione, vedere Invio e convalida di eventi pre-azione, post-azione e in azione.
È stato utile?