Dee Wan и Strapi
Фактическое сравнение для команд, переходящих со Strapi. Колонка Dee Wan описывает, что код делает сегодня, как указано в матрице возможностей и границе продукта 1.0. Колонка Strapi цитирует документацию Strapi 5 на docs.strapi.io, прочитанную 2026-09-23. Она не проверялась на работающем Strapi. Где документация молчит, в ячейке так и сказано.
Dee Wan импортирует из Strapi v4 и v5 (см. Импорт и миграция). Dee Wan не повторяет все функции Strapi, и строки ниже включают то, чего Dee Wan не делает.
Модель контента
Заголовок раздела «Модель контента»| Тема | Dee Wan | Strapi 5 (документация) |
|---|---|---|
| Single types | Поддерживается одиночная модель: одна запись со своими языками, с учётом Корзины. Single type из Strapi импортируется как такая модель. | “Single types: content-types that can only manage one entry.” (перевод: «Single types: типы контента, которые могут управлять только одной записью».) (Content-type Builder) |
| Компоненты и динамические зоны | Компоненты, которыми владеет сайт, с вложенностью до 3 уровней. Поле компонента содержит один компонент или список; поле, допускающее несколько компонентов, — упорядоченный список блоков. Компоненты Strapi импортируются как компоненты сайта (shared.seo становится shared-seo), динамические зоны — как списки блоков. |
Components, repeatable components and dynamic zones. (перевод: «Компоненты, повторяемые компоненты и динамические зоны».) (Content-type Builder) |
| Виды связей | Один-к-одному, многие-к-одному, один-ко-многим и многие-ко-многим. В один-к-одному на каждую цель ссылается не больше одной записи. В один-ко-многим у каждой связанной записи один владелец; генерация автономного бэкенда создаёт её как список владельца с уникальной целью. Поля компонентов не предлагают один-ко-многим. | One way, one-to-one, one-to-many, many-to-one, many-to-many, many way. (Content-type Builder) |
| Запись связей | Замена упорядоченного списка либо connect / disconnect для отдельных элементов. Каждый изменённый список проверяется на целевую модель, сайт, доступность пользователю на чтение, дубли и кратность to-one. Элементы connect могут нести позицию (before или after id, либо start или end), а список move переставляет уже связанные элементы. Порядок применения: disconnect, connect, move. |
connect, disconnect, set, с позиционными before, after, start, end у connect. (REST API: relations) |
| Валидация полей | Редактор и сервер проверяют типы, структуру, ограничения, уникальность и ссылки по одним правилам. По умолчанию черновик можно сохранить без обязательных значений; строгий режим требует их уже при сохранении. При публикации проверяется точный снимок, включая обязательные поля. Приватные поля не попадают в публичные ответы. | Required, unique, private, минимальная и максимальная длина, регулярное выражение. (Content-type Builder) |
| Поведение связей при удалении | Фиксировано: строки связи удаляются при окончательном удалении любой из записей. Корзина их сохраняет. Другая запись остаётся. Настройки на уровне поля нет. | На прочитанных страницах не описано. |
Редакционная работа
Заголовок раздела «Редакционная работа»| Тема | Dee Wan | Strapi 5 (документация) |
|---|---|---|
| Процесс согласования | Необязательный режим ревью, именованные процессы для моделей, этапы согласования и права переходов. Обсуждения полей привязаны к версии и языку: ответы, упоминания пользователей и команд, закрытие и повторное открытие. | Review Workflows: “This feature is available with an Enterprise plan.” (перевод: «Эта функция доступна в тарифе Enterprise».) |
| Назначение | Общий ответственный за запись и отдельные ответственные за языки со своими сроками. Обязательные редакционные задачи нужно завершить для публикуемой версии; изменения другого языка не отменяют согласование текущего. О назначениях и ревью приходят уведомления в админке; почта необязательна. Импорт не уведомляет без явного выбора. См. обратная связь и уведомления. | “Entries of a review workflow content type can be assigned to any admin user in Strapi for review.” (перевод: «Записи типа контента с workflow ревью можно назначить на ревью любому администратору в Strapi».) Уведомления не упоминаются. (Enterprise) |
| Массовые действия | Явный выбор — до 25 элементов. Выбор всех подходящих — до 5 000 на всех страницах, с исключениями и шагами не более 25. Перевод этапа, публикация/снятие через переопределение, корзина и скалярные поля; восстановление/удаление в корзине — по явному выбору. Доступ и ревизии проверяются снова; продолжение и повтор сохраняют сделанное. См. изменение многих элементов. | В представлении списка есть настройка “Enable bulk actions” для множественного выбора. Прочитанная страница не перечисляет сами действия. (Content Manager) |
| Фильтры списка и сохранённые представления | Одна модель, последние сохранённые значения, включая черновики: до четырёх условий в группах И/ИЛИ глубиной до трёх уровней и одна сортировка. Связи внутри сайта фильтруются по настроенному скалярному полю отображения; одиночные связи с одной целевой моделью можно сортировать по нему. Права на цель проверяются. Для точек доступны радиус, прямоугольная область и порядок по расстоянию. Представления и выбор всех совпадений используют те же условия. Произвольных запросов по полям связанных записей нет. См. фильтр и сортировка по полям. | Не сравнивается: на прочитанных страницах этого нет. |
| Версии | Неизменяемые опубликованные снимки, история версий и восстановление. Восстановление может охватывать один язык. | Не сравнивается: на прочитанных страницах этого нет. |
| Тема | Dee Wan | Strapi 5 (документация) |
|---|---|---|
| Обрезка и точка фокуса | Параметры кадрирования хранятся для каждого использования изображения рядом со ссылкой на него, в долях изображения. Хранимое изображение никогда не меняется и не копируется. Опубликованная версия сохраняет своё кадрирование. Изображение секции страницы кадрируется для каждого слота. Публичный API отдаёт кадрирование. Сгенерированный сайт и управляемый рендерер отдают масштабированные обрезанные копии (srcset) через Cloudflare Image Transformations на медиа-хостах, объявленных владельцем, а в остальных случаях — оригинал с кадрированием через CSS. Ваш собственный рендерер применяет кадрирование сам. |
Обрезка редактирует сам ресурс: “Click Apply to crop the original asset. The asset keeps its ID, so content already using it is updated” (перевод: «Нажмите Apply, чтобы обрезать исходный ресурс. Ресурс сохраняет свой ID, поэтому контент, который уже его использует, обновляется»), либо “Save as copy” (перевод: «Сохранить как копию»). Точка фокуса “is stored on the asset and returned by the API as a focalPoint value” (перевод: «хранится в ресурсе и возвращается API как значение focalPoint»). (Media Library) |
| Приватные файлы | По выбору для каждого файла, в отдельном приватном хранилище; участники открывают их по пятиминутным ссылкам. Используются только в полях приватных моделей; ответы публичного API не содержат приватных байтов или адреса файла. Копия сайта и перенос с историей переносят их приватно. Сгенерированное приложение отдаёт их только тем, кому это разрешают его собственные сессии и доступ к строкам. См. приватные файлы. | Не сравнивается: на прочитанных страницах этого нет. |
Чтение контента
Заголовок раздела «Чтение контента»| Тема | Dee Wan | Strapi 5 (документация) |
|---|---|---|
| Фильтры | Равенство для полей текста, select, boolean, чисел и дат. Включающие диапазоны для чисел и дат. Фильтры по связям и тегам. До 10 вариантов на поле через OR; разные поля через AND. Не больше 4 фильтруемых полей. expand возвращает до 3 полей связей на один уровень. Нет общего $or, нет полнотекстового поиска, нет фильтра по собственным полям связанной записи. |
$eq, $ne, $lt, $lte, $gt, $gte, $contains, $startsWith, $endsWith, $in, $notIn, $and, $or, $not и глубокая фильтрация по полям связей. (REST API: filters) |
| Сортировка и поля | Одно поле сортировки, выборочные fields верхнего уровня. |
Сортировка и выбор полей поддерживаются. (REST API) |
| Пагинация | Курсор, привязанный к своему запросу. | Не сравнивается. |
| Автономный бэкенд | Сгенерированный бэкенд, которым владеете вы (схема Prisma, миграции, маршруты, опубликованный контент), API которого не обращается к Dee Wan во время выполнения (некоторые маршруты сайта обращаются; см. условия отключения). Токены чтения для него выпускаются из CMS с ограничением доступа по моделям. | На прочитанных страницах аналога нет. |
Чего эта страница не утверждает
Заголовок раздела «Чего эта страница не утверждает»- Производительность, стоимость хостинга или масштаб ни одной из сторон.
- Поведение Strapi за пределами процитированной документации, а также плагины из маркетплейса Strapi.
- Что-либо о версиях Strapi, кроме 5.
Другие возможности текущих исходников Dee Wan
Заголовок раздела «Другие возможности текущих исходников Dee Wan»Октябрьский код добавляет возможности ниже. Эти строки ничего не утверждают о Strapi: темы не сравнивались при чтении документации выше. Итоговые браузерные и визуальные проверки новых путей Dee Wan ещё предстоят.
| Тема | Dee Wan | Strapi 5 (документация) |
|---|---|---|
| Контекстный выбор и области | Выбор связей/select зависит от соседних полей, пользователя и записи. Правила роли ограничивают базовые чтения и атомарные записи; аудит связанных API/экспорта ещё предстоит. | Не сравнивается. |
| Структурированные таблицы | CSV/XLSX поддерживают создание, обновление и создание либо обновление через общий механизм проверки JSON-коллекций. По умолчанию — обновление; сопоставление по ID записи или подходящему уникальному полю. Структурированные связи, медиа и вложенные компоненты проходят обычные проверки прав, значений и версий. | Не сравнивается. |
| Расширение плагинами | Делегированные CRUD, версии и медиа; сравнение обновлений; изолированные фреймы; связи/повторяемые rich-блоки и изолированные vendor snippet. | Не сравнивается. |
| Аккаунт и AI | Подтверждённая смена email сохраняет аккаунт; самостоятельный почтовый сброс; проверка предложенных описаний изображений и замена переводов по явному согласию после сохранения оригинала. | Не сравнивается. |
| Подключённая миграция | Ограниченный WordPress REST использует прежний WXR-импорт. Явная замена идентичности/SEO использует просмотренную ревизию, квитанцию и отмену. | Не сравнивается. |
Редактор также поддерживает переводы названий моделей, полей и групп, подсказок и вариантов выбора без изменения хранимых ключей. Перенос структуры модели между сайтами требует проверки выбранных изменений и обеих ревизий. Дата со временем и часовым поясом хранит момент UTC и зону IANA: несуществующее местное время отклоняется, для неоднозначного нужно выбрать смещение. Массовый AI создаёт редактируемые предложения без сохранения контента; отмена сохраняет готовые предложения. Независимые будущие черновики имеют собственные снимки и закреплённые медиа, не меняя обычный черновик; запуск релиза фиксирует выбранную ветку, а предварительный просмотр учитывает будущее расписание.
Стабильная версия ещё не выпущена (pre-MVP)
Коммит исходного кода: fe23db481c422b40e317b92fc98116b4c0c26a87 (с локальными изменениями)
Дата сборки (UTC): 2026-10-18T09:22:34.630Z
Коммит для обновления: не определён: в рабочей копии есть изменения. Примечания к выпуску