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

value-remote-source-main.png View (62.4 KB) Stanislav Flusov, 17/03/2014 17:54

data-source-view.png View (55.8 KB) Stanislav Flusov, 17/03/2014 18:06

variable-view.png View (51.2 KB) Stanislav Flusov, 17/03/2014 18:15

selector-view.png View (54.8 KB) Stanislav Flusov, 17/03/2014 18:42

xml-tree-install-page.png View (128 KB) Stanislav Flusov, 21/03/2014 13:32

xml-tree-title-export.png View (163 KB) Stanislav Flusov, 21/03/2014 13:32

xml-tree-title-first-line.png View (107 KB) Stanislav Flusov, 21/03/2014 13:32

ValueRemoteSource-AllInOne.png View (32.4 KB) Stanislav Flusov, 27/03/2014 12:56

ValueXMLWritter-AllInOne.png View (25 KB) Stanislav Flusov, 27/03/2014 12:56

ValueRemoteSource-2App.png View (53.4 KB) Stanislav Flusov, 27/03/2014 13:09

ValueRemoteSource Extender.docx (761 KB) Artemiy Pugachev, 09/03/2015 22:04

Value remote source main Data source view Variable view Selector view Xml tree install page Xml tree title export Xml tree title first line Valueremotesource allinone Valuexmlwritter allinone Valueremotesource 2app
Add picture from clipboard (Maximum size: 645 MB)