Содержание

Про «туманное будущее» MODX Revolution / Личный блог / Блоги / bezumkin.ru

Третий день нахожусь в состоянии очумелости от невероятного потока иформации с форума it-folio.ru.

Форум маленький, состоит, по большому, счету из хозяйки Yota и ультра-активного юзера Sadex13. На двоих у них почти 2/3 всех сообщений. Вроде как, форум для начинающий разработчиков, цель благородна — помочь новичкам.

Помощь оказывается, советы даются, да вот беда — ультра-активный юзер ненавидит MODX Revolution, и поливает его всяким при каждой возможности. Форум, напоминаю, «разработчиков сайтов на PHP и CMS MODx».

Юзер активно участвует во всех беседах, машет шашкой, ругает xPDO, хвалит Drupal и вообще, привлекает внимание к форуму, как только может. Это метод раскрутки такой.

Ни одного сайта на Revolution он не сделал. Цитировать его можно долго и со смаком, но лучше почитайте эту тему (Создал его с таким пафосным названием не я, конечно).

Апофеоз идиотии — вот это сообщение в теме, последнее, на данный момент. Цитирую, вырезав особое словоблудие:

Я не делаю сайты на Рево по принципиальным соображениям. У меня есть серьезные подозрения считать, что решение сделать ядро системы жестко на ORM в виде xPDO, это ошибочное решение. Я уже делал сайты на Друпале и прочая, и поэтому, для себя, детальное изучения систем на ORM с их схемами БД, тяжеловесными объектами и пр. считаю нерациональным. С гораздо большим успехом то же самое время лучше потратить на детальное изучение PHP и существующих в PHP стандартных средств работы с СУБД — тех же MySQLi и PDO. Для тех кто делает сайты средней паршивости потоком — наверное лучше системы на ORM, и им никто не мешает их применять. Но применять для себя, не навязывая такое решение всем. Можете слова «средней паршивости» понимать и как сайты приемлемой скорости и производительности. В конце концов множество сайтов и на Друпале «приемлемой производительности» вполне удовлетворяет своих создателей и заказчиков.

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

Для сайтов визиток и легких сайтов — использовать Ево гораздо рациональнее и оптимальнее, чем использовать Рево. При этом Ево легко поддается оптимизации, в отличие от Рево. Сайты-визитки на Рево будут отбирать ресурсы сервера хостера гораздо больше, чем сайты-визитки на Ево. Я, как минималист, не люблю системы, которые потребляют ресурсов существенно больше, чем это требуется для решения конкретной задачи.

Я противник яростных оптимистов, энтузиастов и пропагандистов как Ево так и Рево, я считаю что это мешает пониманию и восприятию реальной ситуации в сайтостроении. Я привык открыто говорить о недостатках и слабых местах того инструмента, с которым я работаю — а это Ево, и того инструмента, который претендует на то, чтобы прийти ему на смену и полностью его вытеснить — а это Рево. Меня только радуют любые успехи Рево как ветки модекса, но нежелание обсуждать ограничения и слабые места Рево меня не радует.

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

Для Ево — то же самое. Тогда будет видно, реально, может ли Рево заменить Ево в данном сегменте рынка сайтостроения. Совершенно не исключаю, что легкая и быстрая CMS MODx Evo, либо форки этой CMS, при хорошей модификации и оптимизации ядра и компонентов системы окажется лучше и производительнее Рево и для нагруженных сайтов. В ядре Ево нет жестко вшитого ORM в виде xPDO и его гораздо легче обновлять и модифицировать. На текущем этапе я вижу гораздо больше перспективы в обновлении и развитии Ево, чем в детальном изучении и оптимизации «чёрта в ступе» в виде Рево с его котом в мешке в виде ядра на xPDO. Если кто-либо покажет, каким образом xPDO можно убрать из ядра Рево — возможно, я изменю свое текущее отношение к Рево.

По поводу работы именно с СУБД MySQL.

PHP MySQLi является пакетом классов для работы именно с MySQL, в то время как PHP PDO является набором классов для работы с любой СУБД. Естественно в MySQLi будет больше специфических преимуществ для работы с СУБД MySQL, так как многие из этих преимуществ невозможно реализовать в PDO в связи с его кроссплатформенностью.

Дальше. В случаях, когда из конкретной БД необходимо выжать все по максимуму и получить максимальное быстродействие и производительность, абстракцию в виде ORM (в нашем случае в виде ОРМ на xPDO) использовать нельзя. Что говорят профессионалы. Никогда универсальное не будет мощнее того, что сделано под конкретную БД, у любой БД есть особенности, универсальный движок не позволит их использовать, по определению. Кроме того, mysqli производительнее и менее требователен к памяти, чем PDO (особенно, если учитывать, что он сейчас работает через mysqlnd).

[…]

Теперь, в этом плане, перспектива Evo. А все нормально в Evo. Обновляем легкое ядро Ево на функции DB API, сегмент ядра для работы с БД MySQL делаем на MySQLi. Для других БД можем факультативно подключать тот же PDO или хоть тот же xPDO. И вообще, к Ево можем подключать что угодно, хоть фреймворк Yii и прочее.

Перспектива Рево. Гораздо более туманная. Неизвестно, как долго проживет и как сможет жить дальше Рево, у котором ядро жестко сделано на ORM в виде xPDO. С учетом того, что альтернативные, и более продуманные и оптимальные решения на рынке сайтостроения продолжают активно развиваться. Какие есть сейчас ограничения в Рево с его xPDO, реально — очень тяжело узнать, поскольку приверженцы Рево занимаются в основном пропагандой своего «супер-нового», «очень любимого» и «единственно верного». К «единственно верному» на Руси всегда особые подозрения, в силу исторических причин. Насчет поддержки Рево после запуска «Облака». Сильные сомнения, что основная команда модекса будет Рево поддерживать. Они будут с хостинга на Облаке деньги зарабатывать. Особенно, при снижении популярности Рево, особенно если Рево будет работать со своим ORM на xPDO в ядре со скоростью хорошего Друпала. Так что Рево может зависнуть точно так же как и Ево. И может прожить, в итоге, гораздо меньше, чем Ево. Но Ево и без модекса будут поддерживать, потому что Ево этого стоит. А вот найдутся ли энтузиасты для поддержки Рево без модекса? Но не будем о возможном грустном. Мы же энтузиасты, пламенные революционеры и оптимисты. Если что — перейдем на Друпал, или куда еще… К скорости работы как у Друпала на Рево уже привыкли, так что никакого ощутимого дискомфорта не будет.

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

Вот такое программное заявление, в котором «Я» употребляется 55 раз. Все, кто работает на Рево должны срочно искать себе новое место под солнцем, ибо будущее туманно.

Гениальные авторы Evolution вконец отупели, и написали какое-то говно, чтобы на нем слепить какое-то облако и срубить бабла. Офигенный бизнес-план. Поддержка MODX Revolution уже вот-вот прекратится.

Человека не смущает, сколько версий было выпущено Evo, и сколько Revo. Не смущают выставки и награды, не смущают супер-быстрые сайты, огромные сайты — ему насрать на все.
xPDO придумали идиоты, Revolution не жилец.

Не ясно, зачем при таком стремлении к производительности использовать CMS? Да вообще, зачем тормозной PHP, если есть Си и Ассемблер?

Считаю, что форум в таком виде, с таким самым активным юзером (и не осаждающим его админом) несет только вред всему российскому сообществу MODX. Ибо, тянет разработчиков (настоящих и будущих) назад, в противоположном направлении от развития фреймворка.

Да, новичкам он помог, молодец. Но эти новички при его поддержке не будут развиваться, и не вырастут. Так и станут ковырять код, заложенный 8 лет назад, считая его хорошим.
Изменилось ли создание сайтов на PHP + Mysql за 8 лет? Риторический вопрос, сам Интернет очень сильно изменился, это очевидно.

Специалист по MODX Evolution имеет два пути для развития: 1 — вырасти в специалиста по MODX Revolution, 2 — не вырасти.

Обновлено 15.10.2012

Забил в гугл «Sadex13», чтобы найти хотя бы одну гарантированно его работу, не о говоря уже про личный сайт. Ни-че-го.
Зато нашел прекрасную тему на форуме modx.com.

Если кто не разумеет зарубежную мову — сир Sadex13 интересуется, как можно использовать mysqli_ в Evo и Рево. А ему отвечают, что Evo надо полностью переписывать, а Рево уже и так с ним работает.
Susan Ottwell: «Это одна из причин, почему я перешла на Revo. Это же основная причина для его создания. Переписывание Evo будет неприятным, в лучшем случае».

Sadex13: «Вы мне не поможете переписать ядро Evo 1.0.6 на Mysqli?»

Susan Ottwell: «Нет»

В последнем сообщении говорят, что не так уж это и сложно, и дают вот эту ссылку на ClipperCMS.

Не знаю, что скажет психиатр, но я считаю — вот он, источник лютой попаболи Sadex13. Задрал уже всех разработчиков MODX своей проблемой, вместо того, чтобы переписать «как надо» и отправить коммит в репозиторий.

А еще он параноик. Ну это я так, дополнить анамнез:

Прошу вышеопубликованную мною информацию применять исключительно для внутреннего пользования, без распространения на широкую публику.
Причина — политика Политбюро и ЦК модекса, которые делают все возможное и невозможное, чтобы всех пересадить на Рево и Облако. А с этими высокопоставленными людьми и теми из русского сообщества модекса (включая автора статьи) кто проводит такую политику, я не желаю портить отношения.
Автор статьи, понятно — я.

С этого началось мое посещение их форума. Логично будет этим же и закончить. Идиотов на свете очень много, и всем не поможешь.

Добавление новых комментариев отключено.

bezumkin.ru

10 SEO нюансов для MODX (весна 2018)

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

Последние годы я активно сотрудничаю со многими SEO – фирмами и частными продвиженцами. Каждый раз, когда к ним попадает кто-то из наших «детей» — они традиционно присылают мне списки работ. Включив логику и свою собственную любовь к поисковой оптимизации, я решила поделиться с миром «тайнами», ну или просто общими требованиями к сайтам весны 2018 года.

1. Description

А знали ли вы, что относительно недавно количество символов в описании сайта выросло до 255? Так вот, для наших REVO (пардон, эвисты) в свежих версиях уже не нужно прыгать по файлам и базе, чтобы увеличить лимит. На самой свежей версии 2.6.3 можно смело писать больше текста в этом поле. У Вас версия старше? А почему не обновляетесь 😉

2. Keyword

Вот самое забавное, что есть сеошники, которые доказывают, что это поле себя отжило и не имеет место быть. Ха! Крупнейшие SEO-компании Беларуси, присылая мне ТЗ, четко пишут, что это поле им нужно. Вывод – это как лыжи, вроде пылятся на балконе, но, наверное, все таки нужны.

3. Заголовки

На странице должен быть один h2 и он должен быть в 100% случаев. Ну, это знают все (надеюсь, что все). Но. Есть еще и иные заголовки. Так вот, h3 и h4 имеет место быть только в тексте (наше поле content) и на важных фразах. Нельзя оформлять заголовками служебные фразы, используемые как элементы шаблона или навигации.

Например: у нас есть footer и в нем структура из 4 блоков. В каждом что-то есть: контакты, ссылки на разделы, логотип, соц. Сети и пр. Так вот, часто сие место подписывается

<h3>Связаться с нами</h3>
или
<h4>Оставить отзыв</h4>
И так делать нельзя. Самое забавное, что верстальщики именно так и возвращают макеты. Что делать? Заменить на
<div>Отзыв от Иннокентия</div>
или
<p>Советуем прочитать</p>
Возможно придется влезть в css. Или «промыть голову верстальщику» (иногда помогает).

Заметила я, что крайне редко встречаются в тексте и h5. А вот пятого и шестого заголовка на сайтах, которые в работе у оптимизаторов, просто нигде нет – все через стили.

4. Last Modified

Вывод информации о том, когда был изменен документ важен. Но тут проще простого, решение уже есть и дал нам его наш Илья — modx.com/extras/package/modlastmodified.

5. Rel canonical

Не забываем про канонический адрес страницы. Но, незабываем и про то, что у нас будет два канонический адреса, если мы вызовем pdoPage без ‘setMeta’ => 0. Причем второй будет, откровенно говоря, не комильфо.

6. Noindex и nofollow


Часто наш брат не заморачивается над этим метатегом и везде в чанк head пишет
<meta name="robots" content="index, follow">
Но тут мы забываем про основную суть данным фраз. Напомню, что значение no / follow – это управление запретом индексации ссылок на странице, а no / index – управление индексацией текста на странице.

Так вот, управление страницами пагинации должно быть следующее noindex и follow (не индексировать текст, но учитывать вес ссылок). У меня для этого есть миниатюрный сниппет, который я так и обозвала index _follow (вызывать в head для основных страниц сайта).

$robots = '<meta name="robots" content="index, follow">';
$norobots = '<meta name="robots" content="noindex,follow">';

$meta = $robots;
$request_uri = $_SERVER['REQUEST_URI'];
if(!empty($_GET['page'])) $meta = $norobots;
if(!empty($_GET['sort'])) $meta = $norobots;
return $meta;

Для служебных страниц свой шаблон обычно (это мы про простые сайты, без личного кабинета и прочего) и там можно уже руками прописать и этот мета тег, и иные.

7. Микроразметка и Open Graph Protocol

Да-да, очень-очень важна именно она. И для страницы товара/услуги, и для контактов, и для статей, и для хлебных крошек. Обычно нам лень лезть и смотреть ее параметры, но все таки она важна для ПС. Для ленивых вот copy / past.
{'pdoCrumbs' | snippet : [
    'limit' => 5,
    'tpl' => '@INLINE <li itemscope="" itemprop="itemListElement" itemtype="http://schema.org/ListItem">
    <a title="{$menutitle}" itemprop="item" href="{$link}">{$menutitle}</a>
    <meta itemprop="name" content="{$menutitle}"> <meta itemprop="position" content="{$idx}"></li>',
    'tplHome' => '@INLINE <li itemscope="" itemprop="itemListElement" itemtype="http://schema.org/ListItem">
    <a title="{$menutitle}" itemprop="item" href="{$link}">
    Главная</a>
    <meta itemprop="name" content="{$menutitle}"> <meta itemprop="position" content="{$idx}">
	</li>',
    'tplCurrent' => '@INLINE 
         <li itemscope="" itemprop="itemListElement" itemtype="http://schema.org/ListItem">
        <span itemprop="name">{$menutitle}</span>
        <meta itemprop="position" content="{$idx}">
        </li>',
    'tplWrapper' => '@INLINE <ul itemscope="" itemtype="http://schema.org/BreadcrumbList">
	 {$output}</ul>',
    'showHome' => 1,
    'showAtHome' => 0  
    ]}

Ну, или так, если понятнее будет:

[[pdoCrumbs?
    &limit=`5`
    &tpl= `@INLINE <li itemscope="" itemprop="itemListElement" itemtype="http://schema.org/ListItem">
    <a title="{$menutitle}" itemprop="item" href="{$link}">{$menutitle}</a>
    <meta itemprop="name" content="{$menutitle}"> <meta itemprop="position" content="{$idx}"></li>`
    &tplHome=`@INLINE <li  itemscope="" itemprop="itemListElement" itemtype="http://schema.org/ListItem">
    <a title="{$menutitle}" itemprop="item" href="{$link}">
    Главная</a>
    <meta itemprop="name" content="{$menutitle}"> <meta itemprop="position" content="{$idx}">
	</li>`
    &tplCurrent=`@INLINE 
         <li itemscope="" itemprop="itemListElement" itemtype="http://schema.org/ListItem">
        <span itemprop="name">{$menutitle}</span>
        <meta itemprop="position" content="{$idx}">
        </li>`
    &tplWrapper=`@INLINE <ul itemscope="" itemtype="http://schema.org/BreadcrumbList">
	 {$output}</ul>`
    &showHome=`1`
    &showAtHome=`0`  
    ]]

Примера Open Graph Protocol не привожу, но тут точно сами нагуглите, как его делать 🙂

8. Title у ссылок


Ну, alt тоже безумно важен у картинок, но я верю, что вы про него помните всегда. А вот у нашего любимого pdotools в пагинации есть «небольшой грешок» по этой теме и, если забыть, можно пропустить на сайт ссылки без этого важного аттрибута. Можно прописать сразу в вызове шаблоны, а можно в настройках сниппета, как удобнее. Но обратите внимание на tplPage, tplPageActive, tplPagePrev и tplPageNext.

Если используете pdoNeighbors, у него также в tplNext, tplPrev и tplUp нет описаний у ссылки. Да даже у pdoMenu, увы, tpl без него. В общем – тут будьте внимательны.

9. Цикличные ссылки

Попадая на сайт, большинство пользователей знают, что, кликнув на логотип, они смогут перейти на начальную страницу сайта. Так как кликабельный логотип уже давно стал стандартом. Но единственная ошибка – это то, что на главной странице логотип также кликабелен, то есть мы получаем цикличную ссылку, страница ссылается сама на себя. Лечение просто:
{if $_modx->resource.id != 1}
      <a href="{$_modx->makeUrl(1)}" title="Перейти на главную страницу" >
     <img src="/templates/img/logo.png" alt="{$_modx->config.site_name}, перейти на главную"></a>
     {else}
     <img src="/templates/img/logo.png" alt="{$_modx->config.site_name}, перейти на главную">
     {/if}

Или так:

[[*id:is=`1`:then=`
      <img src="/templates/img/logo.png" alt="[[++site_name]], перейти на главную">
 `:else=`
  <a href="[[~1]]" title="Перейти на главную страницу">
     <img src="/templates/img/logo.png" alt="[[++site_name]], перейти на главную">
     </a>
 `]]

10. Страницы ошибок

При попадании на такую страницу, важно не потерять пользователя. Дать понятное описание произошедшей ошибке и предоставить возможность перейти в популярный раздел или вернуться на главную страницу. 404-я и 403-я должны быть. Должны быть четкими, лаконичными и без лишней «мути» в виде хлебных крошек, больших картинок сверху, когда не виден текст ошибки и ссылки на уход с нее.

Бонус: две «плюшки» для MODX REVO

И на последок два Лайфхака, от которых я просто «тащусь» последние месяцы. Первое – это системные настройки для пользователя.

Не секрет, что вызов системной настройки быстрее, чем вызов дополнительного поля у страницы. И, если нам нужно засунуть куда-то данные телефонов, адресов и фраз из «подвала» или «шапки», то самым «шустрым» решением будет их размещение в системных настройках.

Но! Нам же нельзя туда пускать руко…х менеджеров. Что делаем?

  1. Ставим классный компонент settingsWidget с modstore.pro (https://modstore.pro/packages/utilities/settingswidget) от пока лично не знакомого мне DocentBF. Пишем в него наши, созданные ранее настройки. У автора описана инструкция, там легко разберетесь.
  2. Идем в управление панелями и создаем новую панель. Старую затрет при обновлении MODX, поверьте. В нее создаем и добавляем данный виджет. Именуем по своему. Назначаем виджет политике менеджера. Но! Не запрещаем в политике доступ к системным настройкам, иначе он их не увидит.
  3. Настройки прячем иным способом. Идем в настройки меню и из верхнего меню вкладку «Админ» отправляем в управление. Так она скроется с глаз, но не скроется с панели. Свою рабочую политику менеджера прикладываю в ссылке. Но сделайте это в конце работы. Вас выбесит, когда меню будет переломанным. Реально выбесит.




Лайфхак два. Открываем любой шаблон, например Главная. В поле Значок (после Имя и Описания) пишем icon-home. Сохраняем, обновляем. Открываем вкладку Ресурсы. Прикольно, да? 🙂 А это из бутсрапа, просто название иконок. Балуйтесь.

На этом пока все. Может будет вторая часть, но позже. У меня снова два ТЗ на рабочем окне, плюс еще надо оправиться после сложного периода депрессии. Так что пару месяцев я тут вряд ли снова вдохновенно накатаю статейку. Но я по прежнему люблю вас, сообщество MODX и EVO CMS.

modx.ru

MODX: лучшая CMS, которой вы никогда не пользовались

CMS MODX – система управления контентом, которая была выпущена в 2005 году. В 2009 году, она была представлена под кодовыми именами Evolution и Revolution. Версия Evolution была основана на оригинальном коде, в то время как Revolution была полностью переписана с нуля. Наша сегодняшняя статья посвящена по большей части Revolution.


В консоли управления MODX вы сможете создавать собственные плагины и скрипты, и при этом иметь доступ к ассортименту платных дополнений.

Более подробная информация представлена на главной странице сайта MODX и в разделе «О нас».

MODX – это больше фреймворк для разработчиков, и уж точно не как готовое решение для любителей «конструкторов». Это не лучший вариант для тех, кто не знает PHP и HTML. Здесь нет конструкторов меню или готовых модулей, которые можно перетащить в шаблон.

Я бы сказал, что MODX – больше CMF (content management framework, «фреймворк для управления контентом»), а не CMS. В нем можно использовать API для управления скриптами, без готовых шаблонов страниц и постов.

CMS MODX шаблоны разработаны на PHP. Она работает на всех популярных серверах, включая Apache, IIS, Lighttpd и nginx. Она использует MySQL, а в качестве ORB (object-relational bridge, «объектно-реляционный мост») — xPDO.

Консоль управления в MODX реализована при помощи ExtJS, Smarty-шаблонов, и собственного API. можно самостоятельно редактировать консоль управления и панели инструментов.

Собственные меню, полный контроль над ACL (списки контроля доступов) – все это в вашем распоряжении. Но для полноценной работы с функционалом потребуются определенные навыки и знания.

Платформа MODX поддерживается компанией MODX, LLC. У нее есть и другие продукты, включая облачный хостинг и консалтинговые услуги. Выбирая MODX, можно быть уверенным в надежности, так как компания вряд ли внезапно исчезнет или прекратит поддержку своего проекта.

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

MODX можно установить, только скачав ZIP-архив и загрузив его содержимое на сервер:

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

Управление проектом происходит через GitHub, и там всегда можно найти свежие скриншоты и релизы проекта. Я рекомендую скачать самую последнюю версию платформы и загрузить ее на свой сервер.

CMS MODX Evolution – это нечто вроде движка для продвинутых пользователей. С самого начала перед вами будет пустой шаблон, над которым придется поработать, а также сотня настроек и функций, с помощью которых можно полностью адаптировать платформу под собственные проекты. Здесь нет никаких конструкторов, помощников, drag and drop интерфейсов, виджетов и прочих удобств.

Если вам нравится писать код вручную, MODX вам точно подойдет. Эта CMS позволяет достаточно быстро обучиться ручной переработке сайтов.

Если вам нужно получить мультиязычную, многосайтовую платформу с раздельным контентом и отдельными уникальными панелями управления для клиентов, то вы точно оцените то, на что способна MODX.

Её можно использовать для создания API, форумов, блогов, корпоративных сайтов, сайтов-визиток! Здесь может быть несколько языков, расширенные настройки прав доступа и безопасности, а также возможность настраивать административные панели под каждого клиента.

Для формирования веб-страницы в MODX используется стек элементов. Так называемые шаблоны, сниппеты, фрагменты кода, переменные шаблона, а также собственная система тегов:


В шаблонах при помощи тегов можно использовать пользовательские данные, данные о текущей странице, метаданные, глобальные системные настройки, переменные, фрагменты кода, сниппеты или заглушки.

Использование MODX предполагает работу над HTML-шаблоном, а также парсинг HTML-кода в готовые фрагменты, а PHP-кода — в сниппеты. Также в шаблонах можно использовать любые произвольные поля. Далее после MODX CMS установки нужно создать ресурс, привязать его к шаблону, заполнить нужные поля, и на этом все!

Resource (ресурс) — обозначение конечной точки. Это то, что указывается в URL-адресе. Тип содержимого ресурса может быть отличным от HTML (например, PDF или двоичные данные). Можно установить принудительное скачивание контента или же отображать его прямо в браузере. Ресурс может даже вести на файл или на внешнюю страницу, либо перенаправлять посетителя на другой контент в пределах сайта.

Template (шаблон) — это рамка (фрейм), в которой отображается контент. Все ресурсы привязываются к шаблону.

Chunk (фрагмент кода) — это HTML или JS-код с возможностью повторного использования.

Snippets (сниппеты) используются для PHP-кода. У сниппетов есть доступ к ядру MODX и ко всем его объектам.

Сниппеты могут запускать фрагменты, и наоборот. Шаблоны и ресурсы могут запускать и то и другое. Это четыре основных составляющих, при помощи которых можно формировать веб-страницы.

Plugin (плагины) способны расширять функционал ядра.

Template Variable (переменная шаблона) — это любые произвольные данные, которые могут понадобиться внутри шаблона, и для которых можно указать ресурс. Например, можно использовать переменную шаблона для произвольного изображения баннера на странице, но потом каждый ресурс может привязать иное изображение для отображения шаблоне. Это что-то вроде произвольных полей WordPress, но с большим набором функций.

Можно комбинировать любые из этих элементов при помощи категорий (Categories). Не забывайте их использовать, чтобы фрагменты кода и сниппеты были организованы, и ими было проще пользоваться.

Админ-панель CMS MODX Revolution основывается на ExtJS. За счет этого в ней можно работать с drag and drop интерфейсом, формами, динамическими таблицами, контекстным меню для правой кнопки мыши и многим другим.

Удобная функция управления позволяет указывать источники медиа-ресурсов, которые также привязываются к правам доступа. У вас могут быть такие ресурсы, доступ к которым клиент получает только после авторизации. При этом конкретные ресурсы для определенных пользователей могут быть доступны только в режиме read-only.

Настройки системы основываются на пространстве имён. Можно создать пространство имён для самого себя и отдельно для того, чтобы использовать его в каком-то из элементов приложения.

Административная панель не такая уж и сложная, просто требуется некоторое время на знакомство и изучение всех функций и возможностей:


Хочу обратить ваше внимание на пункт Website. Это «Контекст», который отвечает за то, что видят пользователи, когда попадают на ваш сайт. У контекстов могут быть абсолютно разные древа ресурсов, права доступа, язык и т. д. По умолчанию, контекст Mgr скрыт из древа.

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

Можно использовать контексты как вам заблагорассудится. Но будьте готовы к тому, что если пользователь авторизован в одном из контекстов, это совсем не значит, что у него будет доступ ко всем другим. Если нужно сделать одну форму авторизации для всех контекстов, то понадобится немного поработать.

Контексты можно использовать для отделения разделов сайта. Некоторые используют их для разделения версий сайта на разных языках.

Я уже упоминал о том, что в CMS MODX есть встроенная система тегов шаблона. Давайте кратко ознакомимся с ее.

Каждый тег открывается и закрывается двумя квадратными скобками [[ … ]].

Специальные символы определяют, что именно используется: фрагмент кода, ресурсы или системные настройки. Как ими пользоваться:

[[*…]]: звёздочка отвечает за ресурсы. То есть, за конкретные данные, используемые текущим источником. Например, заголовок страницы или основной контент. Аналогичным образом можно использовать переменные шаблона.
[[++…]]: осуществляется поиск системных настроек, будь то site_url или произвольная настройка вроде company_phone1 (если до этого вы ее создали).
[[~##]]: этот тег генерирует URL для ресурса по ID (например, [[~32]]).
[[$…]]: этот тег извлекает HTML-код из фрагмента.
[[…]]: тег без спецсимвола приведет к запуску сниппета.
[[%…]]: выводит языковую строку.
[[-…]]: комментарий к коду MODX.
[[!…]]: восклицательный знак указывает MODX на то, что не нужно кешировать вывод данного тега; его нужно использовать в дополнение к предыдущим символам. Если вы вызываете [[!$SomeChunk]], то вывод будет обрабатываться каждый раз вместо того, чтобы выводиться из кеша. Я уже говорил, что в MODX CMS функциональные возможности входит встроенная система кеширования?

К тегам можно применять параметры и фильтры и таким образом изменять их вывод. Например, можно добавить несколько параметров к автоматически сгенерированному URL-адресу:

<a href="[[~17? &section=`food` &sort=`asc`]]">Здесь</a>

Из примера видно, что синтаксис с применением параметров слегка отличается от параметров в привычной строке запроса URL. Вопросительный знак обозначает начало списка параметров, и каждый параметр начинается со знака &, а значение заключаются в обратные кавычки.

Вывод приведенного выше тега будет выглядеть следующим образом:

<a href="yourpage?section=food&sort=asc">Здесь</a>

Сниппет также можно снабдить дополнительными данными, если запустить его подобным образом:

[[!MyCustomSnippet? &input=`something tasty`]]

Мы запускаем сниппет с названием MyCustomSnippet, и задаем ему дополнительные данные через поле input со значением something tasty. В PHP автоматически создается переменная с именем $input, которую позже можно использовать в сниппете.

Теги можно встраивать друг в друга. Один из популярных тегов выглядит следующим образом:

<a href="[[~[[*id]]]]">Ссылка на страницу</a>

Здесь есть указание ресурса [[*id]], встроенное в тег ссылки [[~#]]. Внутренние теги парсятся до внешних.

В иных случаях можно запускать HTML-код и выводить динамические данные, извлекаемые из сниппета. Выглядеть это будет так:

[[$AChunk? &data=`[[!GetTheData]]`]]

Тег chunk использует сниппет для того, чтобы знать, о каких именно данных идет речь.

Так как приведенный выше тег запускает фрагмент, состоящий только из HTML-кода, то как он считывает значения данных? Они доступны автоматически благодаря тегу placeholder:

<h3>Заголовок</h3>
<p>[[+data]]</p>

Заглушки (placeholders) чаще всего используют именно так.

В CMS MODX Revolution теги принимают не только параметры. К ним также можно применять фильтры вывода. Фильтры запускают код постобработки вывода. Можно образовать цепочку из нескольких фильтров. Самый простой пример, приведенный ниже, изменяет регистр строки:

Фильтр начинается с двоеточия, и должен быть указан до параметров. Посмотрите, как выглядит цепочка из нескольких фильтров:

[[SomeSnippet:ucase:replace=`this==that`? &param1=`Go big`]]

В данном примере результат объявления Snippet сначала конвертируется в верхний регистр, а затем запускается специальный фильтр replace, который и меняет положение дел. После фильтров идет перечисление параметров, которое начинается с вопросительного знака.

Стандартных фильтров не так уж много, и ознакомиться с ними можно здесь.

Любой сниппет можно применять как фильтр. Для этого нужно использовать название сниппета в качестве фильтра:

[[$CallingChunk:mySnippet]]

Какой бы HTML-код ни отправлялся с помощью CallingChunk, у mySnippet будет к нему доступ, и его можно будет изменять. Значение $CallingChunk доступно в PHP внутри переменной $input, где вы получите в ответ отредактированное значение (подробнее об этом можно узнать здесь).

Также фильтры можно применять для создания полноценной логики «if then else».

В сайтах на MODX CMS можно распределять контент по категориям, выстраивать отношения элементов в формате parent/child, группировать контент в целях безопасности, создавать плагины для валидации данных, которые вносят ваши пользователи.

Также можно редактировать типы контента и MIME-данные, расширения страниц (использовать .html или нет), а в качестве источника медиафайлов использовать библиотеку Amazon S3.

Редактировать все можно как в формате простого текста/HTML-кода или ради удобства установить дополнения вроде TinyMCE, CodeMirror или ACE. Здесь даже есть свой редактор для Markdown. Это уже не говоря про расширения для отслеживания редакций и экспорта кода для последующего использования в других сайтах на MODX.

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

В MODX CMS админке переменные шаблонов можно распределять по категориям, а затем использовать отдельными группами при редактировании ресурсов. Это удобно, когда нужно создавать произвольный контент, который пользователи впоследствии смогут изменять.

Revolution демонстрирует нам опыт разработчиков, но при этом не задействует некоторые современные PSR-стандарты типа автоматической загрузки или пространства имён.

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

Еще одна проблема заключается в использовании ExtJS. Этот фреймворк хорош, но в MODX используется его устаревшая версия. И обновить ее нельзя, так как это нарушит поддержку множества сторонних дополнений.

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


В этой статье я попытался предоставить как можно больше информации об этой малоизвестной, но крайне интересной CMS.

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

Если нужна полная свобода с точки зрения дизайна, и у вас есть навыки в разработке, то рекомендую попробовать MODX в действии!

Данная публикация представляет собой перевод статьи «MODX: The Best CMS You’ve Never Used» , подготовленной дружной командой проекта Интернет-технологии.ру

www.internet-technologies.ru

Разработка сайтов на MODX, система управления сайтами MODX, создание сайтов на MODX

polotenca-optom.com 2 предложения

редактировать «счета на оплату» Вкратце объясню ситуацию. Клиенту приходит письмо с данными о его заказе, далее эти данные можно перевести с помощью кнопки „Печать счета“ (нажав на нее) счет —в формате PDF, тем самым получает „счет на оплату“. В данном счете есть наименование товара, кол-во ед, ед и…

Бюджет проекта:
500 RUB
Версия MODX:
Все
Разработчики:
Любые
Срок до:
30.11.2019

Магазин картин на холсте 5 предложений

Имеется дизайн и верстка, собранные на Битриксе. printgal.mcdir.ru/ Необходимо собрать на ModX с разработкой каталога с учетом специфики товара. Нужен каталог из 5 разделов с однотипными товарами с одинаковыми свойствами нескольких уровней, которые влияют на стоимость. Интересует стоимость и ср…

Бюджет проекта:
Неопределен
Версия MODX:
Все
Разработчики:
Любые
Срок до:
30.11.2019

Магазин картин на холсте 2 предложения

Есть дизайн и верстка Магазина на Битрикс.
Интересует стоимость и сроки переноса с разработкой каталога с учетом специфики проекта.

Бюджет проекта:
30 000 RUB
Версия MODX:
Все
Разработчики:
Любые
Срок до:
30.11.2019

Сделать виз форму и прикрутить ее на сайт. Сделать блок отзывы на главной странице 1 предложение

Добрый день! Нужна форма квиз для сайта [email protected] Планирую ее разместить на главной странице перед каталогом, вписать ее в дизайн сайта. Форма будет с вариантами ответа и связью конечной выдачи на основе этих вариантов. Форма будет подана покупателю как возможность подобрать Акб на свой …

Бюджет проекта:
5 000 RUB
Версия MODX:
Revolution
Разработчики:
Любые
Срок до:
15.12.2019

Помощь в консультации над проектом 2 предложения

Делаю сайт на MOD X 2,7,1 некоторые вопросы возникают так как слабо знаю программирование. и собственно сам движок, нужна помощь в консультации некоторых вопросов возникающих при работе, думаю для знающего человека это не составит труда ответить на них так как задачи стоят над сайтом простые.

Бюджет проекта:
1 000 RUB
Версия MODX:
Revolution
Разработчики:
Любые
Срок до:
21.11.2019

Редактирование меню интернет магазина сайта на modex 3 предложения

Добрый день! Имеется интернет магазин на MODX Revolution 2.6.5-pl, необходимо сделать редактирование структуры меню сайта. Товары вбивать не нужно в новые вкладки! Все товары которые есть в интернет магазине должны остаться в своих категориях Сайт bigevent.pro/ …

Бюджет проекта:
1 000 RUB
Версия MODX:
Revolution
Разработчики:
Любые
Срок до:
27.11.2019

Доработка сайта на MODx 3 предложения

Необходимо доработать сайт dev.kolosovhouse.com Что нужно сделать: На странице с каталогом при наведении на карточку дома yadi.sk/i/iU6HedPEJyTn5A сделать аналогичный функционал быстрого просмотра фотографий дома (до 3-х фото фасада и планы дома) как на фото yadi.sk/i/q-qLFTm1M8rELg Более подробно…

Бюджет проекта:
3 000 RUB
Версия MODX:
Все
Разработчики:
Частные
Срок до:
12.12.2019

Доработка корзины 6 предложений

доработка корзины, внедрение функции бесплатной доставки, то есть при наборе на определенную сумму, корзина изменяется. Правки в самой корзине, полное ТЗ смогу прислать в личку. Ищу ответственного аккуратного исполнителя, который не будет пропадать, на сотрудничество и ведение сайта на постоянной о…

Бюджет проекта:
10 000 RUB
Версия MODX:
Revolution
Разработчики:
Любые
Срок до:
18.11.2019

Правки в ИМ, 3 задачи 4 предложения

Сайт https://labas.su/ Задача 1: клиент должен видеть минимально возможную цену Необходимо, чтобы цены на товарах стояли оптовые: от *цена*. При клике на кнопку *купить* и вводе количества в корзине будет рассчитываться цена согласно прайса. У нас цена зависит от количества приобретенного. …

Бюджет проекта:
Неопределен
Версия MODX:
Revolution
Разработчики:
Любые
Срок до:
30.11.2019

Архив: Доработать интернет магазин на MODX Revolution 5 предложений

Есть проект магазина, почти доделанный, но требуется внести правки в дизайн шапки, футера и главной страницы по рисункам и замечаниям. И соответственно, сделать вывод меню и прочих элементов. Более подробно могу рассказать в личной переписке

Бюджет проекта:
Неопределен
Версия MODX:
Revolution
Разработчики:
Любые
Срок до:
17.11.2019

modx.ru

Знакомство с MODX / Habr

В наши дни выбор систем управления контентом (CMS) настолько велик, что невольно теряешься. Причем, качество системы не зависит от того платная она или нет, а принятое решение затем надолго вас привязывает к выбранной CMS.
Предлагаю вашему вниманию перевод статьи английского веб-разработчика Марка Дженкинса, открывшего для себя MODX после многих лет разработки в различных системах.
Вначале идет перевод статьи, затем — некоторые комментарии по тексту.



Я только что закончил свой второй проект на платформе MODX, и думаю, самое время изложить свои мысли. У меня сложилось такое впечатление, что в web-индустрии MODX преимущественно не имеет широкую известность, отчасти поэтому, в целях просвещения, я и пишу эту статью.
MODX – это система управления контентом с открытым кодом. Она построена на основе PHP и MYSQL, поэтому работает практически на любом сервере. Как и в WordPress существуют две версии: MODX Revolution (как wordpress.org, версия для скачивания и установки на ваш сервер) и MODX Cloud (как wordpress.com).
MODX – непритязателен: не важно, где располагаются шаблоны, как они организованы или где размещается контент. Это гибкая система, позволяющая работать как вам угодно.
Выбор систем управления сайтами (CMS) довольно широк. Раньше я пользовался WordPress, Perch, Expression Engine и Kirby, так же как Shopify и Magento для интернет-магазинов. Я использую WordPress и Perch на постоянной основе и обе системы доказали свою надежность и простоту использования.
Отсюда возникает вопрос: «Зачем вообще я должен вникать в MODX?»
Думаю, будет честно, если скажу, что я довольно хорошо знаком с WordPress, т.к. делал в этой системе практически все: блоги, 5-ти страничные сайты, мульти- региональные сайты с сотнями страниц. Разрабатывая на WordPress большие сайты, я сталкивался со многими трудностями, например: структура постоянных ссылок и систематика могут быть ограничены. Хотя в последние годы CMS значительно улучшилась, но все же чувствуется, что это не подходящий инструмент для работы с огромными и сложными сайтами.
Именно здесь MODX предстает во всей красе. Пока WordPress собирает структуру (пользовательские типы постов, систематика, темы) MODX предлагает пустую оболочку, готовую подстроиться под любые ваши потребности.
То, с какой легкостью MODX работает с шаблонами, впечатляет. Не нужно создавать шаблоны с заданным именем файла или размещать их в определенной папке, а синтаксис MODX обеспечивает чистоту и доступность кода.
Освоить MODX несложно.
Во-первых, MODX использует другую терминологию:
  • Ресурсы – веб-страницы (ресурсами также могут быть документы, ссылки и проч.)
  • Шаблоны
  • Переменные шаблона – эквивалент пользовательских полей в WordPress
  • Чанки – повторяющаяся на разных страницах HTML- разметка (например: шапка, подвал, боковые панели и т.д.)
  • Сниппеты – динамические куски PHP кода.

Во-вторых, MODX использует свой синтаксис тегов. Поначалу, я думал, зачем вообще разработчики MODX заморачиваются над созданием своего синтаксиса, но попробовав на практике, стало понятно. Он позволяет содержать код шаблона чистым и понятным (по крайней мере, лучше, чем эти ужасные непоследовательные функции WordPress).


Моя команда не испытывала никаких трудностей с последним проектом. Мы использовали этот .gitignore файл для исключения всего, кроме папок assets и core.
В базе данных не хранятся пути к файлам, поэтому можно запросто перемещать базы данных во время разработки.
Как я уже отмечал в этой статье, изучить MODX несложно. Некоторое время займет привыкание к терминологии и способам реализации тех или иных вещей.
Документация достаточно хорошая, хотя в поисках ответов на некоторые вопросы вам придется постараться. Шансы найти ответ по возникшей проблеме в WordPress, вероятно, в несколько раз выше, т.к. численность сообщества MODX поменьше.
Тем не менее, я нашел сообщество в Твиттере, которое оказалось очень полезным. Отправив несколько вопросов группе #MODX, я каждый раз получал хотя бы один ответ, который направлял меня в нужном русле.
Процесс установки MODX более сложный, чем у WordPress. Например, чтобы установить систему локально, я клонировал наш репозиторий, затем скопировал туда файлы MODX, настроил файлы конфигурации, запустил установку, подправил некоторые файловые разрешения и снова запустил установку. По сравнению с WordPress, поднятие и запуск MODX немного витееваты.
Пока я еще новичок в MODX и должен многое изучить, в конечном итоге, я понимаю, что нашел добротную и надежную CMS, предлагающую гибкость, которая мне нужна.
Я без сомнений могу порекомендовать ее для бизнеса с большими веб-сайтами на сотни страниц. И уже с нетерпением жду погружения в следующий MODX проект…

Комментарии от переводчика


  1. Автор статьи выделяет две версии MODX: Revolution и Modxcloud, между тем как официальное разделение происходит на Revolution и Evolution.
    Версия MODX Revolution рекомендуется к использованию всеми пользователями, включая новичков, это современная, надежная система. Совершенно новый API базы данных на основе xPDO обеспечивает эффективный и простой способ чтения, создания и редактирования всех MODX объектов. С помощью одного простого запроса можно манипулировать данными нескольких MODX таблиц.
    Версия MODX Evolution также достаточно надежна и стабильна, постоянно обновляется, но является уже устаревшей, и подходит для сайтов, которые уже работают на ней или для тех веб-хостов, где ограничена оперативная память 8M или 16M, т.к. для Revolution требуется минимуму 32M.
    Что касается Modxcloud, то это дополнительный сервис от команды MODX — виртуальный хостинг на базе уже встроенной самой последней версии MODX Revolution. Хостинг рассчитан на серьезные проекты с большой нагрузкой на сервер, хотя есть возможность выбрать бесплатный вариант размещения (очень даже неплох для получения опыта работы с MODX). Разместив сайт на MODXcloud, процесс обновления в дальнейшем происходит по клику, можно сказать, вопрос обеспечения безопасности сайта здесь вне конкуренции.
  2. Когда автор говорит о хорошей документации, речь, конечно, идет о англоязычной версии.
    Тем не менее, русскоговорящих сайтов по системе MODX сейчас довольно много, так что разработчики не будут одиноки.
  3. Автор описывает трудности установки MODX на локальный сервер, но на самом деле все гораздо проще: сервер с установленным PHP и cgi не досаждает с вопросами доступа и процесс установки длится 3-5 минут.
    А вообще, разработчики MODX рекомендуют пользоваться расширенным дистрибутивом установки (advanced вместо traditional), что на порядок повышает безопасность вашей системы: вы можете ядро системы установить в папку, недоступную из веба, а папки бэк-энд менеджера и коннекторов переименовать как вам угодно.

habr.com

Система управления сайтом, разработка сайта на MODX CMS, програмирование на MODX

Система управления сайтом, разработка сайта на MODX CMS, програмирование на MODX
Как правильно использовать название «MODX» на письме?
После ребрендинга правильно писать «MODX» только заглавными буквами в точности так, как это ображено на логотипе.
Как правильно произносится MODX?
На русском языке наиболее правильно MODX произносится как «мóдэкс». Любые другие варианты, например, модикс, мод-икс, модыкс и тому подобное являются некорректными. Старайтесь избегать неправильного произношения.
Что мне потребуется для запуска MODX?
MODX работает на разнообразных системах программного обеспечения. Однако для достижения наилучшего результата мы советуем использовать последние актуальные версии языка программирования PHP, базы данных MySQL и веб-сервера Apache. Для работы дружественных адресов страниц (friendly URLs) наиболее удобный и быстрый путь — это использование веб-сервера Apache с включенным модулем mod_rewrite.
Как быстрее всего научиться работать с MODX?
В сообществе MODX есть много замечательных пользователей, которые написали отличные руководства и книги по нашему скромному Open Source проекту. Ознакомившись с этой информацией, вы сможете быстро приступить к работе с MODX.
Сколько стоит MODX?
Проект MODX выпускается под лицензией GNU GPL и не требует никаких лицензионных платежей за использование программного обеспечения. Ваши затраты могут складываться только из стоимости аренды или покупки серверов и услуг. Конечно, мы поощряем пользователей, которым нравится работать с нашим ПО, помочь проекту MODX, если у них есть такая возможность.
Как я могу добавить исправление ошибки (бага) в код проекта?
Если сообщение об ошибке еще не существует для специфической проблемы, пожалуйста, создайте запрос в нашем багтрекере для проектов Revo или Evo. Вы можете отправить пулл реквест (pull request) в аккаунт MODX на Github. Как и для многих других Open Source проектов, отправка вашего кода должна быть совмещена с подтверждением лицензионного соглашения (CLA, Contributors License Agreement).
Как я могу получить возможность для совершения коммитов?
MODX использует Github, поэтому вам не потребуется прямой доступ для коммитов для того, чтобы участвовать в разработке. Любой может начать отправлять пулл реквесты для кода, который находится на Github, но не забудьте, что перед этим вы должны подтвердить лицензионное соглашение (CLA).
Насколько хороша система управления сайтами MODX?
MODX настолько хороша, что Чак Норрис съеживается в страхе.
Должен ли я уметь программировать, чтобы использовать MODX?
Чтобы работать с сайтом ежедневно, определенно нет. Если вы умеете работать с Microsoft Word, то обычно в течение часа или даже менее того вы сможете научиться отлично работать в MODX с теми сайтами, которые были установлены для «обычных» редакторов и конечных пользователей. Однако для установки и настройки сайта вы должны знать и уметь применять базовые блоки веб-разработки: HTML, CSS, JavaScript, а также иметь опыт в ручной разработке сайтов.
Могу ли я использовать мою любимую JavaScript библиотеку в MODX?
Безусловно да, поскольку MODX не накладывает абсолютно никаких ограничений на то, что выводится в клиентской части (Front End).
Насколько большой сайт я могу построить на MODX?
Для MODX версии Evolution в зависимости от конфигурации вашего сервера система кеширования может иметь некоторые ограничения в размере порядка 5000 документов, но это только грубое предположение. MODX Revolution фактически устраняет большинство ограничений размера и масштаба сайта при правильной конфигурации системы.
Почему существует несколько версий MODX?
  • 0.9.6.x — первоначальная основа программного кода, которая была запущена с первого стабильного релиза в виде версии 0.9.0 в конце октября 2005 года. Больше не поддерживается.
  • Evolution — очищенный и обновленный дистрибутив версии 0.9.6.x с новыми соглашениями и терминологией, которые были приближены к нашему полностью переписанному релизу Revolution.
  • Revolution — это полностью объектно-ориентированная система, которая находилась в разработке почти 3 года до ее начального релиза. Система предназначена для ликвидирования найденных в оригинальном коде ограничений с помощью действительно рекурсивного парсера и для преодоления теоретического потолка в 5000 документов в MODX Evolution.
Могу ли я обновить MODX с 0.9.6.x/Evolution на Revolution на существующем сайте?
В большинстве случаев обновление будет легко произведено с помощью нескольких дополнений для миграции. Если у вас имеется какой-либо проприетарный код (сниппеты), возможно, вам потребуется сделать некоторые средние изменения для обновления до нового API.
Существует ли в MODX система ревизий и отмены изменений? Рабочий процесс публикаций?
Эти возможности пока еще не входят в релиз ядра системы, но они запланированы на будущие релизы Revolution.
Может ли MODX поддерживать одновременно несколько сайтов из одной установки?
Да, хотя методы различаются для каждой версии MODX. Инструкции для поддержки нескольких сайтов в Evolution/0.9.6.x можете получить на форумах. Для поддержки нескольких сайтов в Revolution читайте статью Wiki.
Поддерживает ли MODX мультиязычность?
Да. В Менеджере MODX имеется перевод на многие языки. Для мультиязычных сайтов, пожалуйста, смотрите варианты решений на наших форумах.

Самое новое о MODX

modx.ru

MODX Revolution, MODX Revo, CMS MODX, бесплатные CMS

Возможности MODX Revolution

Хотя каждый пункт из списка ниже не способен полностью отразить всю доступную функциональность, простоту разработки и дружелюбность к пользователю системы управления MODX Revolution, вы cможете представить основные возможности, узнав о некоторых из них:

Безопасность и защита
MODX довольно серьезно заботится о безопасности. Вся архитектура MODX Revolution была создана с учетом требований безопасности. Каждый ввод данных фильтруется, а каждый запрос в базу данных при использовании API выполняется через подготовленные запросы (prepared statements), которые устраняют возможность SQL инъекции. Команда разработчиков постоянно проводит аудит кода MODX для того, чтобы быть уверенными в актуальности кода, и исправляет любые проблемы, которые могут возникнуть.
Полная свобода творчества
Система управления сайтами MODX позволяет создавать сайты точно такими, как вы их себе представляете, с абсолютно неограниченными возможностями для творчества. Мы считаем, что средства разработки сайтов должны учитывать творческое видение пользователей, не вводя никаких специальных ограничений.
Бесподобная оптимизация сайтов (SEO)
MODX позволяет вам практически без усилий контролировать вывод информации на все 100%. В отличие от других систем, которые требуют изучения сложных движков темизации, в MODX вы работаете напрямую с HTML и с таким количеством специальных переменных сайта, которые действительно вам нужны. Порой тратятся минуты на создание сайта, который занимает удивительно хорошие позиции в поисковых системах. А вследствие того, что разработчик сайта полностью контролирует и может изменять вывод информации в любое время, для внесения улучшений потребуется всего несколько кликов.
Устанавливайте MODX как и где хотите
Гибкая система установки позволяет развертывать систему практически в любых условиях. Вы можете установить ядро системы вне корня веб-сервера, переименовав директорию ядра для дополнительной безопасности. Также вы можете поддерживать несколько сайтов на MODX из одного набора файлов.
Устанавливайте дополнения (add-ons) внутри приложения
Система управления пакетами в MODX позволяет администраторам сайтов устанавливать, обновлять и переносить содержимое, шаблоны, дополнения или даже полностью сайты, не беспокоясь о потерянных шагах или зависимостях. Все работает из единого интерфейса внутри Менеджера MODX, который удаленно получает информацию с сайта MODX.
Новый Менеджер со встроенной системой индивидуализации
Свежий новый интерфейс, построенный на MODX API и работающий на индивидуальной реализации ExtJS, создает новые возможности для разработчиков MODX быстро разрабатывать индивидуальные интерфейсы и дополнения. Разработчики могут создавать такие интерфейсы Менеджера, которые будут показывать только специальные поля и меню, необходимые для обычных редакторов сайта.
Безопасность промышленного уровня, модели пользователей и аутентификация
Характеристики на основе списка управления доступом (ABAC, Attribute Based Access Control) позволяет администраторам сайтов детально разграничить доступ к сайтам на MODX Revolution. Аутентификация может производиться через встроенную систему пользователей, службу каталогов Active Directory, LDAP, OpenID или в сущности через любую другую систему, которая может использовать MODX API.
Прекрасная интернационализация и локализация
MODX Revolution предоставляет множество подходов для работы с мультиязычными сайтами. Среди них обязательно имеется подходящий вариант почти для любого сайта. Культуры и контексты могут работать вместе, создавая детальные настройки интернационализации внутри фреймворка. Это позволяет разработчикам определить язык, валюту и формат даты, а также еще что-либо, что может быть нужно локализовать в разработке.
Объектно-ориентированное ядро и API
Переписанная CMS с нуля при использовании xPDO система MODX позволяет легко работать со специальными источниками данных, даже с несколькими разными типами баз данных. Сочетание полностью объектно-ориентированным API с последовательной архитектурой работа с MODX делает программистов просто счастливыми.
Контексты
Системные настройки MODX с помощью контекстов могут быть перезаписаны, расширены, изолированы или разделены между доменами, поддоменами, подсайтами, несколькими сайтами, специфическими языковыми разделами, различными веб приложениями и т.д.
Расширяемое кеширование
Новое ядро и техника кеширования на уровне частей веб-страницы позволяют уменьшить общий размер кеша одновременно с уменьшением нагрузки сервера путем организации файлов кеша в иерархическую структуру директорий. Новое ядро MODX также позволяет сохранять результаты запросов базы данных в файл, память (при использовании memcached) или в индивидуальную систему кеширования. Это приводит к уменьшению нагрузки на базу данных и расширению возможностей для комфортной работы с высоконагруженными сайтами.
Фильтрация контента
Любой элемент MODX (TV, Content, Chunk, Placeholder) может иметь сложную систему пре- и постобработки, примененной через фильтры ввода и вывода. Например, вы можете использовать их для обрезки части текста, форматирования даты, математических вычислений или чего-либо еще, что вы могли бы придумать с маленьким кусочком кода.
Парсер контента с частичным кешированием страницы
MODX предоставляет полностью рекурсивный парсер. Любой элемент MODX, включая сниппеты, чанки, переменные шаблонов (TV) и плейсхолдеры могут быть сделаны некешируемыми для частичного кеширования страницы.
Расширения без изменений ядра
Объектно-ориентированное ядро MODX позволяет вам создавать свои собственные индивидуальные реализации множества возможностей ядра без изменений кода ядра. Это помогает защитить разработку и гарантирует возможность обновления в будущем.
Переопределяйте все!
В MODX вас никто не заставляет разрабатывать только в одном единственно возможном стиле. Если у вас есть специфические требования, вы можете использовать индивидуальную программу работы MODX путем расширения классов ядра. Это включает в себя парсер контента, обработку запросов и ответов, сессии, обработку ошибок, частичное кеширование страниц и кеширование результатов запросов базы данных.
Родные JSON и очередь сообщений
MODX включает и использует родную обработку JSON для взаимодействия с другими системами с помощью архитектуры REST. Простая встроенная очередь сообщений позволяет реализовать публикацию сообщений и подписку на передачу сообщений для продуманного взаимодействия с внешними системами в промышленных приложениях.
Сессии, управляемые базами данных
Параметры конфигурации обработчика сессий реализуют совместимость с системами кластеризации веб-серверов.
Журналирование ядра
Система предоставляет различные уровни ошибок и выводимых данных, включая ECHO, HTML и FILE. Разработчики используют эту функциональность для журналов аудита, аудита ошибок, отладки или других целей.

modx.ru