Экстендер ValueRemoteSource¶
1. Назначение¶
ValueRemoteSource предназначен для формирования на стороне ValueServer текстовых значений, извлеченных из содержимого в указанном источнике, например: текстовый или xml - файл. Эти файлы могут находится как на текущей машине, так и быть доступными по локальной сети или http.
Более подробное описание смотри в тикете #20945
2. Настройка¶
Для настройки экстендера ValueRemoteSource в главном меню Djin’а выбираем пункт Компоненты > Настройка ValueRemoteSource …. В открывшемся диалоговом окне мы увидим текущие настройки ValueRemoteSource.
2.1 Создание Источника данных (DataSource)¶
Корневым узлом данного экстендера является Источник данных (DataSource), содержащий следующий набор параметров:
- Имя: отображаемое пользователю имя источника (данное поле является обязательным)
- Тип источника: Web / Файловая система
- Путь к источнику:
- Тип документа: XML / Текст
- Частота опроса, сек
- Модуль: модуль в системе событий (данное поле является обязательным)
- Хост: хост (адрес) сервера значений в системе событий
2.2 Создание (определение) переменной (Variable)¶
При создании переменной следует определить только один параметер Имя. Имя - Имя переменной, которой на стороне ValueServer’a будет присваиваться значение полученное от селектора.
2.3 Создание Селектора¶
Селектором является сущность, осуществляющая парсинг Источника данных на основании Типа и Значения. Доступные параметры:
- Имя: отображаемое пользователю имя селектора
- Тип: XPath / RegExp
- Значение: регулярное выражение или xpath селектор
3. Пример настройки компонентов: ValueRemoteSource, ValueSource, ValueXMLWritter¶
Документация по компонентам
3.1 Все компоненты работают в рамках одного приложения¶
Первоначально осуществим настройку vid файла конфигурации инициализировав неообходимы компоненты
CREATE_NET_PLUGIN ValueServer ValueServer.dll Digispot.Plugins.ValueServer
CREATE_NET_WND_PLUGIN ValueXMLWriter ValueXMLWriter.dll Digispot.Plugins.ValueXMLWriter
SET_VIEW_TAB_OBJ VIEW_T1 ValueXMLWriter "Value XML Writer"
SET_OBJ_BASE ValueServer log true
Пример настройки ValueRemoteSource
Пример настройки ValueXMLWritter
3.2 Два приложения ValueRemoteSource, ValueXMLWritter + ValueSource¶
Первоначально осуществим настройку vid файла конфигурации инициализировав неообходимы компоненты. Настройка делается для приложения где установлены компоненты ValueXMLWritter + ValueSource
CREATE_NET_PLUGIN ValueServer ValueServer.dll Digispot.Plugins.ValueServer
CREATE_NET_WND_PLUGIN ValueXMLWriter ValueXMLWriter.dll Digispot.Plugins.ValueXMLWriter
SET_VIEW_TAB_OBJ VIEW_T1 ValueXMLWriter "Value XML Writer"
SET_OBJ_BASE ValueServer log true
Настройка системы событий для приложения с установленным ValueRemoteSource. Рассмотрим файл djin.xml
<code class="xml">
<EVENT_SERVER HOST="CLIENT">
<CLIENTS>
<TCP TYPE="CLIENT" IP="127.0.0.1" PORT="1000" />
</CLIENTS>
</EVENT_SERVER>
</code>
Настройка системы событий для приложения с установленными компонентами ValueXMLWriter и ValueServer. Рассмотрим файл djin.xml
<code class="xml">
<EVENT_SERVER HOST="VS">
<CLIENTS>
<TCP TYPE="SERVER" IP="127.0.0.1" PORT="1000" />
</CLIENTS>
</EVENT_SERVER>
</code>
Пример настройки ValueRemoteSource
Пример настройки ValueXMLWritter
4. Дополнительно¶
4.1 Использование Xml Tree для генерации XPath выражений¶
Xml Tree - это расширение для Google Chrome позволяющий наглядным способом генерировать и отлаживать XPath - выражения.
Для установки данного расширения достаточно пройти по "(ссылке)":https://chrome.google.com/webstore/detail/xml-tree/gbammbheopgpmaagmckhpjbfgdfkpadb
Теперь откроем произвольную RSS - ленту и извлечем мн-во заголовков новостей, нажав на узел Title, результатом будет выражение вида
/rss/channel/item/title
Теперь осуществим проверку пользовательского XPath выражения, получив первый заголовок из множества. Изменим выражением на следующее
/rss/channel/item[1]/title
И нажмем кнопку XPath/Render на строку ниже мы увидим результат
Ссылки на сборки¶
Данный экстендер состоит из 2 сборок: ValueRemoteSource.Service.dll (WCF сервис) и ValueRemoteSource.Client.dll (WCF клиент - редактор настроек)
Ссылки из сборки ValueRemoteSource.Service.dll:
- D3API.dll
- D3APICommon.dll
- Microsoft.Practices.Prism.dll
- Digispot.Practices.Prism.Extender.dll
- ValueRemoteSource.Client.dll
Ссылки из сборки ValueRemoteSource.Client.dll:
- D3API.dll
- D3APICommon.dll
- ICSharpCode.TreeView
- Microsoft.Practices.Prism.dll
- Digispot.Practices.Prism.Extender.dll