MODx Revolution и MODx Evolution: сходство и отличия. Modx evolution и revolution разница


Отличия Revo от Evo / Личный блог / Блоги / bezumkin.ru

Решил, наконец, написать эту статью. Обладая опытом работы на Etomite около полугода, на Evolution около двух лет и Revolution чуть больше года я могу немного раскрыть эту тему. Статья не для холивара, просто факты и примеры. Обе версии я рассматриваю без хаков и допиливаний, то есть, речь о стандартных версиях от modx.com.

Скажу честно, на мой взгляд для использования Evolution остаалось только 2 причины: 1. Более быстрый парсер и админка. Большая легкость движка как такового. 2. Нежелание осваивать новое, обучаться.

Вторую причину раскрывать не нужно, а на первой остановимся подробнее.

Парсер

У Evolution действительно более быстрый парсер, оттого, что он гораздо более простой. Это позволяет использовать его на абсолютно никаких хостингах.

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

Делать вот так — нельзя:

[[!getResources?&resources=`[[!getIds?parents=`12,14`]]`]]А у Revo — можно, и не на один уровень. И вызывать с кэшированием или без, и не важно что во что вкладывать. Можно жуткую пирамиду насобирать — и это будет работать. То есть парсер тут, воистину рекурсивный.

Парсер Revo работает без применения eval(). Все страницы рендерятся в *.php и выполняются уже как обычные php файлы. Что гораздо безопаснее, вот например. Еще много разного можно легко нагуглить.

Также у Revolution phx встроен изначально (только называется теперь фильтрами), соответственно можно использовать везде различные выражения. И тогда мы можем задать дефолтную фразу при отсутствии результатов работы сниппета:

[[!getResources:empty=`Ресурсов не найдено`? &resources=`[[!getIds?parents=`12,14`]]` ]]Еще можно вспомнить проблему съедания плейсхолдеров в Evo. Она, конечно, решена, но не из коробки.

Значительно отличие еще в том, что парсер Revo работает через xPDO, который, при всех его достоинствах, конечно медленнее чем запросы в БД почти напрямую, как в Evo.

Также иначе парсятся чанки — они поддерживают переменные:

[[$Chunkname?foo=`bar`]]То есть, вызывается как сниппет.

Еще у Revo Значительно больше события для плагинов, и гораздо более мощная система прав юзеров — это тоже учитывается при работе парсера.

Дальше. У Revolution есть сразу из коробки поддержка словарей и лексиконов, и если вы используете вот такие плейсхолдеры — [[%var]] — то надо и их обработать, то есть вставить текст из соответствующего словаря системы (они конечно кэшируются).

И при всем при этом парсер Revolution работает на уровне Evo, и по тестам особого отставания нет.

Словари и контексты

Чуть подробнее о словарях. У самого ядра есть, а у любого компонента могут быть разные словари. А в системных настройках — язык. И при переключении языка весь текст движка и компонентов молниеносно меняется на другой, на нужном языке.

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

Если кто не знает про контексты — поясняю. Это мультисайтовость Revo. В нем можно создать несколько сайтов в одной админке. Это довольно легко.

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

Юзеры и группы

У Revo нет менеджеров и юзеров.

Все — юзеры, но с разыми правами. Они могут хотить в разные контексты, разделы админки, видеть разные директории на сайте(!), использовать только свои определенные ТВ и т.д.

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

Подробнее — вот тут.

xPDO

Наконец, Эти известные 3 буквы.

Это сердце Revolution, все запросы работают через уровень абстракции, который защищает нас от SQL инъекций. Конечно, он не защищает от XSS — когда юзер сохранил данные в БД через комментарий (ну предположим!) и он вывелся на странице, украв ваши куки. Но от этого ничто кроме прямых рук не защитит.

Примеры вызова на xPDO и обсуждения можно посмотреть в этих темах: раз, два, три.

Тут можно много рассказывать, но я ограничусь 3мя тезисами: 1. Это очень удобно 2. Это очень безопасно 3. Это значительно медленнее, чем работа с БД у Evo. Но в моей статье есть примеры, как это обойти.

И да, все кэширование тоже часть xPDO. За возможность произвольно сохранять что угодно в кэш, произвольно чистить кэш отдельных элементов, контекстов и т.п. — тоже нужно благодарить xPDO, но это больше разработчикам интересно.

Репозиторий

Мое любимое.

Да друзья, все кто знаком с GNU/Linux хоть немного знают про необъятные репозитории с готовыми бесплатными приложениями, которые ставятся одной командой.

Здесь так же.

То есть, вы идете в раздел админки, тыцкаете «установить getResources», 15 секунд — и он установлен. А при обновлении предыдущая версия пакета бэкапится, и вы можете на нее откатиться там же, в админке.

Больше нет гемороя с установкой расширений! Вообще.

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

Но это очень легко поправить, просто установите: 1. Wayfinder — вывод меню 2. getResources — вывод ресурсов 3. getPage — постраничная навигация 4. Theme.Bootsrap — если нужен пример оформления

Лично я всегда раньше при установке Evolution принципиально отключал установку лишних расширений. Но прикол в том — что они уже на HDD сервера. То есть, их не было в админке, но на сайте то они были! У Revo все как надо.

И кстати, можно ставить скриптами заранее заданный набор расширений. Да и вообще автоматизированно устанавливать Revolution на сервер.

Компоненты

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

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

Я не знаю, что нельзя сделать компонентом. Ну серьезно!

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

Резюме

Вот, на мой взгляд, несколько серьезнейших отличий, которые никак нельзя игнорировать.

Работа в Revo удобнее, проще и быстрее (хотя это не сразу понятно). Про административную часть я могу петь часами, чего только стоит перетаскивание сниппета в контент, при котором вы видите все его параметры и можете легко изменить. А файловый браузер?

Единственное, что можно поставить в упрек Revolution — требования к хостингу. Тут да, не поспоришь. На хостинге за 100р в месяц он работать будет крайне неохотно. Зато на хостинге за 300р — уже летает. Один раз настроить для себя — и забыть обо всех проблемах, наслаждаясь скриптами установки\удаления\апгрейда сайтов. Да и опыт администрирования GNU/Linux никому еще не мешал.

А еще авторы MODx грозятся нас порадовать своим собственным облаком, понятно, только для Revo — сплю и вижу.

Поэтому, друзья, если кто еще не знакомился с Revo — я вам предлагаю это сделать. Если вы хотите топать в ногу со временем — пора, пора осваивать, потихоньку.

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

Также работает сервис тестовых сайтов — modx-test.com, где вы можете получить в абсолютное пользование свежий сайт, на сутки. Бесплатно и без смс =)

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

bezumkin.ru

MODx Evolution (Evo) vs. MODx Revolution (Revo), что лучше и в чем отличия?

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

У большинства разработчиков на MODx, практикующих использование как Evo, так и Revo дела с выбором версии обстоят следующим образом. Если требуется разработать, что-то простое, не прибегая к серьезным доработкам, а лишь используя дополнения из репозитория, то выбор падает на версию Evo. Если же требуются серьезные доработки, или сильно усложняется проект, то выбор падает в сторону Revo. Такая ситуация сложилась у многих, подтверждением этому служат обсуждения на форумах.

Некоторое время, я также как и многие пользовался подобной практикой. Но со временем полностью склонился к MODx Revolution. И если честно, причин этому практически нет. Единственной причиной, я вижу более оперативную реакцию на возможные «баги» в «движке» со стороны разработчиков.

Отличия MODx Evo от Revo.

Основное отличие Revo от Evo это использование xPDO. Это своего рода абстракция над БД (промежуточный уровень).

Парсер Revo работает через xPDO. В Evo работа парсера основана на прямых запросах к БД, и как следствие быстрее работает. Казалась бы очень значимая сторона, но разница, на мой взгляд, столь незначительная, что просто не является критерием выбора.

У использования xPDO имеются и сильные стороны в плане безопасности, и исключении возможных SQL инъекций.

Кэширование в MOD Revo также завязано на xPDO.

В MODx Revo изначально предустановлен phx, что очень удобно при наложении дополнительных условий при вызове сниппетов и в других случаях.

modx evo vs. modx revo

Еще одна отличительная особенность работы парсера Revo – использование переменных в вызове чанков, Evo подобную технологию не поддерживает. Хотя на самом деле данная конструкция редко используется в простых решениях.

Количество событий поддерживаемых в Revo значительно выросло. Это действительно интересно и очень полезно. Часто это выручает во время разработки собственных решений.

Репозиторий.

По умолчанию CMS MODx Revo ставится «пустой». То есть не устанавливается, какой то пакет сниппетов, модулей и чанков, к которым привыкли в Evolution. Многих это пугает. Но до тех пор, пока они не познакомятся с репозиторием от Revolution.

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

modx-evo.ru

MODx Revolution vs MODx Evolution

20 июля 2010 года сообщество анонсировало выход новой версии MODx Revolution 2.0.0. Новые версии дистрибутива доступны для скачивания на официальном сайте CMS MODx. Также была выпущена новая версия MODx Evolution 1.0.4, в которой исправлены в основном баги безопасности.

Я решил протестировать новую систему. Единственным реально стоящим тестом для новой CMS  является попытка сделать на ней сайт с конкретными требованиями к функциональности. Очередной проект я решил развернуть на  MODx Revolution 2.0.0.

Не берусь дать полную обзорную картину для сравнения, опишу только то, что порадовало или огорчило меня.

Впечатления крайне неоднозначные.

Плюсы:

1)      Загрузка новых модулей (имеется в виду сниппетов, шаблонов, расширений функциональности для публичной (front-end) и административной части (back-end)) осуществляется из репозитория MODx. В принципе, можно указать другого источника дистрибутивов. Похожая система в WordPress;  очень здорово, что разработчики MODx ее переняли.

2)      Реализован первый пример организации многосайтовости. Сам не тестировал (для проекта это было не нужно), но факт тоже положительный.

3)      Приобрело удобный и понятный интерфейс логическое разделение на ресурсы (ресурсы в свою очередь на папки и документы), элементы (сниппеты, чанки, TV-параметры) и файлы.

4)      Вообще над usability системы очень здорово поработали, система стала еще более гибко настраиваемой и удобной на мой взгляд.

5)      Ранее MODx начинал сильно тормозить при количестве документов более 10 000. Я делал проект, где было около 12 000 документов: на старой версии в публичной части все хорошо, а в административной части очень сильно тормозила AJAX-структура документов.  Разработчики пообещали, что в новой версии работа системы с десятками тысяч документов  будет удовлетворительной.

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

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

8)      Реализована система управления безопасностью, позволяющая, например, завершить сеансы всех пользователей. Не думаю, что это востребованная штука; в случае скомпрометированного пароля сыграет скорее на руку злоумышленнику, а не владельцу сайта, но тем не менее функционал интересный.

9)      Появилась сущность «символическая ссылка». Не видел такого в других CMS, всегда приходилось делать ссылки руками.

10)   Заметно лучше стала система кеширования данных. Сейчас она принципиально напоминает Битрикс. Огромное количество расширений позволяет настроить работу системы «под себя».

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

Минусы системы:

1)      Невозможно установить, пользуясь браузером IE. На выборе базы данных процесс останавливается. Интересно, это фатальный ба г(никто не догадался протестировать систему в самом популярном на планете браузере) или заранее обдуманный шаг сообщества, разработчиков бесплатной системы управления против коммерческого браузера?:-)

2)      При установке системы нет списка основных сниппетов,  которые часто используются. Пакеты придется устанавливать вручную.

3)      В списке пакетов нет возможности удалить расширение. Если во время загрузки произошла ошибка, удалить пакет потребует немало усилий.

4)      Не установился пакет редактора TinyMCE. Его можно было включить и в базовую поставку.

5)      Пакет не полностью русифицирован, попадаются англоязычные поля.

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

7)      AJAX очень хороший серверно-клиентский способ взаимодействия. Но и его должно быть в меру. Сейчас от обилия AJAX система выглядит неповоротливой и тормозной, а не более шустрой.

8)      Огромное количество расширений наталкивает на подозрение, что возможна загрузка не протестированных дополнений, способных сделать систему уязвимой. Подобная ситуация наблюдается сейчас с Joomla. Безопасность сайта может серьезно пострадать при загрузке небезопасного обновления. Возможно, все это и не будет иметь места в данном случае, но практика показывает, что в CMS происходит так.

Выводы:

Направление развития CMS MODx впечатляет. Правильной дорогой идет сообщество. Но MODx Revolution 2.0.0 еще крайне сырая система, при разработке проектов на ней возможны серьезные трудности. Не советую я пока пользоваться этой системой для разработки интернет сайтов, есть смысл подождать исправления основный багов в следующих релизах системы.

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

www.mgordeev.ru

MODX Evolution или Revolution (CMF)

 

Content Management Framework

 

— это каркас (фреймворк управления содержимым) для проектирования систем управления контентом. (CMS) На их основе создаются системы управления содержимым (CMS), а также веб-приложения.

   Достоинства:   

1) Бесплатный

2) Быстрый (Работает даже на медленных хостингах)

3) Обновляется и расширяется

4) Разные шаблоны для одного сайта (WordPress и Joomla - так не могут)

5)  Не нужен FTP и Редактор кода - позволяет все делать силами MODX.

 

   Недостатки:   

 

1) Нет каталога товаров и Корзины (Решается отдельными модулями)

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

GO по ссылке:

https://modstore.pro/

2) Нет связи с 1С Базой (для обмена выгрузка: цен, товаров) - решается через самописные костыли.

3) Узкопрофильный - Мало специалистов по MODX

4) Нет шаблонной визуальной части - т.е. внешняя часть разрабатывается с нуля из html-рукописного.

 

Отличия Evolution и Revolution MODX:

 

MODX Evolution — это классическая базовая CMS «семейства» MODX. Первый релиз данного приложения увидел свет в 2005 году. В силу проверки временем, он имеет большую базу дополнений (нежели Revolution), которые расширяют встроенные функциональные возможности системы. Эта ветка развития отличается качественным оптимизированным кодом, что делает данный движок пригодным для использования на сайтах различных типов.

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

MODX Evolution будет работать быстрее на маленьких сайтах. Однако MODX Revolution может масштабироваться до очень больших, мульти-серверных сред. Она поддерживает более гибкое настраиваемое кэширование, может функционировать с несколькими базами данных (СУБД MySQL, Microsoft SQL Server). Кроме того MODx Revolution изначально дает возможность использования 1 дистрибутива на нескольких веб-сайтах (мультисайтинг), защищенные конфигурации с большинством файлов хранятся вне корневого каталога веб-сервера.

Хотя обе версии CMS — и Evo, и Revo имеют поддержку ресурсов (веб-страниц) и веб-ссылок (перенаправление ссылок на другие страницы в интернете), MODX Revolution также включает в себя статические ресурсы (статические файлы в файловой системе), символические ссылки (ссылки на другие страницы, которые могут сохранять свои источников медиа-данных, файлы последних при этом можно хранить буквально в любом месте, которое  доступна через API (например, Amazon S3).

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

 

 

 

tumbleron.ru

MODX EVO store — первый репозиторий для MODX EVOLUTION / Хабр

Приступаем к разработке
Первым шагом стало создание установщика пакетов. На это ушло пару часов, так как по факту весь код давно присутствует в MODX в папке install, вот тут можно почитать про это.

Ну а дальше уже дело техники. После обсуждения с Bumkaka определили то, что является приоритетным и приступили к работе. Делать решили на базе MODX EVOLUTION. И вот спустя 3 недели после возникновения идеи готовы представить вам наш небольшой стартап.

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

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

Cразу у многих возникнут резонные вопросы: а как же безопасность, а если я выложу свой пакет кто мне гарантирует что он не утечет в сеть и вся работа коту под хвост и т. д и т. п? На этот вопрос ответ будет очень простым: мы не храним ваши решения у себя на сервере.

После недолгих размышлений было принято решение хранить только ссылку на пакет, что дает возможность хранить пакеты где угодно, к примеру на Dropbox, Яндекс Диске, у себя на сервере или где-либо еще, открывая к ним доступ только на время пользования MODX-STORE.

Так же это дает возможность легко обновлять пакеты, как личные так и общественные, например, используя GitHub. Собственно все решения которые у нас общем репозитории уже хранятся тут: https://github.com/modx-store/ Это даст возможность всем желающим принять участие в поддержке любимых расширений, а так же всегда пользоваться свежими версиями.

Как все работает
Для начала пользованием MODX-STORE необходимо сделать всего 2 шага:
Дальнейшие планы

UPD. 30.08.2013 обновили до версии 0.1.1

habr.com

MODx Revolution и MODx Evolution: сходство и отличия

Сохранились ли схожие черты обеих версий?

MODx Revolution представляет собой улучшенную версию MODx Evolution, в ней разработчики постарались не допускать прошлых ошибок и модернизировать базовые элементы.

MODx Revolution и MODx Evolution: сходство и отличия

MODx Revolution представляет собой улучшенную версию MODx Evolution, в ней разработчики постарались не допускать прошлых ошибок и модернизировать базовые элементы. Программа позволяет организовать управление «начинкой» интернет ресурса на высоком техническом уровне. Конструктивно это становится допустимо при открытом базовом коде.

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

Изучаем MODX: преимущество версии MODX 1.2.1

На начальном этапе изучения MODX версия MODX 1.2.1 становится отличным подспорьем в освоении многих профессионально значимых моментов. Версия 1.2.1 и выше отличается особым удобством при запуске и комфортом использования. Эта версия оптимизирована по отношению к техническим требованиям. Эта платформа эффективна практически на любом хостинге (на платных ресурсах).

MODx Evolution подходит для работы с CMS любых среднеформатных интернет площадок (не более пяти тысяч документов). Специалисты считают, что данное лимитное ограничение носит условный характер. К примеру, каталог на десять тысяч позиций можно оформить в виде отдельного снипета. REVO может стать настоящей панацеей, если вы - профи в этой сфере, и в конкретный момент необходимо вливание «новой струи».

MODx Evolution – вариант для полномасштабного проекта

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

Можно воспользоваться готовыми решениями в надежде экономии временных ресурсов и усилий, но намного проще разработать проект с нуля, а не дорабатывать неудачные заготовки. Конструкт VPS в единстве с VSD в этом отношении можно нагрузить дополнительным функционалом.

MODx Revolution и MODx Evolution: основные отличия

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

Безопасность в новой версии организована на высоком уровне. Права доступа базируются на модифицированной системе, степень приватности значительно усилена, компоненты friendly_url_prefix в протоколах отсутствуют. Revolution доступна к управлению и настройкам через популярный Content Types, что значительно упрощает процесс использования.

Теги преобразованы относительно основного синтаксиса (настройки сниппетов, доступных фрагменты HTML кода, ссылочные массы и проч.). Опытные специалисты со здоровыми амбициями могут переформатировать итоговый интернет ресурс (со разработанными страницами, чанками, формами шаблонов и проч.) посредством перехода с EVO на REVO, используя ресурсы Provisioner.

MODx Revolution и MODx Evolution: есть ли сходства?

Сохранились ли схожие черты обеих версий? Такие, на первый взгляд, схожие разветвления единой системы, отличаются степенью модернизации. Тем не менее, MODX Evolution признается классикой. Это основополагающая CMS всех версий MODX.

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

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

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

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

MODX Evolution адаптирован к формату гибкого кэширования, к совместному использованию с СУБД MySQL и популярной в профессиональной среде Microsoft SQL Server. Система оптимизирована для одного дистрибутива в условиях мультисайтинга.

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

blog.vooa.ru


Prostoy-Site | Все права защищены © 2018 | Карта сайта