Evolution CMS 2.0 на компонентах Laravel 6.0 — естественная эволюция MODX Evolution / Хабр

Настало время релиза Evolution CMS 2.0 RC на компонентах Laravel 6.0, но как показал предыдущий релиз и последующие за ним обсуждения — существует масса вопросов и мифов связанных с веткой 2.0.


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

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

Уровень совместимости максимальный — даже с версии 0.9 вы можете обновиться до 1.4, а с нее до 2.0 при сохранении функционала. Хотя надо учитывать возможные проблемы которые могут возникнуть с depricated методами из за того что нужно поднять версию php до 7. 2, но скорость работы того стоит, а реагировать на эти баги буду быстро, чтобы приблизить срок стабильного релиза.

Специально для сомневающихся записал видео в котором система обновлена с 1.0.8 до 1.4 (обновил бы и с более старой версии но не нашел на столько устаревший хостинг)


А вот в этом видео уже рассказывается как с 1.4.* обновить до 2.0:


В итоге — на 2.0 можно работать точно также, как и на 1.4 и ниже.


Куда все идет и какова цель всех этих изменений?

Сохранение обратной совместимости

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

Это делается в 2 простых шага:


  1. 0. 9 -> 1.4.*
  2. 1.4.* -> 2.0

Я не знаю ни одну систему, которая могла бы похвастаться таким результатом, с учетом 15-летней истории и все совместимо. Да у нас тоже есть моменты, которые становились deprecated, ну так и PHP за это время немало своих функций туда загнал, поэтому у вас обновление можете пройти не достаточно гладко. Но все вопросы зачастую решаются быстро и просто, достаточно уметь пользоваться гуглом и копипастом. Копируем ошибку в гугл и читаем первых пару статей из выдачи, в 95% случаев решение проблемы найдется.


Современные технологии:

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

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

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


Framework или CMS?


CMS:

Когда было принято решение собирать Evo на компонентах Laravel одним из первых вопросов был: делал ли кто-то подобное подобное и может нет смысла придумывать велосипед? В итоге пересмотрел более 10 различных админок для Laravel, да и пару CMS на ней же и пришел к выводу, что почти все делалось не для контент-менеджеров, которые проводят очень много времени в админке, а для разработчиков. В итоге собирать и делать сайты на этом удобно а вот пользоваться не очень.

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

Как реальный пример — решение Collection: http://modx.im/blog/addons/5994.html которое позволяет выводить дочерние документы в виде таблицы с фильтром, сортировкой и инлайн редактированием, при этом можно самостоятельно настраивать какие поля будут отображаться в таблице.


Framework:

На текущий момент Laravel один из самых популярных фреймворков, а это означает что у него есть много разработчиков, большое сообщество которое уже решило те или иные вопросы, плюс большая информационная база по работе с ним. Внедряя компоненты Laravel 6.0 в Evolution CMS мы расширяем возможности системы, а так же упрощаем жизнь разработчикам и стимулируем создание новых решений и дополнений. Тем кто долго и давно работает с Evolution и не использует других инструментов стоит присмотреться что происходит в мире и какие появились новые инструменты, упрощающие и ускоряющие разработку: Composer, Artisan, Blade, MVC, Migration, Models, Eloquent, Git и т.
п.
Для тех кто только начинает знакомиться с Evolution, но уже имеет опыт работы с другими системами или с Laravel, в системе будут знакомые и любимые инструменты. Таким образом компоненты Laravel в Evolution CMS снижают порог вхождения для новичков в работе с системой и дают возможность прокачать свои скилы для тех кто давно знаком с Evolution CMS.


Итак, что нового


  • Шаблоны в файлах и Blade
  • Controllers and MVC
  • Models and Eloquent
  • Packages (Chunks, Snippets, Plugins, Modules, e.t.c)
  • Миграции и разработка на DEV и PROD окружении
  • Laravel Cache
  • Custom routing on FastRoute
  • use .ENV
  • Artisan
  • IDE-Helper

Планы на ближайшее будущее

Релиз Evolution CMS 2.0 состоится 02.11.2019, по этому поводу будет организовано офлайн мероприятие в г.Москве в частном кинотеатре ‘Kinoleto’ по адресу:
2-й Кожуховский проезд 29, корпус 2, строение 18, вход по предворительной регистрации, форма регистрации, а также больше подробностей будет тут.

Скачать как всегда можно тут

Так же рекомендую прочитать:
Evolution CMS (2.0 alpha) на компонентах Laravel

Работа со специальными тегами MODX Evo ✈ Evolution CMS

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

Все параметры можно разделить на основные, TV-параметры и системные.

Пример параметра:

[*pagetitle*] — Это основной параметр который вернет нам заголовок страницы. Чаще всего он используется для вывода title у страницы:


<head>
	<title>[*pagetitle*]</title>
</head>

Список основных параметров заранее определен и содержит основную информацию о документе.

Наиболее используемые:


[*pagetitle*] // заголовок документа
[*longtitle*] // расширенный заголовок документа
[*description*] // описание документа
[*introtext*] // аннотация документа
[*content*] // содержимое документа
[*id*] // идентификатор (номер) документа
[*parent*] // номер (ID) родительского документа
[*pub_date*] // дата публикации дкоумента
[*unpub_date*] // дата завершения публикации
[*createdby*] // Идентификатор пользователя создавшего документ
[*createdon*] // Дата создания документа
[~идентификатор~] // URL документа по указанному идентификатору

Стоит отдельно упомянуть о том, что параметры можно сочетать. В особенности это актиально для создания ссылок на разные документы с помощью параметра [~идентификатор~]. В качестве идентификатора можно также задать параметр.


//Вывести ссылку на текущий документ.
[~[*id*]~]
//Вывести ссылку на родителя текущего документа.
[~[*parent*]~]

//заголовок документа
[*pagetitle*]

//расширенный заголовок документа
[*longtitle*]

//описание документа
[*description*]

//аннотация документа 
[*introtext*]

//содержимое документа 
[*content*]

//псевдоним документа
[*alias*]

//атрибуты ссылки
[*link_attributes*]

//идентификатор (номер) документа
[*id*]

//дата публикации дкоумента
[*pub_date*]

//дата завершения публикации
[*unpub_date*]

//Идентификатор пользователя

//создавшего документ
[*createdby*]

//Дата создания документа
[*createdon*]

//Идентификатор пользователя редактировавшего документ
[*editedby*]

//Дата редактирования документа
[*editedon*]

//вариант (документ, папка или ссылка)
[*type*]

//тип содержимого (например, text/html)
[*contentType*]

//опубликован ли документ (1|0)
[*published*]

//номер (ID) родительского документа
[*parent*]

//является ли документа папкой (1|0)
[*isfolder*]

//используется ли при редактировании документа визуальный редактор
[*richtext*]

//номер (ID) используемого шаблона для документа
[*template*]

//порядковый номер отображения в меню
[*menuindex*]

//доступен ли документ для поиска (1|0)
[*searchable*]

//Кэшируется ли документ (1|0)
[*cacheable*]

//Документ удален (1|0)
[*deleted*]

//Возвращает дату удаления документа
//(в секундах с 1 января 1970 г.
) [*deletedon*] //Идентификатор пользователя удалившего документ [*deletedby*] //Заголовок меню. Если не используется, то заголовок документа [*menutitle*] //Слежение за количеством посещений отключено (1|0) [*donthit*] //Документ содержит ключевые слова (1|0) [*haskeywords*] //Документ имеет метатеги (1|0) [*hasmetatags*] //Документ входит в частную группу пользовательских документов (1|0) [*privateweb*] //Документ входит в частную группу менеджерских документов (1|0) [*privatemgr*] //Вариант выдачи содержимого (1 - для отображения | 0 - для скачивания) [*content_dispo*] //Документ не отображается в меню (1|0) [*hidemenu*] //Учавствует в URL(1|0) [*alias_visible*]

//Вставляет кэшируемый вызов сниппета
[[snippet]]

//Вставляет некэшируемый вызов сниппета	
[!snippet!]	

//Вставляет значения системных параметров
[(setting)]	

//Вставляет значение переменной шаблона или TV-параметра
[*resourceField/TV*]

//Вставляет системную информацию	
[^timing^]	

//Формирует ссылку на другой документ
[~link~]	

//Вставляет в документ содержимое чанка
{{chunk}}	

//Используется для вывода какого-либо параметра в шаблонах сниппетов/модулей или для вывода результатов работы сниппета. ].

Memory : 6 mb, MySQL: 0.0026 s, 11 request(s), PHP: 0.0160 s, Total time: 0.0186 s, Document from cache.


//разрешены или нет повторяющиеся псевдонимы при использовании дружественных URL
[(allow_duplicate_alias)]

//генерируются ли псевдонимы документов на основе заголовков страниц автоматически
[(automatic_alias)]

//адрес сайта
[(base_url)] или [(site_url)]
//документ кэшируемый по умолчанию
[(cache_default)]

//слова, используемые для настройки Captcha
[(captcha_words)]

//разделенный запятыми список типов содержимого, обслуживаемых MODx
[(custom_contenttype)]

//идентификатор шаблона используемого по умолчанию для новых документов
[(default_template)]

//путь к CSS-файлу используемого визуальным редактором
[(editor_css_path)]

//основной адрес электронной почты на сайте
[(emailsender)]

//тема письма подтверждения регистрации веб-пользователей
[(emailsubject)]

//идентификатор страницы ошибки 404
[(error_page)]

//кодировка сайта
[(modx_charset)]

//указывает, установлен ли FCKeditor для автоматического определения языка
[(fck_editor_autolang)]

//указывает стиль используемый в FCKeditor
[(fck_editor_style)]

//указывает на пользовательскую панель инструментов, добавленную в FCKeditor
[(fck_editor_toolbar)]

//корневая папка для доступа файлового менеджера MODx
[(filemanager_path)]

//используются ли псевдонимы в дружественных URL
[(friendly_alias_urls)]

//используются ли дружественные URL
[(friendly_urls)]

//префикс для дружественных URL
[(friendly_url_prefix)]

//суффикс для дружественных URL
[(friendly_url_suffix)]

//язык системы управления
[(manager_language)]

//layout for the MODx Content Manager. 
[(manager_layout)]

//шаблон системы управления
[(manager_theme)]

//количество записей протокола на одной странице
[(number_of_logs)]

//количество сообщений на одной странице
[(number_of_messages)]

//количество элементов, отображаемых в списках и результатах поиска
[(number_of_results)]

//публикация новых ресурсов после создания по умолчанию
[(publish_default)]

//физический путь к папке файлов
[(rb_base_dir)]

//адрес (URL) папки файлов
[(rb_base_url)]

//indicates if all templates or just documents assigned the current default_template are reset when the default template is changed in the manager.
[(reset_template)]

//indicates if MODx will try to resolve visitors hostnames when they visit the site (applies to MODx internal logs).
[(resolve_hostnames)]

//новые ресурсы после создания доступны для поиска по умолчанию
[(search_default)]

//поправка (количество часов) между временем на месте вашего пребывания и на месте нахождения сервера
[(server_offset_time)]

//HTTP или HTTPS (SSL) соединение
[(server_protocol)]

//версия MODx
[(settings_version)]

//determines if preview is shown when viewing documents in MODx Content Manager. 
[(show_preview)]

//сообщение, которое будет отсылаться менеджерам, когда создается учетная запись нового менеджера
[(signupemail_message)]

//название сайта
[(site_name)]

//идентификатор стартовой страницы
[(site_start)]

//статус сайта online (1) или offline (0)
[(site_status)]

//сообщение, выводимое в случае недоступности сайта (когда выбран статус Оффлайн) или в случае возникновения ошибки. Это сообщение выводится только в том случае, когда не выбрана страница Сайт недоступен
[(site_unavailable_message)]

//идентификатор ресурса, который должны будут увидеть посетители, если попытаются зайти на сайт, когда он недоступен
[(site_unavailable_page)]

//используются абсолютные или относительные ссылки для изображений, файлов, анимации и т.д.
[(strip_image_paths)]

//количество лучших показателей в отчетах статистики
[(top_howmany)]

//регистрировать посещения
[(track_visitors)]

//разрешено ли пользователям создавать ресурсы в корневой папке
[(udperms_allowroot)]

//ID ресурса, который должны будут увидеть посетители, если попытаются зайти на закрытую страницу (403 – доступ запрещен)
[(unauthorized_page)]

//разделенный запятыми список расширений файлов, которые могут быть загружены через файловый менеджер
[(upload_files)]

//максимальный размер загружаемых файлов в байтах
[(upload_maxsize)]

//используются вложенные URL
[(use_alias_path)]

//использовать код CAPTCHA при авторизации
[(use_captcha)]

//использовать HTML-редактор
[(use_editor)]

//indicates if user permissions are enabled for the site. 
[(use_udperms)]

//сообщение, которое будет отсылаться веб-пользователям, когда они запрашивают напоминание пароля
[(webpwdreminder_message)]

//сообщение, которое будет отсылаться веб-пользователям, когда создается учетная запись нового веб-пользователя
[(websignupemail_message)]

//используемый HTML-редактор
[(which_editor)]

Мод XVM для World of Tanks 1.20.1.1 [Скачать]

Мод XVM для World of Tanks 1.20.1.1 [Скачать]

Список изменений (XVM — 10.5.0.0016)

  • Адаптация к 1.20.1.1 90 008

Описание

XVM мод для World of Tanks 1.20.1.1 (Mod eXtended Visualization Mod) однозначно самая популярная модификация для World of Tanks. На данный момент этим модом активно пользуются более 3700000 игроков по всему миру.

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

На выбор восемь вариантов отображения рейтинга, двузначный и четырехзначный. Для расчета используются алгоритмы Wot-news, Wargaming или рейтинг эффективности.

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

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

Среди функций не столь обязательных к установке, но достаточно полезных и визуально приятных стоит вспомнить семь иконок для отображения «Шестого чувства» на выбор в сочетании с 10-секундным голосом светового таймера, позволяющим чтобы лучше ориентироваться в бою. Есть возможность добавить к маркеру каждого игрока звездочку, которая будет окрашивать уровень опасности игрока, что даст возможность примерно оценивать опасность во время стычек или дуэлей, не отвлекая взгляд на список команд. Также есть возможность отображать количество очков прочности каждого танка в панели плеера, но пользоваться ею стоит только в том случае, если вы являетесь владельцем достаточно производительной машины, так как она прилично транжирит значение FPS.

Не забывайте, что для работы модификации недостаточно просто ее установить! После установки перейдите на официальный сайт XVM и активируйте его онлайн.

Скриншоты

Видео (помощь в установке)

Установка 900 03

Архив

  1. Папки mods и res_mods из архива в папку World of Tanks;
  2. Зайти на сайт modxvm.com и активировать сбор статистики.

Программа установки

  1. Запустите программу установки и следуйте инструкциям;
  2. Зайти на сайт modxvm.com и активировать сбор статистики.

9007 2 URL
Раздел загрузки
Описание Версия Патч Сервер Размер файла
Мод XVM [Архив] 10. 5.0.0016 1.20.1.1 Наш сервер 9552 kB Скачать
XVM мод [Установщик] 10.5.0.0016 1.20.1.1 Наш сервер 11021 kB Скачать

Modxvm отключен для всех или только мне?

ПРОВЕРКА ДОСТУПНОСТИ ВЕБ-САЙТА ДЛЯ MODXVM.COM:

Websitedown.info сейчас тестирует modxvm.com

(это может занять несколько секунд)

ПРОВЕРКА ДОСТУПНОСТИ ВЕБ-САЙТА ДЛЯ MODXVM.COM:

Последнее обновление @ 21.05.2023 05:59:53

Тест завершен через 0,26 секунды.

ОБЗОР РЕЗУЛЬТАТОВ ДЛЯ MODXVM.COM:

К сожалению, мы не получили в ответ код состояния HTTP 200 OK. Это означает, что веб-сайт в настоящее время недоступен и недоступен для всех (не только вас) или вы ввели недопустимое доменное имя для этого запроса. Возможно, веб-сервер icefilms.info не работает, перегружен, недоступен (проблема с сетью) или в данный момент проводится техническое обслуживание веб-сайта или сервера. Это также может означать Проблема с поиском DNS (неправильные настройки и конфигурация DNS-серверов) или другие проблемы, связанные с хостингом.

Добавьте этот запрос в закладки, чтобы проверить статус сайта позже!

НАЖМИТЕ ЗДЕСЬ, ЧТОБЫ ПРОВЕРИТЬ СКОРОСТЬ ИНТЕРНЕТА!

ВЕБ-САЙТ MODXVM.COM НЕ РАБОТАЕТ?

Проблема с загрузкой modxvm.com? Если вы заметили, что modxvm не работает или получили сообщение об ошибке не удается подключиться к modxvm , то вы попали по адресу. Эта страница пытается установить соединение с веб-сервером доменного имени modxvm.com, чтобы выполнить независимую от сети modxvm не работает тест. Если сайт работает, попробуйте советы по устранению неполадок ниже, но если сайт не работает, вы мало что можете сделать. Узнайте больше о что мы делаем и как мы это делаем .

ПРЯМО СЕЙЧАС

  • forum.intporn.com недоступен

    29 минут назад

  • qexrpmy5dypt5jnm. onion недоступен

    25 минут назад

  • the-hiddenwiki.com не работает

    25 минут назад

  • kiwifarms.net недоступен

    21 минуту назад

  • en.tube-dl.click недоступен

    13 минут назад

ПОСЛЕДНИЕ ПРОВЕРКИ

streameast.xyz:8000, lhtranslation.net, streameast.xyz:80, caosudonga.com, dwhuker.bri.co.id, streameast.xyz, wordle.net, dwhuker.bri.co.id, web.museoevita.org.ar, xvideos2.com

РАСПРОСТРАНЕННЫЕ ОШИБКИ ПОЛЬЗОВАТЕЛЕЙ

  • Ошибка подключения

    показать

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

  • Неверные настройки

    показать

    Проверьте настройки браузера, чтобы убедиться, что сайт или IP-адрес не запрещены и не отключены. Также проверьте настройки прокси.

  • Программная проблема

    show

    Некоторые программы безопасности автоматически блокируют определенные веб-сайты. Отключите их на 5 минут и попробуйте загрузить веб-страницу.

  • Операционная система

    show

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

  • Аппаратное обеспечение

    показать

    Наконец, мать всех решений: сброс. Перезагрузка устройства устраняет более 50% всех ошибок. Не так ли?

ОБЩИЕ ОШИБКИ СЕРВЕРА

  • Имя домена

    show

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

  • Ошибка сервера

    show

    Как и на любом компьютере, малейший программный или аппаратный сбой на веб-сервере может привести к отключению веб-сайта.

  • Неверная конфигурация

    show

    В случае неправильной конфигурации сервера отображается сообщение 5xx ERROR (наиболее распространенной является 500 Internal Error).

  • Сбой хостинга

    show

    Хостинговые компании тоже имеют проблемы. Время безотказной работы 99,9 % означает, что в год происходит около 9 часов простоя.

  • Прочее

    показать

    От (обычных) неоплаченных счетов до досадного стихийного бедствия (обрезание проводов), есть множество причин, по которым modxvm сейчас ниже .

ЧТО ДЕЛАТЬ

  • Подождите несколько минут

    показать

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

  • Официальные объявления

    показать

    Поиск официальных каналов и объявлений для соответствующего веб-сайта.