Расширенная настройка > Пример: создание пользовательского задания для ThingWorx Navigate
  
Пример: создание пользовательского задания для ThingWorx Navigate
Стандартные блоки задания
Задание составляется из нескольких основных деталей:
Мэшап - интерфейс пользователя задания.
Сервисы - команды Java или сценарии Java, выполняющие действия. Сервисы находятся в WindchillSwaggerConnector.
ptc-windchill-demo-thing - источник данных.
Пример. Создание нового задания
В приведенных ниже разделах описано создание пользовательского задания от начала до конца в ThingWorx Composer. В задании примера пользователи должны выполнить поиск данных Windchill и получить результаты в таблице. При выборе элемента в таблице пользователь увидит дополнительные свойства в приведенной ниже таблице и интерактивное 3D-представление элемента. Можно щелкнуть ссылку, чтобы открыть представление в Creo View. Окончательно задние будет выглядеть следующим образом:
В этом примере демонстрируется, как скомбинировать стандартные блоки задания в рабочий мэшап. Может оказаться, что многие сервисы, необходимые вашей организации, уже включены вместе с WindchillSwaggerConnector.
В результате многие пользовательские задания можно собрать, используя только интерфейс пользователя ThingWorx и эти стандартные сервисы. Если необходимо написать собственные сервисы, вам могут быть полезны предоставляемые пошаговые инструкции для создания ряда часто используемых сервисов. Просмотрите документ PTC Windchill Extension guide (Руководство по расширению PTC Windchill) на сайте PTC в разделе Reference Documents (Справочная документация).
Но сначала давайте создадим пример задания.
Запланируйте задание
Рекомендуется планировать функциональность и компоновку задания, прежде чем начать его создание. Тогда будет известно, какие потребуются сервисы, какие панели необходимы для каждого сервиса и как они будут расположены. После создания плана можно начать сборку сервисов, которые вам требуются на соединителе. Переходите к выполнению шагов из следующего раздела.
Создание нового мэшапа в ThingWorx Composer
Используйте следующие шаги, чтобы создать новый мэшап:
1. В разделе ВИЗУАЛИЗАЦИЯ щелкните Мэшапы и нажмите кнопку Новые. Откроется диалоговое окно Новый мэшап.
2. В разделе Тип мэшапа выберите Страница.
3. В разделе Опции компоновки выберите Адаптивный и щелкните Готово. Откроется редактор мэшапа.
4. На вкладке Виджеты выберите Панель, а затем перетащите панель в область предварительного просмотра компоновки. Перетащите дополнительные виджеты панели и корректируйте их размер, пока вы не получите компоновку, которая была запланирована. Для данного примера используйте компоновку, приведенную выше на рисунке.
Добавьте на панели виджеты
Теперь у нас есть основная платформа задания. Далее мы добавим виджеты, чтобы определить визуальные компоненты для каждой панели.
1. Перетащите виджет на каждую панель. Для этого примера мы добавим следующие виджеты.
Список - отображает список сохраненных поисков из Windchill. При выборе элемента из списка сведения о нем появятся на панели Сетка.
Текстовое поле - предоставляет пользователям возможность выполнить другой поиск.
Кнопка - запускает поиск.
Сетка - отображает сведения об элементе, который выбирает пользователь.
Отображение свойств - отображает атрибуты элемента, выбранного на панели Сетка.
Creo View - отображает 3D-представление выбранного элемента.
Ссылка - открывает выбранный элемент в приложении клиента Creo View.
Добавьте источники данных и сервисы
Теперь, когда виджеты добавлены, можно компоновать интерфейс пользователя. Необходимо обеспечить их источниками информации. Для данного примера используется уже известный стандартный источник данных ptc-windchill-demo-thing. На следующем шаге будут добавлены источник данных и сервисы, необходимые, чтобы мэшап начал работать.
1. На вкладке Данные на правой верхней панели ThingWorx щелкните значок плюса, чтобы добавить новый источник данных. Откроется диалоговое окно Добавить данные.
2. В поле Искать в сущностях начните вводить наименование требуемого источника данных. Для данного примера введем ptc-windchill.
3. Выберите источник данных в результатах. Для данного примера это ptc-windchill-demo-thing. Сервисы, доступные для этой сущности, будут отображены слева.
4. Нажмите кнопку с голубой стрелкой, чтобы добавить необходимые сервисы. Для используемого здесь примера мэшапа выберем следующие сервисы:
GetCreoViewData
ExecuteSavedSearch
ListSavedSearches
В этом примере предполагается, что сохраненные поиски из Windchill должны отображаться сразу же после загрузки мэшапа. Чтобы сделать это, установите флажок Мэшап загружен? для сервиса ListSavedSearches.
5. После выбора всех необходимых сервисов щелкните Готово.
Соедините сервисы с виджетами
В нашем распоряжении имеются сервисы данных вместе с элементами интерфейса пользователя. На следующих шагах мы соединим все.
1. На панели Данные в разделе ListSavedSearches разверните раздел Возвращаемые данные.
2. Перетащите Все данные на виджет Список. Будут возвращены все данные, найденные в сохраненном поиске.
3. В поле Цели привязок выберите значение Данные. В нижней части окна Composer появится схема соединений.
* 
Этот шаг заменяет написание сценария Java на стороне клиента вручную, которое необходимо для более ранних версий ThingWorx.
4. Далее можно сконфигурировать виджет. Задайте следующие параметры в виджете списка.
DisplayField - name
ValueField - objectid
Label - Сохраненные поиски
* 
Щелкайте вне текстового поля, чтобы сохранить каждую сущность.
Свяжите данные сервисов
Работа некоторых сервисов базируется на данных из другого сервиса. Например, если мы выбираем сохраненный поиск в списке, мы хотим, чтобы он выполнялся. На следующих шагах будут созданы эти соединения между сервисами, называемые привязками. Также будут связаны сервисы с виджетами - например, в соединении ExecuteSavedSearch для ввода ключевого слова в поле поиска.
1. В разделе ExecuteSavedSearch разверните Параметры.
2. В разделе ListSavedSearches разверните Возвращаемые данные, а затем разверните Выбранные строки.
3. В разделе Выбранные строки перетащите поле objectId в поле oid, которое находится в подразделе Параметры раздела ExecuteSavedSearch.
Первое соединение завершено.
4. Для второго соединения выберите ListSavedSearches.
5. Затем перетащите SelectedRowsChanged из нижней части панели в раздел ExecuteSavedSearch.
Теперь подключим функциональность поиска. Входные данные в текстовом поле будут соединены с входным параметром ключевое_слово, а кнопка будет соединена с сервисом для получения данных.
1. Разверните ExecuteSavedSearch, а затем разверните Параметры.
2. Выберите виджет "Текстовое поле" и щелкните стрелку, чтобы открыть список. Перетащите Текст в поле ключевое_слово в разделе ExecuteSavedSearch.
3. Вернитесь на панель поля поиска, выберите виджет кнопки и из раскрывающего меню перетащите Clicked в раздел ExecuteSavedSearch.
4. Добавим метки для поля поиска и кнопки. Выберите каждый элемент, а затем выберите Метка в меню. Введите наименование для каждой сущности, такой как следующие:
Текстовое поле - Элементы для поиска
Кнопка - Найти
5. Сохраните изменения.
Проверьте соединения
Ниже приведены соединения, которые должны быть видны к этому моменту. Выберите каждый из приведенных ниже объектов, чтобы увидеть его соединение:
Виджет списка
ExecuteSavedSearch
ListSavedSearches
Отображение структуры детали в виде таблицы
Для отображения структуры детали в нашем виджете таблицы необходимо соединить данные структуры детали с виджетом сетки. Обратите внимание, что на этом шаге, в отличие от предыдущих шагов, перетаскивание выполняется в противоположном направлении - из сервиса в виджет.
1. В разделе ExecuteSavedSearch разверните Возвращаемые данные, а затем перетащите поле Все данные в виджет сетки.
2. В разделе Выбор цели привязки выберите Данные.
3. Теперь, когда данные связаны с сеткой, настроим таблицу. Выберите виджет сетки, а затем выберите в меню Настроить столбцы сетки.
4. В разделе Конфигурировать виджет выберите и переупорядочите свойства, которые должны отображаться.
5. Сохраните изменения.
Отображение объекта визуализации при выборе элемента
В нашем задании объект визуализации элемента будет отображаться при выборе элемента в сетке. Чтобы сделать это, соединим данные структуры с виджетом Creo View, а затем можно установить динамическое обновление виджета при выборе другого элемента пользователем.
1. В сервисе GetCreoViewData в разделе Возвращаемые данные разверните поле Все данные, а затем выберите структуру. Перетащите ее в виджет Creo View.
2. В разделе Выбор цели привязки выберите ProductToView.
3. Чтобы сконфигурировать динамическое обновление, выберите ExecuteSavedSearch. Затем на нижней левой панели перетащите SelectedRowsChanged в сервис GetCreoViewData.
4. Щелкните Сохранить.
Добавьте ссылку, позволяющую открыть элемент в Creo View.
Чтобы у пользователей был быстрый способ открыть 3D-файл объекта визуализации, добавим ссылку, позволяющую открыть его в Creo View. Для использования этого сервиса необходимо наличие у пользователя установленного приложения Creo View или наличие у него доступа через Windchill к Creo View Lite.
1. В разделе GetCreoViewData разверните Возвращаемые данные и Все данные.
2. Выберите launchCreoViewUrl, а затем перетащите его в виджет ссылки.
3. В разделе Выбор цели привязки выберите SourceURL.
4. Необходимо также соединить идентификатор объекта Windchill элемента с сервисом: в разделе GetCreoViewData разверните Параметры.
5. Далее в разделе ExecuteSavedSearch разверните Возвращаемые данные, а затем Выбранные строки.
6. Выберите objectId и перетащите его в параметр oid, находящийся в разделе GetCreoViewData.
7. В заключение зададим наименование для ссылки. Выберите виджет ссылки, а затем выберите Текст. Введите текст ссылки, например Просмотреть элементы в Creo View.
8. Щелкните Сохранить.
Отображение свойств элемента при выборе его в таблице
В таблице результатов поиска отображаются некоторые свойства элемента. Чтобы добавить более подробный список свойств, подсоединим виджет отображения свойств, а затем выберем свойства для отображения.
1. В разделе ExecuteSavedSearch разверните Возвращаемые данные, а затем выберите Выбранные строки.
2. Перетащите Выбранные строки из сервиса в виджет отображения свойств.
3. В разделе Выбор цели привязки выберите Данные.
4. Теперь, когда виджет отображения связан с данными, мы можем выбрать свойства для отображения: выберите виджет, а затем щелкните стрелку в левом верхнем углу.
5. Выберите в меню Конфигурировать виджет.
6. В разделе Конфигурировать виджет выберите и переупорядочите свойства, которые должны отображаться.
Проверьте ваши соединения еще раз
К этому моменту должны быть представлены следующие соединения. Выберите каждую из сущностей, перечисленных ниже, чтобы увидеть ее соединения:
GetCreoViewData
ExecuteSavedSearch
ListSavedSearch
Сохраните мэшап и задайте для него наименование, а затем просмотрите новое задание
Все почти готово. На последних шагах мы зададим наименование мэшапа, сохраним мэшап, а затем просмотрим пользовательское задание ThingWorx Navigate.
1. Щелкните Сохранить.
2. В разделе Общая информация введите наименование для задания в поле Наименование.
3. Щелкните Просмотр мэшапа. Откроется новое задание. Поздравляем!
Теперь можно добавить задание на главную страницу ThingWorx Navigate и добавить настройку. См. следующий раздел "Добавление пользовательского задания на главную страницу".
Требуется дополнительная информация? Ниже перечислены некоторые ресурсы
Виджеты
Сервисы данных и связывание