Витрины галереи — управление
Раздел админки Управление сервером → Витрины галереи
(/admin/gallery) — то, откуда наполняется публичная
Галерея моделей. Доступ только администраторам.
Одна витрина — это издание одной модели для скачивания: файлы (печать,
CAD, инструкция, чертежи), версия, лицензия и описание. Характеристики
(размах, вес, материал, фото) витрина не хранит — они берутся из записи
Справочника моделей, к которой она
привязана.
Как завести витрину
- «+ Новая витрина» на странице списка.
- Выбрать запись справочника — или оставить «создать новую запись» и ввести
название. - Сохранить: откроется карточка витрины.
В галерею попадают записи общего каталога и ВАША СОБСТВЕННАЯ опубликованная
модель. Витрина показывает название, характеристики и фото модели на
странице, открытой без входа, — поэтому решение выложить их принимает тот, чьи
это данные: свою опубликованную модель вы выкладываете сами.
Чужую модель — даже опубликованную — привязать нельзя: её владелец не
выбирал анонимную публикацию своих характеристик и фото. Нужна её витрина —
договаривайтесь с владельцем, заводит он.
Приватную (неопубликованную) модель привязать нельзя — сервер откажет и
подскажет следующий шаг: сначала опубликовать модель (владелец подаёт заявку из
списка моделей, админ её одобряет). После одобрения витрину можно завести
обычным порядком — характеристики переносить руками не нужно, они берутся из
той же записи, и дубль в каталоге не нужен.
Витрины без записи справочника не бывает. Если запись не выбрана, она
заводится автоматически (тип «каталог», как у общих моделей платформы) — иначе
скачавший файлы не смог бы добавить себе борт этой модели в Ангар. На одну
запись справочника приходится ровно одна витрина, поэтому в выборе видны
только записи, у которых витрины ещё нет.
Публичный адрес (/gallery/имя-модели) сервер строит из названия модели
сам: кириллица транслитерируется, совпадение с уже занятым адресом
разрешается номером в конце (raven-1-6-2). Адрес неизменяем — он попадает
во внешние ссылки и в поисковую выдачу.
Файлы
На карточке витрины: «Приложить файл» → выбрать файл → «Загрузить».
- Принимаются
stl,step/stp,3mf,pdf,zip,dxf— до 100 МБ
файл, до 50 файлов и до 500 МБ на витрину. - Тип проверяется по содержимому, а не по расширению: переименованный в
.stlархив или видео будут отклонены. Архивы дополнительно проверяются на
«zip-бомбу» (слишком много записей, слишком большой распакованный объём,
вложенные архивы), зашифрованные архивы не принимаются — их содержимое
проверить нельзя. - Каждый файл проходит антивирус. Если сканер недоступен, загрузка
отклоняется — это осознанный выбор в пользу безопасности. - Вид файла («меш для печати», «CAD-модель», «инструкция», «чертёж»…)
определяется автоматически по формату, но его можно задать вручную: PDF
бывает и инструкцией, и чертежом.
Удаление файла убирает и его байты, и запись о нём.
Публикация
Кнопка «Опубликовать в галерее» делает витрину видимой в публичном
списке. Два правила, которые нельзя обойти:
- Пока к витрине не приложен ни один файл, публикация невозможна — это
проверяет сервер, а не только интерфейс. Опубликованная витрина без файлов
предлагала бы скачать то, чего нет. - Удаление последнего файла снимает публикацию — по той же причине.
Снятие публикации файлы не удаляет: витрина возвращается в черновик и её можно
дополнить.
Галочка «Доступна в галерее» в карточке модели
Ту же публикацию можно включить прямо из карточки модели справочника
(/catalog/models/<id>) — блок «Витрина в галерее». Он виден только
администратору: публикация витрины — админская операция, как и весь её CRUD,
поэтому владелец модели, не будучи админом, этого блока не видит.
Что показывает блок:
- переключатель «Доступна в галерее» — это и есть публикация связанной
витрины. Отдельного поля «в галерее» у записи справочника нет: файлы,
лицензия, версия и счётчики живут в витрине, а справочная запись остаётся
описанием модели; - счётчики скачиваний и просмотров и число приложенных файлов;
- ссылку на карточку витрины в админке — там её дополняют файлами и
описанием; - публичный адрес витрины. Пока витрина не опубликована, адрес показан
текстом: страницы по нему ещё нет (неопубликованной витрине/gallery/…
отвечает «не найдено»). Ссылкой он становится после публикации.
Переключатель заблокирован, пока к витрине не приложен ни один файл, — с
тем же пояснением, что и на карточке витрины. Это подсказка: запрет держит
сервер, и запрос в обход интерфейса тоже получит отказ. Блокируется только
включение: снять с публикации можно всегда.
Витрины у модели ещё нет — вместо переключателя стоит кнопка «Создать
витрину». Она ведёт в раздел «Витрины галереи» с уже открытой формой
создания, где эта запись справочника выбрана заранее.
Блок есть и у вашей собственной опубликованной модели — это штатный путь
«выложить файлы своей модели», и заводить ради него пустой каталожный дубль не
нужно. У чужой модели блока нет: её витрину заводит владелец.
Модель ещё не опубликована — блока витрины у неё нет, но владелец видит на
карточке пояснение и ссылку «Опубликовать модель»: она ведёт в список моделей,
на вкладку «Мои», откуда подаётся заявка. Если заявка уже подана и ждёт
модератора, вместо ссылки стоит статус: кнопки публикации в этот момент в
списке нет, и ссылка вела бы в пустоту. Пояснение видит только владелец и
только если раздел «Галерея» ему открыт.
Удаление витрины
Удаляются и сама витрина, и все её файлы. Что произойдёт с записью справочника,
зависит от того, кто её завёл — и об этом сказано прямо в подписи к кнопке
удаления:
- Запись выбрана из справочника (или заведена раньше вручную) — она
остаётся: может быть уже связана с бортами Ангара, отзывами и фото
пользователей, а витрина — лишь издание этой модели. - Запись создана автоматически вместе с этой витриной — она удаляется
вместе с ней. Иначе после «создал витрину и передумал» в общем каталоге
оставалась бы пустая запись-дубль. Исключение: если к записи уже успели
привязать борт Ангара, она остаётся (и дальше живёт как обычная каталожная —
следующая витрина её при удалении уже не унесёт).
Если убрать запись не удалось (например, база временно недоступна), витрина всё
равно удаляется, а платформа сообщает об оставшейся записи — её можно удалить
вручную в справочнике — см. Источники моделей.
Обратный порядок запрещён: модель со связанной витриной не удаляется —
платформа отвечает отказом и называет адрес витрины. Иначе витрина осталась бы
без названия и характеристик, а её публичная страница — «не найдено». Правило
одинаково для каталожной записи и для вашей собственной опубликованной модели:
сначала витрина, потом модель.
Что попадает в аудит
Создание, правка, удаление, публикация и снятие с публикации, а также
добавление и удаление файлов пишутся в
журнал действий (тип сущности «Витрина модели»).
Отдельно записываются отклонённые загрузки — имя файла, размер и причина
отказа (тип «Файл витрины»): по ним видно, что именно не пропустила проверка.