Функциональные требования к клиенту базы знаний app
CHANGES
VERSION | DATE | DESCRIPTION OF CHANGE | AUTHOR |
---|---|---|---|
0.01 | 2020.09.03 | Начальная версия | zag |
Основные положения
Данный документ описывает основные функциональные требования к десктоп версии клиента базы знаний KnowledgeApp.
KnowledgeApp предназначена для создания, поиска и анализа документов, составляющих персональную базу знаний [1]. Пользователь может быстро осуществить поиск интересующей его информации, а так же визуализировать хранящуюся в базе информацию (в первую очередь связи между документами) в виде графа.
Общее взаимодействие пользователя и KnowledgeApp демонстрируется на следующем прототипе:
Рабочее окно приложения
Область древовидного представления связей и поиска
Панель вкладок (workspaces) Полностью аналогична вкладкам в браузере. Названия вкладок соответствуют заголовку исходного документа. Благодаря вкладкам, происходит переключение между Workspaces.
Область карточки, файла, документа
Отображает содержимое документа. Так же имеется раздел Backlinks, в котором представлена информация о документах, ссылающихся на данный. При наведении на ссылку в документе, появляется всплывающее окно с краткой информацией об документе, на который ведет ссылка или содержит часть области текста.
При переходе по внутренней ссылке в текущем окне появляется еще одна карточка документа. Она может делить рабочую область окна с исходным документам, а так же перекрывать источник.
💡В случае внешних ссылок ( ведущих в интернет), нам ничто не мешает создать Область документа и отобразить в нем интернет ресурс. Единственное, что возникает проблема безопасности. Ее вполне можно решить sandbox для iframe. На обдумать.
По мере перехода по ссылкам, окна добавляются. Если ссылка ведет на уже открытый документ, он выделяется при наведении на ссылку цветом и при переходе по ссылке становиться последним в списке открытых.
Вкладки (Workspaces)
Концепция рабочих областей эквивалентна закладкам в браузере. В случае браузера вкладки - удобное решение для переключения между сайтами. В случае базы знаний во вкладке представлен документ и последовательность связанных с ним ссылками документов. По сути это карточки по Zettelkasten methodology. Визуально они могут быть представлены как на сайте https://notes.andymatuschak.org/About_these_notes.
Исходные настройки / Locations
Доступ к настройкам осуществляется из меню File.
При первом запуске KnowledgeApp приглашает пользователя указать путь к каталогу, который будет использован для сканирования записей и формирования индекса для поиска и построения графа связей.
По умолчанию используется каталог iCloud для MacOS, "Мои документы" для Windows, ~/KnowledgeApp для Linux.
В панели настроек можно управлять списком путей: добавлять или удалять, указывать цвет и флаг, для создания файлов по умолчанию. Всегда присутствует путь, в котором будут создаваться новые документы.
Пользователь может добавить произвольное количество каталогов, в которых будет осуществляться поиск документов и их связывание. При этом каждому пути он может задать свой цвет. Этот цвет используется при визуализации графа связей. Использование цвета: Пользователь подключил каталог другого пользователя и на графе связей, благодаря цветовому выделению, он может видеть какие части базы знаний являются подключенными.
Открытие и создание новой записи
Открытие документа
Объектом открытия является документ в базе знаний, который служит началом перемещения по связям.
Процесс открытия подразумевает поиск по документам внутри каталогов, составляющих базу знаний. При открытии появляется окно, в котором представлена строка поиска и граф связей. Результаты поиска отображаются в виде блоков, содержащих:
Заголовок документа
Дату создания
Блок текста, удовлетворяющий поиску с выделенным текстом
Блоки группируются по файлам, в которых они присутствуют. Если в одном файле несколько блоков, удовлетворяющих запросу, то в результатах поиска они выводятся с общим заголовком и далее следуют в той же последовательности, как и расположены в файле.
При наведении курсора на результат поиска, на графе подсвечивается соотвествующий узел и его связи.
При щелчке на результате поиска происходит создание новой вкладки, в которой открывается файл. Эта вкладка получает заголовок тот же, что и заголовок файла.
Если такая вкладка уже открыта, происходит переключение на эту вкладку.
💡Возможно имеет смысл открыть новую вкладку, потому что в уже существующей вкладке с таким же файлом, может быть уже открыта какая-то последовательность документов. Она представляет собой исследовательскую конфигурацию и может не совпадать с тем направлением, по которому намеревается перемещаться пользователь в новой.
Так как файлы в базе знаний могут быть открыты из операционной системы ( по щелчку на файле из проводника например), то возможен случай открытия нового окна с указанным файлом. В таком случае, происходит создание нового окна, в котором открывается требуемый файл.
Создание нового документа
В случае создания нового документа, происходит открытие новой вкладки. Создание документа возможно сочетанием клавишей: cmd-N или из меню приложения.
При вводе первых символов происходит создание файла [2]. При создании документа в корневом каталоге пути по умолчанию, создается файл с шаблоном имени:
20200723-Kjsu3.pod6
или
20200723.pod6
При создании ссылки на текстовый блок к нему добавляется атрибут id.
💡Практичнее сразу сделать этот id глобальным наподобие guid, но не таким длинным.
Ссылки (связи) [3] между документами могут быть описаны в конфигурации блоков или документа. Пример:
=begin pod :links['../some/file.pod6', './extra/text.md', 'guid://abFthd23' ]
=end pod
Редактирование существующего документа
На данный момент для редактирования будет использоваться отдельный редактор. Он будет появляется в виде всплывающего окна. Окно состоит из двух частей:
текст документа на используемом языке разметки
предпросмотр в формате html
💡 При редактировании документов однозначно будет лучше смотреться inplace редактирование текста. Т.е. при щелчке на тексте в указанном блоке текста появляется курсор и становиться возможным редактирование текста, в том числе с дополнительными функциями по созданию ссылок.
Панель настроек приложения
[1] Подробнее о базе знаний можно узнать из следующих материалов: "Делаю свою базу знаний"" и "Планы по развитию персональной системы знаний"
[2]Взято из iaWriter
[3] Требуется описать способы адресации: явно установленная связь, связь через ссылку в тексте, указатель на блок текста в другом документе.