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

Сумма для сбора: 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 october 2016, 22:53    Сергей Шлоков   G+  
2    581 +6

Comments (55)

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

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

                  Призываю поддержать!
                  1. Сергей Шлоков 31 october 2016, 11:06 # 0
                    Вот ты неугомонный :)
                    1. Владимир 31 october 2016, 11:10 # +2
                      Так ВЕЩЬ же!!!
                      Подумал, а вот рутинные действия, например удаление устаревших пакетов и т.п., массовое изменение настроек… Как бы это облегчило администрирование.
                      Очень хорошая идея, Сергей! Реально, жаль если она останется непонятой.
                      Спасибо.
                      1. Сергей Шлоков 31 october 2016, 11:21 # +2
                        Да придумать ещё много чего можно было. Например, run «task» — запуск сниппета, который используется как утилита — задачи по сайту выполняет. Боб Рей про это писал.
            2. Сергей Шлоков 30 october 2016, 17:55 # +1
              Проверяй почту.
            3. Евгений Webinmd 28 october 2016, 10:53 # 0
              Было бы удобно добавить что-то типа «export files/patch» (или make archive)
              Есть какой-то другой способ поддержки (qiwi например)? а то что-то из нашей страницы карту не принимает
              1. Сергей Шлоков 28 october 2016, 11:25 # 0
                Там много чего ещё добавить можно. В процессе работы ещё много мыслей и предложений всплывёт.
                Есть какой-то другой способ поддержки (qiwi например)?
                К сожалению нет.
                1. Владимир 28 october 2016, 11:40 # +4
                  А PayPal?
                  1. Сергей Шлоков 28 october 2016, 11:54 # 0
                    Неа. Я патриот :)
                    1. Bluetenstadt 29 october 2016, 00:07 # +1
                      очень жаль, а хотелось поддержать.
              2. Дмитрий Кондаков 28 october 2016, 11:41 # +1
                Поддержал
                1. Сергей Шлоков 28 october 2016, 11:54 # 0
                  Третьим будешь :)
                  1. Сергей Шлоков 30 october 2016, 17:55 # 0
                    Проверяй почту.
                  2. Tim Yusupov 28 october 2016, 12:57 # +1
                    Поддержал)
                    1. Сергей Шлоков 30 october 2016, 17:55 # +2
                      Проверяй почту.
                    2. Сергей Шлоков 30 october 2016, 18:11 # +1
                      Обновил описание.
                      1. Владимир 30 october 2016, 18:19 # +2
                        Спасибо! Интересный инструмент, хотелось бы верить в развитие и в то что «народ подтянется».
                        1. Сергей Шлоков 31 october 2016, 09:53 # +2
                          Он расширяемый. Каждая команда в отдельном процессоре. Программистам не составит труда добавить свои команды.
                      2. Павел 31 october 2016, 15:29 # +3
                        +1
                        1. Сергей Шлоков 31 october 2016, 17:56 # +1
                          Равно 5.
                        2. Василий Столейков 01 november 2016, 08:00 # 0
                          Перепробовал несколько моих карточек (нероссийские), система не принимает их. Жаль что нету возможности через те же ЯД оплатить…!
                          1. Сергей Шлоков 01 november 2016, 08:06 # +1
                            Что такое ЯД?
                            1. Василий Столейков 01 november 2016, 08:08 # 0
                              )))))
                              ЯД == Яндекс Деьги.
                              Интересно что хотя Яндекс и обрабатывает карточный платеж, но со своего счёта на ЯД не нашел как оплатить…
                              1. Василий Столейков 01 november 2016, 08:09 # 0
                                А, сейчас попробовал снова, там оказывается есть незаметная кнопка-переключатель на кошелёк, сорри…
                                1. Сергей Шлоков 01 november 2016, 08:10 # 0
                                  Только хотел написать. Почему-то её часто не замечают.
                                  1. Василий Столейков 01 november 2016, 08:12 # +1
                                    Наверное потому что по умолчанию нажата карточная кнопка…
                                    Вложил и свою скромную лепту, жаль что через ЯД пока не могу больше…
                                    1. Сергей Шлоков 01 november 2016, 08:14 # +1
                                      Получил и расписался.
                                      1. Василий Столейков 01 november 2016, 08:17 # +1
                                        О, круто, он даже полупрозрачный, прямо как в Linux-е, линукс за эту плюшку особенно полюбил!
                                        Аж настальгией понесло, спасибо…
                                        1. Василий Столейков 01 november 2016, 08:19 # 0
                                          Интересно, а при запущенной команде help другие команды не срабатывают пока не очистишь экран? Не сразу в это врубился, было бы удобно без очистки вводить следующую команду…
                                          1. Сергей Шлоков 01 november 2016, 08:25 # +1
                                            )) Просто команды пишутся в конец и их не видно. Нужно промотать. Наверно лучше писать их наверх.
                                            1. Василий Столейков 01 november 2016, 08:26 # 0
                                              ага, строка для ввода наверху, так логичнее будет…
                                              1. Сергей Шлоков 01 november 2016, 08:29 # +3
                                                или автоматически проматывать. Всё-таки привычнее внизу, все терминалы так работают. Надо подумать.
                                                1. Владимир 01 november 2016, 08:44 # +2
                                                  или автоматически проматывать
                                                  — голосую «за!»
                                                  1. Василий Наумкин 01 november 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 november 2016, 09:05 # +2
                                                      При получении ответа от сервера очищаем ввод, вставляем ответ и скроллим его вниз.
                                                      У меня также. На видео видно.
                                                      Ext.getCmp(config.id+'-commandline').setValue('');
                                                      ...
                                                      outputEl.appendChild(newEl);
                                                      
                                                      outputEl — окно-контейнер результатов.
                                                      newEl — новый элемент p.
                                                      Осталось скролл прикрутить.
                                              2. Василий Столейков 01 november 2016, 08:13 # 0
                                                Спасибо, получил на почту!
                                      2. Leonid Krylov 01 november 2016, 15:05 # +7
                                        От Modstore «за десятерых»!
                                        1. Сергей Шлоков 01 november 2016, 16:03 # +4
                                          Неожиданно! Так как жду отклика от админов. Вечером постараюсь сделать управление пакетами. Как сделаю вышлю бету вам и Владимиру как самым щедрым спонсорам. :)
                                        2. Воеводский Михаил 03 november 2016, 10:08 # +3
                                          За троих )
                                          1. Сергей Шлоков 04 november 2016, 08:42 # +1
                                            «За себя, за тебя и за того парня» :)
                                          2. Сергей Шлоков 04 november 2016, 08:46 # +1
                                            Добавил видео с пакетами.
                                            You need to login to create comments.