Interested Article - MyTetra

MyTetra кросс-платформенный PIM-менеджер с открытым исходным кодом на основе фреймворка Qt . Не требует наличия иных библиотек .

Разработка программы началась в первой половине 2000-х годов, публичный релиз состоялся в 2011 году . В 2016 году, начиная с версии 1.42.x , MyTetra была переведена на Qt 5 . Программа имеет релизы для таких платформ, как Windows , Linux , FreeBsd , OsX . Существовали сборки для мобильной платформы MeeGo . Текущее состояние кода предоставляет экспериментальную возможность сборки под мобильную платформу Android .

Программа 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 .

Примечания

Комментарии

  1. Исходный код MyTetra помещен в Арктический мировой архив

Сноски

  1. Антон Платов. // журнал . — 2011. — Сентябрь ( № 10/223 ). — ISSN . 16 октября 2020 года.
  2. Сергей Степанов. . История изменений . Webhamster.Ru. Дата обращения: 13 октября 2020. 9 октября 2020 года.
  3. Сергей Степанов. . Webhamster.Ru (2016-22-12). Дата обращения: 16 октября 2020. 16 апреля 2021 года.
  4. . Персональный менеджер накопления информации MyTetra обновился до версии 1.28 . (сентябрь 2011). Дата обращения: 15 октября 2020. 21 ноября 2011 года.
  5. на YouTube , начиная с 41:42
  6. Webhamster. . Поиск идеального помощника . Habr.com (5 декабря 2016). Дата обращения: 13 октября 2020. 8 октября 2020 года.
  7. Alexander Tolstoy. (англ.) // журнал Linux Format . — 2018. — Сентябрь ( no. 241 ). — ISSN .
  8. на YouTube , начиная с 2:46
  9. Сергей Степанов. . Webhamster.Ru. Дата обращения: 13 октября 2020. 31 октября 2020 года.
  10. . doc.qt.io . Дата обращения: 20 октября 2020. 30 октября 2020 года.
  11. (англ.) . Дата обращения: 12 октября 2020. 29 ноября 2020 года.
  12. . Дата обращения: 14 октября 2020. 17 июня 2018 года.
  13. Сергей Степанов. . Webhamster.Ru (28 октября 2018). Дата обращения: 14 октября 2020. 28 сентября 2020 года.
  14. на YouTube , начиная с 37:07
  15. . Любопытный хомячок. Дата обращения: 13 октября 2019. 21 сентября 2020 года.

Литература

Ссылки

  • (ru, );
  • ;
  • Статья «В поисках мифического Memex» , .
  • Видео на YouTube
  • Видео (часть 1) + + на YouTube

Связанные разработки

  • — веб-сервис, позволяющий просматривать записи программы MyTetra через интернет в виде HTML-страничек (ru, );
  • — веб-сервис, открывающий базу данных MyTetra в веб-браузере в специальном GUI-интерфейсе, напоминающем десктопный интерфейс MyTetra (ru, );
  • — клиент для просмотра базы MyTetra под ОС Android ;
  • (ранее Turbo Tetra) — набор скриптов AutoHotkey , предназначенных для упрощения сохранения в MyTetra просматриваемых страниц веб-браузера (только для Windows ).

См. также

Источник —

Same as MyTetra