Делаю свою базу знаний
CHANGES
VERSION | DATE | DESCRIPTION OF CHANGE | AUTHOR |
---|---|---|---|
0.02 | 2022.06.30 | Описание компонент базы знаний | zag |
0.01 | 2020.06.04 | Начальная версия | zag |
TODO
уточнить протокол синхронизации локального стэйта и облачного
протокол p2p между узлами
Основные положения
Компоненты
База знаний это прежде всего набор текстовых файлов, расположенных на локальной файловой системе пользователя.
Аксона - приложение для графического представления, внесения изменений, анализа и накопления информации расположенной в как в локальной файловой системе, так и подключаемых удаленных баз знаний других пользователей.
Для доступа к базе знаний с других устройств, например с планшета или смартфона, используется сервис облачного хранения базы знаний. Этот сервис представляет собой self-hosted решение и взаимодействует с приложением Axona c помощью протокола синхронизации.
Благодаря такой схеме пользователь может продолжать вносить изменения в базу знаний с других устройств.
Сервис облачного хранения позволяет устанавливать связи и обмениваться информацией с аналогичными сервисами других пользователей.
Сервис облачного хранения также осуществляет публикацию базы знаний в виде HTML. Это возможно как с помощью встроенного web сервера, так и с помощью сторонних сервисов. Например: vercel.
Текстовая природа файлов позволяет использовать любой текстовый редактор для внесений изменений, а так же набор любых других утилит командной строки.
Организация файлового хранения
Основной елемент базы знаний - текстовый файл. Организуются файлы в каталоги. Каких то правил для именования файлов и каталогов нет. Владелец вправе самостоятельно организовывать структуру каталогов и придумывать правила именования файлов.
По идее формат может быть любым, например pdf. Главное что бы можно было легко извлекать из такого файла информацию для поиска и производить открытие этого файла. Возможно со временем будет добавлена поддержка файлов, отличных от текстового формата.
Итак, для начала будем пока рассматривать только текстовые файлы. Ничто не мешает хранить в структуре файлов другие типы файлов. Например, те же pdf, картинки. Но какая-то интерпретация содержимого таких файлов на начальном этапе будет отсутствовать.
Приведу для наглядности часть такой структуры:
├── 20200310
│ ├── 01-note.pod6
│ ├── 02-note.pod6
│ └── media
│ └── image1.jpg
└── 20200311
├── 01-note.pod6
├── 02-note.pod6
├── 03-note.pod6
└── media
└── diagram.jpg
В именах каталогов содержится дата - указание на конкретный день,
а содержимое каталогов - заметки, сделанные в течении дня.
В каталоге media
находятся
дополнительные материалы: изображения.
Указанным в примере способом можно организовать статьи для блога или просто заметки.
Для больших документов, в которых есть заголовок с изменениями - изменения экспортируются в основную ленту активности. Сопровождаются ссылкой на страницу документа.
Все ссылки, которые ссылаются на локальные файлы, заменяются на абсолютные, возможно сокращенные.
Если документ не является постом или заметкой и у него нет адреса для публикации, то адресом принимается его относительный путь в файловой системе.