Как стать автором
Обновить

Планируемые нововведения в MODx 0.9.7

Время на прочтение5 мин
Количество просмотров541
Автор оригинала: Команда MODx
В этом году планируется выпуск новой версии MODx 0.9.7. Что же интересного там планируется? Очень много приятного! Судя по всему, возможности системы вырастут очень значительно.



Наши планы



У нас есть множество планов относительно будущего MODx. Некоторые из
них – те, которые более важные  полезные и находятся на стадии
реализации – описаны ниже. Имея в виду собственные планы, нам интересно
Ваше мнение. Что бы, на Ваш взгляд, стало бы существенным
усовершенствованием для MODx? Присоединяйтесь к нашему сообществу
сегодня и помогайте строить будущее MODx.

Планируемые нововведения в MODx 0.9.7


Кое-что из планов относительно MODx 0.9.7. Вы хотели что-то добавить?

  • Объектно-ориентированное ядро. Полностью переписано под объектную модель ядро системы MODx.
  • Улучшенные
    API. Новые, объектно-ориентированные, возможности API, шире
    охватывающие ядро MODx, имеющее более последовательную архитектуру.
  • Новый
    manager. Убираем фреймы и добавляем полностью настраиваемые шаблоны с
    использованием AJAX для еще более гибкого управления MODx. Свежий
    интерфейс, управляемый новым ядром MODx + Smarty + Ext + MooTools
  • Установка
    и обновление ядра MODx. Новая, более гибкая программа установки ядра и
    средство обновления, сделают все инсталляционные пути 100%
    настраиваемыми. Больше никаких проблем с одноименными внешними
    директориями и ресурсами.
  • Установка пакетов. Средства,
    позволяющие легче установить, обновить или перенести настроенный с
    помощью MODx контент. Пакеты, с возможностью полностью
    автоматизированной установки и обновления, помогут отделить дополнения
    от ядра MODx и поспособствуют вашему развитию, предоставляя возможность
    импорта/экспорта без потери рабочих компонентов.
  • Объединение пользователей и модель безопасности. Теперь нет
    разделений между пользователями и менеджерами сайта – все они станут
    просто пользователями. То же произойдет и с группами пользователей и
    документов.
  • Contexts (контексты). Это новая концепция,
    которая позволит делить все окружение на домены, поддомены, подсайты,
    культурные зоны, специфические web-приложения и т. д.
  • Улучшенная
    поддержка i18n и i10n. Cultures(культуры) и contexts(контексты) в
    связке обеспечат интернационализацию всей структуры и позволят
    установить язык, денежные единицы, формат даты/времени и т. п.
  • Больше
    никаких eval(). Плагины, сниппеты и модули будут подключаться единожды,
    и вызываться как функции. Это обеспечит большие возможности,
    эффективность, стабильность и повысит уровень безопасности. Тут можно
    процитировать создателя PHP Расмана Лендорфа: «If eval() is the answer,
    you're almost certainly asking the wrong question.» («Если eval() — ответ на Ваш вопрос, Вы почти наверняка задаете неверный вопрос»).
  • Контролируемые
    сессии базы данных. Новый обработчик сессий по-умолчанию обеспечит
    больший контроль и предоставляем больше настраиваемых опций, включая
    совместимость с web-сервером.
  • Улучшенное кэширование.
    Новое ядро системы и техника кэширования, помогут уменьшить размер всех
    кэшированных файлов и организовать иерархическую структуру папок.
  • Кэширование
    результатов запросов к БД. Новое ядро также позволяет кэшировать
    результаты запросов к базе данных. Что позволит уменьшить загрузку базы
    данных, расширяя возможности, что немаловажно для сайтов с большим
    объемом трафика.
  • Ведение лога ядра. Обеспечивает различные
    уровни ошибок и вывод результатов, включая ECHO, HTML и FILE. Вы также
    можете использовать это средство в целях проверки лога, лога ошибок,
    отладки и т. д.
  • Упрощенная терминология. Некоторые основные понятия MODx изменены
    для более интуитивного восприятия и краткости, в соответствии с
    современной общепринятой web-терминологией. Самые важные из этих
    изменений:
    • Web-ресурсы. (ранее: документы и ссылки) Любое содержимое, управляемое MODx и доступное непосредственное при помощи URL-адресов.
    • Элементы
      контента. Представляют собой элементы, определяющие исходные ресурсы,
      находящиеся в базе и управляемые MODx, которые будут обработаны и,
      опционально – выведены на страницу.
    • Теги
      контента. Новое название для новых и существующих тегов, которые
      являются исполняемыми, но не относятся к элементам контента; т. е. они
      не определяют исходное содержание страницы.

  • Фильтрование
    контента. Новые фильтры ввода и вывода — классы PHP, которые заменяют
    текущую концепцию виджетов и @связей MODx, так же как и расширения,
    образованные добавлением PHx-форматирования. Это дальнейшее расширение
    при помощи PHx, позволит обращаться к любому элементу содержимого.
    • Фильтры ввода. Видоизменяют исходное содержимое и свойства/параметры перед обработкой.
    • Фильтры вывода. Видоизменяют содержимое после обработки перед выводом.

  • Улучшенный
    анализатор контента. Особенностью его является полная рекурсивность,
    независимость исходной обработки от неэффективных и менее гибких
    регулярных выражений, которые и используются сейчас. Можно
    процитировать Джейми Завински «Некоторые люди, сталкиваясь с проблемой,
    думают: «понятно, здесь можно использовать регулярные выражения».
    Теперь у них две проблемы.
    • Любой элемент, представленный тегом, может быть кэширован. Для этого необходимо использовать символ «!». Например:
      [[!snippet]] или [[!$chunk]] или [[!*content]]
    • Любой тег может содержать вложенные теги. Например:
      [[~[[++site_start]]]] или [[!snippet? &tpl=`[[!getTemplate]]` &msg=`[[*introtext]]`]]
      Общий формат тегов. Для упрощения логики парсинга (анализа), улучшения
      работы и избежания хаоса, все теги имеют единый формат: [[тег]].


Старый формат Новый формат
Элементы контента
Шаблон нет тега нет тега
Переменная шаблона [*имя_переменной*] [[*имя_переменной]]
Чанк [[$имя_чанка]]
Сниппет [[имя_сниппета]] [[имя_сниппета]]
Плагин нет тега нет тега
Модуль нет тега нет тега
Теги контента
Плейсхолдер [+имя_плейсхолдера+] [[+имя_плейсхолдера]]
Ссылка [~ссылка~] [[~ссылка]]
Системный параметр [(имя_параметра)] [[++имя_параметра]]
Язык нет тега [[%ключ_языковой_строки]]

  • Еще
    более расширяемый, еще менее уязвимый. Новое объектно-ориентированное
    ядро позволит обеспечить удобное использование большинства основных
    возможностей без изменения кода ядра. Это поможет защитить ваши
    достижения в области модернизации.
  • Web-ресурсы. Можно
    легко объявить собственный класс, что бы определить и использовать
    собственные ресурсы, из web-сервисов, в AJAX-процессор, в обработчик
    мультимедийного контента или даже проводить интеграцию со сторонними
    приложениями.
  • Элементы контента / теги. Можно определять
    собственные элементы контента и теги, которые будут обрабатывать
    стороннюю информацию и возвращать результат. Использовать их можно как
    любой другой элемент контента. Например:
    [[-bobsCustomElement]]
  • Парсер контента. Позволяет определить собственный класс анализатора, что бы расширить стандартные возможности парсинга.
  • Обработка запросов / ответов. Пропускает или отвергает запросы/ответы к ядру, вызывающие методы.
  • Обработка сессий. Позволяет объявлять собственные классы для обработки пользовательских сессий в стандартах PHP.
  • Обработка ошибок. Позволяют создавать собственный класс для обработки ошибок PHP.
  • Частичное кэширование страниц. Обеспечивает большие возможности кэширования. Позволяет более эффективно использовать кэш.
  • Кэширование результатов запросов к БД. Обеспечивает кэширование результатов выполнения запросов к базе данных.


Текст перевода взят здесь: План работ
Теги:
Хабы:
Всего голосов 26: ↑18 и ↓8+10
Комментарии50

Публикации