MyTetra — кросс-платформенный PIM-менеджер с открытым исходным кодом на основе фреймворка Qt. Не требует наличия иных библиотек.
Разработка программы началась в первой половине 2000-х годов, публичный релиз состоялся в 2011 году. В 2016 году, начиная с версии , MyTetra была переведена на . Программа имеет релизы для таких платформ, как Windows, Linux, FreeBsd, OsX. Существовали сборки для мобильной платформы MeeGo. Текущее состояние кода предоставляет экспериментальную возможность сборки под мобильную платформу Android.
Программа MyTetra разрабатывается с использованием принципа полной открытости технологий, свободного чтения и перемещения данных. Данные принципы обеспечивают устойчивое развитие программы, возможность сохранения читаемости хранимых данных на протяжении десятилетийИсходный код MyTetra помещен в Арктический мировой архив; позволяют организовать «бегство с формата» в случае смены персонального менеджера информации, без потери уже накопленной базы данных.
Интерфейс Хранение заметок организовано в виде древовидной структуры, каждый раздел является «веткой» дерева, а сами записи являются «листьями» (то есть, конечными элементами) по аналогии с структурой каталогов и файлов. Графический интерфейс программы предоставляет три основных рабочих области и одну дополнительную: область навигации по элементам дерева; область списка записей выбранного элемента; область текстового редактора; дополнительно, в нижней части интерфейса, панель поиска по базе данных.
Разделение интерфейса на область дерева и область списка записей позволяет организовать работу на небольших разрешениях экранов: разделы в дереве, обычно, имеют короткие названия, благодаря чему дерево разделов имеет небольшую ширину, при свободном «росте» в высоту за счет прокрутки. Записи же имеют достаточно длинные названия, и им предоставлена область списка записей, шириной, сравнимой с областью редактирования самого текста записи. Для больших разрешений предусмотрен функционал открепляемых окон, позволяющий держать на виду наиболее необходимые записи.
Формат хранения В MyTetra принят «естественный» формат хранения для каждого элемента данных: дерево разделов хранится в виде XML-файла, форматированный текст каждой записи хранится в виде HTML-файла, картинки хранятся в виде PNG-файлов (формат PNG выбран для сохранения качества), настройки программы хранятся в виде INI-файлов. Каждой записи выделяется отдельный каталог, где хранятся все относящиеся к записи файлы: файл с текстом записи, файлы картинок, прикрепляемые к записи файлы (attaches). Для гарантии переносимости между различными файловыми системами, имена всех каталогов и файлов содержат только символы латинского алфавита [a-z] и цифры.
Структура базы данных целенаправленно распределена между большим количеством небольших файлов, содержащих, преимущественно, текстовые данные. Это позволяет организовать эффективную синхронизацию файлового каталога с базой данных между несколькими установками MyTetra на разных компьютерах, с использованием любых сторонних систем контроля версий, таких как SVN, Git, Mercurial, или сервисов облачных дисков. Встроенного механизма синхронизации в MyTetra не реализовано, но сделаны инструменты вызова внешних программ синхронизации.
Встроенный редактор Для редактирования записей в MyTetra используется WYSIWYG-редактор WyEdit. В качестве основы редактора используется стандартный виджет QTextEdit, поддерживающий форматирование и сохранение HTML-документов. HTML-код, генерируемый данным виджетом, соответствует внутренним стандартам фреймверка Qt, и не полностью совместим со стандартом HTML 4.
Встроенный редактор MyTetra позволяет форматировать текст: изменение начертания, создание списков, работа с таблицами, вставка картинок, изменение цвета букв и фона, выделение вставок кода, работа с Интернет-ссылками.
Шифрование В программе предусмотрена возможность шифрации записей. Для шифрования записей пользователь должен выделить отдельную ветку, в которой будут находиться зашифрованные записи и подветки. В MyTetra задается только один пароль, которым шифруются зашифрованные ветки, то есть возможности шифровать различные ветки различными паролями не предусмотрено.
Шифрация производится с помощью кастомной реализации алгоритма RC5 в виде библиотеки RC5Simple, которая включается в поставку кода MyTetra. Шифрация происходит по алгоритму RC5-32/12/16 c CBC-режимом сцепления блоков шифротекста. Для защиты ключа шифрования, формируемого из пароля, применяется перемешивание битов по алгоритму Pbkdf2.
Формат хранения зашифрованных данных в MyTetra поддерживает версионирование, вследствие чего возможен мотивированный переход на любой другой алгоритм шифрования данных.
Степень защиты зашифрованных данных в MyTetra целиком и полностью зависит от сложности пароля, используемого пользователем.
Управление через консоль Предусмотрено управление запущенным экземпляром MyTetra посредством консольной команды. Для работы этой функции необходим запуск бинарника MyTetra в том же каталоге, в котором производился начальный запуск программы с GUI-интерфейсом. С помощью консольных команд можно производить следующие действия: активировать и разворачивать окно MyTetra (используется для возможности кроссплатформенной настройки открытия окна программы по горячей клавише) скрывать окно MyTetra в системный трей; отправлять команду завершения MyTetra (используется для корректного завершения MyTetra при выходе из системы в некоторых DE); перечитывать дерево данных; открывать в GUI-интерфейсе запись с заданным идентификатором; открывать в GUI-интерфейсе диалог создания новой записи; переключаться на ветку с заданным идентификатором.
Получить перечень доступных команд можно с помощью опции «--help». Данные команды используются, в частности, при создании альтернативных приложений, редактирующих базу данных MyTetra параллельно с запущенным экземпляром MyTetra.
Награды Elena Opris. PIM-менеджеру MyTetra присвоена награда «Softpedia 100 % Free» сайта Softpedia.
Примечания
Комментарии
Сноски
Литература
Ссылки Официальная страница проекта MyTetra на сайте автора (ru, en); Репозитарий MyTetra на GitHub; Статья «В поисках мифического Memex» Часть 1, Часть 2. Видео Видео Связанные разработки MyTetra Share — веб-сервис, позволяющий просматривать записи программы MyTetra через интернет в виде HTML-страничек (ru, en); MyTetra Web Client — веб-сервис, открывающий базу данных MyTetra в веб-браузере в специальном GUI-интерфейсе, напоминающем десктопный интерфейс MyTetra (ru, en); MyTetroid — клиент для просмотра базы MyTetra под ОС Android; MyTetra Integrator (ранее Turbo Tetra) — набор скриптов AutoHotkey, предназначенных для упрощения сохранения в MyTetra просматриваемых страниц веб-браузера (только для Windows).
См. также Zim Tomboy CherryTree
Категория:Персональные информационные менеджеры