diff --git a/docfiles/custom/context.js b/docfiles/custom/context.js
index 3e4ab78..5b6b8fa 100644
--- a/docfiles/custom/context.js
+++ b/docfiles/custom/context.js
@@ -44,6 +44,8 @@
| 2 | guiAction | действие которое исполняется со стороны GUI. | Опции, специфичные для id |
| 3 | dialog | ПМ, который откроет диалог, который необходимо заполнить и исполнит запрос к ядру (executeAction) | VariableContainer [
type: String,
data: VariableContainer
] |
| 4 | widget | ПМ, который любой виджет | VariableContainer [
type: String,
data: VariableContainer
] |
+ | 5 | hidden | Скрытый пункт | |
+ | 6 | nothing | Ничего не делать | |
* #### Пример ответа
*
diff --git a/docfiles/custom/publishers.js b/docfiles/custom/publishers.js
new file mode 100644
index 0000000..64dcf80
--- /dev/null
+++ b/docfiles/custom/publishers.js
@@ -0,0 +1,64 @@
+/**
+ * ### Протокол и данные паблишера
+ *
+ * @name 01
+ * @publishers
+ * @memberof publishers
+ */
+
+/**
+ * #### DragData - описание того, как работать с драгом из паблишера
+ *
+ *
+ *
+ * #### Структура
+ * ```
+ * // dragType - один из типов, того что возможно перетаскивать
+ * // Map(String, String) - определяет какой атрибут будет использован для получения данных
+ * // короче говоря, у нас есть список колонок, которые приходят в responseTableInfo под полем tableInfo : List(VariableContainer)
+ * // и там есть поле colId - это идентификатор колонки.
+ * // Так вот, ключ в этой мапе и есть colId,
+ * // Значением же выступает имя опции, под которым значение в поле перетаскиваемой строчки будет положено в данные клипборда
+ * // в таблице ниже, приведены атрибуты соответствующие dragType'ам
+ *
+ * // структура
+ * VariableContainer [
+ * : Map(String, String)
+ * // : Map(, )
+ * ]
+ *
+ * // пример
+ * // Здесь мы видим dragType "model"
+ * // Дальше мы находим colId "modelAddr" и получаем данные из паблишера в нужной строчке по этому полю
+ * // затем мы укладываем по clipboardOptionId "address" в объект клипборда значение, которое было получено из таблицы
+ * // аналогичные действия проделываются и для dragType "component"
+ * VariableContainer [
+ * model: Map(String, String)[
+ * "modelAddr": "address"
+ * ],
+ * component: Map(String, String)[
+ * "modelAddr": "address",
+ * "cTag": "cTag",
+ * "cid": "id"
+ * ]
+ * ]
+ * ```
+ *
+ *
+ *
+ * #### Описание dragType'ов
+ *
+
+ *| dragType | description | attributes |
+ *|----------- |------------------------------------ |--------------------------------------------------------- |
+ *| model | позволяет перетаскивать устройства | address:Address |
+ *| group | позволяет перетаскивать группу | address: Address, cTag: String |
+ *| component | позволяет перетаскивать компонент | address: Address, cTag: String, id: String |
+ *| attribute | позволяет перетаскивать атрибут | address: Address, cTag: String, id: String, name: String |
+ *| node | позволяет перетащить ноду | nodeId: Integer, treeTag: String |
+ *
+ *
+ * @name 02
+ * @publishers
+ * @memberof publishers
+ */
diff --git a/docfiles/mainpage/main.js b/docfiles/mainpage/main.js
index e16f45e..b31b5fa 100644
--- a/docfiles/mainpage/main.js
+++ b/docfiles/mainpage/main.js
@@ -54,6 +54,7 @@
* - - #### [Эдиторы](./editors.html)
* - - #### Протоколы
* - - - #### [Контекстное меню](./context.html)
+ * - - #### [Паблишеры](./publishers.html)
* @name 02
* @mainpage