Особенности системы (кратко)

Общее. Система делается на Delphi, т.к. Паскаль является признанным языком в сфере образования и проект должен иметь учебную направленность. Концепции, лежащие в основе проекта должны быть чётко сформулированы и понятны как в словесном описании, так и в виде программных модулей. Базовые идеи нетрадиционны, поэтому использование стандартных модулей, например, для редактирования форматированного текста будет нежелательным. Это ведёт к большей технической сложности проекта, но и к большей его методической ценности.

Оригинальное форматирование. Само по себе оригинальное форматирование не является достоинством, однако, оно даёт свободу действий. Основные принципы следующие.

  1. Форматирующая информация должна быть плоским текстом (принцип, аналогичный принципу HTML)
  2. Строки тегов форматирования хранятся отдельно от строк текста. В простейшем случае в различных частях одного и того же файла, в более сложных – форматирование и текст могут находиться в разных файлах

Метафора страницы. Предлагается наложить ограничение на систему. Вся информация должна размещаться не иначе как на образах страниц. В крайних случаях, т.е. при отображении плоско текста или HTML – документов предлагается страницы формировать "на лету".
Достоинства такого подхода –

  1. образуется более дружественная, привычная для человека среда, образ тетради или блокнота.
  2. становится возможным создавать точные копии обычных книг в электронном виде

Якорная точка. Любой фрагмент текста (т.е. абзац) или рисунок может размещаться в произвольном месте страницы (напомним, что страница имеет заранее определённый размер). Аналогичный подход наблюдается, когда вы рисуете что-то в блокноте. Точка привязки абзаца к странице будет называться "якорной точкой". Как и в блокноте, разные записи могут частично перекрываться друг с другом.

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

Слои. На бумажной странице разный текст может быть нанесён разными людьми. Например, на заявлении сотрудника может быть записана резолюция начальника. Предлагается ввести понятие слой. Разные слои заполняются разными людьми, могут располагаться в разных файлах, иметь разный доступ чтения / записи для разных пользователей, быть прозрачными в зависимости от заданных условий. Слои сводятся на одну страницу с помощью информации о разбиении на страницы. Помимо простейшего случая, когда второй слой является ответами учащегося на вопросы теста, размещённого на первом слое, слои с разными правами доступа к каждому из них могут использоваться как средство коллективной работы над документами и применяться в системах документооборота.

VFS, виртуальная файловая система. VFS должен "вести" отдельный файл на отдельный проект. В этот файл будут помещаться все документы по заданной тематике. Система SunWorld без VFS не должна знать разницы между файлом, документом, который является фрагментом другого файла или содержимым по ссылке на Web-документ в сети интернет.

Система управления гиперссылками. Гипертекст – очень удобная вещь, но простые пользователи не пишут для себя обычно документы в HTML формате, а в MS Word практически не используют гиперссылки, т.к. они неудобны. В SunWorld:

  1. пользователи сами создают гиперссылки в своих документах
  2. путь, пройденный по цепочке гиперссылок, запоминается как назад, так и вперёд, причём по любой ранее пройденной ветви; этот путь система не забывает между сеансами
  3. возможно массовое полуавтоматическое создание гиперссылок, благодаря чему можно объединять в единый иерархический массив информации тысячи файлов, тысячи документов, причём, за короткое время;
  4. для файлов большого объёма, например, для документов, состоящих из большого числа глав, запоминается много положений

Гиперссылки будут иметь ряд форматов. Наиболее простой формат используется, когда мы имеем дело с плоским текстом - ссылкой может считаться любое имя файла, которому соответствует реальный файл в системе.
Система управления гиперссылками состоит из двух таблиц, эта пара таблиц уникальна для каждого пользователя.

В первой таблице "History" помещён список файлов (просто файлов или файлов VFS), с которыми пользователь работал.

Вторая таблица "Stack" – "список входов". В простейшем случае в файле запоминается только одна последняя позиция. Но если файл велик, состит из логических частей, то позиций надо помнить много. "Вход" – это запись, которая однозначно определяется именем нашего файла и местом, откуда мы в наш файл попали. Например, мы можем иметь оглавление

Документ. Глава 1 test.txt
Документ. Глава 2 test.txt
Несмотря на то, что гиперссылка выглядит одинаково "test.txt",запомнено будет две позиции внутри test.txt, т.к. наш файл вызывается из разных строк оглавления.

WYSIWYG. Смысл в том, что мы предполагаем простые физические аналогии в работе с системой. Пользователю предлагается считать видимую страницу аналогом листа бумаги. Это делает работу более интуитивно понятной, в итоге ведёт к повышению производительности труда. В системе

  1. Абзац можно начинать с любого места на листе, надписи могут перекрываться
  2. По умолчанию режим вставки отключен. Так, при заполнении анкеты вы не увидите, что её поля разъезжаются
  3. Редактируется всегда документ, а не его копия в памяти, поэтому операции "сохранить" не существует. Если необходимо отредактировать документ, а затем вернуться к старому, то используется откатка (отмена), либо мы заранее создаём черновик.

Макрокоманды. Последовательность нажатий клавиш и событий мыши транслируется в последовательность команд. Эта последовательность команд непрерывно записывается, при этом фиксируется время каждой команды. Фрагмент последовательности можно выделить, отредактировать, дать ему имя и сохранить, присвоить клавиатурной комбинации и затем многократно вызывать. Каждая команда сопоставляется с символом. Т.к. команд больше, чем символов, то существует символ префикс переключающий "ветвь". Первая ветвь – это собственно ввод алфавитно-цифрового символа, нулевая – перемещение курсора и прочие основные операции. Интервалы времени между нажатиями клавиш переводятся в логарифмическую шкалу с множителем примерно 1,5 и также кодируются символами. Поэтому макрокоманда является читабельным текстом и может редактироваться средствами самой системы.

Вернуться
(с) Можаровский С.Г. // mailto:mozharovskys@mail.ru // swHome page