Jump to main content Jump to doc navigation

Переход от MODX Evolution к MODX Revolution

Многое изменилось с MODX Evolution в новой версии Revolution. Этот документ попытается обратиться к некоторым из основных.

Синтаксис тегов

Теги изменили свой основной синтаксис. Вы можете просмотреть Изменения синтаксиса тегов здесь.

Порядок разбора

В Evolution страницы были разобраны с помощью eval и выполнены в целом - в Revolution мы реализовали разбор «Source Order». Это означает, что теги анализируются в порядке их появления.

Так что это значит? Ну и несколько вещей:

  • Не размещайте вызовы Сниппетов, которые назначают плейсхолдеры в конце ресурса или после ресурса. Плейсхолдеры будут просто пустыми, так как Сниппеты еще не выполнены.
  • Теги теперь могут иметь теги в своих свойствах. [[mySnippet? &tag=test[[call]]``]] сейчас на 100% хорошо.
  • _С помощью =,?,!,* теперь все ОК в свойстве сниппета.

Лимит не более 5000 документов

Хотя это было в основном исправлено в более поздних версиях Evolution, в этих версиях все еще наблюдается снижение производительности. С точки зрения кэширования, это было исправлено в Revolution.

Тем не менее, если вы создаете сайт с более чем 10000 ресурсов, скорее всего, вы не разрабатываете его правильно. Рассмотрите возможность написания пользовательских Сниппетов которые извлекают из пользовательских таблиц базы данных, а не для похожих страниц (например, из электронной коммерции).

Безопасность

Система разрешений доступа была полностью переписана в новую систему на основе ABAC. Вы можете прочитать больше об этом здесь.

Страница ошибок против неавторизованной страницы

Это изменение от MODX Evolution. В Revolution, если веб-страница защищена во внешнем интерфейсе, так что ее могут видеть только зарегистрированные пользователи, по умолчанию анонимные пользователи перенаправляются на страницу «Ошибка (страница не найдена)», а не на страницу неавторизованного пользователя, когда они попробуйте получить доступ к ресурсу. В Revolution, если у пользователей нет разрешения «загрузить» для ресурса, он как бы не существует - таким образом, отклик «страница не найдена». Если вы хотите, чтобы они были отправлены на страницу неавторизованных пользователей, вы можете сделать следующее:

  • Создайте новую Политику доступа под названием «Загрузка» и добавьте одно Разрешение: Загрузка.
  • Создайте новую запись ACL для доступа к контексту для анонимной группы пользователей с контекстом «web», ролью «member» и политикой доступа «Load».

(спасибо Руководству Боба)

Суффиксы и префиксы FURL -> Типы контента

Настройки friendly_url_prefix и friendly_url_suffix больше не применимы, так как Revolution обрабатывает их теперь через Типы контента.