Техническое задание на календарное приложение
Основные функции
- Показ ближайших событий, в том числе и регулярно повторяющихся.
- Создание новых событий и редактирование существующих
- Показ отдельного события, прилетевшего в виде MIME-объекта text/caledar с вожможностью импорта существующих
- При создании нового события возможность отправить его письмом по списку адресов (ориентируемся на интерфейс командной строки mutt).
- Синхронизация через vdirsyncer, т.е. в качестве основного хранилища используется либо директория, либо файл совместимый с vdirsyncer-овскими представлениями о local storage.
- Возможность экспорта отдельного события
Поддерживаемые типы календарных объектв
VEVENT (VALARM, как вложенный в VEVENT)
Поддерживаемые поля в событии
По RFC 5545
- DTSTART
- DTEND
- RRULE
- EXDATE
- SUMMARY
- DESCRIPTION
- ATTENDEE
- ORGANIZER
- LOCATION
- GEO
- STATUS
- PRIORITY
- UID
- Вложенный VALARM
Поддерживаемые поля в предупреждающем сигнале
- TRIGGER
- ACTION
- SUMMARY
- DESCRIPTION
Пользовательский интерфейс
При запуске без имени импортируемого файла
Экран делится на три панели. Слева примерно 50 символов - текущий день. Список событий с их SUMMARY. (текущий день необязательно сегодня - можно пролистать календарь)
Справа вверху - календарь на текущий месяц. Цветом выделены сегодняшнй день, день выбранный в левой панели и дни в которые уже запланированы события.
Справа внизу - текущее событие.
В нижней строке - строка состояния показывает текущую дату и время. Под ней, возможно, справка по клавишам.
Переключение между панелями Tab, перемещение по календарю или по событиям - стрелки. Стрелки вправо-влево в левой панели - переключение на завтра-вчера.
Клавиша Enter в списке событий - открытие текущего события в диалоге редактирования поверх панелей. Если событий в этот день нет - создание нового.
Клавиша Enter в календаре - переход в список событий.
В левой панели операции над текущим событием - удалить, отправить по почте, редактировать, экспортировать.
При запуске с именем файла - открывается диалог редактирования события в рид-онли режиме с этим событием и кнопками "Импортировать", "Подтвердить участие" и "отмена".
Файл конфигурации
В файле конфигурации должны быть указаны следующие параметры
- Команда для отправки электронной почты с полями для подстановки attached file, subject и списка репциентов.
- Команда для поиска в адресной книге (аналог mutt-овской
query_command
- Путь к файлу календаря
- E-Mail текущего пользователя (если не выводится из getpwuid и /etc/mailname)
- Цветовая схема
Опции командной строки
-n
- при старте открыть диалог добавления события-f
имя файла - открыть указанный календарь вместо указанного в конфигурации.-d
показать ближайшие (сегодняшние) события и оповещения.