Bloques de creación > Extensión del modelo de datos > Creación de un administrador personalizado
Creación de un administrador personalizado
El modelo de datos utiliza cosas de administrador para controlar determinadas funciones. La cosa del administrador tiene las opciones necesarias para cualquier manipulación de la base de datos para las funciones, como crear y actualizar tablas de bases de datos. La cosa del administrador también implementa todas las definiciones de cosa necesarias para administrar los servicios relacionados con el modelo de objeto asociado.
Estas cosas de administradores se registran en la tabla DefaultGlobalManagerConfiguration de la página Configuración de la cosa PTC.Base.Manager.
Se pueden crear administradores personalizados para gestionar (crear y actualizar) tablas de base de datos propias. Utilice las cosas del administrador como modelos.
Los siguientes pasos describen cómo crear un administrador que administre una tabla de base de datos denominada customdata con dos columnas: UID (columna principal, generada automáticamente) y CustomProperty1 (tipo de datos Cadena). La tabla customdata se inicia con dos filas.
1. Crear un nuevo bloque de creación.
Para crear un nuevo bloque de creación, complete los siguientes pasos:
a. Cree un proyecto nuevo. Utilice un prefijo exclusivo para el proyecto, como por ejemplo el nombre de la empresa. El prefijo de PTC está reservado para entidades entregadas por PTC. Para este ejemplo, cree un proyecto denominado MyCompany.MyBuildingBlock. Para cada nueva plantilla de cosa, cosa u otra entidad que se cree para este bloque de creación, se debe añadir el nuevo proyecto como el valor de Proyecto en la página Información general de la entidad.
b. Cree una nueva plantilla de cosa en el proyecto que utilice PTC.Base.ComponentEntryPoint_TT como su Plantilla de cosa base. En este ejemplo, asigne a la nueva plantilla de cosa el nombre MyCompany.MyBuildingBlock.EntryPoint_TT. Si el nuevo bloque de creación se extiende desde un bloque de creación de PTC, utilice la plantilla de cosa de punto de entrada del bloque de creación de PTC como Plantilla de cosa base para el nuevo bloque de creación.
c. Cree una nueva cosa en el proyecto que utilice la plantilla de cosa creada en el paso 1.b como Plantilla de cosa base.
2. En ThingWorx Composer, cree una nueva definición de datos.
a. En Nombre, introduzca MyCompany.MyBuildingBlock.CustomData_DS.
b. Para Proyecto, seleccione el proyecto del bloque de creación. En este ejemplo, MyCompany.MyBuildingBlock.
c. En Definiciones de campo, pulse en Añadir.
d. Defina el campo siguiente:
Nombre: indique el UID.
Tipo base: seleccione LONG.
Es clave principal: seleccione esta casilla.
e. Pulse en Icono para añadir el campo actual y añadir inmediatamente otro campo. para añadir el primer campo y definir otro campo:
Nombre: escriba CustomProperty1.
Tipo base: seleccione STRING.
f. Pulse en Icono de adición. para añadir el segundo campo.
g. Pulse en Guardar para guardar la nueva definición de datos.
3. En ThingWorx Composer, cree una nueva plantilla de cosa.
a. En Nombre, introduzca MyCompany.MyBuildingBlock.Manager_TT.
b. Para Plantilla de cosa base, seleccione la plantilla de cosa PTC.Base.CommonManager_TT. Si el nuevo bloque de creación se extiende desde un bloque de creación de PTC, utilice la plantilla de cosa del administrador del bloque de creación de PTC como Plantilla de cosa base.
c. En Definiciones implementadas, busque y añada PTC.DBConnection.DBManagement_TS. Si el administrador está acostumbrado a llamar a servicios de creación, busque y añada también PTC.DBConnection.ServiceConfiguration_TS.
d. Pulse en Guardar para guardar la plantilla de cosa.
4. En ThingWorx Composer, cree una cosa nueva.
a. En Nombre, introduzca MyCompany.MyBuildingBlock.Manager.
b. En Plantilla de cosa base, busque y seleccione MyCompany.MyBuildingBlock.Manager_TT (la plantilla de cosa creada en el paso 3).
c. En Servicios, sustituya el servicio GetDBInfo y añada el código siguiente; después pulse en Terminado:
var result = {
dbInfo: [{dataShapeName: "CustomData"}]
};
d. En Servicios, sustituya el servicio InitData y añada el código siguiente; después pulse en Terminado:
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. Pulse en Guardar para guardar la cosa.
5. Si el nuevo bloque de creación se extiende desde un bloque de creación de PTC, añada las configuraciones de la cosa del administrador del bloque de creación original a la cosa del administrador del nuevo bloque de creación.
a. Navegue hasta la cosa del administrador que se ha creado en el paso 4, en este ejemplo MyCompany.MyBuildingBlock.Manager.
b. En Configuración, añada las mismas configuraciones que se encuentran en la página Configuración de la cosa del administrador del bloque de creación original.
6. Registre el administrador personalizado.
a. Vaya a la cosa PTC.Base.Manager.
b. En Configuración, pulse en Añadir para la tabla de configuración DefaultGlobalManagerConfiguration.
En Nombre, introduzca un nombre para el administrador personalizado, por ejemplo, MyCompany.MyBuildingBlock.Manager.
Para Valor, busque y seleccione la cosa del administrador personalizado creada en el paso 4.
c. Pulse en Añadir para añadir el administrador personalizado a la tabla de configuración.
d. Pulse en Guardar para guardar las actualizaciones de la cosa del administrador.
7. En la cosa MyCompany.MyBuildingBlock.Manager que se ha creado en el paso 4, en Servicios, ejecute el servicio CreateTables. Se crea una tabla de base de datos denominada customdata con dos filas.
8. Si desea definir claves externas, consulte Adición o eliminación de claves externas.
9. Para cambiar la longitud de columnas de base de datos de String, consulte Definición de la longitud de las columnas de la base de datos de tipo STRING.
10. Para configurar la validación del envío de eventos anteriores y posteriores a la acción, consulte Envío y validación de eventos anteriores y posteriores a la acción y eventos al realizar la acción.
¿Fue esto útil?