Внешний NocoBase
Введение
Внешний источник данных NocoBase позволяет подключить другое приложение NocoBase к текущему приложению, сохранив метаданные удалённого приложения, включая настроенные таблицы данных, интерфейсы полей, заголовки и поля связей.
По сравнению с источником данных внешней базы данных, после подключения внешнего NocoBase обычно не требуется повторно настраивать интерфейсы полей или вручную создавать поля связей. Помимо просмотра, создания, редактирования и удаления записей, поддерживаются загрузка и предварительный просмотр файлов, импорт и экспорт, запросы для диаграмм, а также некоторые сценарии рабочих процессов.
Добавление источника данных
После активации плагина добавьте внешний источник данных NocoBase в разделе «Управление источниками данных» и укажите данные для доступа к удалённому приложению.
После включения источника данных система загрузит таблицы данных удалённого приложения.

Описание разрешений
На внешний источник данных NocoBase одновременно влияют разрешения текущего и удалённого приложений.
- В текущем приложении можно, как и для других внешних источников данных, настроить права доступа к различным таблицам и полям;
- удалённое приложение считывает и обрабатывает соответствующие данные в соответствии с разрешениями настроенного API key.
Внешний источник данных NocoBase не возвращает метаданные разрешений, предназначенные для точного управления отображением состояния кнопок на стороне клиента, поэтому некоторые кнопки могут не скрываться автоматически по разрешениям, как в основном источнике данных. Независимо от того, отображается ли кнопка, при отправке операции всё равно выполняется проверка разрешений на сервере текущего приложения, и неавторизованные операции будут отклонены.
Рекомендуется подготовить отдельный API key для внешнего источника данных NocoBase и предоставить ему только необходимые разрешения на таблицы и операции. Если в текущем приложении есть соответствующие разрешения, но операция завершается ошибкой, проверьте разрешения удалённого API key.
Использование таблиц данных
После успешной загрузки таблиц данных выберите этот источник данных в настройках страниц, блоков, диаграмм или рабочих процессов, чтобы испол ьзовать таблицы данных удалённого приложения.
После изменения структуры таблицы данных в удалённом приложении необходимо повторно загрузить таблицы данных в текущем приложении.
Описание возможностей
Внешний источник данных NocoBase в основном предназначен для использования таблиц данных и данных удалённого приложения в текущем приложении. Структура таблиц данных, настройки полей и фактические данные по-прежнему поддерживаются удалённым приложением.
Таблицы данных и поля
Текущее приложение загрузит метаданные удалённого приложения, включая таблицы данных, интерфейсы полей, заголовки и поля связей. По сравнению с источником данных внешней базы данных обычно не требуется повторно настраивать интерфейсы полей или вручную создавать поля связей в текущем приложении.
Текущее приложение не поддерживает непосредственную настройку полей внешнего источника данных NocoBase. Чтобы добавить поле, изменить его тип или изменить поле связи, выполните это в удалённом приложении, а затем вернитесь в текущее приложение и повторно загрузите таблицы данных.
Записи и связанные данные
Внешний источник данных NocoBase поддерживает просмотр, создание, редактирование и удаление записей в блоках страниц, а также просмотр и обслуживание связанных данных. Операции инициируются текущим приложением, которое обращается к удалённому приложению с помощью настроенного API key.
Файлы и вложения
Файлы загружаются в хранилище, используемое удалённым приложением. Текущее приложение отвечает за отправку запросов на загрузку, предварительный просмотр и скачивание, а сами файлы не сохраняются в текущем приложении.
Origin главным образом используется для обработки адресов предварительного просмотра файлов из локального хранилища удалённого приложения. Если удалённое приложение возвращает относительный путь, текущее приложение использует Origin для дополнения адреса доступа к файлу. В Origin следует указать общедоступный адрес удалённого приложения NocoBase, например:
Не указывайте адрес API в качестве Origin.
Импорт и экспорт
Импорт и экспорт относятся к операциям чтения и записи источника данных через внешние файлы и выполняются с проксированием в удалённом приложении. Текущее приложение отвечает за получение действий пользователя, пересылку запросов и возврат результата скачивания, а фактическое чтение и запись данных выполняются удалённым приложением.
- Импорт записей: текущее приложение получает загруженный файл импорта и проксирует его в удалённое приложение для выполнения импорта;
- Экспорт записей: текущее приложение проксирует запрос на экспорт записей в удалённое приложение. В синхронном режиме поток файла записей, возвращённый удалённым приложением, передаётся браузеру для скачивания; в асинхронном режиме создаётся локальная асинхронная задача, которая запускает экспорт записей в удалённом приложении и синхронизирует ход выполнения, а при скачивании результата поток файла записей повторно получа ется из удалённого приложения.
- Экспорт вложений: текущее приложение проксирует запрос на экспорт вложений в удалённое приложение. В синхронном режиме пакет вложений, возвращённый удалённым приложением, передаётся браузеру для скачивания; в асинхронном режиме создаётся локальная асинхронная задача, которая запускает экспорт вложений в удалённом приложении и синхронизирует ход выполнения, а при скачивании результата поток пакета вложений получается из удалённого приложения.
Печать по шаблону
Печать по шаблону может использовать записи из внешнего источника данных NocoBase. Шаблоны печати и настройки действий печати сохраняются в текущем приложении. Во время печати текущее приложение считывает записи и связанные данные из удалённого приложения и создаёт файл печати в текущем приложении.
Диаграммы
Панель запросов
Внешний источник данных NocoBase можно использовать в панели запросов диаграмм. Текущее приложение обрабатывает параметры запроса в соответствии с локальными настройками диаграммы, источника данных, таблицы данных и разрешений полей, а затем запрашивает результат в удалённом приложении.
Удалённый API key также должен иметь соответствующие разрешения на доступ к данным, иначе запрос завершится ошибкой.
Панель SQL
Панель SQL является режимом SQL-запросов диаграмм и предназначена только для запросов. Текущее приложение отвечает за сохранение конфигурации SQL и инициирование вызова, а SQL-запрос проксируется для выполнения в удалённом приложении.
При использовании панели SQL локальный пользователь должен иметь разрешение на настройку интерфейса в текущем приложении, а удалённый API key также должен иметь разрешение на настройку интерфейса в удалённом приложении. В отличие от панели запросов, SQL-запрос не разбирается по разрешениям таблиц и полей, поэтому тщательно предоставляйте локальным пользователям и соответствующему API key разрешение на настройку интерфейса.
Рабочие процессы
Внешний источник данных NocoBase может быть связан с двумя наборами рабочих процессов: текущего и удалённого приложений. Текущее приложение обрабатывает события в цепочках запросов локальных страниц, кнопок и API; после получения проксированного запроса удалённое приложение обрабатывает его в соответствии с собственной конфигурацией рабочих процессов.
Обратите внимание: текущее приложение не отслеживает события создания, обновления и удаления, происходящие внутри удалённых таблиц данных. События таблиц данных удалённого приложения запускаются только в самом удалённом приложении.
Триггеры
В таблице ниже описаны случаи срабатывания триггеров, на которые влияет внешний источник данных NocoBase, в текущем и удалённом приложениях при включённом соответствующем рабочем процессе.
Триггеры, не зависящие от источника данных, срабатывают в текущем и удалённом приложениях в соответствии с их настройками.
Если необходимо организовать в текущем приложении процесс работы с данными внешнего NocoBase, рекомендуется использовать события до запроса, после запроса или пользовательской операции. Рабочие процессы, уже существующие в удалённом приложении, выполняются удалённым приложением независимо.
Узлы
В таблице ниже перечислены только узлы, связанные с источниками данных. Универсальные узлы условий, вычислений, циклов, обработки JSON и другие не зависят от типа источника данных и могут использоваться как в обычных рабочих процессах.
Часто задаваемые вопросы
Таблица данных не отображается
Проверьте, включён ли источник данных, а также правильность адреса API и API key. В удалённом приложении также необходимо разрешить этому API key доступ к соответствующей таблице данных.
Файл успешно загружен, но его нельзя просмотреть
Если текущее или удалённое приложение использует локальное файловое хранилище, проверьте, что в Origin указан общедоступный адрес соответствующего приложения. В Origin не следует указывать адрес API.
В текущем приложении есть разрешения, но операция завершается ошибкой
Проверьте разрешения API key удалённого приложения. На внешний источник данных NocoBase одновременно влияют разрешения текущего и удалённого приложений.
После сбоя удалённого сервиса таблица данных недоступна
Если удалённое приложение возвращает оши бку 502, перезапускается или временно недоступно, текущее приложение может временно не иметь возможности прочитать метаданные удалённых таблиц данных. После восстановления удалённого сервиса текущее приложение автоматически повторно загрузит метаданные при следующем обращении к таблицам данных этого источника.
Почему нельзя настроить поля в текущем приложении
Внешний источник данных NocoBase использует структуру таблиц данных и настройки полей удалённого приложения. Измените поля в удалённом приложении, а затем вернитесь в текущее приложение и повторно загрузите таблицы данных.

