MyTetra: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Нет описания правки
Строка 14: Строка 14:
| license = [[GPL]]
| license = [[GPL]]
}}
}}
Сергей, '''активируй личную страницу участника'''! Упоминание на твой логин не работает.<br>
<sup>Не удалять пока владелец черновика не сотрет!</sup> [[У:Booklovin|Booklovin]] ([[ОУ:Booklovin|обс.]]) 20:49, 24 октября 2020 (UTC)<br><br>

'''MyTetra''' — [[Кросс-платформенное программное обеспечение|кросс-платформенный]] [[Персональный информационный менеджер|PIM-менеджер]] с [[Открытое программное обеспечение|открытым исходным кодом]] на основе [[Qt|фреймворком Qt]] Не требует наличия иных библиотек<ref name=LGHS>{{Статья|автор=Антон Платов|заглавие=MyTetra: персональный менеджер информации|ссылка=https://mega.nz/file/KslGkChB#XcyUpJk37brqvIlSlJ6xE-PEiVn8JKvifgK0PUex-TU|язык=ru|издание=журнал [[Компьютерная газета Хард Софт]]|тип=|год=2011|месяц=Сентябрь|число=|том=|номер=10/223|страницы=|issn=1819-6500}}</ref>.
'''MyTetra''' — [[Кросс-платформенное программное обеспечение|кросс-платформенный]] [[Персональный информационный менеджер|PIM-менеджер]] с [[Открытое программное обеспечение|открытым исходным кодом]] на основе [[Qt|фреймворком Qt]] Не требует наличия иных библиотек<ref name=LGHS>{{Статья|автор=Антон Платов|заглавие=MyTetra: персональный менеджер информации|ссылка=https://mega.nz/file/KslGkChB#XcyUpJk37brqvIlSlJ6xE-PEiVn8JKvifgK0PUex-TU|язык=ru|издание=журнал [[Компьютерная газета Хард Софт]]|тип=|год=2011|месяц=Сентябрь|число=|том=|номер=10/223|страницы=|issn=1819-6500}}</ref>.



Версия от 20:49, 24 октября 2020

MyTetra
Скриншот программы MyTetra
Тип Персональный информационный менеджер
Написана на C++ / Qt
Операционная система Cross-platform
Первый выпуск 2011
Последняя версия 1.44.31 (14 сентября 2018 года)
Тестовая версия 1.44.137 (13 октября 2020 года)
Лицензия GPL

Сергей, активируй личную страницу участника! Упоминание на твой логин не работает.
Не удалять пока владелец черновика не сотрет! Booklovin (обс.) 20:49, 24 октября 2020 (UTC)

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

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

Программа MyTetra разрабатывается с использованием принципа полной открытости технологий, свободного чтения и перемещения данных. Данные принципы обеспечивают устойчивое развитие программы, возможность сохранения читаемости хранимых данных на протяжении десятилетий[K 1]; позволяют организовать «бегство с формата» в случае смены персонального менеджера информации, без потери уже накопленной базы данных[6].

Интерфейс

Хранение заметок организовано в виде древовидной структуры, каждый раздел является «веткой» дерева, а сами записи являются «листьями» (то есть, конечными элементами)[1] по аналогии с структурой каталогов и файлов. Заметка является конечным элементом и не предполагает создание подчиненных записей[7]. Графический интерфейс программы предоставляет три основных рабочих области и одну дополнительную[8]:

  • область навигации по элементам дерева;
  • область списка записей выбранного элемента;
  • область текстового редактора.
  • дополнительно, в нижней части интерфейса, панель поиска по базе данных.

Разделение интерфейса на область дерева и область списка записей позволяет организовать работу на небольших разрешениях экранов: разделы в дереве, обычно, имеют короткие названия, благодаря чему дерево разделов имеет небольшую ширину, при свободном «росте» в высоту за счет прокрутки. Записи же имеют достаточно длинные названия, и им предоставлена область списка записей, шириной, сравнимой с областью редактирования самого текста записи[9]. Для больших разрешений предусмотрен функционал открепляемых окон[10], позволяющий держать на виду наиболее необходимые записи.

Формат хранения

В MyTetra принят «естественный» формат хранения для каждого элемента данных: дерево разделов хранится в виде XML-файла, форматированный текст каждой записи хранится в виде HTML-файла, картинки хранятся в виде PNG-файлов (формат PNG выбран для сохранения качества), настройки программы хранятся в виде INI-файлов[1][6]. Каждой записи выделяется отдельный каталог, где хранятся все относящиеся к записи файлы: файл с текстом записи, файлы картинок, прикрепляемые к записи файлы (attaches). Для гарантии переносимости между различными файловыми системами, имена всех каталогов и файлов содержат только символы латинского алфавита [a-z] и цифры.

Структура базы данных целенаправленно распределена между большим количеством небольших файлов, содержащих, преимущественно, текстовые данные. Это позволяет организовать эффективную синхронизацию файлового каталога с базой данных между несколькими установками MyTetra на разных компьютерах, с использованием любых сторонних систем контроля версий, таких как SVN, Git, Mercurial, или сервисов облачных дисков[1]. Встроенного механизма синхронизации в MyTetra не реализовано, но сделаны инструменты вызова внешних программ синхронизации.

Встроенный редактор

Для редактирования записей в MyTetra используется WYSIWYG-редактор WyEdit. В качестве основы редактора используется стандартный виджет QTextEdit[11], поддерживающий форматирование и сохранение HTML-документов. HTML-код, генерируемый данным виджетом, соответствует внутренним стандартам фреймверка Qt, и не полностью совместим со стандартом HTML 4[1].

Встроенный редактор MyTetra позволяет форматировать текст: изменение начертания, создание списков, работа с таблицами, вставка картинок, изменение цвета букв и фона, выделение вставок кода, работа с Интернет-ссылками[8].

Шифрование

Предусмотрена возможность шифрации записей. Для шифрования записей пользователь должен выделить отдельную ветку, в которой будут находиться зашифрованные записи и подветки. В MyTetra задается только один пароль, которым шифруются зашифрованные ветки, то есть возможности шифровать различные ветки различными паролями не предусмотрено.

Шифрация производится с помощью кастомной реализации алгоритма RC5 в виде библиотеки RC5Simple[12], которая включается в поставку кода MyTetra. Шифрация происходит по алгоритму RC5-32/12/16 c CBC-режимом сцепления блоков шифротекста. Для защиты ключа шифрования, формируемого из пароля, применяется перемешивание битов по алгоритму Pbkdf2[1].

Формат хранения зашифрованных данных в MyTetra поддерживает версионирование[13], в следствие чего возможен мотивированный переход на любой другой алгоритм шифрования данных.

Степень защиты зашифрованных данных в MyTetra целиком и полностью зависит от сложности пароля, используемого пользователем.

Управление через консоль

Предусмотрено управление посредством консольной команды[14]. Для работы этой функции необходим запуск бинарника MyTetra в том же каталоге, в котором производился начальный запуск программы с GUI-интерфейсом. С помощью консольных команд можно производить следующие действия:

  • активировать и разворачивать окно MyTetra (используется для возможности кроссплатформенной настройки открытия окна программы по горячей клавише)
  • скрывать окно MyTetra в системный трей;
  • отправлять команду завершения MyTetra (используется для корректного завершения MyTetra при выходе из системы в некоторых DE);
  • перечитывать дерево данных;
  • открывать в GUI-интерфейсе запись с заданным идентификатором;
  • открывать в GUI-интерфейсе диалог создания новой записи;
  • переключаться на ветку с заданным идентификатором.

Получить перечень доступных команд можно с помощью опции «--help». Данные команды используются, в частности, при создании альтернативных приложений, редактирующих базу данных MyTetra параллельно с запущенным экземпляром MyTetra[15].

Награды

Примечания

Комментарии

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

Сноски

  1. 1 2 3 4 5 6 7 Антон Платов. MyTetra: персональный менеджер информации // журнал Компьютерная газета Хард Софт. — 2011. — Сентябрь (№ 10/223). — ISSN 1819-6500.
  2. Сергей Степанов. MyTetra - программа накопления осмысленной информации. История изменений. Webhamster.Ru.
  3. Сергей Степанов. MyTetra v.1.42 - подробный обзор. Webhamster.Ru (2016-22-12).
  4. MyTetra 1.28. Персональный менеджер накопления информации MyTetra обновился до версии 1.28. PCNEWS.ru (сентябрь 2011).
  5. Обзор PIM-менеджера MyTetra v.1.42 - Часть 3 / MyTetra и платформа Android на YouTube, начиная с 41:42
  6. 1 2 Webhamster. Самая нужная программа на свете. Поиск идеального помощника. Habr.com (5 декабря 2016).
  7. Zim — редактор для создания заметок
  8. 1 2 Alexander Tolstoy. Personal Information Manager MyTetra (англ.) // журнал Linux Format. — 2018. — Сентябрь (no. 241). — ISSN 1470-4234.
  9. Обзор PIM-менеджера MyTetra v.1.42 - Часть 1 / Обзор интерфейса на YouTube, начиная с 2:46
  10. Сергей Степанов. Диспетчер открепляемых окон заработал в MyTetra. Webhamster.Ru.
  11. QTextEdit Class | Qt Widgets 5.15.1. doc.qt.io. Дата обращения: 20 октября 2020.
  12. Криптографическая библиотека RC5Simple. Репозитарий на GitHub (англ.).
  13. Формат данных библиотеки RC5Simple.
  14. Сергей Степанов. Опции командной строки в MyTetra. Webhamster.Ru (28 октября 2018).
  15. Обзор PIM-менеджера MyTetra v.1.42 - Часть 3 / Управление запущенной MyTetra через командную строку на YouTube, начиная с 37:07
  16. MyTetra была включена в модерируемый каталог Softpedia и получила награду "Softpedia 100% Free". Любопытный хомячок. Дата обращения: 13 октября 2019.

Литература

Ссылки

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

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