Компоновочные блоки > Расширение модели данных > Создание менеджера пользователей
Создание менеджера пользователей
Для управления некоторыми функциями в модели данных используются вещи диспетчера. В диспетчере содержатся необходимые функции для любых манипуляций с базой данных для функциональности, таких как создание и обновление таблиц базы данных. Проектировщик также реализует все шаблоны вещей, отвечающие за управление сервисами, связанными с объектной моделью.
Эти вещи диспетчеров указаны в таблице DefaultGlobalManagerConfiguration на странице Конфигурации вещи PTC.Base.Manager.
Вы можете создавать пользовательские менеджеры для управления (создания и обновления) ваших собственных таблиц базы данных. Используйте вещи диспетчера в качестве моделей.
В следующих этапах описано, как создать диспетчер, который управляет таблицей базы данных с названием customdata, имеющей два столбца: UID (автоматически сгенерированный первичный ключ) и CustomProperty1 (тип данных строки). Таблица customdata инициализируется двумя строками.
1. Создание нового компоновочного блока.
Чтобы создать новый компоновочный блок, выполните следующие шаги.
a. Создайте проект. Используйте уникальный префикс для проекта, например наименование компании. Префикс PTC зарезервирован для сущностей, предоставляемых компанией PTC. В этом примере создайте проект с наименованием MyCompany.MyBuildingBlock. Для каждого нового шаблона вещи, вещи или сущности, создаваемых для этого компоновочного блока добавьте свой новый проект как значение Проекта на странице Общей информации этой сущности.
b. Создайте новый шаблон вещи в проекте, где используется PTC.Base.ComponentEntryPoint_TT в качестве базового шаблона вещи. В этом примере присвойте новому шаблону вещи наименование MyCompany.MyBuildingBlock.EntryPoint_TT. Если ваш новый компоновочный блок расширяется из компоновочного блока PTC, используйте шаблон вещи точки входа из компоновочного блока PTC в качестве базового шаблона вещи для нового компоновочного блока.
c. Создайте в проекте новую вещь, которая использует шаблон вещи, созданный на шаге 1.b в качестве базового шаблона вещи.
2. Создайте новую структуру данных в ThingWorx Composer.
a. В Название введите MyCompany.MyBuildingBlock.CustomData_DS.
b. Для Проекта выберите проект для компоновочного блока. В этом примере – MyCompany.MyBuildingBlock.
c. Под Определениями полей нажмите Добавить.
d. Определите следующее поле:
Имя- введите UID.
Базовый тип- выберите ДОЛГО.
Это основной ключ—отметьте этот флажок.
e. Нажмите значок , чтобы добавить текущее поле и сразу добавить другое поле., чтобы добавить первое поле и определить другое поле:
Имя- введите CustomProperty1.
Базовый тип—выберите СТРОКА.
f. Нажмите значок Добавить. для добавления второго поля.
g. Нажмите Сохранить для сохранения объема данных.
3. Создайте новый шаблон вещи в ThingWorx Composer.
a. В Название введите MyCompany.MyBuildingBlock.Manager_TT.
b. Для Базового шаблона вещи выберите шаблон вещи PTC.Base.CommonManager_TT. Если новый компоновочный блок расширяется из компоновочного блока PTC, используйте шаблон вещи диспетчера из компоновочного блока PTC, из которого выполняется расширение, качестве базового шаблона вещи.
c. Для Реализованных профилей выполните поиск и добавьте PTC.DBConnection.DBManagement_TS. Если диспетчер используется чтобы вызывать службы создания, также выполните поиск и добавьте PTC.DBConnection.ServiceConfiguration_TS.
d. Щелкните Сохранить, чтобы сохранить шаблон вещи.
4. В ThingWorx Composer создайте новую вещь.
a. В Название введите MyCompany.MyBuildingBlock.Manager.
b. Для базового шаблона вещи найдите и выберите MyCompany.MyBuildingBlock.Manager_TT (шаблон вещи, созданный на шаге 3).
c. В поле Сервисы переопределите сервис GetDBInfo и добавьте указанный код, затем нажмите Готово:
var result = {
dbInfo: [{dataShapeName: "CustomData"}]
};
d. В поле Сервисы переопределите сервис InitData и добавьте указанный код, затем нажмите Готово:
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. Нажмите Сохранить, чтобы сохранить вещь.
5. Если ваш новый компоновочный блок расширяется из компоновочного блока PTC, добавьте любые конфигурации из вещи диспетчера изначального компоновочного блока в вещь диспетчера вашего нового компоновочного блока.
a. Перейдите к вещи диспетчера, созданной на шаге 4 в этом примере MyCompany.MyBuildingBlock.Manager.
b. В разделе Конфигурация добавьте те же настройки, что и на странице Конфигурации вещи диспетчера изначального компоновочного блока.
6. Регистрация настраиваемого менеджера.
a. Перейдите к вещи PTC.Base.Manager.
b. В разделе Конфигурация нажмите Добавить для таблицы конфигураций DefaultGlobalManagerConfiguration.
В Имя введите наименование настраиваемого менеджера, например: MyCompany.MyBuildingBlock.Manager.
В Значение выполните поиск и выберите вещь настраиваемого диспетчера, созданную на этапе 4.
c. Нажмите Добавить, чтобы добавить настраиваемый менеджер в таблицу конфигурации.
d. Нажмите Сохранить, чтобы сохранить обновления в вещи диспетчера.
7. В вещи MyCompany.MyBuildingBlock.Manager, созданной на этапе 4 в Сервисы, выполните сервис CreateTables. Таблица базы данных с именем CustomData создается с двумя строками.
8. При необходимости определить внешний ключ, см. Добавление или удаление внешних ключей.
9. Чтобы изменить длину столбцов базы данных String, см. Установка длины для столбцов базы данных СТРОКИ.
10. Чтобы настроить события перед началом действия и после его завершения, см. Диспетчеризация и проверка события перед началом действия, во время действия и после его завершения.
Было ли это полезно?