Новый транспорт NextCloud в FastReport VCL

Новый транспорт NextCloud в FastReport VCL

Более 5 лет назад мы добавили новые специальные компоненты – «Транспорты». Они помогают сохранять построенные отчёты в облако, а также использовать находящиеся в облаке файлы (например, картинки) для построения отчётов.

С релизом 2023.3 к восьми существующем транспортам мы добавили девятый, отвечающий за работу с NextCloud. Больше статей о подключении транспортов вы можете найти по следующей ссылке.

В этой статье будут рассмотрены настройки для NextCloud с разбором некоторых особенностей. Если вы уже работали с нашими транспортами, то можете переходить сразу на главу с настройкой подключения.

Добавление транспорта в приложение и его настройка

Первым шагом, как и с другими транспортами, вам нужно добавить соответствующий компонент из вкладки “FastReport VCL Internet transports”.

Добавление компонента на форму

Можно использовать контекстное меню на компоненте. Это установит подключение прямо из среды разработки. Нажимаем на подменю “Edit connection”.

Вызов контекстного меню транспорта

По умолчанию транспорты реагируют только на ответ авторизации от браузера используя порт 9898. Если этот порт уже занят или планируется использовать данный порт в дальнейшем, то FastReport VCL позволяет изменить порт в свойстве ListenerPort.

Транспорт в инспекторе объектов

Далее будем предполагать использование порта 9898 по умолчанию.

Важно! Пользователю не нужно выполнять все нижеперечисленные действия каждый раз, для авторизации. Данная настройка выполняется только один раз администратором облачных сервисов. После выполнения всех действий полученные авторизационные данные могут быть использованы другими пользователями.

Подключение к NextCloud

Когда вам необходимо открыть или сохранить в файл с помощью транспорта, то вам будет доступен следующий стандартный диалог авторизации (если не было авторизации ранее).

Стандартный диалог авторизации

Кнопка со знаком вопроса отправит вас на страницу документации NextCloud. Для начала на своем сервере надо создать OAuth-клиента. Откройте NextCloud в браузере и нажмите на кнопку профиля. Затем в выпадающем списке нажмите на “Settings”. 

Выпадающий список кнопки кнопки профиля

В меню настроек выберите пункт “Security”.

Меню настроек

Введите имя клиента, а в поле «Redirection URI» укажите «http://localhost:9898», после чего нажмите кнопку “Add”.

Обратите внимание, что порт должен соответствовать порту, указанному в свойстве ListenerPort у компонента транспорта.

Бланк создания клиента

На этом этапе вы увидите, что приложение успешно создано. Скопируйте поля “Client Identifier” и “Secret” как на скриншоте ниже.

Результат создания клиента

И вставьте скопированные данные в соответствующие поля ввода, которые требуются в диалоговом окне авторизации FastReport VCL.

Стандартный диалог авторизации со скрытыми данными

Нажмите “OK”. У вас должно открыться новое окно в браузере, который установлен по умолчанию. На экране высветится предложение авторизации.

Авторизация NextCloud

После авторизации будет отображаться предложение поделиться доступом с приложением.

Запрос доступа NextCloud

После чего окно браузера можно закрыть.

Сообщение об окончании авторизации

При удачном подключении вы увидите стандартный браузер файлов FastReport VCL.

Стандартный браузер файлов FastReport VCL

Осталось только проверить загруженный файл в NextCloud.

Содержимое NextCloud в браузере

На этом настройка подключения успешно окончена. Теперь вы знаете, как подключаться к NextCloud в FastReport VCL.

Если у вас есть Linux, то вы можете протестировать новый транспорт нигде не регистрируясь, а развернув сервер NextCloud на своей машине.