Эмулятор терминала Обсуждение

Сумма для сбора: 15000

Всем привет!
По планам осталась у меня одна задумка для AdminTools — эмулятор терминала. Начав реализацию понял, что задача сложнее, чем казалась изначально. Поэтому решил выделить её в отдельный пакет.


Но уже понимаю, что разработка выльется минимум на неделю, потом ещё тестировать, поддерживать, писать доки… Поэтому решил, что если найдётся 100 человек, которым это интересно и которые готовы инвестировать 150 руб. в этот проект, то быть этому пакету. А если нет, то у меня есть чем заняться.
Что планировал в терминале.
  • create object -f:path/to/file, где объект — чанк, сниппет, плагин, шаблон, ресурс, категория, файл, пользователь, группа пользователей и т.д. Для элементов можно сразу создать статический файл.
  • rename object name|id newName — переименование объекта.
  • copy object name|id newName — копирование объекта.
  • delete object name|id — удаление объекта, системной настройки, пакета.
  • open object — открыть объект.
  • set systemSetting value — определение системной настройки.
  • get systemSetting — получить значение системной настройки.
  • install packageName -p:privider — установка/обновление пакета.
  • uninstall packageName — деинсталяция пакета.
  • clear cache -key — удаление кеша (целого или только указанного, например, lexicon).
  • clear log — очищение лога ошибок.
  • export db — выгрузка базы данных.
  • export table tableName — выгрузка таблицы.
  • import table tableName — импорт таблицы.
  • refresh tree — обновление дерева без перезагрузки страницы.
  • grand user — работа с правами.
Чего-то ещё в процессе всплывёт.
Сбор инвестиций тут.

В общем решение оставляю на вас. )

Обновлено.
Нашлось уже 9 заинтересованных, которым понравилась идея!
Собрано 4716 руб.

П.С. Вот что получилось за полтора дня разработки. Из них полдня на пакет и причёсывание. На этом мой энтузиазм кончился. Остальное требует много времени. Желающих писать руками, а не кликать мышкой, немного. Им и вышлю данную версию. Я, кстати, тоже не поклонник, но всякие npm, composer и т.п. требуют навыков. Вынужден подчиняться. Прямо как в известном стишке-пирожке
Аркадий не любил пробежки,
экстрим, паркур, адреналин,
но 2 соседских добермана
раскрыли в нем потенциал.


Update 04.11.2016. Как и обещал щедрым спонсорам (Владимиру и Леониду) сделал управление пакетами пока в простом варианте без зависимостей и локальных пакетов. При установке можно указать репозиторий. Если не указать, то устанавливаться будет из modx.com. Вот что получилось.

Кстати, обнаружил баг в механизме деинсталяции пакетов.
Ну и по мелочи. Теперь есть прокрутка к последней команде и команды в командной строке можно перебирать стрелками «Вверх» и «Вниз» на клавиатуре.
27 октября 2016, 22:53    Сергей Шлоков   G+  
2    974 +6

Комментарии (59)

  1. Здоров Александр 27 октября 2016, 23:14 # +1
    интересное дополнение, внес копеечку в разработку
    P.S. install packageName -p:privider — установка/обновление пакета — если позволит установить несколько пакетов то замечательно
    1. Сергей Шлоков 27 октября 2016, 23:19 # 0
      Получил. Осталось 99 )
      если позволит установить несколько пакетов то замечательно
      Думаю это не сложно.
      1. Здоров Александр 27 октября 2016, 23:28 # 0
        не уверен что такая толпа соберется, но надеюсь все же не пропадет идея даром? выйдет некая «урезанная» версия?
        которая на платной основе будет дальше расширяться
        1. Сергей Шлоков 28 октября 2016, 07:20 # 0
          Если из более полутора тысяч посетителей не найдётся ~ 100 заинтересованных человек, то для кого тогда это делать? Конечно, если, например, 5 человек соберут всю сумму, то я вынужден буду сделать. Но хочется увидеть единомышленников.
          Платным я его делать не хочу.
          выйдет некая «урезанная» версия?
          Возможно. 2-3 простых команды.
      2. Сергей Шлоков 30 октября 2016, 17:55 # 0
        Проверяй почту.
        1. Здоров Александр 31 октября 2016, 10:13 # +1
          большое спасибо, надеюсь народ подтянется, компонент удобный даже на этом этапе
          1. Сергей Шлоков 31 октября 2016, 10:38 # +1
            Думаю, самые интересные команды — create и install package. Можно создать, например, чанк сразу с файлом на диске. Или из командной строки установить несколько пакетов. Но это сложные для разработки команды. Особенно установка пакетов — зависимости всякие и т.п.
            надеюсь народ подтянется
            или отожмётся. :)
      3. Владимир 28 октября 2016, 00:49 # +2
        Ловите «за двоих» :)))
        Однако, размер взноса «на брата» не велик, но будет ли столько «братьев»?
        Видимо надо карусель организовать, позаимствовать, так сказать, технологию успеха.
        1. Сергей Шлоков 28 октября 2016, 07:21 # 0
          Прилетело.
          но будет ли столько «братьев»
          На нет и суда нет. )
          1. Владимир 28 октября 2016, 08:03 # 0
            Инертность масс и прочие чудеса бытия могут все свести на нет, а это же не означает что идея плоха. Потому, на днях закину за «десятерых».
            хочется увидеть единомышленников.
            -они так или иначе есть, просто в нужный период могут не собраться (в виду вышеуказанных причин).
            1. Сергей Шлоков 28 октября 2016, 09:03 # 0
              Инертность масс и прочие чудеса бытия могут все свести на нет
              Запрягал, запрягал, а лошадь сдохла. :)

              Как в Ералаше:
              — Серега, выходи.
              — Щас…
              1. Владимир 28 октября 2016, 10:24 # 0
                Как-то, где-то, была озвучена «формула», как принимает общество новые идеи, звучала примерно так: стадия 1. «Какая чушь!», стадия 2. «в этом что то есть… », стадия 3. «да кто же этого не знал?!»
                Я к тому, что идея выношенная автором не может вот так сразу даже явных заинтересованных «заразить», да так, что бы еще материально отреагировали. Ну, как бы, это же касается любой сферы. В итоге, активность сбора средств или выражения заинтересованности эмоциями, не отражает ни чего. Время, на все нужно время.
                1. Сергей Шлоков 28 октября 2016, 11:55 # +2
                  Ты про окно Овертона?
                  Немыслимое > Радикальное > Приемлемое > Разумное > Стандартное > Нормальное.
                  1. Владимир 28 октября 2016, 11:59 # 0
                    Ну, оно тоже про продвижение идей, но я об идеях обычных, не деструктивных :))
                2. Владимир 31 октября 2016, 11:04 # +2
                  закинул еще за «десятерых» ))
                  *********************
                  Попробовал Эмулятор терминала в работе, очень понравился!

                  Призываю поддержать!
                  1. Сергей Шлоков 31 октября 2016, 11:06 # 0
                    Вот ты неугомонный :)
                    1. Владимир 31 октября 2016, 11:10 # +2
                      Так ВЕЩЬ же!!!
                      Подумал, а вот рутинные действия, например удаление устаревших пакетов и т.п., массовое изменение настроек… Как бы это облегчило администрирование.
                      Очень хорошая идея, Сергей! Реально, жаль если она останется непонятой.
                      Спасибо.
                      1. Сергей Шлоков 31 октября 2016, 11:21 # +2
                        Да придумать ещё много чего можно было. Например, run «task» — запуск сниппета, который используется как утилита — задачи по сайту выполняет. Боб Рей про это писал.
            2. Сергей Шлоков 30 октября 2016, 17:55 # +1
              Проверяй почту.
            3. Евгений Webinmd 28 октября 2016, 10:53 # 0
              Было бы удобно добавить что-то типа «export files/patch» (или make archive)
              Есть какой-то другой способ поддержки (qiwi например)? а то что-то из нашей страницы карту не принимает
              1. Сергей Шлоков 28 октября 2016, 11:25 # 0
                Там много чего ещё добавить можно. В процессе работы ещё много мыслей и предложений всплывёт.
                Есть какой-то другой способ поддержки (qiwi например)?
                К сожалению нет.
                1. Владимир 28 октября 2016, 11:40 # +4
                  А PayPal?
                  1. Сергей Шлоков 28 октября 2016, 11:54 # 0
                    Неа. Я патриот :)
                    1. Bluetenstadt 29 октября 2016, 00:07 # +1
                      очень жаль, а хотелось поддержать.
              2. Дмитрий Кондаков 28 октября 2016, 11:41 # +1
                Поддержал
                1. Сергей Шлоков 28 октября 2016, 11:54 # 0
                  Третьим будешь :)
                  1. Сергей Шлоков 30 октября 2016, 17:55 # 0
                    Проверяй почту.
                  2. Klike 28 октября 2016, 12:57 # +1
                    Поддержал)
                    1. Сергей Шлоков 30 октября 2016, 17:55 # +2
                      Проверяй почту.
                    2. Сергей Шлоков 30 октября 2016, 18:11 # +1
                      Обновил описание.
                      1. Владимир 30 октября 2016, 18:19 # +2
                        Спасибо! Интересный инструмент, хотелось бы верить в развитие и в то что «народ подтянется».
                        1. Сергей Шлоков 31 октября 2016, 09:53 # +2
                          Он расширяемый. Каждая команда в отдельном процессоре. Программистам не составит труда добавить свои команды.
                      2. Павел 31 октября 2016, 15:29 # +3
                        +1
                        1. Сергей Шлоков 31 октября 2016, 17:56 # +1
                          Равно 5.
                        2. Василий Столейков 01 ноября 2016, 08:00 # 0
                          Перепробовал несколько моих карточек (нероссийские), система не принимает их. Жаль что нету возможности через те же ЯД оплатить…!
                          1. Сергей Шлоков 01 ноября 2016, 08:06 # +1
                            Что такое ЯД?
                            1. Василий Столейков 01 ноября 2016, 08:08 # 0
                              )))))
                              ЯД == Яндекс Деьги.
                              Интересно что хотя Яндекс и обрабатывает карточный платеж, но со своего счёта на ЯД не нашел как оплатить…
                              1. Василий Столейков 01 ноября 2016, 08:09 # 0
                                А, сейчас попробовал снова, там оказывается есть незаметная кнопка-переключатель на кошелёк, сорри…
                                1. Сергей Шлоков 01 ноября 2016, 08:10 # 0
                                  Только хотел написать. Почему-то её часто не замечают.
                                  1. Василий Столейков 01 ноября 2016, 08:12 # +1
                                    Наверное потому что по умолчанию нажата карточная кнопка…
                                    Вложил и свою скромную лепту, жаль что через ЯД пока не могу больше…
                                    1. Сергей Шлоков 01 ноября 2016, 08:14 # +1
                                      Получил и расписался.
                                      1. Василий Столейков 01 ноября 2016, 08:17 # +1
                                        О, круто, он даже полупрозрачный, прямо как в Linux-е, линукс за эту плюшку особенно полюбил!
                                        Аж настальгией понесло, спасибо…
                                        1. Василий Столейков 01 ноября 2016, 08:19 # 0
                                          Интересно, а при запущенной команде help другие команды не срабатывают пока не очистишь экран? Не сразу в это врубился, было бы удобно без очистки вводить следующую команду…
                                          1. Сергей Шлоков 01 ноября 2016, 08:25 # +1
                                            )) Просто команды пишутся в конец и их не видно. Нужно промотать. Наверно лучше писать их наверх.
                                            1. Василий Столейков 01 ноября 2016, 08:26 # 0
                                              ага, строка для ввода наверху, так логичнее будет…
                                              1. Сергей Шлоков 01 ноября 2016, 08:29 # +3
                                                или автоматически проматывать. Всё-таки привычнее внизу, все терминалы так работают. Надо подумать.
                                                1. Владимир 01 ноября 2016, 08:44 # +2
                                                  или автоматически проматывать
                                                  — голосую «за!»
                                                  1. Василий Наумкин 01 ноября 2016, 09:00 # +3
                                                    У нас в просмотре журналов на modhost.pro сделано примерно так:
                                                    if (response.success) {
                                                    	$textarea.text('');
                                                    	$textarea.text(response.object['log']);
                                                    	$textarea.animate(
                                                    		{scrollTop: $textarea.prop('scrollHeight')}, 				
                                                    		200
                                                    	);
                                                    }
                                                    
                                                    При получении ответа от сервера очищаем ввод, вставляем ответ и скроллим его вниз.
                                                    В терминале, думаю, лучше ответ добавлять к уже имеющимся строкам — через append()
                                                    1. Сергей Шлоков 01 ноября 2016, 09:05 # +2
                                                      При получении ответа от сервера очищаем ввод, вставляем ответ и скроллим его вниз.
                                                      У меня также. На видео видно.
                                                      Ext.getCmp(config.id+'-commandline').setValue('');
                                                      ...
                                                      outputEl.appendChild(newEl);
                                                      
                                                      outputEl — окно-контейнер результатов.
                                                      newEl — новый элемент p.
                                                      Осталось скролл прикрутить.
                                              2. Василий Столейков 01 ноября 2016, 08:13 # 0
                                                Спасибо, получил на почту!
                                      2. Leonid Krylov 01 ноября 2016, 15:05 # +7
                                        От Modstore «за десятерых»!
                                        1. Сергей Шлоков 01 ноября 2016, 16:03 # +4
                                          Неожиданно! Так как жду отклика от админов. Вечером постараюсь сделать управление пакетами. Как сделаю вышлю бету вам и Владимиру как самым щедрым спонсорам. :)
                                        2. Воеводский Михаил 03 ноября 2016, 10:08 # +3
                                          За троих )
                                          1. Сергей Шлоков 04 ноября 2016, 08:42 # +1
                                            «За себя, за тебя и за того парня» :)
                                          2. Сергей Шлоков 04 ноября 2016, 08:46 # +1
                                            Добавил видео с пакетами.
                                            1. Здоров Александр 10 июля 2017, 22:51 # 0
                                              пакет увидит свет или нужно «добавить» для получения последней версии
                                              UPD: есть ли что-то похожее для работы из под IDE phpStrom (в частности создание TV, Шаблонов и прочего, когда одними файлами уже не обойдешься)
                                              1. Igor Ivanov 11 июля 2017, 08:12 # +2
                                                Для Sublime Text есть плагин ModxElements, позволяет из редактора создавать/редактировать шаблоны, чанки, сниппеты, плагины. Очень удобная штука.
                                                1. Дмитрий Кондаков 11 июля 2017, 09:37 # 0
                                                  Годная вещь, спасибо за подсказку!
                                                  1. Владимир 11 июля 2017, 10:46 # 0
                                                    Для Sublime Text есть плагин ModxElements
                                                    — ай, спасибо!
                                                Вы должны авторизоваться, чтобы оставлять комментарии.