Облако

Облако – механизм предоставления управления объектами исходя из типа используемого провайдера.

Работа с корзинами подразумевает наличия в системе настроенного провайдера с типом Локальный или PLAINFS. Облако предоставляет функциональность файлового хранилища. В этом случае доступны возможности загрузки, хранения и скачивания файлов через интерфейс и HTTP API. Файлы в облаке хранятся в корзинах. Форма для работы с облаком доступна через пункт меню «Облако».

Форма для работы с облаком доступна через пункт меню «Облако». Через форму можно просмотреть список корзины. В дополнительных параметрах корзины доступна настройка токенов, персонализированных настроек на корзину и просмотр атрибутов корзины.

Создание корзины

1.Для создания корзины, необходимо перейти на страницу «Управление корзинами», используя пункт «Облако» в левом меню, и нажать кнопку «Создать» .

2.Заполнить обязательные поля:

  • Наименование: задать наименование корзины
  • Провайдер данных: выбрать из списка провайдер (доступны провайдеры с типом Локальный и PLAINFS)
  • Статус: выбрать из списка значение Активна, в ином случае загрузка данных становиться недоступна
  • Данные процесса: текстовый редактор JSON, позволяющий задать состояние файла по умолчанию. Если не задано, то файлы не меняют свое отображение, если задано, то файлы загруженные в корзину меняют свое состояние в соответствии со status, переданным в json.
{
    "objects": {
        "default": {
            "status": "PENDING",
            "note": "Ожидает проверки"
        }
    }
}

Поддерживаемые в интерфейсе статусы ("status"): VALID , INVALID , ERROR , PENDING
Примечание ("note") может принимать любые стркоковые значения

3.В случае необходимости можно настроить параметры корзины, нажав кнопку в виде шестереньки .

Доступны следующие параметры для настройки:
- Максимальный размер файлов, разрешенный для загрузки, МБ - не позволяет загружать файлы, превышающие указанный размер
- Разрешенные для загрузки типы файлов - позволяет загрузку только указанных форматов
- Период, в течение которого возможно восстановление удаленных объектов, в днях - автоматически удаляет удаленные файлы в корзине по прошедствию указанных дней

Для скачивания файлов с корзины через программные клиенты необходимо настроить токен, аналогично описанию, приведенному в разделе "Токены".

После создания и настройки корзины можно загружать файлы в корзину, просматривать содержимое корзины, скачивать файлы с корзины, а также делиться ссылками на объекты корзины с другими пользователями системы.

Загрузка файлов в корзину

Для загрузки файлов в корзину, нужно перейти на форму объектов выбранной корзины и перетащить файлы на область загрузки или воспользоваться ссылкой «Обзор».

После успешного завершения загрузки файлы появятся в списке объектов корзины.

Если файлы по каким-то причинам не могут быть загружены, соответствующее сообщение будет показано в интерфейсе.

В корзинах поддерживается версионность объектов (только для корзин с провайдером- Локальный). При загрузке файла, уже существующего в корзине (проверка происходит по имени), будет предложено заменить уже существующий файл, обновить или пропустить загрузку файла.

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

Для организации структуры хранения файлов есть возможность добавления в корзину папок. Для добавления папки нужно нажать кнопку «Создать» в верхней части таблицы и на появившейся форме ввести название папки.

Созданная папка появится в списке объектов корзины.

Получение файлов на провайдере типа PLAINFS

Для получения файлов из пользовательской папки нужно нажать на кнопку "Cинхронизировать " в операциях корзины. При добавлении файлов в корзину из интерфейса и получение данных на стороне пользовательских папок также требуется синхронизация.

Скачивание файлов из корзины

Скачать файлы из корзины можно непосредственно на форме объектов корзины, кликнув на название файла, либо по ссылке, например, полученной от другого пользователя системы. Во втором случае для скачивания файла должно быть выдано разрешение на файл (подробнее о разрешениях и их настройке описано в разделе Разрешения документа «Руководство администратора»). Перед скачиванием, если пользователь не авторизован в Системе, выводится форма ввода логина и пароля. После авторизации пользователю будет доступно скачивание файла.

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

Предоставление публичного доступа по ссылке

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

Генерация публичной ссылки доступна только пользователям имеющим права на исполнение

Удаление, восстановление и окончательное удаление

Для удаления файла из корзины необходимо кликнуть на кнопку «Удалить». Удаление папок на локальном провайдере доступна и поддерживается окончательное удаление с содержим папки.

Удаление папок на провайдере PLAINFS поддерживает только мягкое удаление в случае, если в папке есть файлы. Окончательное удаление доступно только в том случае, если в папке нет файлов.

API

Для использования api требуется наличие активного токена с соответвующими правами на запрос.
Процесс создания токен описан в разделе Токены

Запись файла (Загрузка файла)

mutation ($input: UploadObjectCloudInput!) {
  cloud {
    upload(input: $input) {
      ok
      errors {
        ... on ErrorInterface {
          message
        }
      }
    }
  }
}
      "input": {
        "token": "******",
        "file": 
         "0": ["variables.input.file"]
      }

Список файлов (Получение списка файлов)

mutation ($input: ListObjectCloudInput!) {
  cloud {
    list(input: $input) {
      payload {
        objects {
          edges {
            node {
              name
            }
          }
        }
      }
    }
    ok
    errors {
      ... on ErrorInterface {
        message
      }
    }
  }
}
{
    "input": {
       "token": "******"
    }
}