LiLaLo TODO
Материал из Xgu.ru
Что должно быть сделано в программе LiLaLo.
Содержание |
[править] Неотсортированные
Уважаемые друзья,
если вы не знаете точно, к фичам какой дальности лучше отнести то, о чём вы пишете, просто пишите сюда. А потом отсортируем.
- перевести mywi на dict
- сохранять ${PIPESTATUS[1]} для команд
- При просмотре пространства имён на сервере, было бы удобно видеть какую то статистику. Например тут http://xgu.ru/l3/trainings/nt-ladm многие ветки пусты, а обходить их долго. Может пустые сессии вообще не надо сохранять?
- Нужно собрать модуль для Debian GNU/Linux недостающих перловых модулей и самого lilalo
- картинки в CVS
- правильные пути настраиваемые через конфигурационный файл а не зашитые жёстко в коде
- код mywi игнорируется если его нет
- включить tigrahints и mywi в дистрибутив
- довести инсталляцию l3-backed и в особенности l3-frontend до ума == она должна выполнять одной командой + правкой конфига apache
- l3config.pm валяется непонятно где == вынести в /etc/lilalo/l3config.pm
- Сделать не клиент-серверный, а локальный вариант (подробнее: l3text
- Сделать вариант, который просто рисует обычный консольный вывод, без наворотов (уже готов, подробнее l3text)
- Сделать автоматическое добавление новых команд на веб-страницу (ajax)
- интеграция с джаббером
- на страницах вывода дата и время начала страницы
- (23.03.10) в инсталляционном скрипте проверять версию bash - с версии 4.1 чтение и запуск скрипта нужно помещать не в .bashrc, а в .bash_profile
- (23.03.2010) БАГ: нельзя запустить mc из-под lilalo; то, что он не распознаётся, это нормально, но что не запускается, это плохо
[править] Первоочередные
- Система имён объектов
- Возможность использования произвольного приглашения; возможность меня приглашение налету (l3ps1)
- Если l3-agent уже запущен, при повторном запуске он должен не просто выдать сообщение, что запускаться не будет, но и попросить загруженную копию перечитать свою конфигурацию
[править] Неточности при распознавании
- Если команда выполняется долго, то показывается только верхняя часть её вывода (см. например обсуждение здесь [1])
- Не всегда корректно распознаётся командная строка
- некоторые команды теряются
- некоторые дифф-блоки теряются
[править] Интеграция l3-cgi-lite и l3-frontend
- нужно совместить l3-cgi-lite и l3-frontend
Но при этом l3-frontend должен иметь возможность непосредственного выполнения из командной строки!
Переписать l3-cgi
Практически готово. Создан скрипт l3-cgi-lite,
который позволяет перемещаться по каталогам
журналов и открывать нужные.
Вверху появилась навигационная строка.
Осталось доделать передачу дополнительных параметров (в частности, фильтра) скрипту l3-frontend и всё
[править] Средней дальности
- Приглашение генерируется программой на C (для повышения производительности)
- Текстовое представление
- Редактирование текстового представления
- Обратное преобразование
- Потерянные diff-блоки внизу журнала
- Разный размер для фрагментов вывода в зависимости от контекста
- Отслеживание файлов, выводимых с помощью cat. Доделать переход по всем версиям файлов. (возможно, лучше интегрировать с svn или чем-то таким)
- Документация - Не сделано, но уже появилась в Wiki :)
- Инсталлятор клиента + инсталлятор сервера
- deb/rpm
- Наведение порядка в коде
- Поддержка аутентификации и сжатия при передаче на backend-сервер
- поддержка csh/tcsh
- поддержка zsh (по поводу приглашений в zsh смотреть это http://www.aperiodic.net/phil/prompt/)
- вообще удалить l3-backend как таковой. Данные лучше передавать через web-сервер и не морочить мозг
- интегрировать lilalo и hg. Изменения, которые делаются в файлах должны попадать во внутренний репозиторий hg, который потом синхронизируется с репозиторием на сервере. Это даст возможность полноценно отслеживать изменения в файлах, а не на уровне разрозненных diff-блоков, которые к тому же не всегда фиксируются
[править] Стратегические
- Копирование множества объектов
- Выбор объектов
- Проигрывание объекта
- Работа с MySQL
- Лого - в качестве лого взята собака лабрадор, которую зовут Лилало
- синхронизация со звуком и видеорядом
- запись действий в графической оболочке и вмонтирование записи в журнал. Запись должна выполняться с помощью vnc2swf или аналогичного инструмента
[править] Просто идеи
(можно и не делать, но подумать надо)
- История меняется в зависимости от того, в каком каталоге мы сейчас находимся (возможно, по комбинации клавиш)
- Поиск по истории с несколькими ключевыми словами
[править] Сделано
- Новая информация в приглашении — сделано
- Возможность задавать путь в пространстве имён — сделано
- В FreeBSD неправильно определяет запущен агент, или нет — сделано
- xgu.ru/lilalo/install не указывает автоматически $HOSTNAME — сделано
- Дата в названии дня, а то непонятно, что за день идёт — сделано
- ИСПРАВИТЬ: Неправильно подсчитываются команды в статистике — сделано
- вывод diff пусть лучше в формате diff -u — сделано
- Не отображаются большие комментарии в мозилле — сделано (перешёл на Tigra Hints)
- Долго генерятся комментарии — сделано (сейчас скорость генерирования намного быстре, но это ещё не предел)
- ИСПРАВИТЬ: Визуализация лесенкой в IE и Opera — сделано (по крайней мере у меня ни в Opera, ни в IE проблем нет)
- Сделать разбивку больших журналов на блоки — сделано (сейчас по умолчанию по 100)
- ИСПРАВИТЬ: Не передаются скриншоты — сделано (теперь не только скриншоты передаются, но можно и любые графические файлы аплоадить)
- ИСПРАВИТЬ: Команда после tab-completion пропадает — сделано (команда теперь не пропадает; командные строки, набранные с помощью TAB-completion выделяются с помощью специального символа)
- ИСПРАВИТЬ: смешиваются данные выводов нескольких сеансов — сделано (больше не смешиваются)
- Нужно обязательно сделать чтобы у каждой команды была ссылка на неё же (вероятно, лучше всего в знаке приглашения), чтобы можно было использовать эту ссылку для идентификации команды — сделано
- ВЫНЕСТИ В ДОКУ «
- Приглашение команды является ссылкой на эту же команду в журнале. Если нужно указать на какую-то определённую команду, нужно использовать ссылку на символ приглашения. Например, так: «я заметил ошибку при распознавании команд; пропала команда apt-get install, которая должна идти после этой [2]».
- »
- Запуск записи по команде l3script, остановка — по exit — сделано
[править] Отменено
[править] Глюки
[править] Не все команды распознаются
(23:36 Jul09 2008)
Всё же не все команды попадают даже после исправлений. Сегодня был просто какой-то умопомрачительный глюк.
Заметили, что одна команда (apt-get install, как на зло) не попала в журнал. Я решил найти эту команду в истории и повторить её, для того чтобы она отобразилась в журнале.
Я повторил её несколько раз, но ни разу она не попала.
Остальные команды прекрасно распознались. Подозреваю, что проблема как-то связана с номером команды в истории.
Зло происходило здесь [3] (в 18:09:09, сразу же за ним). Команда: apt-get install
[править] Пропадение текста справа от курсора
сделано
Если что-то написать а потом нажать на стрелку (<-) то текст стирается, точнее он становится невидимым, но если потом двигать курсор вправо нажимая (->) то опять появляется...
Дело в функции l3_fix_prompt() которая находится в ~/.lilalo/l3bashrc, в функции всего одна строчка:
export PS1='\[v2#\!#$?#$UID#$$#$(/bin/date +%s)$(l3_save_last_line)#$PWD#\033[1024D\033[K\]'$PS1
Проблема связана с тем, что последовательность 033[1024D\033[K убивает не только скрытый текст приглашения (как должна), но и текст который находится справа от курсора.
[править] Ещё глюки
Ещё несколько глюков описано на странице Обсуждение:LiLaLo.
[править] LiLaLo на Xgu.ru
- LiLaLo
- Инсталляция LiLaLo
- Использование LiLaLo
- Устройство LiLaLo
- LiLaLo TODO
- Компоненты: l3-agent | l3-frontend | l3-backend | l3script | l3text