Наверх

Давайте-ка потестируем PR в репозитории MODX

Ну что, поможем с пулл-реквестами для MODX 3?

Создаём у себя на хостинге новый пустой сайт и пустую базу данных. Версию PHP поставьте 7.1. После этого подключаемся к серверу по SSH (с помощью Putty, например). На хостинге Beget есть SSH прямо в личном кабинете:



Заходим в корень новой пустой папки и скачиваем MODX с гитхаба:
cd modx-test.dev/public_html/
rm -rf *
git clone https://github.com/modxcms/revolution .
Точка в конце — это не опечатка. Она указывает, что нужно не создавать дочернюю папку revolution, а загружать прямо в текущую директорию.

После этого вводим такую команду (вроде, для простого теста необязательно, но не помешает):
git remote add upstream https://github.com/modxcms/revolution

Теперь выбираем, какой PR будем тестировать. Вот, например, реквест Ивана Климчука: github.com/modxcms/revolution/pull/14031

В нём нет комментариев, значит, наша помощь очень требуется. В самом верху написано
Alroniks wants to merge 13 commits into modxcms:3.x from Alroniks:3x-feature-13849_fa_and_updated_libs

Это значит, что Иван хочет «влить» 13 коммитов в ветку modxcms:3.x из своей ветки Alroniks:3x-feature-13849_fa_and_updated_libs.

Нам надо воспроизвести это действие. Сначала переключаемся на ветку modxcms:3.x (ту, куда автор хочет «влить» свои коммиты). После этого «собираем» MODX (если с консолью особо не знакомы, вводите каждую строчку отдельно):
git checkout 3.x
composer install
cd _build
cp build.config.sample.php build.config.php
cp build.properties.sample.php build.properties.php
php transport.core.php
Если консоль что-то спрашивает, скорее всего, нужно нажать [y] и [Enter]

После этого запускаем site.ru/setup/ и устанавливаем MODX как обычно, только НЕ УДАЛЯЕМ папку setup (галочка должна быть снята).

Заходим в админку, любуемся MODX 3 и наполняем сайт каким-нибудь контентом. Я устанавливаю siteExtra. А вы придумайте что-то своё — тестировать надо на разных системах, с разными решениями.

Когда тестовый сайт будет готов, наполнен и будет нормально работать, мы можем приступать к тестированию. «Вливаем» коммиты Ивана на свой сайт:
git remote add Alroniks https://github.com/Alroniks/revolution
git fetch Alroniks
git checkout 3x-feature-13849_fa_and_updated_libs
Alroniks и 3x-feature-13849_fa_and_updated_libs я взял всё в той же верхней строке пулл-реквеста на гитхабе.

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

Ну и начинается работа на Open source — читаем описание, переводим через Яндекс или Гугл. Понимаем, что Иван предлагает обновить FontAwesome, чтобы появились новые иконки. Идём на сайт FontAwesome, ищем старую версию и ту, которую предлагает интегрировать Иван, узнаём, какие иконки в этой версии появились и пробуем их назначить, например, шаблону.

У меня не получилось это сделать с первого раза, я спросил совета в чате MODX (в Telegram) и мне подсказали, что для этого PR нужно установить NodeJS и запустить команду grunt build. Вот инструкция по установке NodeJS на Beget: beget.com/ru/articles/webapp_nodejs

Когда всё сделано, переходим в _build/templates/default и вводим
npm i
npm install -g grunt-cli
grunt build
После этого иконки появились:


Багов, вроде, не обнаружено, поэтому я отписался в комментариях
I tested this PR. New icons work. No bugs found

Если не знаете точно, что можно писать, или как лучше сформулировать, напишите сначала Ивану лично — думаю, он поможет =)

После того, как один PR протестировали, делаем просто
git checkout 3.x
и приступаем к следующему PR (начиная с места git remote add Alroniks...) — заново всю процедуру проделывать не нужно.


17 комментариев

  1. Sanes 13 августа 2018, 16:12 # 0
    Не много ли телодвижений? В частности с NodeJS.
    1. Илья Уткин 13 августа 2018, 16:18 # 0
      NodeJS не для любого PR надо устанавливать. А вообще — это сейчас стандарт — Grunt, Gulp, npm, Composer.
      1. Sanes 13 августа 2018, 16:23(Комментарий был изменён) # 0
        Откуда такой стандарт? Если это требования к MODX 3, то будем его отправлять в топку.
        1. Илья Уткин 13 августа 2018, 16:43 # 0
          Насколько я знаю, MODX 3 нужен Composer, так как всю систему отрефакторили, вынесли xPDO отдельно из ядра и он теперь устанавливается как зависимость. Та же фигня и с phpThumb.

          Это нужно для того, чтобы можно было легко обновить, например, phpThumb, не трогая MODX. Было бы такое раньше, не было бы последней волны взломов.
          1. Sanes 13 августа 2018, 16:47 # +1
            Если будут усложнять, то MODX заглохнет. Сейчас у него преимущество, что он простой для обычного разработчика закомого с вёрсткой.
            Даже сейчас иной раз такие перлы чез Fenom разработчики вставляют, что волосы дыбом.
            1. Илья Уткин 13 августа 2018, 16:56 # 0
              Не, обычный дистрибутив-то сохранится. Это всё фишки для разработчиков. MODX 3 так же будет устанавливаться распаковкой архива в папку и запуском setup.

              Но добавится возможность устанавливать его через терминал — с помощью Composer.
              1. Sanes 13 августа 2018, 16:57(Комментарий был изменён) # 0
                Посмотрим. Они кучу денег собрали, пусть сами тестируют.
              2. meh 13 августа 2018, 18:00 # +2
                Не очень хочется оскорблять людей, но черт подери grunt, gulp, npm, composer — это не то чтобы норма, это уже давно основа нормального web окружения.
                Если кто-то не может в composer, то наверное стоит посмотреть в сторону дизайна. Хотя если человек не может в composer, то ему и в фотошоп тяжко будет. Если не усложнять modx, то он вскоре умрет.
                И еще по поводу «Они кучу денег собрали, пусть сами тестируют.»… это каким мудаком нужно быть? Ты зарабатываешь на этой cmf деньги, (никто не принуждает конечно но....) можно поддержать проект если не рублем, то хотя-бы пр. Если ни то ни другое не устраивает, то просто притворись умным и помолчи.
                1. Sanes 13 августа 2018, 18:06 # -1
                  Какая норма? Проведите опрос среди простых разработчиков. Им эти свистелки не нужны.
                  99% разработчиков MODX просто собирают сайт, без элементарных знаний PHP, максимум немного вёрстки. И хостингов с таким окружением единицы.
                  Composer нужен программистам PHP.
                  grunt, gulp, npm профессиональным верстальщикам.
                  Много таких?
                  1. meh 14 августа 2018, 18:41 # +1
                    >>> Какая норма?… 99% разработчиков MODX просто собирают сайт.
                    Норма для любого джуна, это основы при работе на реальном проекте, где есть что-то сложнее «Hello! Its my first html page».
                    Если хочешь статистики, то сам проведи опрос. А еще лучше зайди на гитхаб или поковыряй по тематическим сообществам и форумам, поймешь насколько популярны данные сборщики. Не нужно быть гением чтобы освоить эти инструменты, тем более, что при желании делается это за пару вечеров а в последствии экономят кучу времени при разработке/верстке.
                    >>> grunt, gulp, npm профессиональным верстальщикам
                    Мне вот интересно а верстаешь ты в блокноте? Наверное sublime, brackets и т.п. редакторы слишком сложны и нужны только профессионалам?!
                    >>> Composer нужен программистам PHP
                    Понимаешь в чем дело, modx написан на php. Компоненты на для modx тоже пишутся на php. Думаю ты сможешь связать два логических выражения…
                    Более того, даже когда ты просто собираешь сайт на modx, без знаний php, то так или иначе, он там задействован, или по твоему это все держится на темной магии?
                    1. Sanes 14 августа 2018, 18:45 # -1
                      Если бы я хотел получить обратную связь на свое приложение, я бы не поленился сделать дистрибутив, чтобы пользователи не страдали с окружением.
                      Трудно было сделать дистрибутив, который элементарно ставится через /setup/?
                      1. meh 14 августа 2018, 19:11 # +1
                        Не хочу разводить срача в личном блоге у клевого человека.
                        Тем более пытаться что-то объяснить незнакомому человеку в интернете, который не может связать 2+2. С таким успехом я могу и с табуреткой поговорить.
                        Думаю на этом можно закончить диалог.
                    2. Станислав Однолетко 19 октября 2018, 17:09 # 0
                      Мистер, я смотрю на Вас и диво даюсь.С такими сообщениями можно на Wix переходить, там и думать то не нужно.
                      И где такие 99%? Лично я всячески пытаюсь подружить библиотеки на node js с modx. Ибо облегчает жизнь.То что хостингов мало с использованием Нод-ы, то это они отстали от нас, прогрессивных.

                      Мораль! Выходите из зоны комфорта.
              3. WebDevep 20 января 2019, 19:56 # 0
                Ну в топку себя только можешь отправить, со скоростью развитию ноды скоро весь веб вокруг неё запляшет
                IMHO
          2. Андрей 24 сентября 2018, 09:31(Комментарий был изменён) # 0
            Что то MODX3 не ставиться.
            Пришлось добавить
            use xPDO\xPDO;
            Чтобы проверить соеденение с базой данных
            // setup/includes/drivers/modinstalldriver_mysql.class.php
            <?php
            use xPDO\xPDO;
            /*
             * This file is part of MODX Revolution.
             *
             * Copyright © MODX, LLC. All Rights Reserved.
             *
             * For the full copyright and license information, please view the LICENSE
             * file that was distributed with this source code.
             */
            require_once (strtr(realpath(dirname(__FILE__)), '\\', '/') . '/modinstalldriver.class.php');
            .....
            .....
            .....
            
            Хотя вроде пространство имен должно было загузится от сюда
            require_once (strtr(realpath(dirname(__FILE__)), '\\', '/') . '/modinstalldriver.class.php');
            
            1. Ivan Bochkarev 29 января 2019, 19:30 # 0
              Было такое. Пофиксили.

              Теперь через composer ставится самая крайняя версия с последними изменениями!
              1. Илья Уткин 29 января 2019, 21:09 # 0
                А чё это версия «крайняя», а изменения «последние»? :-D

            Авторизация

            через сервис Loginza:


            Шаблоны MODX

            1 2 Дальше »

            Объектная
            модель
            MODX