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

Источник — «http://xgu.ru/wiki/LiLaLo_TODO»