Файлы — Администрирование¶
Обзор¶
Документ покрывает операционные настройки файлового домена, которые требуются администратору для эксплуатации:
- Файловое хранилище категории — квоты, разделы Диска, привязка папок к задачам
- Видеоконвертация — операционные параметры потоков, TSQL- и Lua-паттерны, Bearer-токен
- Утилита TaskScanner — источник дистрибутива и параметры
exe.config - Журнал действий — cross-link на домен
disk(владелец раздела)
Файловое хранилище категории¶
Файлы, с которыми ведётся работа в системе, хранятся либо на Диске, либо в таблицах БД.
Разделы Диска¶
| Раздел | Назначение | Доступ |
|---|---|---|
| Мои файлы | Личные файлы пользователя | Только пользователь и прямые руководители. Скрывается, если общая настройка Квота личной папки пользователя в файловом хранилище = 0 или не задана |
| Общие файлы | Совместное использование | Всем сотрудникам компании (признак регулируется в настройках профиля). Права на подпапки наследуются по умолчанию |
| Обмен файлами | Обмен между сотрудниками и внешними пользователями | Доступен с версии 2.263. По умолчанию только владелец и администраторы; остальным — по явному назначению |
| Файлы автоматизации | Папки, привязанные к задачам через смарт-автоматизацию | Только сотрудники с правами администратора. Системная подпапка Export configurations — выгрузка конфигурации площадки |
| Файлы замещаемых | Содержимое «Моих файлов» замещаемых сотрудников | Отображается при настроенном замещении |
| Файлы подчиненных | Содержимое «Моих файлов» подчинённых | Отображается для руководителей |
Особенности системных папок и маршрутов Диска¶
- Системные корни Диска (служебные разделы) используются платформой как специальные корневые узлы и не должны изменяться напрямую на уровне данных.
- ⚠️ Не создавайте папки, имя которых в корне раздела состоит только из цифр — это может привести к конфликту со служебной маршрутизацией и некорректному открытию папки по ссылке. Для таких случаев переименуйте папку в текстовое имя или используйте имя, содержащее не только цифры.
- Адрес в браузере формируется из названий папок, а не из внутренних идентификаторов. Если папка переименована, старая текстовая ссылка может перестать работать.
Квота личной папки¶
| Параметр | Значение по умолчанию | Где хранится |
|---|---|---|
| Квота личной папки пользователя | 5 Гб (5368709120 байт) | Settings.FileStorageUserPartitionQuota |
Квота распространяется на все файлы в любых разделах Диска, для которых пользователь является владельцем. Файлы в задачах и чатах не учитываются.
Привязка папки Диска к задаче¶
Для создания единого места хранения всех файлов задачи (вложения задачи + ДП) используется смарт-действие Связать файловую папку с задачей.
- Путь к папке задаётся фиксированным значением или смарт-выражением.
- ⚠️ «Привязанные» папки всегда создаются в разделе Файлы автоматизации. Не используйте для этого раздел Общие файлы.
- После привязки все файлы, вложенные в задачу или в ДП, попадают в связанную папку.
Альтернативный сценарий: сначала файлы вкладываются в привязанную папку на Диске, а затем загружаются в соответствующие ДП. Для этого в ДП «Файл» необходимо разрешить загрузку из Диска. Чтобы ограничить загрузку только из привязанной папки, отключите возможность загрузки из файловой системы.
Если связь настроена, в ДП «Файл» появляется пункт Вставить из диска — он открывает связанную с задачей папку.
Права пользователей в связанных папках Диска¶
При создании связи задачи с папкой Диска пользователям предоставляются права, эквивалентные правам в задаче. Права формируются на основе:
- Прав доступа для групп на категорию:
- «Исполнять» + пользователь является исполнителем текущей задачи
- «Создавать задачи» + пользователь является заказчиком текущей задачи
- «Просмотр всех задач"
- Прав согласно тегам или смарт-доступу
- Прав согласно роли в задаче: подписчик, заказчик, исполнитель или активный заместитель
Подписчик получает права при добавлении и теряет при удалении из подписчиков.
Пользователь получает право на просмотр и редактирование папки, если хотя бы по одному из прав видит связанную задачу. Если все связанные задачи завершены — редактирование папки запрещено.
Доступ к функциональным возможностям Диска¶
По умолчанию Диск доступен всем. Видимость для определённых групп настраивается опцией Функции Диска в настройках рабочего места группы. Настройка влияет на:
- пункт «Диск» в меню сервисов в панели навигации
- пункт «Диск» в меню «Файлы» карточки задачи
- возможность совершать действия с Диском для ДП «Файлы"
Проверка производительности хранилища¶
Для бенчмарка используется хранимая процедура DiskSpeedBenchmark:
- Создаёт временную таблицу
Test_PreUploadedOnPostTaskFiles(если не существует). - Готовит тестовый блок данных объёмом 200 МБ.
- Измеряет время записи блока в таблицу (результат в миллисекундах выводится в сообщениях SQL Server).
- Измеряет время чтения только что записанных данных.
- По завершении теста временная таблица удаляется.
Видеоконвертация — операционные параметры¶
Архитектура решения, 5 шагов настройки потоков/очередей/сервиса и ограничения на ДП — см.
business.md§ Конвертация и сжатие. Здесь — только операционные параметры и точные TSQL/Lua-паттерны для администратора.
Поддерживаемые форматы входящих файлов: MP4, WMV, MOV, AVI. На выходе — единый MP4 для веб-плеера.
Параметры потоков¶
| Параметр | Значение |
|---|---|
| Неудачных попыток до прекращения обработки события | 1 |
| Поведение в случае ошибки | Пропустить |
TSQL-паттерн для извлечения fileId из очереди¶
В смарт-действии Вызов внешнего сервиса (привязка к очереди отправки) параметр fileId рассчитывается из контекста очереди:
SELECT JSON_VALUE(data, '$.fileId')
FROM MessageQueue WITH (NOLOCK)
WHERE id = @contextid
В параметре Список файлов формат: ключ file → значение fileId (рассчитанное TSQL-запросом выше).
Lua-скрипт для скачивания сконвертированного файла¶
В привязке к очереди ответа (video-convertation-callback-action) используется смарт-действие Выполнить смарт-скрипт с действием DownloadFile.
Контекстные параметры:
| Параметр | Значение |
|---|---|
@contextid |
nil |
@contextType |
'task' |
FileName |
'Converted file.mp4' (расширение .mp4 обязательно) |
HttpHeaders |
{ 'Authorization' = 'Bearer {APIKey из сервиса UniversalApi}' } |
HttpMethod |
'Post' |
Пример скрипта:
local paramTable = SQL:query_one([[
select JSON_VALUE(data, '$.CallBackUrl') callbackurl
from MessageQueueLog with(nolock)
where id = @contextid
]], {contextid = CONTEXT.Id})
SMART:execute_action('DownloadFile', nil, 'task', {
Task = 12345,
UploadingUserName = 3,
FileLink = paramTable.callbackurl,
FileName = 'Converted file.mp4',
HttpMethod = 'Post',
HttpHeaders = { 'Authorization' = 'Bearer {APIKey}' }
}, false)
APIKeyберётся из настроек сервиса UniversalApi, созданного на шаге 3 архитектурной настройки.
Настройка автоматизации в категории¶
В категории создаётся автоматизация со смарт-действием Добавить новое событие в очередь:
| Параметр | Значение |
|---|---|
| Тип события | Custom |
| Поток | video-convertation (созданный на шаге 1) |
| Кастомное действие | ID очереди video-convertation-action (созданной на шаге 2) |
| Событие триггера | После смены ДП |
Параметр fileId |
Рассчитывается TSQL из ДП «Файл" |
⚠️ Ограничения для ДП «Файл», используемого в сжатии: - Опция Мультифайл должна быть отключена - Файловый провайдер не должен быть выбран
Утилита TaskScanner¶
Утилита сканирования TaskScanner позволяет сканировать документы и загружать электронные образы непосредственно в задачу (в ДП «Файл»).
Где скачать¶
В прежних версиях утилита доступна для загрузки на странице «Прочие настройки». В настоящее время ссылка в интерфейсе системы удалена; утилита поставляется в виде .zip-архива в служебной категории Репозиторий версий приложения.
Требование к ДП «Файл"¶
Чтобы отсканированный файл можно было вложить в ДП «Файл», в настройках ДП должен быть включён параметр Разрешить сканирование (AllowScanning). Подробнее см. ../ext-params/file/settings-reference.md.
Параметры TaskScanner.exe.config¶
| Ключ | Формат / Значения | Описание |
|---|---|---|
PageSize |
A3, A4, A5 или Ширина×Высота в мм (например, 10x297) |
Размер страницы |
Dpi |
Целое число, например 300 |
Разрешение сканирования |
BitDepth |
Color, Grayscale, BlackAndWhite |
Цветовой режим |
PageAlign |
Right, Center, Left |
Выравнивание страницы |
Журнал действий с файлами¶
Журнал «Диск» — см.
../disk/admin.md.Активируется опцией Логировать действия с файлами в настройках ДП «Файл» / «Таблица» (см. также
../ext-params/file/settings-reference.md).Фиксируемые действия: загрузка файла, удаление файла, создание папки, удаление папки, изменение прав доступа, изменение названия папки и т.д.
Office Web Apps / Office Online — настройки сервера¶
Cross-link. Архитектура и CustomSettings ключи редакторов (
OfficeOnlineEditor,r7/onlyOffice) — в../integrations/admin.md(разделы «MS Office Online (webApps)» и «OnlyOffice CE»). Здесь — параметры серверной настройки Office Web Apps в общих настройках приложения.
Где настраивается: Общие настройки приложения, блок Web Apps.
| Параметр | Назначение |
|---|---|
| Использовать Office Web Apps для просмотра документов в браузере | Включает онлайн-просмотр документов через Web Apps |
| Использовать Office Web Apps для редактирования документов в браузере | Включает онлайн-редактирование |
| Сервер для получения файлов из Office Web Apps | URL вида http://web_apps — адрес WAC-сервера, через который Web Apps запрашивает контент у 1Формы |
| Тип зоны | Внешняя / внутренняя. Соответствует зонам в Discovery.xml. Внешняя — для публикаций через Интернет, внутренняя — для локальной сети |
| Путь к Discovery.xml | Путь к файлу настроек Web Apps относительно каталога приложения, должен начинаться с корня или wwwroot |
| Время жизни токена (сек.) | Таймаут на запрос файла со стороны Web Apps по сгенерированному при открытии токену безопасности |
| ~~Использовать WebDAV~~ | Устаревшее, WebDAV больше не используется |
| Действие с файлами MS Office при клике | Скачать / Открыть для просмотра в веб-интерфейсе / ~~Открыть для редактирования в десктопном приложении (WebDAV)~~ |
⚠️ Для запуска редактора Office Online (OfficeOnlineEditor.editor=webApps) дополнительно требуется WOPI-discovery в корне веб-сервера: C:\inetpub\wwwroot\{App}\wopi. Без этого файла редактор не откроется.
appsettings.json — конвертер документов¶
| Ключ | Тип | Назначение |
|---|---|---|
UseDevexpressDocToPdfConverter |
bool | Использовать DevExpress для конвертации DOC→PDF. Проверяется, если не задан CustomSetting DefaultConverterPdf. Если ни ключ, ни кастомная настройка не заданы — по умолчанию используется SautinSoft |
appsettings.json — секция Tus (резумируемая загрузка)¶
| Ключ | Тип / Default | Назначение |
|---|---|---|
Tus.PreuploadEnabled |
bool | Включает механизм предварительной загрузки. При true сервер ждёт preupload-запросы перед основной передачей файла |
Tus.PreuploadEnpoint |
string (URI) | Конечная точка preupload-запросов. Пример: /files/tus/preupload |
Tus.FileExpirationInHours |
int / null |
TTL загруженного файла в часах. По истечении — удаляется джобом CleanExpiredFilesFromPreuploadedTusStoreJob. null — не удалять |
Tus.StoreType |
Local / S3 |
Тип хранилища временных файлов |
Tus.Local.Path |
path | Путь хранения для StoreType=Local. Пример: D:/tus/ |
Tus.S3.BucketName |
string | Имя бакета S3 |
Tus.S3.Region |
string | Регион (us-east-1 для совместимости с MinIO) |
Tus.S3.Endpoint |
URL | Endpoint S3 / MinIO |
Tus.S3.ForcePathStyle |
bool | true — path-style URL (<endpoint>/<bucket>/<key>) |
Tus.S3.AccessKey / SecretKey |
string | Ключи доступа |
Tus.S3.PreferredPartSizeInBytes |
int | Рекомендуемый размер части. Пример: 5242880 (5 МБ) |
⚠️ Для перехода между Local и S3 нужен restart приложения.
CustomSettings — глобальные ключи файлов¶
| Ключ | Тип | Назначение |
|---|---|---|
FileIdToStartOcr |
int | Минимальный ID файла (FileStorageFiles.Id), с которого начинают обработку джобы OcrJob (распознавание текста в img/jpg/png) и TikaJob (извлечение текста из документов). Запуск каждые 15 минут. Использовать для постепенной активации OCR на больших инсталляциях |
SautinSoftLicenseKey |
string | Лицензионный ключ библиотеки SautinSoft.PdfMetamorphosis (используется при DefaultConverterPdf=SautinSoft). Без ключа конвертер работает в пробном (ограниченном) режиме |
DefaultConverterPdf |
string | Конвертер документов в PDF (SautinSoft / другие). См. business.md § «Конвертация» |
Связанные¶
- files/business.md — бизнес-логика (видеоконвертация архитектурно, ограничения)
- files/backend.md — бэкенд
- disk/admin.md — журнал действий
- ext-params/file/settings-reference.md — настройки ДП «Файл» (
AllowScanning,IsLogFileReadsActionи др.) - categories/admin.md — настройки категории (автоматизации, права)
- system/admin.md — общие настройки приложения (квота личной папки)