К содержанию

Эмулятор терминала

15 000
Всем привет!
По планам осталась у меня одна задумка для 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, 19:53
modx.pro
5 131
Поблагодарить автора Отправить деньги
Реклама

Комментарии: 62

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

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

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