Импорт расширений
Расширение существует в виде ZIP-архива, состоящего из файлов расширения и файла метаданных. Чтобы установить содержимое расширения в ThingWorx, необходимо импортировать ZIP-файл. Можно импортировать несколько расширений одновременно, если упаковать все ZIP-файлы расширений вместе в одну папку ZIP.
Включение импорта расширений
Импорт расширений отключен по умолчанию для всех пользователей, но может быть включен в настройках файла platform-settings.json:
1. Откройте файл platform-settings.json. По умолчанию файл находится в папке ThingworxPlatform.
2. Добавьте или обновите следующие параметры ExtensionPackageImportPolicy со значением true, чтобы разрешить импорт расширений. См. рекомендации по конфигурации в разделе ниже.
* 
По умолчанию все параметры имеют значение false. Дополнительную информацию о каждом параметре см. в описании platform-settings.json.
"ExtensionPackageImportPolicy": {
"importEnabled": false,
"allowJarResources": false,
"allowJavascriptResources": false,
"allowCSSResources": false,
"allowJSONResources": false,
"allowWebAppResources": false,
"allowEntities": false,
"allowExtensibleEntities": false
},
3. Сохраните и закройте файл platform-settings.json.
Рекомендации по управлению импортом расширений
Используйте итерационный подход при конфигурировании параметров в ExtensionPackageImportPolicy, чтобы включать минимальное число параметров для управления импортом расширений. По умолчанию все параметры имеют значение false.
1. Задайте для параметра importEnabled значение true и импортируйте расширение.
2. При сбое импорта задайте для параметра allowEntities значение true и импортируйте расширение.
3. При сбое импорта задайте для параметра allowExtensibleEntites значение true и импортируйте расширение.
4. При сбое импорта задайте применимый параметр allow<Content>Resources (например, allowJarResources). Ресурсы указаны в файле metadata.xml расширения.
5. После успешного импорта верните всем параметрам значение false.
6. Перезапустите платформу, чтобы отключить импорт любых расширений.
Импорт расширения
Чтобы импортировать расширение, выполните следующие шаги.
1. В Composer щелкните Импорт/экспорт > Импорт.
2. В выпадающем списке Опция импорта выберите Расширение.
3. Выполните обзор локального каталога, чтобы выбрать ZIP-файл расширения, а затем щелкните Открыть.
4. Щелкните Проверить, а затем щелкните Импорт.
5. Щелкните Закрыть, чтобы закрыть диалоговое окно Импорт.
Импортированные файлы расширений будут отображены на информационной панели.
Расширения управления версиями
С помощью атрибута dependsOn элемента ExtensionPackage можно задать разделенные запятыми пары имя-версия для расширений. Применяется формат наименование:номер основного выпуска.номер дополнительного выпуска.номер исправления (например, ExtensionA:1.0.0), который используется при проверке зависимостей.
Обновление расширений на основе Java
При обновлении путем импорта новой версии расширения, поддерживающего Java, отображается информационное сообщение с предложением немедленно перезапустить платформу. Если это происходит, ZIP-файл помещается в очередь: /ThingworxStorage/extensions/upgradequeue. После перезапуска сервера Tomcat Apache ThingWorx попытается импортировать ZIP-файлы расширения, находящиеся в очереди. Если не удается выполнить импорт расширения, находящегося в очереди, необходимо снова перезапустить сервер, чтобы вернуться к предыдущей версии расширения. После попытки ThingWorx импортировать поставленные в очередь расширения очередь очищается, даже если не удается импортировать расширения, находящиеся в очереди.
Можно не перезапускать систему после каждого импорта расширения, поддерживающего Java. Несколько расширений могут быть поставлены в очередь для импорта и затем будут импортированы в соответствующем порядке, определяемом их зависимостями, после единственного перезапуска. Дополнительные сведения о настройке зависимостей см. в разделе Руководство по разработке расширений.
* 
Как правило, расширения, не поддерживающие Java, импортируются без необходимости перезапуска. Однако существуют исключения со следующими сценариями.
Если расширение, не поддерживающее Java, является частью ZIP-архива ZIP-файлов, содержащего расширение Java, обновление которого выполняется, весь ZIP-архив ZIP-файлов будет поставлен в очередь и импортирован после перезапуска.
Если импортируется расширение, не поддерживающее Java (для начальной установки или обновления), и оно зависит от расширения, которое поставлено в очередь для обновления, расширение, не поддерживающее Java, будет также поставлено в очередь.
Общие сообщения о результатах импорта расширения
Общими во время импорта расширения являются следующие информационные сообщения.
Info: Extension <extension-name> is queued for installation on the next server restart because it contains JAR files, and an older version of this extension is already installed.
При каждом выполнении импорта расширения, включающего в себя JAR, появляется это сообщение о необходимости перезапустить сервер, чтобы выполнить импорт.
Warning: Extension <extension-name> skipped because it is already installed.
Warning: Extension Package <extension-name> may be trying to change the template of the following Entities: <entity: entity-name>
ThingWorx не поддерживает изменение базового шаблона вещи сущности. Это предупреждение выдается во время импорта расширения, если переданный шаблон вещи невозможно проверить, чтобы определить, был ли изменен его базовый шаблон вещи или нет.
После перезапуска платформы выполните следующие действия.
После перезапуска просмотрите журналы приложения, чтобы убедиться, что поставленные в очередь расширения успешно импортированы. Вы должны увидеть в журнале приложения следующую запись для каждого поставленного в очередь импортируемого расширения:
Starting entity import of /ThingworxStorage/extensions/XSS_Test/metadata.xml
При успешном завершении импорта находящихся в очереди расширений будет отображено следующее сообщение:
*** Import completed successfully
Если возникают проблемы, будут выводиться следующие ошибки:
Error occurred while installing Extensions from upgrade queue
* 
Если возникшие проблемы привели к сбою импорта из очереди, перезапустите систему снова, чтобы вернуться назад к предыдущим версиям расширений.
Анализ сообщений о сбоях импорта расширений
При сбое импорта расширений вы получите в журнале приложения сообщения, которые обычно содержат предупреждение о "сбое импорта расширения" и ссылки на сведения в журнале ошибок. В файле ErrorLog. log в конце сообщения об ошибке, возникшей при сбое импорта, указывается причина, по которой не удалось выполнить импорт пакета расширения. Примером причины сбоя может быть "импорт отключен", "импорт файлов JAR не разрешен" и т. д. Используйте это сообщение об ошибке для настройки подходящей конфигурации, чтобы успешно установить расширение.
Сообщение в журнале
Проверьте конфигурацию параметра в ExtensionPackageImportPolicy
ExtensionPackage upload attempted while import disabled
"importEnabled": true
ExtensionPackage<XYZ> upload attempted while allow jars is disabled
"allowJarResources": true
ExtensionPackage<XYZ> upload attempted while allow Javascript is disabled
"allowJavascriptResources": true
ExtensionPackage<XYZ> upload attempted while allow CSS is disabled
"allowCSSResources": true
ExtensionPackage<XYZ> upload attempted while allow JSON is disabled
"allowJSONResources": true
ExtensionPackage<XYZ> upload attempted while allow WebApp is disabled
"allowWebAppResources": true
ExtensionPackage<XYZ> upload attempted while allow entities is disabled
"allowEntities": true
ExtensionPackage<XYZ> upload attempted while allow extensible entities is disabled
"allowExtensibleEntities": true
Было ли это полезно?