Интеграция с Nextcloud

Loginom обрабатывает данные, загруженные из внешних источников. Создать же таблицу с данными непосредственно в Loginom нельзя. Но иногда пользователю необходима такая возможность. Используя облачную платформу для хранения, синхронизации и обмена файлами и др. данными Nextcloud + Onlyoffice можно создавать таблицы и редактировать их привычным образом, а Loginom получит эти данные путем скачивания файла по ссылке. При таком подходе в серверных редакциях Loginom не потребуется загружать Excel-файл в Файловое хранилище после каждого изменения данных в нем.

Запустить демо

Установить локально

Примечание: Вы можете протестировать работу Loginom + Nextcloud. Адрес NextCloud — fs3.loginom.ru; логин — example; пароль — example.

Предварительная подготовка

Чтобы Loginom смог получить доступ к Nextcloud необходим токен авторизации.

Получение токена

Для получение токена Nextcloud потребуется создать приложение:

  1. Перейти в настройки
  2. Выбрать раздел Безопасность
  3. Создать приложение

После создания приложения отобразится токен, который далее используется для настройки узлов сценария Loginom.

Описание алгоритма

1. Получение ссылки для импорта

В подмодели с помощью REST запроса происходит получение ссылки на файл, из которого необходимо получить данные.

Настройка параметров подмодели

Во входном порту подмодели созданы 3 переменные:

Имя Метка Значение Описание
Строковый тип domain Домен fs3.loginom.ru Имя домена, на котором развернут сервер Nextcloud
Строковый тип token Токен example Токен приложения Nextcloud
Строковый тип path Путь до файла example Путь в облачном хранилище Nextcloud до требуемого файла

Эти переменные имеют предустановленные значения, которые необходимо заменить на собственные.

Подготовка запроса

В узле Формирование URL подготавливается URL для отправки REST запроса методом POST. В калькуляторе переменных расcчитывается следующее выражение:

Concat("https://", domain ,"/ocs/v2.php/apps/files_sharing/api/v1/shares")

Параллельно в узле Тело запроса (компонент JavaScript) формируется тело запроса. При формировании запроса используется переменная Путь до файла из входного порта узла.

import { InputTable, InputTables, InputVariables, OutputTable, DataType, DataKind, UsageType } from "builtIn/Data";

// Подготовка структуры JSON объекта
const body = {
  "path" : "",
  "shareType": 3,
  "permissions": 1
  };

// Присвоение свойству path объекта body значение переменной path
body.path = InputVariables.Items.path.Value; 

// Вывод объекта в выходной набор данных
OutputTable.Append();
OutputTable.Set(0, JSON.stringify( body));\
Отправка запроса

Для отправки запроса на странице Подключения настроено подключение REST-сервис:

  • Переключатель URL сервиса в режиме получения URL через входную переменную
  • Метод: POST
  • Переключатель Токен OAuth в режиме получения токена через входную переменную

Узел REST запрос получает через табличный порт тело запроса и данные для подключения через специальный порт Подключение, отправляет POST запрос и возвращает XML ответ, в котором содержится ссылка к файлу. Настройки узла:

  • Поле с телом сообщения: Тело запроса
  • Остальные настройки по умолчанию
Преобразование ссылки на скачивание

С помощью узла Ссылка на скачивание извлекается ссылка для получения доступа к файлу. К извлеченной ссылке добавляется /download, чтобы получить ссылку на скачивание:

Concat(SubStr(Response, Find("<url>", Response) +5, Find("</url>", Response) - Find("<url>", Response) - 5), "/download")

При помощи узла Таблица в переменные происходит преобразование для удобного дальнейшего использования.

2. Использование ссылки для импорта файла

Полученная на предыдущем шаге ссылка для скачивания файла передается во входной порт переменных узла Импорт файла. В настройках узла переключатель Имя файла/URL установлен в режим получения данных из входной переменной. Остальные настройки оставлены по умолчанию. Подробнее о настройке импорта из Excel файла.


Уведомления в Loginom при помощи чат-бота Telegram

Запись трансляции с демонстрацией компонента

Скачайте и откройте файл в Loginom. При необходимости Loginom CE можно скачать бесплатно

Скачать демопример

Минимальные требования к системе:

  • Операционная система: Windows 8.1 и выше.
  • CPU x64: 1 core.
  • Оперативная память: 1 GB.
  • Жесткий диск: 10 GB.