Pull to refresh

MODX Evolution возвращение! (версия 1.0.9 от 19.03.2013)

Reading time 4 min
Views 15K
В последнее время в лагере разработчиков MODX отмечается активное движение, результатом которого уже стала организация мировой сети Амбассадоров, появление долгожданного облака для ветки Revolution и что самое главное – официальное возрождение ветки Evolution, от развития которой создатели уже давно успели отказаться. Итак, 19 марта 2013 года свершилось то, на что не переставали надеяться приверженцы ветки
Evolution последние два года и что подтвердило почетное звание MODX, как самой перспективной и быстроразвивающейся системы управления с открытым кодом 2012 года (сабж).

В общем-то сама идея вынашивалась давно, система продолжала свое независимое от официальных разработчиков развитие в неофициальных сборках, но желание изменить ситуацию в лучшую сторону все же было. И вот несколько месяцев назад, как раз после запуска программы MODX Ambassador, я поднял эту тему в беседе с одним из создателей MODX – Райаном Трешем (Ryan Thrash). С учетом того, что MODX 3 пока только в планах (причем весьма отдаленных), а ветка MODX Revolution многих совсем не впечатлила, то тема продолжения развития ветки MODX Evolution смогла вызвать живой интерес практически всей команды основателей.

Результатом переговоров стало сделанное мне предложение войти в команду MODX в качестве девелопера ветки Evolution, проигнорировать которое я никак не мог. Так же в эту команду попали еще один из членов русскоязычного сообщества MODX – Agel_Nash, небезызвестный японский разработчик автор форка MODX.jp – Mansori Yamamato (yama) и немец Thomas Jakobi (jako) — разработчик MultiTv и других решений для ветки Evolution. Симбиоз получился довольно удачным и, благодаря слаженной и напряженной работе удалось выпустить в свет MODX Evolution 1.0.9.

Основная проблема, которую решает новый релиз, это совместимость с php 5.4, что немаловажно в свете предстоящего апрельского перехода некоторых хостеров на версию 5.4 и отключение всех, более ранних версий. Также, помимо исправления старых багов были добавлены и новые возможности, которых очень многим не хватало. Подробно все это можно увидеть в ченжлоге, лично я хочу выделить такие «плюшки», как:

Значительная переработка парсера:
[[SnippetA? &param1=`value`  //можно оставлять комментарии
&param2=value
&param3='value'
&param4="value" // любые кавычки или без кавычек а не только ``
&param5=`[[SnippetB]]` // нет конфликтов при вызове сниппета в сниппете
&param6=`A&B=C?` //используем любые символы в параметрах
]]


Появление бекап менеджера:


Добавлен Сниппет IF (wiki):
Сниппет для вывода информации по условию.
Логика работы: Если условие is выполняется, то выводим содержимое параметра then, если не выполняется, то выводим содержимое параметра else.
[[if? &is=`[*id*]:=:4:or:[*parent*]:in:5,6,5,7,8,9` &then=`[[if&is=`0||=||0` &then=`true` &else=`false` &separator=`||`]]` &else=`@TPL:else`]]
[[if? &is=`[*id*]:is:1:or:[*id*]:is:2:and:[*parent*]:is:5:or:[*parent*]:in:2,3,4` &then=`true` &else=`false`]]
//Все выражения обрабатываются по логике (....:or:is:.... ) :and: (...:!empty:.....)
//выражение and делит условие на 2 части, которые в конце в конце сравниваются к true
//Операторы:
//  (is,=) , (not,!=) , (>,gt) , (<,lt) , (>=,gte) , (lte,<=) , (isempty,empty) , (not_empty,!empty)
//  (null, is_null) , (in_array, inarray, in) , (not_in,!in)

//Выводить акцию только для товаров с ценой в диапазоне >300$     <=700$
[[if? &is=`[*price*]:>:300:and:[*price*]:<=:700` &then=`@TPL:akcia`]]

//Выводить при кратности записи дитто 3
[[if?is=`[+ditto_iteration+]:%:3` &then=`true` &else=`false`]]


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

Но и разработка неофициальной русской сборки MODX Evolution также будет продолжена, так как в нее включены многие сторонние дополнения, облегчающие жизнь разработчику. Когда-то я уже писал о ней пост, но видно звезды сложились так, что дальше песочницы он так и не прошел, поэтому я подозреваю что многие, кому он может оказаться полезен, его просто не видели. Копировать его весь нет смысла, но вкратце я все же немного о нем расскажу.

Изначально идеи создавать какую-то сборку не было. Было желание сэкономить время на установке сайта и тех дополнений, которые очень часто были нужны. Но, как нередко случается, потом захотелось еще кое-что добавить, понадобилось что-то изменить, сама сборка поселилась на GitHub и за неполные два года существования выросла в гибкий, быстрый и функциональный продукт. Сегодня на ней работает более чем 500 сайтов (это только те, которые мне известны), что лично я считаю достаточно неплохим уровнем популярности. Перечислять все изменения и дополнения вошедшие в сборку очень долго, если кого-то заинтересует, то подробно можно ознакомиться тут.

И напоследок хочется сказать о том, что тренд, реклама и облачный хостинг конечно могут создать впечатление о преимуществе ветки MODx Revolution во многих вопросах web-разработки, но попытки списать на этом фоне MODx Evolution весьма преждевременны, и сегодня практически любая задача для Revo может быть решена на Evo. А если учитывать возможности сборки, то нельзя не признать, что вторая даже превосходит первую: удобство, быстрота работы в админке, возможность задавать ЧПУ-имена для превью-изображений и некоторые другие функции которых в Revo пока нет. Но, тем не менее, нельзя сказать, что какая-то хуже, а какая-то лучше — уже давно каждая ветка стала отдельным самодостаточным способом решения тех или иных задач, а уж какой способ выбирать — решать разработчику.

UPD. 21.03.2013
Обнаружили пару критических ошибок, ниже решение:
Конфликт с php5.3 (обновить фаил manager/includes/protect.inc.php скачать тут)
Не создается нормально менеджер в админке (обновить фаил manager/processors/save_user.processor.php скачать тут)
В своей сборке уже исправил GitHub

UPD2. 21.03.2013
MODX 1.0.10RC

UPD3. 18.04.2013
MODX 1.0.10 от 18.04.2013
Tags:
Hubs:
+12
Comments 40
Comments Comments 40

Articles