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? ¶m1=`value` //можно оставлять комментарии ¶m2=value ¶m3='value' ¶m4="value" // любые кавычки или без кавычек а не только `` ¶m5=`[[SnippetB]]` // нет конфликтов при вызове сниппета в сниппете ¶m6=`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 пока нет. Но, тем не менее, нельзя сказать, что какая-то хуже, а какая-то лучше — уже давно каждая ветка стала отдельным самодостаточным способом решения тех или иных задач, а уж какой способ выбирать — решать разработчику.
ссылка на оригинал статьи http://habrahabr.ru/post/173667/
Добавить комментарий