Примечания к выпуску 3.5.0

Этот выпуск django CMS сосредоточен на удобстве использования и пользовательском опыте, улучшая отзывчивость при выполнении операций редактирования, особенно тех, которые связаны с обновлением деревьев плагинов.

Он также продолжает наш курс на разделение логических уровней в системе. Наиболее значимым в этом выпуске является новое отделение структурной панели от рендеринга страницы, что позволяет обновлять структурную панель, не требуя повторного рендеринга страницы. Это значительно ускоряет редактирование страниц, особенно при работе со сложными структурами плагинов.

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

Наша работа по улучшению разделения задач также видна в переименовании элементов управления публикацией, так что они больше не относятся конкретно к страницам. В конечном счете, действия по публикации могут применяться к любому виду контента, и это шаг в этом направлении.

Что нового в версии 3.5.0

Улучшения и новые возможности

  • структурная плата теперь отделена от рендеринга страницы

  • Page модель отделена от навигации по сайту

  • Копирование страниц между сайтами

  • улучшено поведение программы выбора языка для опубликованных/неопубликованных языков

  • улучшена обработка, рефакторинг кода для языковых отступлений

  • улучшенное восстановление для моделей Page, Title, Placeholder и CMSPlugin

  • общие элементы управления публикацией больше не ссылаются на «страницу»

  • улучшенная документация

Исправления ошибок

В этом выпуске исправлены:

  • проблема разрешения настроек шаблона страницы (не удалось проверить разрешение «Изменить расширенные настройки»)

  • ошибка, позволяющая вставлять Страницы без правильного перевода для целевого сайта

  • ошибка, из-за которой пользователи не могли видеть экран приветствия, когда отладка выключена

  • ошибка, из-за которой плагины с псевдонимами отображались, даже если их главная страница была неопубликована

  • устранена ошибка, при которой фокусировка ввода в модальном окне требовала двух нажатий в некоторых браузерах

  • незначительные проблемы с инициализацией виджетов интерфейса.

  • мелкие ошибки буфера обмена

Удаление устаревшей функциональности

Ранее устаревшие функции были удалены:

  • Модули меню больше не могут иметь имя menus.py (используйте cms_menus.py).

  • Модуль cms.utils.django_load.py был удален (в пользу стандартных помощников Django)

  • Поддержка Django Reversion была удалена.

  • Атрибуты urls и menus больше не поддерживаются для классов CMSApp (apphook). Все подклассы apphook теперь нуждаются в методе get_urls(). Кроме того, если ваш apphook имеет атрибут menus, его необходимо заменить на метод get_menus().

  • Page.revision_id был удален

  • Устаревшие настройки мастера создания контента были удалены.

Обратно несовместимые изменения

  • Главная страница больше не является автоматически корневой страницей в дереве (поскольку больше нет дерева страниц). Вместо этого главная страница задается вручную в админке списка страниц.

  • Ранее упорядоченные страницы можно было получить через Page.object.order_by('path'); теперь эквивалентом является Page.object.order_by('node__path').

  • Страницы больше не упорядочиваются по пути. Для упорядочивания используйте order_by('node__path').

  • На страницах больше нет поля site. Если раньше можно было использовать filter(site=id), то теперь используется filter(node__site==id).

  • Страницы больше не имеют поля parent. Вместо этого свойство parent теперь возвращает новый атрибут parent_page, который опирается на дерево узлов.

  • Никогда не публиковавшиеся страницы больше не могут иметь состояние «ожидание публикации». Миграция данных, cms/migrations/0018_pagenode.py, устраняет это.

  • Использование self.request.path или self.request.path_info в методе подкласса CMSToolbar больше не является надежным и не рекомендуется. Вместо этого используйте self.toolbar.request_path.

Как перейти на версию 3.5

Мы предполагаем, что вы переходите с версии django CMS 3.4.

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

Затем запустите:

python manage.py migrate  # to ensure that your database is up-to-date with migrations
python manage.py cms fix-tree

Проверьте пользовательский код и сторонние приложения на предмет использования устаревших или удаленных функций или API (см. выше). Возможно, потребуется обновить некоторые компоненты сторонних производителей.

Установите новую версию django CMS с GitHub.

Беги:

python manage.py migrate

чтобы применить новые миграции.

Создайте новый проект django CMS 3.5

На облаке Divio

Divio Cloud предлагает простой способ создания проектов django CMS. В разделе Divio Cloud Control Panel создайте новый проект django CMS и разверните его.

Использование установщика django CMS

Ознакомьтесь с нашим installation guide in the tutorial. Однако убедитесь, что вы:

  • установили последнюю версию django CMS Installer (по крайней мере, версию 0.9.8)

  • укажите версию для установки как develop: djangocms --cms-version=develop mysite

Имя пользователя и пароль будут равны admin.

Вкладчики этого релиза

  • Александр Парамонов

  • Андраш Гёмри

  • Даниэле Прочида

  • Джанлука Гуарини

  • Якопо Спаллетти

  • Якоб Риф

  • Йенс Димер

  • Жулио Р. Лукшезе

  • Леон Смит

  • Людвиг Хене

  • Марк Уокер

  • Николя ПАСКАЛЬ

  • Нина Захаренко

  • Пауло Альварадо

  • Роберт Штайн

  • Салманул Фарзи

  • Сергей Федосеев

  • Шон Брэди

  • Стефан Фулис

  • Тим Грэм

  • Вадим Сикора

  • alskgj

Вернуться на верх