Project

General

Profile

Экстендер ValueRemoteSource

1. Назначение

ValueRemoteSource предназначен для формирования на стороне ValueServer текстовых значений, извлеченных из содержимого в указанном источнике, например: текстовый или xml - файл. Эти файлы могут находится как на текущей машине, так и быть доступными по локальной сети или http.

Более подробное описание смотри в тикете #20945

2. Настройка

Для настройки экстендера ValueRemoteSource в главном меню Djin’а выбираем пункт Компоненты > Настройка ValueRemoteSource …. В открывшемся диалоговом окне мы увидим текущие настройки ValueRemoteSource.

value-remote-source-main.png

2.1 Создание Источника данных (DataSource)

Корневым узлом данного экстендера является Источник данных (DataSource), содержащий следующий набор параметров:

  • Имя: отображаемое пользователю имя источника (данное поле является обязательным)
  • Тип источника: Web / Файловая система
  • Путь к источнику:
  • Тип документа: XML / Текст
  • Частота опроса, сек
  • Модуль: модуль в системе событий (данное поле является обязательным)
  • Хост: хост (адрес) сервера значений в системе событий

data-source-view.png

2.2 Создание (определение) переменной (Variable)

При создании переменной следует определить только один параметер Имя. Имя - Имя переменной, которой на стороне ValueServer’a будет присваиваться значение полученное от селектора.

variable-view.png

2.3 Создание Селектора

Селектором является сущность, осуществляющая парсинг Источника данных на основании Типа и Значения. Доступные параметры:

  • Имя: отображаемое пользователю имя селектора
  • Тип: XPath / RegExp
  • Значение: регулярное выражение или xpath селектор

selector-view.png

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

ValueRemoteSource-AllInOne.png

Пример настройки ValueXMLWritter

ValueXMLWritter-AllInOne.png

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

ValueRemoteSource-2App.png

Пример настройки ValueXMLWritter

ValueXMLWritter-AllInOne.png

4. Дополнительно

4.1 Использование Xml Tree для генерации XPath выражений

Xml Tree - это расширение для Google Chrome позволяющий наглядным способом генерировать и отлаживать XPath - выражения.

Для установки данного расширения достаточно пройти по "(ссылке)":https://chrome.google.com/webstore/detail/xml-tree/gbammbheopgpmaagmckhpjbfgdfkpadb

xml-tree-install-page.png

Теперь откроем произвольную RSS - ленту и извлечем мн-во заголовков новостей, нажав на узел Title, результатом будет выражение вида

/rss/channel/item/title

xml-tree-title-export.png

Теперь осуществим проверку пользовательского XPath выражения, получив первый заголовок из множества. Изменим выражением на следующее

/rss/channel/item[1]/title

И нажмем кнопку XPath/Render на строку ниже мы увидим результат

xml-tree-title-first-line.png

Ссылки на сборки

Данный экстендер состоит из 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

Add picture from clipboard (Maximum size: 742 MB)