В этом году планируется выпуск новой версии MODx 0.9.7. Что же интересного там планируется? Очень много приятного! Судя по всему, возможности системы вырастут очень значительно.
У нас есть множество планов относительно будущего MODx. Некоторые из
них – те, которые более важные полезные и находятся на стадии
реализации – описаны ниже. Имея в виду собственные планы, нам интересно
Ваше мнение. Что бы, на Ваш взгляд, стало бы существенным
усовершенствованием для MODx? Присоединяйтесь к нашему сообществу
сегодня и помогайте строить будущее 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.
- Частичное кэширование страниц. Обеспечивает большие возможности кэширования. Позволяет более эффективно использовать кэш.
- Кэширование результатов запросов к БД. Обеспечивает кэширование результатов выполнения запросов к базе данных.
Текст перевода взят здесь: План работ