Официальная страница / Official page
( Rus / Eng )
MyTetra Share - это веб-сервис, позволяющий просматривать записи программы MyTetra через интернет в виде HTML-страничек.
Актуальная верия MyTetra Share: 0.48 от 07.09.2018
Поддерживаемая версия данных MyTetra: 1.30.x, 1.32.x, 1.42.x, 1.43.x
Примечание: так же существует сервис MyTetra Web Client, который позволяет просматривать базу знаний MyTetra через Интернет прямо в браузере с помощью веб-интерфеса, напоминающего интерфес программы MyTetra.
Скриншоты MyTetra Share
Дерево навигации
Текст записи
Чем отличаются MyTetra Share и MyTetra Web Client?
Сервис MyTetra Share помогает открыть свою базу в сети интернет так, что она будет полноценно видна в интернете в виде набора обычных HTML-страниц. Ваши знания станут доступны всем (если вы, конечно, этого хотите и держите открытым хранилище с базой MyTetra).
Сервис MyTetra Web Client эмулирует привычный Qt-интерфейс MyTetra в окне браузера. Он написан на JavaScript, и самостоятельно работает с репозитарием данных, размещенным, например, на GitHub.com. Сервер WebHamster.Ru при этом используется как промежуточный сервер, проксируя из JavaScript запросы для получения содержимого записей. Особенность такого решения состоит в том, что тексты записей существуют только в браузере и только в момент просмотра, и никак не отображаются в Интернете.
Просмотр существующих баз знаний
Осмелюсь назвать совокупность упорядоченных и протегированных сведений, выложенных в интернет, термином "онлайн-энциклопедия".
Активность пользователей, наполняющих базы данных, доступных через MyTetra Share, можно просмотреть на странице:
Пульс проекта MyTetra Share
Вот список некоторых открытых баз данных MyTetra:
Требуют доработки:
Если кому-то не нравится, что данные из его открытого хранилища представлены в виде энциклопедии на сайте WebHamster.Ru, напишите мне, я уберу ссылку. Или сделайте репозитарий закрытым.
Как разместить свои данные в виде онлайн-энциклопедии
Начинающие пользователи часто спрашивают: как добавить свой репозитарий в MyTetra Share?
Во-первых, нужно настроить синхронизацию или создание резервных копий через интернет. Для этого обычно используются бесплатные сервиса github.com или bitbucket.org. Чтобы приватные данные были недоступны посторонним, их размещают в зашифрованных ветках. (Сервис MyTetra Share вообще не показывает зашифрованные ветки хотя бы потому, что не может расшифровать их без пароля пользователя).
Затем нужно выяснить URL корневого файла mytetra.xml. Как это делать, написано на странице проекта MyTetra Web Client. Здесь я приведу пару примеров:
URL mytetra.xml для GitHub.com
https://raw.github.com/user_name/mytetra_repository/master/mytetra.xml
URL mytetra.xml для Bitbucket.org
https://bitbucket.org/user_name/mytetra_repository/raw/master/mytetra.xml
Внимание! Сервис GitHub периодически меняет систему адресации на сайте. Из-за этого структура URL в какой-то момент может стать другой. С некоторых пор на GitHub восстановили работу подсистемы GtHubUserContent, и прямой (raw) URL на файл стал выглядеть так:
https://raw.githubusercontent.com/user_name/mytetra_repository/master/mytetra.xml
Во-вторых, этот URL нужно преобразовать в "транспортабельный" URL. Для этого символ "/" заменяется на символ "~". Если в URL встречается символ "~", то его заменяют на символы ".~".
Пример. Обычный URL:
https://raw.github.com/xintrea/mytetra_syncro/master/mytetra.xml
Транспортабельный URL:
https:~~raw.github.com~xintrea~mytetra_syncro~master~mytetra.xml
В третьих, полученный URL следует пристыковать к URL сервиса MyTetra Share "https://webhamster.ru/mytetrashare/index/". Вот так:
https://webhamster.ru/mytetrashare/index/https:~~raw.github.com
~xintrea~mytetra_syncro~master~mytetra.xml
Открыв полученный URL в браузере, можно просматривать записи MyTetra. Этот URL можно опубликовать у себя на сайте. Так же MyTetra Share формирует уникальный URL для каждой отдельной записи. Находясь на странице с записью, просто скопируйте URL. Его можно использовать для перехода на конкретную запись, а не к всему дереву энциклопедии.
Если базе MyTetra есть приватные данные
Вопрос: Если я настрою синхронизацию, и размещу данные в открытом GitHub-репозитарии, то мои приватные данные увидят все!
Ответ: В MyTetra есть шифрование веток с помощью библиотеки RC5Simple. Если вы зашифруете ваши приватные данные, то они будут доступны только вам. Степень защиты данных зависит от сложности пароля. Сервисы MyTetra Share и MyTetra Web Client вообще не показывают в интерфейсе зашифрованные ветки, так как показывать их бессмысленно.
Известные проблемы
Сайт github.com, по всей видимости, имеет какой-то балансировщик нагрузки, и с некоторой задержкой обновляет доступные напрямую данные. Это проявляется в том, что после коммита очередных изменений в пользовательский репозитарий MyTetra, сразу увидеть эти изменения на интернет-страницах MyTetra Share невозможно. Задержка может составлять и пять и десять минут. Текст записи обычно изменяется достаточно быстро. Данные дерева могут меняться более медленно, так как файл дерева обычно в сотни и тысячи раз больше файла одной записи. Кроме того, на обновление данных, видимых в Web, влияет кеш самого сервиса MyTetra Share.
Общее правило такое: отображение обновленных данных зависит от Github, кеша MyTetra Share, количества обращений к записям конкретного пользователя (чем обращений больше, тем кеш MyTetra Share обновляется быстрее). Грубо говоря, через час после закоммичевания изменений, все изменения будут видны в Web.