Lotus Notes для пользователя

Илья Евсеев


Содержание

1. Что такое Lotus Notes?
Пример 1: документооборот. Автоматическое поведение документов
Что такое СУБД?
Первое достоинство: уменьшение размера и увеличение связности
Второе достоинство: ускорение работы в сети
Третье достоинство: обеспечение совместной работы
Дополнительные термины
Пример 2: телефонная книга. Распределённое хранение
Пример 3: личные дела. Меняющийся состав сведений
Вариант 1: хранение в текстовых документах Microsoft Word
Вариант 2: хранение в реляционной БД
Резюме
2. Использование Lotus Notes в УЦВТ
Компоненты сети Notes
Усовершенствования
Сетевые каталоги
Что требуется от пользователя?
Как и зачем используется сетевой диск N:?
Что из себя представляет команда «go!» ?
3. Пользовательский интерфейс
Пароли Notes
Часто задаваемые вопросы
Структура главного окна
Панель закладок
Булавка
Начальная страница
Открытие баз
Использование клавиатуры
Рабочее пространство в стиле Notes версии 4.x
4. Публичная Адресная Книга
Как выглядит окно базы данных
Панель состояния
Содержание Публичной Адресной Книги
Чтение документов
Панель операций
Способы запуска команд в Notes
Чтение оглавлений
Правила формирования оглавлений
5. Почта
Как открыть Почтовый Ящик
Редактирование письма
Адреса получателей
Поля в диалоговом окне выбора адресов
Отправка письма
Уведомления о приходе почты
Разделы почтового ящика
Группы документов
Панель операций Почтового Ящика
Корзина
Оглавления разделов
Параметры доставки
Панель переключателей
Пользовательские папки
Разделы: папки и представления
Бланки
Правила автоматической обработки входящей почты
6. Встроенный редактор
База типа Личный журнал
Повторное открытие редактора
Типы текстовых полей
Блоки текста, буфер обмена
Поля Панели состояния
Оформление текста
Плавающее Окно свойств
Стили
Разбиение на абзацы
Списки
Сворачиваемые разделы
Таблицы
Поиск и замена
Данные из внешних источников
Рекомендации по выбору
Ссылки
Дополнительные элементы
7. Электронные форумы и доски объявлений
Формальное описание
База типа Библиотека документов
База типа Библиотека MS Office
Содержание разделов
Вертушки и отступы в оглавлении
Категории
Рецензирование
Панель операций в окне редактирования документа
Ответы
8. Подсказки и поиск
Поиск в базе
Индексирование
Сложный поиск по базе
Поиск по множеству баз
9. Права доступа
ACL
Группы пользователей и компьютеров
Пример назначения ACL
Права пользователя
Ограничение доступа к элементам базы
Управление доступом к оглавлениям
Управление доступом к отдельным документам
Управление доступом к документам по их типу
Роли
Доступ к локальным базам
Заключение
10. Репликация
Определение, принцип действия, обоснование необходимости
Создание и инициализация новых реплик
Синхронизация реплик
Первая и последующие репликации
Фоновый и монопольный режим
Репликатор
Параметры репликации, хранящиеся в Notes
Проверка прав доступа
Репликация по расписанию
Списки реплицирования для разных мест вызова
Исключение из списков реплицирования
Параметры репликации, хранящиеся в базе
Конфликты
Создание реплики без связи с исходным сервером
Создание реплики на целевом сервере
Внутренние двоичные имена баз и документов
Перенос реплик в виде файлов
11. Календарь и поручения
Детали оформления
Создание календарной записи
Форма редактирования
Оповещения
Повторения
Рассылка приглашений
Что делать при получении приглашения
Автоматические ответы
Задачи и поручения
Настройка конфигурации
Какой смысл в таком разнесении настроек?
В каком виде хранятся настройки в ПЯ?
Какие сведения хранятся в профиле ПЯ?
Коллективный календарь
Резервирование ресурсов
Состав данных в базе резервирования
12. Шифрование и подпись
Постановка задачи
Личный шифр пользователя
Вспомогательные симметричные шифры
Размещение настроек, связанных с шифрацией
Шифрация почты
Почему шифрация входящей почты настраивается не в настройках Notes, а в Публичной АК ?
Шифрация трафика
Сетевые протоколы аппаратного, системного и прикладного уровня
Шифрация баз
Шифрация документов
Коллективные шифры
Создание и хранение шифров
Распространение ключей
Использование ключа
Сравнение коллективного и личного шифрования документов
Аутентификация с использованием личного ключа
Сертификаты
Кросс-сертификаты
13. Настройка рабочей станции
Расположение настроек – общая схема
Правила поиска notes.ini
Состав данных в Notes.ini
Личная АК
Контакты
Подключения
Места вызова
Мобильная АК
Маршрутизатор
ECL
Закладки
Прочие персональные базы
Подписки
Личный Web-навигатор
Notes Minder
14. Интеграция Notes в Интернет
Важные понятия сети Интернет
Авторизация в сети Интернет
Защищённый вариант
Классический вариант
Доступ из Интернет-клиентов к данным на сервере Domino
Почта
Wеб-интерфейс к базам данных
Web-mail
Новости
Адресные книги
Доступ к Интернет-сервисам из Lotus Notes
Учётные записи в Личной АК
Web-страницы
Почта
Новости
Адресные книги
Доступ в Интернет через шлюз на сервере Domino
Web-страницы
Почта
Новости
Адресные книги

Список иллюстраций

3.1. Структура окна Lotus Notes
4.1. Панель состояния Notes
5.1. Иконки для входа в Почтовый Ящик
5.2. Пример создания нового представления
9.1. Права доступа Публичной АК УЦВТ
10.1. Создание локальной реплики коллективной базы
10.2. Реплицирование выбранной базы
10.3. Выбор режима репликации
12.1. Упрощенная схема движения почтовых сообщений
12.2. Опции защиты почты в глобальных настройках Notes
12.3. Опции защиты в параметрах почтового сообщения
12.4. Опции защиты входящей почты в учётной записи в Публичной АК

Список таблиц

12.1. Варианты шифрозащиты почтовых сообщений
12.2. Сравнение шифрации трафика с шифрацией почты

Глава 1. Что такое Lotus Notes?

Lotus Notes – это система автоматизации документооборота.

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

Пример 1: документооборот. Автоматическое поведение документов

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

Предположим, что для подготовки документов используется 1C:Бухгалтерия. Она содержит в себе все предусмотренные ГОСТ'ами формы, заполнить которые – дело нескольких минут. Однако при этом каждый из участников цепочки, перед тем как подготовить документ для следующего участника, должен:

  • получить документ от предыдущего участника;
  • проверить правильность заполнения;
  • вручную запустить программу подготовки документов;
  • создать новый документ, самостоятельно выбрав для него нужную форму-заготовку.

При этом следует учитывать ситуации следующего рода:

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

Фактически, в повседневном делопроизводстве мы имеем дело с двумя соприкасающимися классами задач:

  • подготовить документ нужного содержания и внешнего вида;
  • обеспечить пересылку документов между пользователями по заданным маршрутам; отслеживая появление одних документов, автоматически создавать другие документы и автоматически же заполнять их содержимым полностью или частично.

Электронные таблицы, текстовые процессоры и т.д. обслуживают первый класс задач. Однако второй класс задач также может быть формализован и автоматизирован. Он называется workflow automation («автоматизация управления потоками работ»). Класс программного обеспечения, занимающийся решением таких задач, обозначается термином Groupware («технологии для совместной работы», по аналогии с software). Lotus Notes™ является не единственным, но наиболее популярным и универсальным программным продуктом этого класса ПО. Кроме того, значительной популярностью пользуются также системы Microsoft Outlook/MS Exchange Server™ и Novell GroupWise™.

Как правило, приложения GroupWare объединяют в себе свойства клиент-серверной СУБД и почтовой системы.

Что такое СУБД?

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

Первое достоинство: уменьшение размера и увеличение связности

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

В базе данных названия товаров, покупателей и поставщиков могут быть сохранены по отдельности в независимых таблицах, в которые каждое название заносится ровно один раз. Главная таблица вместо соответствующего названия содержит его порядковый номер во вспомогательной таблице. СУБД сводит в отчёте для пользователя все данные воедино автоматически.

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

Примером реляционной СУБД является Microsoft Access™.

Второе достоинство: ускорение работы в сети

Допустим, пользователю на рабочей станции требуется найти среди данных на сервере строку заданного образца. Если данные хранятся в простых файлах и для доступа к ним используется сетевая ФС (файловая система), то файл (вручную или автоматически) будет скопирован с сервера на рабочую станцию, после чего на рабочей станции и будет произведён собственно поиск. Какая составляющая приведённой последовательности займёт наибольшее время? Ответ: копирование файла по сети. Более того, сетевые пересылки разных пользователей будут тормозить друг друга и тем самым замедлять скорость работы всё сильнее и сильнее.

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

В этой схеме за счёт переноса операции поиска с рабочей станции на сервер исчезает необходимость пересылки исходных данных через сеть. Теперь по сети пересылаются только запрос и результат операции, которые очевидно будут иметь существенно меньший объём, чем исходный файл. Следовательно, скорость работы возрастёт тем сильнее, чем больше исходные данные и медленнее сеть. Побочным эффектом является увеличение нагрузки на процессор и ОЗУ сервера (поскольку это он теперь обязан производить вычисления) и уменьшение нагрузки на процессор и ОЗУ рабочей станции (поскольку теперь она не вычисляет результат самостоятельно, а получает его в уже готовом виде извне).

Наиболее популярными языками для связи между клиентом и сервером реляционных БД являются язык SQL (Structured Query Language, «Структурированный язык запросов») и протокол ODBC (Open Database Connectivity, «открытый метод подключения к базам данных»). Как правило, нечто называют языком, если его конструкции имеют читабельный вид, могут быть записаны и расшированы вручную. Если нечто имеет двоичный вид, используется только для связи между программами, его называют протоколом. Впрочем, предложенная градация весьма условна: в отличие от ODBC, многие сетевые протоколы имеют читабельный синтаксис.

Ещё одной конструктивной особенностью СУБД, ускоряющей работу с хранящейся в базах данных информацией по сравнению с информацией в простых файлах, является наличие в них дополнительных служебных сведений – индексов. Индексом называют последовательность номеров записей в базе, отсортированную по тому или иному критерию. Такие часто используемые операции, как вывод отсортированного оглавления или поиск, вместо чтения всего содержимого базы или отдельной таблицы могут быть сведены к чтению соответствующего индекса. Поскольку номера в индексе, в отличие от записей в базе, упорядочены и имеют фиксированный небольшой размер, поиск по индексу занимает существенно меньше времени, чем непосредственно по содержимому базы. Как правило, СУБД создают и используют индексы автоматически.

Третье достоинство: обеспечение совместной работы

Если текстовый файл с данными хранится на файл-сервере, то попытка редактировать его с двух и более рабочих мест одновременно, скорее всего, приведёт к его порче. Однако если данные хранятся в базе и изменения производятся через т.н. сервер БД, сервер берёт на себя обязанность по сохранению целостности данных: например, одновременные попытки изменить одну и ту же запись блокируются, а для разных записей – разрешаются и корректно производятся.

СУБД, хранящая базы данных в файлах на диске, называется настольной или локальной.

Другая разновидность СУБД, клиент-сервер, состоит из двух программных компонент, взаимодействующих друг с другом через сеть:

  • программа-сервер БД работает на компьютере-сервере и управляет базами по запросам программ-клиентов;
  • программы-клиенты выполняются на рабочих станциях, отправляют запросы на сервер и осуществляют диалог с пользователем.

Дополнительные термины

Если СУБД умеет хранить в базах не только данные, но и поведение для их обработки, записываемое на неком языке программирования, такую СУБД называют объектной.

Lotus Notes является объектной СУБД с архитектурой клиент-сервер. [1] Серверная часть имеет имя собственное Lotus Domino. Клиентская часть не имеет отдельного имени. Помимо работы с сервером, она умеет работать как настольная СУБД.

Пример 2: телефонная книга. Распределённое хранение

Представим себе учреждение, которое состоит из нескольких филиалов, в том числе имеет филиалы в других городах. Примером такого учреждения является УЦВТ – Учебный центр вычислительной техники. Компьютерная связь осуществляется по стандартным телефонным линиям. На сервере, обслуживающем главный филиал, хранится файл с телефонами сотрудников (электронная таблица, простая база данных или текстовый документ). У сотрудников должна быть возможность:

  • пользоваться телефонной книгой (ТК);
  • вносить в неё дополнения и исправления.

Все возможные решения представляют собой компромисс между оперативностью и снижением денежно-временных затрат на связь. Абсолютно тупиковым является «бескомпромиссный» вариант, когда ТК хранится только на центральном сервере и для каждого её использования извне требуется устанавливать телефонное соединение с главной площадкой.

Если же пользователь время от времени копирует телефонную книгу к себе на компьютер (через Internet, прозванивается напрямую, приносит на дискете), его копия книги периодически устаревает и нуждается в обновлении. Он должен сам заботиться о своевременном обновлении личной копии, а также о поиске оптимального пути для такого обновления. Например, сотрудникам, работающим в другом городе, имеет смысл договориться, что ездить на главную площадку или прозваниваться по междугородней связи модемом на центральный сервер будет кто-то один из них, а остальные сотрудники, если только им не придется ехать/звонить на главную площадку по другим делам, будут забирать свежии копии у него.

Наряду с этим имеет место и встречное движение: сотрудники заносят в ТК новые сведения (например, телефоны клиентов), удаляют ненужные записи и исправляют неверные. Они изменяют свои собственные копии ТК, из которых изменения так или иначе должны попасть в центральный экземпляр ТК на главном сервере.

СУБД, которая нужна нам для решения этой задачи, должна уметь распространять вносимые в базу данных изменения от центрального сервера (возможно, через промежуточные серверы) к конечным пользователям и обратно (через локальную сеть, коммутируемые и постоянные внешние соединения, и т.д.).

Пусть два компьютера устанавливают соединение, чтобы синхронизировать свои экземпляры ТК. В этот момент должны быть выполнены следующие действия:

  • если документ был добавлен или изменён в экземпляре A,
    он должен быть скопирован в экземпляр B; и наоборот;
  • если документ был удалён из экземпляра A,
    он должен быть удалён из экземпляра B; и наоборот;
  • если над одним и тем же документом были совершены несовместимые действия (например, отредактирован и в базе A, и в базе B), оба изменения должны быть запомнены в обоих экземплярах ТК для последующего ручного редактирования рассогласований.

Описанный механизм синхронизации содержимого реализован в Lotus Notes. Он получил название репликация (replication). Копия, снятая с исходной базы данных, называется реплика (replica). [2] Процесс снятия копии называется реплицирование. СУБД, умеющую создавать, синхронизировать и использовать более одного экземпляра данных на разных компьютерах сети, принято называть распределённой.

Пример 3: личные дела. Меняющийся состав сведений

Предположим, что нам необходимо в электронном виде хранить личные дела сотрудников. Рассмотрим два полярных решения: хранение в текстовых документах и в реляционной (табличной) базе данных.

Вариант 1: хранение в текстовых документах Microsoft Word

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

Недостаток: отсутствие чёткой структуры делает такие данные малопригодными для автоматической обработки. Например, как по множеству документов с личными делами построить список сотрудников, родившихся в текущем месяце?

Вариант 2: хранение в реляционной БД

Личные дела являются записями в таблице.

Достоинство: информация полностью структурирована, её легко обрабатывать.

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

Ещё один недостаток: cуществующие серверы баз данных, как правило, плохо работают с полями, содержащими смешанную информацию: текст с форматированием, изображения, внедренные объекты, гиперссылки и т.д. В лучшем случае, сервер рассматривает такие поля как имеющие тип BLOB (двоичный объект большой длины), т.е. не делает никаких предположений о содержимом поля. Из-за этого, например, затруднен поиск текста в таком поле.

Выход заключается в использовании документо-ориентированной СУБД – Lotus Notes.

Lotus Notes – это документо-ориентированная СУБД:

  1. Если реляционная БД состоит из фиксированного набора таблиц, таблицы – из записей, а записи – из фиксированного набора полей, то в Notes БД состоит из документов, а документы - из полей. Документы внутри базы могут иметь неодинаковый набор полей. В существующем документе разрешается создавать новые поля или удалять существующие.
  2. Для хранения и обработки смешанной информации поддерживается специальный тип поля: Rich text. [3]
  3. Описание структуры каждого документа запоминается вместе с его данными, и это, с одной стороны, позволяет программно разбирать его содержимое; с другой стороны, позволяет по мере необходимости менять структуру для создаваемых документов, не затрагивая уже существующие.

Недостатки документо-ориентированности заметны тем более, чем более структурированы по своему смыслу хранимые в базе сведения:

  • база занимает больше места на диске и в ОЗУ;
  • ... и медленнее обрабатывается.

Поэтому говорят, что традиционные СУБД предпочтительны для хранения и обработки информации, а Lotus Notes предназначен для хранения и обработки знаний в целом.

Резюме

Lotus Notes & Domino – это распределённая объектная документо-ориентированная клиент-серверная СУБД в сочетании с почтовой системой. Помимо встроенных операций для работы с почтой, персональным и групповым календарём, заготовок для организации дискуссионных форумов, она предоставляет возможности по созданию специализированных баз - «рабочих потоков», или «workflow», в которых документы имеют настраиваемый внешний вид, состав полей и программируемое поведение. Перечисленный набор характеристик делает Lotus Notes оптимальным средством для перевода традиционного «бумажного» документооборота в электронный вид.



[1] Для связи по сети Lotus Notes/Domino использует собственный неопубликованный протокол Notes RPC (Notes Remote Procedure Call), не имеющий отношения ни к SQL, ни к ODBC.

[2] Здесь важно упомянуть о том, что все операции с базами в Lotus Notes надёжно защищены правами доступа, но подробнее о механизме прав доступа мы поговорим позднее.

[3] Поле типа Rich text предназначено для хранения форматированного текста, изображений, внедренных объектов, гиперссылок, вложенных файлов и т.д.

Глава 2. Использование Lotus Notes в УЦВТ

Компоненты сети Notes

Итак, программное обеспечение Lotus Notes состоит из двух составных частей: клиента и сервера. Клиентская часть называется так же, как и система в целом: Notes. У сервера Notes есть свое имя собственное: Domino, хотя можно говорить и «сервер Notes».

В настоящее время в УЦВТ используется пятая версия Lotus Notes, сокращённо обозначаемая «R5» («Release 5»).

На каждой площадке УЦВТ инсталлируется как минимум один сервер Domino. Как правило, этому компьютеру присваивается сетевое имя (адрес) NotesSrv. Notes автоматически инсталлируется на рабочих местах по мере необходимости (см. ниже).

Поводом для путаницы является то, что термином «сервер» обозначают и программы, и компьютеры. Так вот, Lotus Domino – это название программы-сервера, а NotesSrv – название (сетевое имя, сетевой адрес) компьютера-сервера, на котором запущена программа Domino.

Notes умеет работать с базами данных: а) расположенными в файлах – через соответствующие подпрограммы Windows; б) расположенными на сервере – устанавливая сетевые соединения с серверами Domino. Все базы, которые читаются из файлов, с точки зрения Notes считаются локальными, даже если эти файлы хранятся на файловом сервере, т.е. доступ к ним все равно организуется через сеть, но не средствами самого Notes, а средствами операционной системы.

Как правило, одна база данных Notes хранится в одном файле, имеющем расширение NSF (Notes Storage Facility, «Средство хранения заметок»).

Усовершенствования

В УЦВТ автоматизированы следующие рутинные операции:

  • инсталляция Notes на рабочей станции;
  • регистрация пользователей, проводимая системным администратором на сервере Domino;
  • первый вход пользователя в систему.

Кроме того, сняты существующие в Notes ограничения:

  • на одном рабочем месте может работать ровно один пользователь;
  • один пользователь может работать в сети Notes только с того рабочего места, с которого зашел в сеть впервые.

Чем обусловлены эти ограничения? В момент первого входа пользователя на локальном диске рабочей станции создаются (или переносятся с сервера Domino) личные файлы этого пользователя. Если пользователь попытается войти в сеть с другого рабочего места, там этих файлов, естественно, уже не окажется. Если другой пользователь впервые входит в сеть с чужого рабочего места, его файлами будут затерты уже существующие. Поэтому программистам УЦВТ потребовалось решить следующие задачи:

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

Сетевые каталоги

На каждом компьютере-сервере Domino в УЦВТ, помимо собственно программы-сервера Domino, запущена также программа-сервер службы доступа к файлам и принтерам сети Microsoft (т.н. файл-сервер). Файл-сервер предоставляет доступ к ряду каталогов на диске /компьютера-/сервера:

  • под именем Users экспортируется каталог, в котором находятся личные каталоги пользователей;
    на рабочих местах он автоматически подключается как сетевой диск N: ;
  • под именем Scripts экспортируется каталог с утилитами автоматизации, в частности, с командой go! ;
  • под именем RusNotes экспортируется каталог с дистрибутивом Lotus Notes.

Что требуется от пользователя?

Одно из двух:

  • когда пользователь впервые садится работать с Notes за данный компьютер, он должен запустить Notes командой \\NotesSrv\Scripts\go! ;
  • если пользователь уже работал в Notes с данного рабочего места, Notes запускается ярлыком «Lotus Notes for Ваше_Имя», расположенным в папке N:\Ваше_Имя.

Это всё. Команда go!:

  • проверит наличие Notes на рабочем месте и при необходимости инсталлирует Notes;
  • подключит сетевой диск N: ;
  • поправит настройки Windows и Notes для корректной поддержки русского языка;

...и далее, если пользователь запускает Notes впервые не только на конкретном рабочем месте, а в пределах локальной сети вообще:

  • настроит связь с сервером Domino;
  • создаст и перенесёт на сетевой диск пользовательские базы;
  • исправит настройки в персональном файле NOTES.INI таким образом, чтобы данные пользователя Notes загружал отныне не из каталога по умолчанию (D:\NOTES\DATA), а из персонального каталога «Ваше_Имя», расположенного на сетевом диске N: ;
  • скопирует NOTES.INI в персональный каталог на сетевом диске;
  • создаст в персональном каталоге ярлык для запуска Notes с этим NOTES.INI.

Как и зачем используется сетевой диск N:?

Вопрос: зачем нужен сетевой диск и использование сети Microsoft, если Notes умеет самостоятельно работать с сетью и может соединиться с сервером Domino, работающим на том же самом компьютере, где находятся перемещенные с рабочей станции пользовательские файлы?

Ответ: некоторые данные Notes умеет читать только из файлов. К их числу относятся:

  • NOTES.INI – конфигурационный файл с настройками;
  • USER.ID – файл с цифровой подписью пользователя;
  • Desktop5.dsk – хранитель содержимого Рабочей области.
Кроме того, база «Персональная Адресная Книга» (другое название: «Личная АК») и база «Системный Журнал» нужны Notes сразу после запуска, в т.ч. и для того, чтобы Notes получил настройки для работы с сетью и установки связи с сервером Domino. Чтобы перечисленные файлы можно было переместить с локального диска на диск сервера, и требуется служба доступа к файлам сети Microsoft:
Стандартная схема Схема УЦВТ

Вопрос: что заставляет Notes искать персональные файлы пользователя не в каталоге по умолчанию, а в пользовательском каталоге на сетевом диске?

Ответ: ярлык запуска «Lotus Notes for Ваше_Имя» в каталоге N:\Ваше_Имя . В нём явно, в качестве аргумента, передаваемого программе D:\NOTES\notes.exe в командной строке, указан полный путь к пользовательскому NOTES.INI.

Что из себя представляет команда «go!» ?

Это ярлык к утилите init5.vbs, расположенной в том же каталоге. Утилита Init5 написана в УЦВТ для замены стандартной инициализации рабочего места Lotus Notes: во-первых, вся инициализация производится ею без участия пользователя в полностью автоматическом режиме; во-вторых, часть параметров рабочего места настраивается в специфичной для УЦВТ конфигурации.

Домашняя страница Init5 расположена в Internet по адресу http://www.evseev.ucvt.ru/e.nsf/Alldocs/init5.

Глава 3. Пользовательский интерфейс

Упражнение 3.1

Запустите Notes.

Пароли Notes

Для работы в Notes пользователю выдается пароль. В зависимости от версии, Notes запрашивает его перед показом заглавной страницы, после показа заглавной страницы или при первом обращении к данным:

Окно ввода пароля

Часто задаваемые вопросы

Вопрос: что это за значки в левой части окна, и почему они меняются по мере ввода пароля?

Ответ: значки имеют чисто декоративное значение. Не обращайте внимания.

Вопрос: почему при нажатии на одну клавишу в строке ввода появляется не один символ, а несколько?

Ответ: Notes, имитируя нажатия на клавиши, посылает дополнительные символы, чтобы посторонние программы не могли подсмотреть то, что вводит пользователь. Это одна из форм защиты от взлома.

Вопрос: почему Notes пишет, что я ввел(а) неверный пароль? Я все набрал(а) правильно!

Ответ: вводите пароль, в точности соблюдая регистр букв. Проверьте, что не нажата клавиша CapsLock и текущая раскладка клавиатуры выбрана правильно.

Вопрос: почему Notes требует от меня пароль каждые 5 минут?

Ответ: потому что это задано в ваших настройках. В меню Notes выберите пункт Файл->Параметры->Параметры настройки.... Откроется следующее окно:

Параметры настройки Notes

Отредактируйте поле «Блокировать учётную запись после __ минут простоя». Имеется в виду, что Notes требует вводить пароль заново, если в течение указанного времени пользователь не дотрагивался до клавиатуры и мыши. Если оставить это поле пустым, блокировка будет отключена. Отключать блокировку рискованно, если имеют место три обстоятельства:

  • во время работы с Notes вы отходите от компьютера и за него может сесть посторонний;
  • в Windows не настроен или не защищен паролем хранитель экрана;
  • перед тем, как отлучится, вы не имеете привычки нажимать в окне Notes клавишу F5.

Клавиша F5 блокирует пароль немедленно. То же самое делает пункт меню Файл->Сервис->Заблокировать учётную запись.

Вопрос: какой пароль нужно вводить, когда я работаю с сервером Domino через Web-браузер, например, через Internet Explorer?

Ответ: тот же самый. То есть он может и отличаться от пароля Notes, если вы сами отредактируете его в Публичной Адресной Книге, но изначально оба ваших пароля – и для доступа из Notes, и для доступа через Web-браузер – одинаковы.

Вопрос: Почему при запуске Notes я должен вводить пароль, если при входе в Windows я его уже вводил, и системе известно, кто я такой?

Ответ: Имя и пароль Notes не имеет никакого отношения к тому имени и паролю, с которым вы входите в сеть Microsoft, потому что Windows и Notes имеют раздельные списки пользователей, и соответственно, раздельные пароли. Тем не менее, в Windows 2000 можно настроить Notes в момент установки таким образом, чтобы пароль Windows автоматически использовался при входе в Notes. Для этого оба пароля должны быть сделаны одинаковыми.

Структура главного окна

Наряду со стандартными элементами оформления, имеющимися у каждого приложения Windows, окно Lotus Notes содержит ряд оригинальных элементов.

Рисунок 3.1. Структура окна Lotus Notes

Структура окна Lotus Notes

Строка меню и Панель инструментов не нуждаются в особых пояснениях. Если Панель инструментов отсутствует, проверьте настройки: меню Файл->Параметры->Параметры панели инструментов..., переключатель «Отобразить: Панель инструментов».

Панель окон содержит кнопки для каждого из дочерних окон, открытых внутри главного окна Notes. В этом смысле её назначение аналогично панели задач Windows: показ заголовков открытых баз и документов, и быстрое переключение между ними. Кроме того, при наведении курсора мыши на кнопку дочернего окна на ней дополнительно выводится кнопка закрытия:

Панель окон

Несколько дополнительных фактов:

  • У домашней страницы, кнопка которой выводится на Панель окон крайней слева, кнопка закрытия отсутствует.
  • Щелчок по графической метке «notes» справа загружает в Web-браузер заглавную страницу сайта фирмы Lotus: www.notes.net.
  • Некоторые базы могут открываться не в дочерних окнах, а в независимых. Соответственно, отметки о них выводятся на панель задач Windows и не выводятся на Панель окон Notes. Примером такой базы может служить «Стандартная справка».

Панель навигации содержит набор кнопок, аналогичных кнопкам стандартного Web-браузера:

Панель навигации

  • вернуться к предыдущему просмотренному документу;
  • вернуться к следующему среди просмотренных документу;
  • остановить загрузку документа;
  • перечитать текущий документ;
  • искать в документе/адресной книге/Интернете;
  • открыть Web-страницу.

Панель состояния («Status Bar») подробно описывается в следующей главе.

Всё пространство главного окна, незанятое панелями, отводится окну текущей базы или документа.

Панель закладок

Все свои данные (пользовательскую информацию, адресные книги, почтовые ящики, подсказки и т.д.) Lotus Notes хранит в базах данных. Это отличает Notes от большинства приложений, которые используют для разных типов данных разные способы хранения: для настроек – реестр, для подсказок – HLP-файлы и т.д. База хранит в себе произвольное множество документов. Для их просмотра в базе могут существовать одно или несколько оглавлений.

Соответственно, на Панель закладок вы можете помещать закладки баз данных, конкретных оглавлений и конкретных документов. Закладки могут находиться непосредственно на Панели, а также в папках, в том числе, во вложенных. По умолчанию на Панели закладок присутствуют следующие папки: «Избранные закладки», «Базы данных», «Дополнительные закладки», «Ссылки Internet Explorer».

Помимо баз данных, Lotus Notes умеет обращаться к Web-страницам и конференциям Usenet. В зависимости от настроек, загрузка Web-страниц производится:

  • через Internet Explorer, загружаемый внутри окна Notes посредством механизма OLE;
  • через встроенный Web-браузер Notes;
  • через произвольный внешний Web-браузер, запускаемый как независимое приложение в отдельном окне.

Соответственно, на Панель закладок вы можете помещать закладки Web-страниц и Usenet-конференций.

Существует два способа добавить новую закладку:

  • перетащить кнопку с Панели окон на Панель закладок;
  • нажать кнопку «Закладка...» в окне «Открытие базы данных...».

Упражнение 3.2. Создание закладок

Добавьте в Панель закладок закладку базы «Справка Notes 5»,
создав для неё отдельную папку «Подсказки».

Примечание: на Панели закладок и во вложенных папках может быть несколько разных закладок для одного и того же документа, базы, оглавления или Web-страницы. Следите, чтобы не было лишних копий!

Упражнение 3.3. Создание закладок Web-страниц

  1. Создайте в папке «Избранные закладки» папку «Web-страницы».
  2. Поместите туда закладку Web-сайта УЦВТ.
  3. Поменяйте значок для этой закладки.

Упражнение 3.4

Переместите закладку сайта УЦВТ в папку «Дополнительные закладки».

Примечание: заметьте, что перетаскивать из папки в папку можно только закладки, но не папки!

«Булавка»

Окно для открываемых с Панели закладок папок может быть сделано постоянно видимым. Для этого следует, открыв его, щёлкнуть по пиктограмме "Булавка" в шапке окна с закладками справа от заголовка. «Булавка» является стандартным элементом графического интерфейса, используемым во многих средах. После щелчка изображение изменяется на "Булавка" в шапке окна с закладками.

В следующих упражнениях проверьте эту возможность.

Начальная страница

Как уже говорилось, интерфейс Notes позаимствовал некоторые привычные элементы оформления от Web-браузеров. В частности, в Web-браузерах можно указать страницу, автоматически загружаемую при запуске. Аналогично в Notes можно указать базу (оглавление, документ, Web-страницу), которая будет открываться при старте. По умолчанию это база «Добро пожаловать», хранящаяся в файле bookmark.nsf. Её закладка находится в папке «Избранные закладки». Именно из этой базы читается форма с иллюстрированными пунктами «Почта», «Календарь», «Адресная книга» и «Список задач», которую вы видите при запуске.

Назначение новой начальной (или домашней) страницы производится в контекстном меню соответствующей закладки.

Упражнение 3.5. Смена начальной страницы

  1. Сделайте закладку сайта УЦВТ начальной страницей Notes.
  2. Перезапустите Notes, чтобы убедиться, что изменения вошли в силу.
  3. Снова сделайте начальной страницей базу «Добро пожаловать».
  4. Удалите закладку сайта УЦВТ.

База «Добро пожаловать» содержит несколько вариантов оформления начальной страницы, из которых одни расчитаны на наличие постоянной связи с Internet, другие – загружают оглавления из других баз и способны существенно замедлить работу. Мы рекомендуем использовать страницу «Основные» и без необходимости её не менять.

Открытие баз

Для каждой базы и каждого документа Notes открывает отдельное окно. Название открываемого окна помещается на встроенную Панель окон. Внешний вид окна базы данных будет рассматриваться в следующей главе.

Примечание: При попытке повторно открыть уже открытую базу Notes переключит вас на уже существующее окно.

Для открытия базы данных служат пункт меню Файл->База данных->Открыть... и клавиатурная комбинация Ctrl+O.

Упражнение 3.6

Добавьте на Панель закладок значок расположенной на сервере базы «Публичная АК» и откройте её.

Каждая база содержит два справочных документа: «About» («О базе данных») и «Using» («Работа с базой данных»). Первый описывает назначение базы, второй – правила её использования. И тот, и другой создаются разработчиком базы, или разработчиком шаблона, из которого база создана. Оба документа доступны через меню Справка, когда вы находитесь в окне данной базы или любого принадлежащего ей документа.

Когда пользователь открывает базу в первый раз, Notes автоматически открывает документ «About»:

Описание базы данных "Публичная АК"

Упражнение 3.7

  1. Не пользуясь мышью, переключитесь между всеми окнами Notes.
  2. Не пользуясь мышью, закройте все окна внутри Notes, кроме начальной страницы.

Как большинство приложений Windows, Notes поддерживает такие клавиатурные комбинации, как Ctrl+Tab для переключения между внутренними (т.н. дочерними) окнами и Ctrl+F4 для их закрытия. Кроме того, окна можно закрывать нажатием Ctrl+W и Esc.

Использование клавиатуры

Вся навигация по элементам экранного интерфейса Notes, кроме мыши, может быть выполнена с клавиатуры. Например, при нажатии клавиши Alt над Панелями закладок и окон выводятся ярлыки с подсказками. Нажатие Alt+B и Alt+W приводит к появлению цифровых ярлыков на элементах соответствующей панели:

Клавиши для перехода на Панели
... после нажатия Alt+B ...
Клавиши для перехода на элементы Панели

Нажатие цифровой клавиши откроет соответствующее окно, закладку или папку.

Упражнение 3.8

Создайте в верхней части Панели закладок папку «Личные» и поместите в неё закладки всех баз из вашего личного каталога на диске N: .

Упражнение 3.9

Не пользуясь мышью, откройте произвольную БД из папки «Личные», переключитесь из неё на заглавную страницу (не используя ни мышь, ни Ctrl+Tab), вернитесь в окно БД и закройте его.

Рабочее пространство в стиле Notes версии 4.x

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

Рабочая область

Основные принципы организации Рабочей области («Workspace») таковы:

  • Рабочая область состоит из перекрывающихся листов с закладками;
  • максимальное количество листов – 255, максимальная длина названия закладки – 32 английских символа или 16 русских;
  • на листах находятся иконки баз данных;
  • переключение между листами производится щелчками по закладкам;
  • количество и названия листов, состав и расположение иконок на Рабочей области каждый пользователь выбирает для себя самостоятельно;
  • свойства листов настраиваются через контекстное меню Рабочей области;
  • иконка базы автоматически помещается на Рабочую область при первом открытии этой базы;
  • одной базе соответствует ровно одна иконка; при попытке добавить вторую иконку вместо добавления производится переход к первой;
  • иконки можно перетаскивать мышью в пределах страницы и на другую страницу, “бросая” её на закладку целевой страницы;
  • иконки можно группировать для перетаскивания и удаления, если держать нажатой клавишу Shift;
  • удаление иконки не приводит к удалению с диска соответствующей базы;
  • описание пользовательской Рабочей области хранится в файле Desktop5.dsk.

Упражнение 3.10

  1. Найдите в папках на Панели закладок и откройте «Рабочую область».
    Закладка Рабочей области
  2. Создайте на Рабочей области новый лист и назовите его «Временный».
  3. Переместите на него иконки ваших личных баз.
  4. Сделайте Рабочую область начальной страницей Notes.

Глава 4. Публичная Адресная Книга

Как выглядит окно базы данных

Упражнение 4.1

Запустите Notes

Упражнение 4.2

Откройте Публичную Адресную Книгу

Прежде чем знакомиться с содержимым первой базы данных, взглянем на ее внешний вид:

Внешний вид окна базы данных

Окно базы, как правило, состоит из 4 панелей:

Панель со списком
разделов базы
Панель операций («Action bar»)
Панель содержания
текущего раздела
Панель просмотра текущего документа в текущем разделе

Границы между панелями можно передвигать мышью (курсор мыши на границе превращается в двунаправленную стрелку). Панель предпросмотра по умолчанию убрана вниз.

Упражнение 4.3. Изменение внешнего вида окна базы данных:

  • запомните исходное расположение панелей;
  • мышью подвигайте границу между Панелью разделов и Панелью оглавления;
  • мышью “вытяните” снизу Панель предпросмотра;
  • уберите/покажите Панель предпросмотра через пункт меню Вид->Просмотр документов.

Как вы заметили, для управления внешним видом окна служат пункты меню Вид.

И список разделов, и оглавление раздела, и документ Notes могут содержать сворачиваемые секции. Слева от заголовка секции рисуется т.н. «вертушка». Вертушка выглядит так Развёрнутая "вертушка", если секция развернута, и так Свёрнутая "вертушка", если секция свернута.

Упражнение 4.4. Элементы интерфейса:

  • вертушки: в Панели оглавления базы разверните/сверните секцию «Servers»;
  • Панель операций: состав кнопок как свойство конкретного раздела
    (на примере переключения между разделами «People» и «Groups».

Панель состояния

Панель состояния находится в нижней части главного окна Notes и состоит из 8 полей. Щелчок по каждому из полей, кроме первого, выдает дополнительное меню, список или диалоговое окно:

  1. Значок молнии показывает, что Notes работает с сетью.
  2. Тип шрифта (только в редакторе).
  3. Размер шрифта (только в редакторе).
  4. Стиль оформления текущего абзаца (только в редакторе).
  5. Список выдававшихся сообщений (последние добавляются в низ списка).
  6. Уровень доступа к текущей базе.
  7. Местоположение рабочей станции относительно сервера.
  8. Наиболее частые операции с письмами.

Рисунок 4.1. Панель состояния Notes

Панель состояния Notes

С этого момента обращайте внимание на сообщения, которые Notes будет выводить в среднее поле Панели состояния.

Содержание Публичной Адресной Книги

Значительная часть сведений, хранящихся в «Публичной Адресной Книге» («Public Address Book» или «PAB», начиная с версии R5 - «Domino Directory») - это технические настройки, которые используются не людьми, а компьютерами.

Например, в ней хранится расписание запуска программ на серверах. Разрушение Публичной АК можно сравнить с пожаром в бухгалтерии, поскольку PAB - это главное и единственное хранилище информации, обеспечивающей функционирование сети Notes и работу пользователей.

Пользователь Notes не сможет работать с почтой, если у него отсутствует связь с сервером; не сможет работать ни с какими внешними базами вообще, если его учётная запись в PAB на сервере повреждена.

Для пользователя непосредственный интерес представляют два раздела: «People» («Люди») и «Groups» («Группы»).

Чтение документов

Для выполнения следующего упражнения от нас потребуется открывать документы и выходить из них:

  • вход в документ производится двойным щелчком мыши
    или нажатием Enter на заголовке документа в Панели оглавления раздела;
  • выход из документа производится щелчком по кнопке закрытия окна документа
    или нажатием клавиши Esc.

Упражнение 4.5. Пользовательские группы

  • перейдите в раздел «Groups»;
  • проследите всю иерархию групп, членами которых вы являетесь прямо или косвенно;
  • не пользуясь мышью или меню, откройте одновременно два окна просмотра групп (примечание: для переключения между окнами внутри приложения под Windows, как правило, используется Ctrl+Tab).

Совет: Отыскивая свое имя, не открывайте все документы-описания групп подряд – сначала повнимательнее просмотрите список групп: их названия и краткие описания могут помочь в ускорении поиска.

Примечание: Многие пользователи, открыв документ-описание группы, пытаются тут же просмотреть подгруппы щелчками по их названиям, перечисленным в теле документа. К сожалению, названия являются простым текстом, а не ссылками на другие документы.

Панель операций

Содержимое Панели операций («Action bar») – состав кнопок, надписи на них и реакции на их нажатие – не является частью Notes, а хранится в базе данных. Разработчик базы выносит сюда те команды, которые на его взгляд наиболее нужны пользователю. У каждого раздела базы и у каждого типа документов может быть свой набор кнопок.

Упражнение 4.6

Несколько раз переключитесь между разделами «Groups», «Locations» («Места вызова») и «People»; обратите внимание, как меняется содержимое Панели операций.

Способы запуска команд в Notes

Многие действия в Notes могут быть выполнены сразу несколькими способами:

  • посредством клавиатуры;
  • щелчками мыши по оглавлению базы и телу документа;
  • щелчком мыши по кнопкам на Панели операций;
  • щелчком мыши по иконкам на Панели инструментов («Smart Icons»);
  • из главного или контекстного меню.

Например, документ в разделе «People» (перейдите в этот раздел) может быть открыт на редактирование:

  • нажатием Ctrl+E в окне базы или окне документа;
  • двойным щелчком мыши по телу документа - либо в окне документа,
    либо в Панели просмотра документа в окне базы;
  • щелчком по кнопке Кнопка редактирования учётной записи пользователя на Панели операций Публичной АК, («Редактировать учётную запись пользователя») на Панели операций;
  • щелчком по иконке Иконка редактирования документа на Панели инструментов, на Панели инструментов;
  • пунктом меню Действия->Edit Person.

Отредактированный документ может быть сохранен:

  • нажатием Ctrl+S;
  • щелчком по кнопке Кнопка выхода на Панели операций редактируемого документа, («Сохранить и закрыть») на Панели операций;
  • щелчком по по иконке Иконка сохранения документа на Панели инструментов, на Панели инструментов;
  • пунктом меню Файл->Сохранить.

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

Упражнение 4.7. Редактирование учётной записи:

  • перейдите в раздел «People» и найдите свою учётную запись;
  • начните её редактировать;
  • заполните произвольным содержанием поля в разделах «Home» («Дом») и «Work» («Работа»);
  • в поле «Comment» введите порядковый номер из своей "псевдо-фамилии" LNUserXX и фамилию-имя-отчество, например: 09. Алексеева Ирина Васильевна;
  • сохраните и закройте документ.

Краткая подсказка по назначению поля выводится нажатием левой кнопки мыши на заголовке поля.

Чтение оглавлений

Оглавление раздела состоит из столбцов, причем:

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

Упражнение 4.8

В разделе «People»:

  • отсортируйте оглавление в алфавитном порядке;
  • ...в обратном порядке;
  • увеличьте ширину первого столбца;
  • отыщите свою учётную запись
    (примечание: начните набирать первые буквы фамилии, например, «09. Алек»).

Правила формирования оглавлений

Notes позволяет включать один и тот же документ в оглавление нескольких разделов. При разработке базы каждому разделу назначается правило выборки документов из общей кучи, хранящейся в базе. Правила выборки у разных разделов не обязаны быть взаимоисключающими и могут пересекаться. Например, в базе данных «Отдел кадров» может оказаться удобным иметь разделы «Совершеннолетние» и «Пенсионеры», а в базе «Почтовый Ящик» – как разделы «Входящие»/«Исходящие», так и «Все документы».

Глава 5. Почта

В момент регистрации нового пользователя Notes для него создаётся персональная база данных типа «Почтовый Ящик» («mailbox»). Каждый пользователь, независимо от его положения в служебной иерархии, имеет такую базу. В ней Notes хранит:

  • всю вашу переписку, то есть письма, которые присланы вам, копии писем, отправленных вами другим пользователям, и черновики ещё неотправленных писем;
  • календарь (по внешнему виду весьма напоминающий самый настоящий настольный календарь);
  • список служебных поручений, как выданных вами, так и выданных вам.

Базы коллективного доступа, например, уже рассмотренная Публичная Адресная Книга, доступны множеству пользователей. В зависимости от своего положения в служебной иерархии (и в соответствующих ему пользовательских группах Notes) вы можете получать и терять доступ к ним.

В отличие от таких баз, Почтовый Ящик принадлежит ровно одному, одному и тому же пользователю, и хранит данные для персонального использования этим, и только этим человеком. В неё разработчики Notes собрали тот минимум, который, по их мнению, наиболее часто используется (то есть почту и календарь), но имеет при этом достаточно сложное внутреннее устройство.

Примечание: пользователь имеет возможность создавать для личного пользования и другие базы, если ему не хватает возможностей Почтового Ящика (работая с Notes, следует говорить так: «когда Почтовый Ящик не предоставляет нужных возможностей по хранению и обработке документов некоего типа»).

Как открыть Почтовый Ящик

Поскольку обработка почты является одной из основных задач Notes, открыть Почтовый Ящик значительно проще, чем любую другую базу. Для этого существуют как минимум следующие способы:

  • щелчком по картинке на заглавной странице;
  • щелчком по иконке на Панели закладок;
  • через меню на Панели состояния (некоторые его пункты нужны только для автономной работы и внутри локальной сети не используются);
  • через пункт Создание->Сообщение в главном меню.

Рисунок 5.1. Иконки для входа в Почтовый Ящик

Иконки для входа в Почтовый Ящик

Наконец, можно открыть почтовый ящик, как любую другую базу, через диалоговое окно, рассмотренное в предыдущей главе. Как правило, почтовые ящики пользователей находятся на сервере Domino в подкаталоге mail.

Упражнение 5.1. Начните писать новое письмо:

Щёлкните по Иконка почтового меню на Панели состояния в Панели состояния и выберите пункт Создать документ.

Редактирование письма

Нажатие на кнопки «Создать», «Переслать» и т.д. приводит к созданию нового письма. Письмо содержит следующие поля:

  • Имя отправителя: в это поле автоматически помещается ваше имя.
  • Дата создания письма: в это поле автоматически помещается текущее время.
  • «Кому»: адрес получателя. Когда пишется ответ, это поле автоматически заполняется адресом отправителя исходного письма. Здесь можно указывать несколько адресов и имена групп.
  • «Копия»: дополнительные адреса получателей. Это поле - рудимент, потому что дополнительные адреса можно перечислять и в поле «Кому».
  • «Слепая копия» или «СК»: дополнительные адреса. Здесь перечисляются адреса получателей, которые должны остаться неизвестными для всех, кто перечислен в полях «Кому» и «Копия».
  • «Тема»: краткий однострочный заголовок для показа в оглавлении Почтового Ящика.
  • большое безымянное поле для содержимого письма.

Примечание: по существующему среди пользователей Notes соглашению заголовки писем с пустым телом принято начинать с “*”. Например: «*Вы уволены. Зайдите за документами в любой приёмный день«.

Если письмо является ответом на другое письмо, то содержимое письма-оригинала можно смотреть в окне редактирования, выбрав из меню Notes пункт Вид->Родительские документы, либо мышью вытянув снизу окно просмотра.

Адреса получателей

Notes облегчает заполнение полей адреса двумя способами:

  1. Автонабор (наберите первые буквы имени и нажмите Enter или подождите).
  2. Кнопка «Адрес...» на Панели операций открывает окно выбора имени из адресных книг.

Упражнение 5.2

Автонабором поместите в список получателей имя любого из ваших соседей.

Поля в диалоговом окне выбора адресов

Диалоговое окно для выбора адресата из адресной книги

В верхнем левом поле указывается Адресная Книга, из которой загружается список адресов. Как минимум, выпадающий список будет содержать две Книги: вашу личную и коллективную «UCVT's Address Book». Начинающему пользователю рекомендуется использовать коллективную. Левый список содержит учётные записи и группы из выбранной Адресной Книги. В этом списке можно:

  • так же, как и в оглавлении баз, помечать записи нажатиями пробела или щелчками мыши в левом столбце; образованные группы записей переносятся в список получателей кнопками «Кому», «Копия» и «СК»;
  • быстро отыскивать адреса, начав набирать их на клавиатуре;
  • перетаскивать адреса в список мышью.

Строка поиска «Начинается с» предназначена для поиска в адресных книгах, в которых операция просмотра полного списка учётных записей либо работает очень медленно, либо запрещена вовсе. Как правило, это внешние справочники, импортируемые из Интернета по протоколу LDAP. Подробнее о них рассказывается в главе «Интеграция Notes в Интернет». Для получения из них нужного имени или списка имён вам необходимо указывать здесь образец для начального поиска.

Сейчас такие адресные книги в сети УЦВТ не используются. Для быстрого поиска используйте автонабор непосредственно в списке имён.

Переключатель в нижнем левом углу меняет представление списка имён с плоского на иерархическое: по организационному делению, по алфавиту и т.д.:

Иерархическое представление имён по алфавиту

Иерархическое представление удобно, когда вам известно подразделение, в которое требуется обратиться, но неизвестен конкретный адресат. В этом случае может помочь поиск по регистрационной иерархии, например: RU->UCVT->SPb02->Typography.

Впрочем, следует заметить, что в первую очередь для такого поиска предназначена не регистрационная иерархия (то есть – кто где изначально зарегистрирован), а групповая (кто в какую группу занесён). Например, инженер, зарегистрированный сертификатом /Service/SPb01/UCVT/RU, впоследствии может стать преподавателем в филиале SPb03. При этом его электронное имя останется прежним, но будет перенесено администратором из группы «Service staff at Roustavely» в «Teachers at Bogatirsky».

Кнопка «Сведения...» открывает окно для быстрого просмотра учётной записи выбранного пользователя.

Кнопка «В локальную АК» копирует учётную запись из коллективной Адресной Книги в вашу личную. После этого вы сможете использовать её даже в том случае, если связь с сервером, хранящим коллективную АК, будет отсутствовать или затруднена. Подробнее о Личной АК рассказывается в главе «Настройка рабочей станции».

Кнопки «Кому», «Копия» и «СК» копируют текущее имя из левого списка в соответствующие поля письма.

Упражнение 5.3

Из адресной книги добавьте в список получателей письма второго вашего соседа.

Отправка письма

Нажатие на каждую из этих кнопок завершает редактирование документа и сохраняет его в вашем Почтовом Ящике:

  • «Отправить» – письмо будет отправлено получателям;
    копия будет сохранена в вашем ПЯ в разделе «Отправленные»;
  • «Отправить и подшить» – письмо будет отправлено получателям;
    копия будет сохранена в том разделе вашего ПЯ, который вы укажете;
  • «Черновик» – письмо не будет отправлено немедленно, но будет помещено в папку «Черновики» для последующего редактирования и отправки.

Как и любое другое окно Notes, окно редактирования письма можно закрывать щелчком по кнопке закрытия или нажатием Esc, Ctrl+W или Ctrl+F4, но при этом будет выведено следующее окно:

Диалоговое окно завершения работы с письмом

  • «Отправить и сохранить копию» – то же, что и кнопка «Отправить»;
    копия письма записывается в раздел «Отправленные»;
  • «Только отправить» – отправка получателю без сохранения копии;
  • «Только сохранить» – письмо записывается в «Черновики»;
  • «Отменить изменения» – отказ от результатов редактирования:
    новое письмо не создается, старое не изменяется.

Если вы решили продолжить редактирование, в этом окне нажмите Esc.

Упражнение 5.4

  1. Отправьте письмо адресатам.
  2. Вернитесь на домашнюю страницу.

Уведомления о приходе почты

Notes периодически проверяет поступление писем в ваш почтовый ящик, и по их приходе выводит следующее окно:

Окно уведомления о приходе новой почты

  • нажмите «OK», если хотите продолжить прерванную работу;
  • при нажатии «Открыть почту» Notes откроет окно Почтового Ящика на заголовке поступившего сообщения.

Частота проверки новых поступлений и реакция на них задается в окне настроек, открываемом через меню Файл->Параметры->Параметры настройки..., на закладке «Почта и новости»:

Опции проверки входящей почты

Упражнение 5.5

  1. Дождитесь прихода писем.
    Из окна уведомления Почтовый Ящик не открывайте.
  2. Откройте почтовый ящик: щёлкните по Значок почтового меню на Панели состояния в Панели состояния и выберите пункт Просмотреть непрочтённую почту.
  3. Прочтите оба пришедших вам письма.
    Используйте клавишу Tab для перехода к следующему непрочитанному документу. [4]
  4. Закройте Почтовый Ящик: нажимайте Esc до тех пор, пока не окажетесь на странице «Добро пожаловать».

Разделы почтового ящика

Упражнение 5.6. Откройте Почтовый Ящик:

Значок почтового меню на Панели состояния ->Открыть почту.

Разделы почтового ящика

  • «Входящие»
    Письма, присланные вам другими пользователями.
  • «Черновики»
    Письма, которые вы начали писать и собираетесь отправить после дополнительного редактирования.
  • «Отправленные»
    Копии писем, посланных вами другим пользователям.
  • «Все документы»
    Полный список документов в Ящике: присланные и отправленные письма, черновики, календарные памятки и служебные поручения. В оглавлении этого раздела значком Иконка отправленного письма, помечены отправленные письма, Иконка черновика, - черновики, входящие письма значка не имеют, и т.д.
  • «Корзина»
    Документы, предназначенные для удаления. Здесь они, перед тем как быть окончательно уничтоженными, хранятся до закрытия базы для того, чтобы пользователь имел возможность вернуть выброшенные данные.
  • «Обсуждения»
    Все документы, упорядоченные по обсуждаемым темам. Тему документа Notes определяет по заголовку.

Упражнение 5.7

  1. Прочтите отправленное вами письмо.
  2. Удалите его: перетащите мышью из Панели содержания раздела в раздел «Корзина».

Группы документов

Щелчком мышью по левому безымянному столбцу можно ставить на документы и снимать с них значок Галочка-целочка (галочку). Еще один способ помечать документы: при перемещении по оглавлению держать нажатой клавишу Shift. Обратите внимание, что в среднем поле Панели состояния выводится количество помеченных документов.

Если в оглавлении есть помеченные галочкой документы, такие действия, как удаление или перенос в другой раздел, выполняются не над текущим документом, а над всеми помеченными.

Например, пункты из Правка->Пометки помечают текущий документ, помеченную группу или все документы раздела как прочитанные или непрочитанные.

Упражнение 5.8

  • дождитесь прихода писем;
  • пометьте часть документов в разделе «Входящие» и объявите их непрочитанными.

Панель операций Почтового Ящика

Большая часть кнопок на Панели операций одинакова для всех разделов. Перечислим здесь некоторые из них:

  • Создать записку («New Memo»)
    Открывает окно редактирования нового письма, которое затем можно либо немедленно отправить адресату, либо поместить в «Черновики».
  • Ответ («Reply»)
    Открывает окно для создания ответа на текущее письмо в папке «Входящие». Существует 4 варианта ответов, образованные следующими комбинациями:
    • ответ исходно пустой или с вложенным в него текстом присланного письма - «Ответить с документом»;
    • ответ только отправителю присланного письма или отправителю и (если получателей было несколько) всем остальным получателям - «Ответить всем».
  • Переслать («Forward»)
    Редактирование пришедшего письма и отправка его третьему лицу. Таким образом, когда вы считаете, что информация, присланная вам, может быть интересна кому-то ещё, вы можете немедленно переправить её с произвольным собственным комментарием.
  • Изменить
    Письмо, сохранённое ранее как черновик, открывается для повторного редактирования.

Все остальные кнопки, в частности, для работы с Корзиной и папками, будут рассмотрены отдельно.

Упражнение 5.9

  1. Начните готовить ответ на письмо соседа справа.
  2. Во время подготовки ответа вытащите мышью снизу окно с исходным письмом.
  3. Подготовленный ответ запишите в «Черновики».
  4. Создайте новое письмо: перешлите («forward») письмо соседа справа соседу слева.
  5. Отредактируйте сохраненный черновик ответа и отправьте его.

Корзина

Корзина является одним из разделов ПЯ. В корзине находятся документы, помеченные для удаления, но ещё не удалённые.

Вопрос: как поместить документ в Корзину?

Ответ: нажмите Del в оглавлении или в окне просмотра документа. Если ни один документ не отмечен, для удаления будет назначен текущий документ. В противном случае будут назначены к удалению все выделенные документы. Вариант 2: отметьте нужные документы в Панели содержания раздела и перетащите их мышью на название раздела «Корзина» в Панели оглавления базы.

Предназначенные для удаления документы не пропадут из тех разделов, в которых были видны, но будут отмечаться значком Отметка об удалении документа.

Упражнение 5.10. Удаление документов:

  • пользуясь клавиатурой, поместите в Корзину любое письмо;
  • перетащите мышью в Корзину группу из двух писем.

Вопрос: Как фактически удалить документы?

Ответ: выберите Вид->Обновить или нажмите F9. Notes задаст вам следующий вопрос:

Окно запроса очистки корзины

Кроме того, в параметрах настройки Notes вы можете выбрать, как следует очищать Корзину при выходе из ПЯ:

Режим очистки корзины при закрытии ПЯ

Режимом по умолчанию является «По запросу при закрытии».

Вариант 3: кнопка «Очистить корзину» на Панели операций в Корзине.

Вопрос: как извлечь документ из Корзины до того, как нажат F9 или закрыт ПЯ?

Ответ: снова нажмите Del на помеченном к удалению документе. Вариант 2: перейдите в Корзину и на Панели операций щёлкните по кнопке «Достать из корзины».

Упражнение 5.11. Восстановление документов:

  • не заходя в Корзину, извлеките из неё одно письмо;
  • зайдите в корзину и извлеките другое письмо.

Упражнение 5.12. Очистите Корзину, используя клавиатуру.

Вопрос: есть ли нечто подобное почтовой Корзине в других базах, например, в Адресной Книге?

Ответ: В базе данных может быть, а может не быть раздел «Корзина». На Панели операций может быть, а может не быть кнопка для удаления документов. Это детали, зависящие от разработчика базы. Вне зависимости от них, в любой базе действуют одни и те же универсальные правила:

  • нажатие Del помечает Отметка об удалении документа для удаления текущий документ или выделенную группу документов;
  • повторное нажатие Del снимает отметку об удалении;
  • фактическое удаление происходит при выходе из базы или нажатии F9 (Вид->Обновить).

Оглавления разделов

Оглавление каждого раздела содержит 3 обязательных столбца:

  1. «Кто» – если это присланное письмо, здесь выводится имя отправителя. В противном случае здесь выводится имя получателя.
  2. «Дата» – дата написания документа,
  3. «Тема» – название документа.

Кроме того, во «Входящих» и «Всех документах» выводится размер сообщений.

Непрочитанные пользователем документы помечаются в оглавлении красным цветом и звёздочкой Звезда найдёт своего героя. После прочтения эта отметка с документа снимается.

Параметры доставки

Каждое отправляемое письмо имеет некий набор дополнительных свойств, редактируемых в отдельном окне. Для вызова окна служит кнопка «Параметры доставки» на Панели операций:

Окно редактирования параметров доставки

Упражнение 5.13

  1. Отправьте правому соседу письмо, в котором будут включены графическая пометка, трассировка маршрута и уведомление о доставке.
  2. Дождитесь получения трассировочных сообщений по мере движения вашего письма к ПЯ получателя.
  3. Дождитесь прихода письма от левого соседа и откройте его.
  4. Дождитесь уведомления о доставке вашего письма правому соседу.

Панель переключателей

Помимо собственно почтовой переписки, база «Почтовый Ящик» содержит также список поручений (задач) и календарные заметки. Такое совмещение данных в Notes произведено потому, что поручения зачастую принято присылать по почте, календарные события также могут сопровождаться письменными напоминаниями – в общем, календарная информация тесно взаимосвязана с почтовой и имеет с ней много общего если не по внешнему виду, то по способу обработки и внутреннему представлению.

Подробнее о календаре будет рассказываться в главе «Календарь и поручения». Сейчас вы должны знать: а) о наличии в одной БД нескольких групп разделов; б) способе перехода между группами; в) способе возврата, если перешли в другую группу ненамеренно, и не знаете, как вернуться обратно.

Панель переключателей между группами разделов базы расположена в нижнем левом углу окна базы:

Разделы почтового ящика

Упражнение 5.14. Переключатели Почтового Ящика

  1. Откройте Почтовый Ящик.
  2. Переключитесь в календарь.
  3. Создайте напоминание о начале следующего занятия.
  4. Вернитесь в раздел переписки.

Пользовательские папки

Помимо стандартных разделов, пользователь имеет возможность создавать свои собственные. Например, в Почтовом Ящике можно завести папку «Для мемуаров», в которую вами будут помещаться наиболее яркие образцы вашей переписки:

Создание новой папки

Упражнение 5.15

  1. Создайте папку с названием «Чёрный список». Поместите в неё 2-3 документа.
  2. Создайте папку с названием «Реабилитированные» и переместите в неё 1-2 документа из первой папки.
  3. Скопируйте один документ из второй папки обратно в первую.

Кнопка «Отправить и подшить» на Панели операций письма предназначена для сохранения письма в выбираемой папке одновременно с отправкой.

Разделы: папки и представления

Каждая база содержит разделы двух видов: представления («views») и папки («folders»).

Состав документов в папке Иконка папки определяется пользователем вручную, т.е. нужные документы пользователь самостоятельно перетаскивает в папку мышью, копирует через меню и т.д.

Состав документов в представлении Иконка представления определяется Notes автоматически. Внутреннее описание представления, помимо списка столбцов, порядка сортировки и т.д., содержит формулу отбора документов из общей массы документов, имеющихся в базе. Если документ удовлетворяет формуле – он появляется в представлении. Например, формула SELECT @All выберет все документы. Более сложная формула SELECT @Contains(SendTo; "Petrov") | @Contains(EnterSendTo; "Petrov") | @Contains(From; "Petrov") выберет только те письма, отправителем или получателем которых является Petrov. Правила выборки записываются на несложном встроенном макроязыке Notes – т.н. языке @-формул или @-языке. Также возможно составление правил выборки через диалоговую форму.

Упражнение 5.16

Создайте представление, в которое будет помещаться вся переписка с правым соседом.

Рисунок 5.2. Пример создания нового представления

Создание нового представления

Бланки

Существует возможность создать в Почтовом Ящике набор заготовок с некоторым оформлением, чтобы использовать их для подготовки новых сообщений.

Шаг 1: создание бланка

  • Начните писать новое письмо. Создайте общее оформление.
  • На Панели операций щёлкните по кнопке «Сервис - Сохранить как бланк».

Сохранённая заготовка появится в разделе «Бланки»:

Список готовых бланков

Шаг 2: использование бланка

  • Создайте новую записку кнопкой «Сервис - Записка на бланке» или «Записка - Создать на бланке» на Панели операций.

Упражнение 5.17

  1. Создайте поздравительный бланк.
  2. Создайте письмо на поздравительном бланке.

Правила автоматической обработки входящей почты

Выше приводился пример представления, автоматически заполняемого помещаемыми в Почтовый Ящик документами. От пользователя требовалось составить правило выборки, подразумевавшее минимальное знакомство с @-языком. Механизм пользовательских представлений универсален и может использоваться в любой базе при наличии соответствующих привилегий. Однако в Почтовом Ящике реализован ещё один, более простой для пользователя способ получения подборки документов. Подборка создаётся в указываемой папке (а не в представлении!), только из входящих писем (а не из всего множества документов), редактируется в диалоговой форме:

Правило обработки входящей почты

Если правил несколько, входящая почта проверяется каждым из них. По этой причине играет роль порядок, в котором правила перечислены в папке. Для перестановки правил на Панель операций папки помещены специальные кнопки Иконка представления.

Упражнение 5.18

  1. Создайте правило, по которому все письма от левого соседа с заголовком, содержащим ваше имя, будут автоматически попадать в папку «Чёрный список».
  2. Отправьте правому соседу письмо с заголовком, содержащим его имя.
  3. Убедитесь, что пришедшее письмо помещено в папку.


[4] Обратите внимание на сообщения в Панели состояния Notes.

Глава 6. Встроенный редактор

Встроенный текстовый процессор Notes не имеет никаких преимуществ по сравнению, скажем, с Microsoft Word. Вообще, сила документов Notes заключается не в их внешнем виде, а в способности к самостоятельному поведению: пересылке, генерации других документов и т.д. Набор возможностей встроенного редактора достаточно зауряден, поэтому в данном разделе описывается не редактор в целом, а только его отличительные особенности.

Упражнение 6.1

  1. Создайте локальную базу данных типа «Личный журнал».
  2. Начните редактировать новую запись.

База типа «Личный журнал»

Каждый тип баз в Lotus Notes призван замещать ту или иную составляющую бумажного документооборота. «Личный журнал» хранит персональные документы, никак не упорядоченные и не имеющие никакой структуры. В Notes версии 4.x такая база автоматически создавалась для каждого пользователя при первом входе в систему. В текущей версии её потребуется создать вручную.

С одной стороны, хранить документы в «Личном Журнале» немногим удобнее, чем в обычных файлах:

  • база не является коллективной, то есть возможности Notes по организации совместного использования данных не нужны;
  • документы и оглавления в базе не имеют ни специального поведения, ни специального внешнего вида, то есть возможности Notes по обработке данных также не задействованы.

Тем не менее, пользоваться «Личным Журналом» имеет смысл по следующим соображениям:

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

Упражнение 6.2

Создайте базу «Личный журнал».

Повторное открытие редактора

Допустим, нажатием Enter в окне базы вы открыли документ на просмотр, нажатием Ctrl+Tab из окна просмотра вернулись в окно базы и снова нажали Enter. Что произойдет? Notes не станет открывать новое окно просмотра, а переключит вас в уже существующее.

В отличие от окон просмотра, окна редактирования каждый раз открываются заново. Описанная последовательность действий (с нажатием Ctrl+E вместо Enter) приведет к существованию двух независимых окон редактирования одного и того же документа.

Сохранение, проделанное в обоих окнах, приведет к появлению в базе двух конфликтующих копий документа. Подобную небрежность часто допускают начинающие пользователи.

Пользователи, переключаясь между окнами, должны аккуратно возвращаться в уже запущенный редактор, а не в окно базы, откуда открывают новый.

Типы текстовых полей

Начальная и конечная границы редактируемого текста помечаются "уголками": Найди пятый угол Если вводимый текст переполняет поле ввода, конечная граница автоматически сдвигается вправо или вниз.

Notes использует в документах два типа текстовых полей: т.н. Plain text («чистый текст») и Rich text («форматируемый текст»). Поля первого типа содержат только текстовую информацию; текст имеет фиксированный шрифт, стиль и размер. Такие поля удобны для редактирования и просмотра традиционных текстовых данных, например, списка фамилий или полей в анкете. По усмотрению разработчика БД они могут быть как многострочными (нажатие Enter приводит к переводу строки), так и однострочными (нажатие Enter играет специальную роль).

Rich text, подобно книге или газете, может содержать как произвольно оформленный текст, так и всевозможную дополнительную информацию: изображения, гиперссылки, аудио- и видеозаписи, внедрённые документы Microsoft Office и т.д.

Запись Личного журнала содержит два поля типа «Plain text» и одно - типа «Rich text». Поля «Plain text» в данном случае являются однострочными; в поле «Название» нажатие Enter заблокировано; в поле «Категория» нажатие Enter открывает окно со списком существующих значений.

Упражнение 6.3

Откройте список категорий и добавьте в него новое значение, например, Изучаем редактор.

Блоки текста, буфер обмена

Помечать, копировать и удалять блоки текста в Notes можно так же, как и во всех остальных приложениях Windows, например:

  • выделение производится перемещением по тексту курсора мыши с нажатой левой кнопкой или клавишами перемещения с нажатым Shift'ом;
  • весь текст целиком можно пометить нажатием Ctrl+A, или через Правка->Выделить все;
  • пометка блока правой кнопкой мыши при завершении открывает контекстное меню;
  • копирование выделенного в Буфер обмена Windows производится нажатием Ctrl+INS, или Ctrl+C, или выбором пункта меню Правка->Копировать;
  • откат (отмена самого последнего действия) производится нажатием Ctrl+Z, или через Правка->Отменить.

И так далее.

Упражнение 6.4. Буфер обмена

  1. Скопируйте категорию в заголовок.
  2. Переместите категорию в текст письма.

Поля Панели состояния

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

Примечание: иногда обновление полей в Панели состояния происходит с запаздыванием на один символ.

Упражнение 6.5

Введите в письмо 4 строки произвольного текста, меняя тип и размер шрифта через Панель состояния, например (для каждой строки выбирайте новый шрифт и размер):
Светит незнакомая звезда,
Снова мы оторваны от дома,
Снова между нами города,
Звездные огни аэродромов.

Оформление текста

Такие характеристики символов, как наклон, подчеркивание, цвет, наличие тени и т.д., выбираются из меню Текст. Общепринятые клавиатурные нажатия в Notes также работают, например, Ctrl+I включает/отменяет наклон символов, Ctrl+B делает жирные символы, Ctrl+U - подчеркнутые, а Ctrl+T - обычные.

Неприятные особенности:

  • в отличие от Microsoft Office, иконки на Панели инструментов не реагируют на тип символа под курсором, например, значок “Ж” не становится “нажатым”, когда курсор находится над жирным текстом;
  • иногда, чтобы сбросить обратно уже имеющееся оформление помеченного текста, приходится нажимать соответствующую горячую клавишу не один раз, а дважды.

Упражнение 6.6

Помечая по очереди строки мышью...
  • первую строку сделайте жирной, используя Панель инструментов;
  • вторую строку сделайте наклонной, используя горячие клавиши;
  • третью строку сделайте красного цвета, используя главное меню;
  • четвертую строку сделайте подчеркнутой, используя контекстное меню (совет: выделяйте текст не левой клавишей мыши, а правой).

Плавающее Окно свойств

Текст, как и всё (или почти всё) в Notes, можно настраивать через плавающее Окно свойств. Плавающим оно называется потому, что всегда находится впереди окна Notes и не может быть им заслонено. Окно свойств может оставаться на экране постоянно: вы работаете с Рабочей областью, или в оглавлении базы, или с полями документа, а Окно свойств в этот момент отображает сведения о том элементе, на котором находится курсор.

Для текста, в частности, окно свойств выглядит так (почему-то в русской версии Notes оригинальный термин «Text» переведен как «Надпись»):

Плавающее Окно свойств в текстовом редакторе

Окно свойств открывается либо нажатием Alt+Enter, либо щелчком по значку Иконка "Свойства" на Панели инструментов, либо пунктом главного меню Правка->Свойства..., либо из локального меню.

Упражнение 6.7

  1. Для первой строки поменяйте шрифт и цвет.
  2. Вторую строку выравняйте по центру (совет: ищите значки выравнивания на второй закладке окна свойств).
  3. Для третьей строки поменяйте размер и начертание символов.
  4. Для четвертой строки поменяйте междустрочный интервал.

Обратите внимание, что через выпадающий список можно переключать Окно свойств на вывод данных, относящихся к элементам, в которых содержится тот, который является активным:

Переключение между объектами в Окне свойств

Окно свойств протаскивается по экрану за синюю область. Нажатие Alt+Enter при открытом Окне свойств закрывает его вне зависимости от того, находится ли фокус ввода в нём или в окне Notes под ним. Кнопка Кнопка свёртывания Окна свойств сворачивает Окно свойств в заголовок, не закрывая его.

Стили

Notes умеет запоминать детали оформления для повторного использования. Оформительские наборы для текста называются стилями. Готовые стили выбираются из списка в четвертом поле Панели cостояния, либо перебираются нажатием клавиши F11.

Стиль применяется к абзацу текста целиком! Нельзя поменять стиль только для вновь вводимого текста, или только для помеченного текста.

По умолчанию вводимый текст стиля не имеет. Однако лишить какой-либо текст уже присвоенного ему стиля выбором строки «[Нет]» невозможно - вместо этого следует выбирать стиль «*Basic».

Упражнение 6.8. Использование готовых стилей

Назначьте стиль «*Headline» («Заголовочный»") одной из уже имеющихся строк. Перейдите в конец письма, нажмите Enter (чтобы начать новый абзац) и, снова используя стиль «*Headline», введите еще несколько строк, например:
Здесь у нас туманы и дожди,
Здесь у нас холодные рассветы,

Стили создаются и переопределяются на последней закладке плавающего Окна свойств (Правка->Свойства...) путем включения в свойства стиля текущих свойств текста в редакторе:

Список стилей текста в Окне свойств

Упражнение 6.9. Создание стилей

Создайте стиль со следующими свойствами:
  • шрифт = Times New Roman Cyr;
  • размер = 14;
  • цвет = синий;
  • начертание = полужирный + наклонный;
  • выравнивание = по центру.
Назовите его, например, «Blue Bold Italic Times 14» и введите им еще несколько строк:
Здесь на неизведанном пути
Ждут замысловатые сюжеты.

Переопределение стиля (напомним, оно производится свойствами текущего абзаца) приводит к перерисовке всех абзацев, набранных этим стилем.

Упражнение 6.10. Переопределение стилей

Увеличьте размер шрифта для стиля «*Headline».
Обратите внимание на то, как изменятся все строки, набранные этим стилем.

Разбиение на абзацы

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

Абзацы в тексте отделяются друг от друга нажатием Enter. Строки внутри абзаца редактор переносит автоматически (к сожалению, символа “неразрывный пробел” в этом редакторе нет), а если необходимо начать новую строку вручную, нажимайте Shift+Enter.

Упражнение 6.11

  1. Введите два абзаца текста, состоящих из двух строк каждый, например:
    Надо просто выучиться ждать,
    Надо быть спокойным и упрямым,

    Чтоб порой от жизни получать
    Радости скупые телеграммы.
  2. "Равнение на середину!" Первый абзац разместите по центру.
  3. Ты прав! Второй абзац сдвиньте на два отступа вправо.

Списки

Черные списки Списки в Notes бывают двух типов: нумерованные и маркированные, т.е ненумерованные. Записи в списке отделяются друг от друга нажатием Enter. С записью можно делать все то же самое, что и с абзацем: применять стили, выравнивать и т.д. Внутри записей перевод строки осуществляется нажатием Shift+Enter. Составление списка завершается повторным выбором той же команды из меню Текст, или щелчком по значку на Панели инструментов.

Вложенные списки автоматически создаются, если на очередном пункте сделать отступ вправо (клавиша F8), а завершаются - отступом вправо (Shift+F8).

Упражнение 6.12

Создайте конструкцию следующего вида:
  • Перед тем, как сделать предложение,
  • Он вначале взял в соображение, что:
    1. Жилплощадь у нее тесноватая,
      1. Сообщенье с центром неудобное,
    2. Обстановка явно небогатая,
      1. Нет нарядов
      2. и тому подобное.
  • Все это он взял в соображение,
    И ушёл, не сделав предложения.

Сворачиваемые разделы

Мы уже имели дело с “вертушками” в оглавлении базы на примере Публичной Адресной Книги и в теле документа на примере писем в почтовом ящике. В почтовых ответах вертушкой скрывается текст исходного письма. Если вы считаете, что составление ваших документов из разворачиваемых разделов придаст им наглядности, редактор предоставит вам соответствующие механизмы для работы с ними.

В сворачиваемый раздел помещается текущий абзац. Для этого служит команда Создание->Раздел. После этого “подтянуть” клавишей Delete текст следующего за ним абзаца в хвост раздела уже нельзя. И наоборот, нажатие Enter внутри раздела не приводит к созданию абзаца следом за ним - он остается внутри раздела. По умолчанию заголовком раздела выбирается первая строка сворачиваемого абзаца. Изменить заголовок можно, открыв на нем Окно свойств:

Окно свойств раздела

Вновь сделать раздел несворачиваемым можно, щелкнув по его заголовку и выбрав из меню пункт Раздел->Удалить раздел.

Упражнение 6.13

  1. Создайте раздел с названием “5 куплет” и таким содержанием:
    И забыть по-прежнему нельзя
    Все, что мы когда-то не допели,
    Милые усталые глаза,
    Снежные московские метели.
  2. Удалите раздел, преобразовав его в абзац.
  3. Снова создайте раздел “5 куплет”.

Таблицы

Работа с таблицами построена по тому же принципу, что и работа с разделами: таблица создается выбором соответствующего пункта в меню Создание а при переходе курсора на таблицу в главное меню добавляется пункт Таблица, посредством которого структуру таблицы можно менять. Естественно, таблицу можно настраивать через Окно свойств:

Окно свойств таблицы

Текст в ячейках не может иметь стиля. Enter создает новую строку внутри ячейки.

Упражнение 6.14. Рисование таблиц

  1. Создайте таблицу 2x2 с разноцветными ячейками.
  2. Уменьшите ширину одного из столбцов.
  3. Вокруг одной из ячеек сделайте толстую рамку.

Кроме классических таблиц, Notes поддерживает также таблицы с закладками и динамические таблицы с мультипликацией столбцов. Ни то, ни другое по внешнему виду не выглядит как таблица, но имеет аналогичный состав настроек. Таблица с закладками выводит каждую строку на отдельном листе. Динамическая таблица выводит каждую строку в течение заданного интервала времени. В обоих случаях текущая строка занимает всё пространство таблицы.

Упражнение 6.15

  1. Создайте таблицу с двумя вкладками.
  2. Присвойте названия обеим вкладкам.
  3. На каждой вкладке поместите по динамической таблице.
  4. В каждой динамической таблице создайте эффект бегущей по горизонтали строки.
  5. Переведите документ из режима редактирования в режим просмотра и убедитесь, что пример с таблицами работает правильно.

Поиск и замена

Поиск и поиск с заменой запускаются из одного и того же пункта меню - Правка->Найти/заменить, или нажатием Ctrl+F. Конкретная операция выбирается уже в соответствующем диалоговом окне:

Окно поиска и замены

При этом:

  • поле «Образец» должно быть непустым;
  • если в тексте есть помеченный блок, он будет автоматически скопирован в поле «Образец»;
  • для быстрого повторения последнего поиска или замены служит пункт меню Правка->Найти далее и клавиши Ctrl+G;
  • флажок в поле «акценты» означает, что поиск будет игнорировать знак ударения над символами (вообще символы со знаком ударения имеют другие номера).

Упражнение 6.16

Путем поиска и замены замените все слова допели на допили.

Данные из внешних источников

Существуют 4 способа поместить в документ Notes данные из внешнего источника (файла): копирование через буфер обмена, импорт, вложение («attach») и создание объекта OLE.

Файл->Импорт... помещает в документ данные из файла, делая их «родными» для Notes, то есть преобразовывая в Rich text. С этого момента их уже невозможно редактировать программой, в которой был создан импортированный файл. Редактировать импортированные рисунки Notes не умеет, но позволяет копировать их в буфер обмена. Notes способен импортировать документы Microsoft Word, но при этом игнорирует некоторые сложные элементы оформления наподобие плавающей графики.

Упражнение 6.17

Импортируйте в тело документа небольшой текстовый файл,
небольшую BMP-картинку из каталога Windows.

Отдельно для импорта рисунков служит также пункт Создание->Рисунок....

Файл->Вложить помещает в документ файл, не раскрывая его содержимое. В теле документа файл обозначается таким же значком, как и в Проводнике Windows. Для работы с вложенным файлом используется Окно свойств или контекстное меню значка:

Контекстное меню вложенного в документ файла
Окно свойств вложенного в документ файла

Назначение пунктов контекстного меню и кнопок Окна свойств:

  1. Просмотреть: Notes имеет довольно большое количество встроенных фильтров для просмотра данных в формате других приложений. В отличие от ассоциированного с файлом приложения, фильтр:
    • может показывать содержимое файла в упрощенном виде;
    • не позволяет редактировать файл.
    С другой стороны, фильтр может пригодиться на компьютере, где Notes установлен без соответствующих приложений.
  2. Извлечь: файловое вложение записывается в файл на диске. Имя и каталог для создаваемого файла выбирает пользователь.
  3. Выполнить: файловое вложение записывается во временный файл на диске, после чего запускается ассоциированное с ним приложение. Обратите внимание, что Notes не станет автоматически обновлять вложение после того, как вы внесёте в этот файл какие-то изменения!
  4. Извлечь все: записывает на диск все файловые вложения из данного документа. Каталог для создаваемых файлов выбирает пользователь.

Упражнение 6.18

Те же два файла:
  • вложите в документ;
  • из документа сохраните во временный каталог (C:\Windows\Temp, например);
  • просмотрите встроенным фильтром;
  • просмотрите ассоциированным приложением.

Создание->Объект...: помещает в документ Notes так называемый внедрённый документ. Внедрённый документ отображается либо в виде значка, либо в виде окна-врезки в окне документа. Для увеличения скорости и экономии памяти в этот момент ассоциированное приложение ещё не запускается и для просмотра во врезке используется встроенный фильтр Notes. При двойном щелчке по нему запускается ассоциированное с внедрённым документом приложение, которое работает не в своем собственном окне, а во врезке внутри окна Notes! При переходе в окно-врезку работающее в нём приложение («сервер OLE») изменяет также меню Notes пунктами для работы с внедрённым документом.

Таким образом, приложение-сервер OLE работает одновременно с Notes («клиентом OLE»), причем каждый отображает и редактирует свою часть документа. Примечательно, что поиск по тексту в документе Notes будет находить текст и внутри внедренного документа. Однако следует заметить, что для одновременной работы Notes и, например, Microsoft Word требуется весьма значительное количество оперативной памяти. Кроме того, OLE в Notes (или в Windows?) работает не очень надёжно и способен приводить к зависанию Notes (а иногда и Windows), после которого систему приходится перезапускать.

Упражнение 6.19

Создайте в Word или Excel простой документ и внедрите его в документ Notes.

Рекомендации по выбору

Если внешние данные имеют простой формат, который не претерпевает потерь при импорте, и работать с ними в дальнейшем преполагается только из Notes, используйте импорт.

В противном случае, если на компьютерах, на которых предполагается работать с документом, достаточно оперативной памяти, и ассоциированное с типом данных приложение может быть сервером OLE (присутствует в списке Создание->Объект...), используйте создание объекта.

В противном случае используйте вложение.

В первых двух случаях поиск по тексту должен нормально работать внутри подключенных данных.

Ссылки

Ссылка, или связь, служит для быстрого перехода из документа к каким-то другим данным, например, к другому документу. Скажем, при создании ответа на письмо Notes помещает в заголовок письма ссылку на исходное письмо. В теле исходного документа ссылка изображается значком. Переход осуществляется щелчком мышью или нажатием пробела на этом значке.

В качестве прообраза электронных ссылок можно назвать широко используемые в бумажном документообороте ссылки по тексту, то есть замечания типа «смотри том N, главу K, страницу S, абзац A».

В Notes в тексте документа можно ссылаться:

Связь с базой данных ... на базу,
Связь с оглавлением раздела ... на оглавление конкретного раздела базы,
Связь с документом ... на конкретный документ в базе,
Связь с меткой в документе ... на конкретное место в документе («метку»),
... на Веб-страницу. ??? +связь, ссылка URL,

И база, и документ могут быть совершенно произвольными: база на другом сервере, документ в другой базе и т.д.

Ссылка создается в два шага:

  • нечто (документ, база, оглавление, выделенный текст)
    копируется в Буфер обмена как связь;
  • связь вставляется из Буфера обмена в ссылающийся на нечто документ.

Шаг первый: копирование координаты целевого объекта. Щёлкаете правой кнопкой мыши...

  • по иконке базы на Рабочем пространстве...
  • по названию раздела в Панели разделов окна базы...
  • по заголовку документа в Панели оглавления окна базы...
  • по выделенному фрагменту текста в документе...

... а затем выбираете Копировать как связь либо из контекстного меню, либо из меню Правка. Второй вариант удобнее, так как позволяет создавать ссылку на раздел или базу не только из окна базы, но и прямо из окна принадлежащего базе/разделу документа.

В итоге координаты цели записываются в Буфер обмена Windows.

Примечание: чтобы в документе можно было создать метку, документ уже должен быть записанным в базе, т.е. как минимум один раз сохранен.

Шаг второй: вставка ссылки в исходный документ. Осуществляется как обычно, т.е. нажатием Ctrl+V или Shift+Ins, или пунктом меню Правка->Вставить в окне редактирования исходного документа.

Упражнение 6.20

  1. Создайте новый документ в Личном Журнале.
  2. Заполните его произвольным текстом и сохраните, не закрывая.
  3. Создайте метку в середине текста (Правка->Копировать как связь->С меткой).
  4. Сохраните и закройте документ #1.
  5. Создайте документ #2 и поместите в него из Буфера обмена связь с меткой.
  6. Поместите в документ #2 ссылки на базу «Почтовый Ящик», на раздел «Отправленные» и на любое из писем.
  7. Сохраните и закройте документ #2.
  8. В окне предпросмотра документа #2 убедитесь, что все 4 ссылки работают.

Дополнительные элементы

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

Что должно являться следующим шагом в развитии системы электронной обработки документов? Ответ: предоставление такой же возможности пользователю-составителю документа.

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

Разумеется, для вывода на бумагу, то есть использования в традиционном виде, подобный документ будет малопригоден. Следует либо создавать несколько версий документа, оптимально приспособленных для разных сфер использования, либо заведомо ограничить его использование только электронной версией. Оба этих подхода получили самое широкое применение при создании Веб-страниц.

Примечание: Часто применительно к данным, которые в дополнение к непосредственной информации и описанию её внешнего вида содержат в себе поведение, используют термин «активные». Примером является Active Desktop в Microsoft Windows – рабочий стол, в настройках которого содержится подпрограмма периодического вызова Internet Explorer'a для загрузки указанной вами Веб-страницы.

Notes позволяет размещать на поверхности документа следующие компоненты, обладающие поведением:

  • всплывающий текст;
  • вычисляемый текст;
  • всплывающая формула;
  • кнопка;
  • действие.

Выполняемые при их активации действия пользователь записывает на одном из нескольких поддерживаемых в Notes языков программирования:

  • набор простых операций;
  • встроенный макроязык, он же язык @-формул;
  • LotusScript, очень похожий на Visual Basic;
  • JavaScript.

???

Глава 7. Электронные форумы и доски объявлений

Формальное описание

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

  • пользователь может игнорировать сообщения, появляющиеся на коллективной доске объявлений (но не заметить сообщение, пришедшее к нему в персональный почтовый ящик, гораздо сложнее);
  • к доске объявлений в разном качестве имеют доступ различные группы пользователей: одни – на правах поставщиков информации, другие – в качестве её потребителей;
  • объявления на доске так или иначе взаимосвязаны: по месту расположения на доске, по теме и т.д.;
  • внешний вид у объявлений может быть самый произвольный.

Кстати, примерно теми же базовыми свойствами, с некоторыми существенными дополнениями, обладают и т.н. Web-страницы в сети Интернет: это взаимосвязанные объявления на электронных досках (сайтах).

Lotus Notes содержит несколько простых шаблонов для создания баз, могущих служить электронным аналогом доски объявлений. Их простота (с точки зрения Notes) заключается в том, что документы на доске объявлений не должны иметь почти никакого поведения. Различия между этими шаблонами с точки зрения пользователя весьма незначительны, поэтому тот, кто научился работать с какой-то одной из досок объявлений, без труда разберется и с остальными. Значки таких баз на Панели закладок могут выглядеть, к примеру, так:

Значок базы "Библиотека документов"Библиотека документов
Значок базы "Библиотека MS Office"Библиотека для хранения документов, подготовленных в Microsoft Office
Значок базы "Библиотека MS Office" из Notes R4То же, но из R4

В каждой новой версии Notes количество шаблонов для досок объявлений уменьшается по сравнению с предыдущей. Например, «Библиотека документов» в R4 существовала в двух вариантах: для работы из Notes и для работы через Web-браузер. В R5 оставлен один универсальный шаблон, одинаково удобный для работы как из Notes, так и через Интернет.

База типа «Библиотека документов»

На каждом сервере Domino в УЦВТ расположена учебная база-форум, с которой вы будете работать при освоении данного материала. Первоначально в этом качестве использовалась БД «Notes Q&A» («Вопросы и ответы по Notes»), созданная в УЦВТ для технической поддержки пользователей Notes системными специалистами. В ней же проводились и учебные форумы в рамках курсов по Notes. На данный момент для учебных форумов используется либо «Notes Q&A», либо отдельная база, созданная специально для учебного процесса. В любом случае, для её создания использовался шаблон «Библиотека документов».

Упражнение 7.1

  1. Получите название учебной базы-форума у преподавателя.
  2. Убедитесь, что данная база уже добавлена на Панель закладок, или добавьте туда её закладку самостоятельно.
  3. Откройте её.

База типа «Библиотека MS Office»

«Библиотека MS Office», а также «Библиотека Smart Suite» представляют собой расширения стандартной библиотеки документов. Применительно к «Библиотеке MS Office» расширения заключаются в следующем:

  • на Панели инструментов присутствует кнопка для создания документа Notes, который будет содержать в себе внедрённый (посредством механизма OLE) документ Word, Excel, PowerPoint или Paintbrush;
  • в оглавлении базы документ Notes помечается значком в зависимости от того, документ какого типа в него внедрён; например, документ с рисунком Paintbrush помечается значком -маааленькая картиночька-.

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

Содержание разделов

Оглавления большинства разделов содержат один и тот же набор документов. Как и зачем это делается? База представляет из себя, условно говоря, свалку документов. Конструируя раздел, разработчик или привилегированный пользователь на неком специальном языке записывает правило, по которому документы из общей кучи будут выбираться для показа в оглавлении.

Например, в Публичной АК один раздел отбирал из базы только документы-описания групп, другой – документы-учётные записи пользователей, и так далее. В базах-досках объявлений, как правило, каждый раздел выбирает из общей кучи все документы. Зачем?

Разделы имеют много характеристик. Правило выборки – только одна из них. Кроме того, у каждого раздела есть своё правило сортировки оглавления, свой набор кнопок для Панели операций, разделы могут иметь разные наборы столбцов и так далее.

Например, оглавление раздела «Все документы» состоит из двух столбцов: «Дата» и «Раздел» (разработчики русского шаблона могли бы назвать его «Заголовок»). Столбец №2 сконструирован из двух полей документа: он содержит название документа и имя автора. Оглавление можно сортировать по дате.

Раздел «По автору» содержит три столбца: отдельно имя автора, дата и заголовок.

Раздел «По категории» содержит два столбца: категория документов и заголовок+имя автора. Отсортирован по категориям.

Могут возникнут два вопроса:

  1. Почему заголовки документов в оглавлении расположены уступами?
  2. Что такое категории?

Вертушки и отступы в оглавлении

При разработке оглавления можно указать, что заголовки документов сортируются по некоторому столбцу, причём значение в этом столбце (одинаковое для нескольких документов) выносится наверх и выводится над этими документами только один раз. Как результат, оглавление становится более наглядным. Вертушка в вынесенном поле позволяет сворачивать и разворачивать секцию, состоящую из одинаковых по этому полю заголовков. Секции могут быть вложенными: внешние – по первому столбцу, внутренние – по второму, третьему, ... и так далее.

Упражнение 7.2

Переключитесь в раздел «По автору» и сверните все секции.

Категории

Все документы в нашей базе имеют поле «категория». Составляя документ, пользователь должен либо придумать для него новую категорию, либо выбрать уже существующую.

Категории – это названия, которыми пользователи обозначают группы документов; так же, как пользователь придумывает название каждому отдельному документу.

Разработчики нашей базы добавили такое поле в форму редактирования, чтобы затем на его основе делать удобное оглавление. Это просто ещё один уровень структурирования документов в цепочке Рабочая область - листы - базы - оглавления. Категории в оглавлении раздела отличаются от разделов базы тем, что создаются в оглавлении автоматически по мере необходимости, тогда как разделы в базе создаются вручную – либо разработчиком, либо (если Управляющий не отключит такую возможность) пользователем.

Если название категории содержит несколько частей, разделённых символом «\», Notes делает в оглавлении дополнительные уступы для каждой из содержащихся в нём подкатегорий.

Упражнение 7.3

  1. Щёлкните по кнопке «Новый документ».
  2. В окне создания документа щёлкните по Кнопка открытия окна со списком значений рядом с полем «Категория» и выберите из появившегося списка номер группы и сегодняшнюю дату, например, «Н22-01\13 июня». Если такой категории там нет, введите её сами.

Рецензирование

В реальной жизни может иметь место следующая ситуация: тот, кто поместил на доску объявлений новую информацию, устно или как-то иначе уведомляет об этом тех, кто должен с ней ознакомиться. Электронная доска объявлений также предоставляет такую возможность.

Установка процедуры рецензирования производится через набор полей документа, которые в зависимости от версии Notes и типа доски объявлений находятся в заголовке формы редактирования, над телом документа или в сворачиваемой секции внизу формы (в R4). Форма может показывать их как постоянно, так и выводить/убирать кнопками на Панели операций. Состав полей изменяется в зависимости от значений в других полях. Например, поле «Срок (дней)» появляется, если в поле с названием «При истечении срока» выбрано значение «Отправлять напоминания». Нельзя не отметить, что в русском шаблоне, из которого сделана база, и выравнивание текста, и перевод весьма далеки от идеала.

Каждому из перечисленных в списке рецензентов пользователю Notes после отправки документа на рецензирование пошлёт служебное сообщение с требованием этот документ прочесть. Могут быть заданы:

  • порядок рассылки извещений (всем сразу или по очереди);
  • действие по истечении крайнего срока подачи рецензии;
  • срок, через который Notes будет повторять посылку извещений;
  • квитанции о том, что очередной или последний рецензент с документом ознакомился.

Упражнение 7.4

Настройте документ на рецензию следующим образом:
  1. «Рецензенты» = соседи ваших соседей справа и слева.
  2. «Тип рецензирования» = «Все рецензенты одновременно».
  3. «При истечении срока» = «Неограниченный срок».
  4. «Извещать ответственного после» = «последней рецензии».

Панель операций в окне редактирования документа

Кнопка «Сохранить и закрыть» не должна использоваться, если вы собираетесь отправить документ на рецензию! Отправка на рецензию отличается от простого сохранения тем, что генерирует также служебные письма, рассылаемые рецензентам. Для этой цели на Панели операций присутствует отдельная кнопка:

Кнопки на Панели операций в документе в коллективной базе

«Пометить как личное» – эту функцию следует рассматривать как аналог сохранения в виде черновика в ПЯ. Помеченный личным документ хранится в коллективной базе, но виден только самому автору. Чтобы вновь открыть личный документ для общего пользования, следует открыть его в редакторе и на Панели операций щелкнуть по кнопке «Пометить как общее».

Упражнение 7.5

  1. В теле документа задайте вопрос по Lotus Notes.
  2. Отправьте документ на рецензирование соседям.
    -
  3. Закройте окно базы и дождитесь прихода от соседей запросов на рецензию.
  4. Прочтите документы соседей, подлежащие рецензированию.
    -
  5. Дождитесь уведомления о завершении рецензирования соседями.
  6. Проследите состояние рецензирования вашего документа.
    -
  7. В окне базы переключитесь в раздел «По категориям» и дождитесь появления других писем.

Примечание: выполняя упражнение, постарайтесь не заглядывать в мониторы соседей. Процедура рецензирования для того и разработана, чтобы узнавать о некоторых действиях своих визави независимо от того расстояния, которое вас разделяет.

Ответы

На Панели операций в окне базы имеются кнопки «Ответ» и «Ответ на ответ». Первая создает комментарий к ближайшему сверху основному документу (созданному кнопкой «Создать документ»), вторая - комментарий к текущему документу. В оглавлении раздела заголовки ответов расположены под заголовками исходных писем с отступами. Ответ не может быть разослан на рецензирование. Наоборот, предполагается, что ответы создаются в том числе теми, кому послан запрос на рецензию основного документа. Цифра в заголовке основного документа слева от вертушки - это количество всех ответов к нему. Вертушка сворачивает и разворачивает ответы. Кстати, управлять вертушкой можно не только мышью, но и с клавиатуры: серым плюсом и серым минусом.

Упражнение 7.6

Попробуйте ответить на один из только что заданных на форуме вопросов.

Глава 8. Подсказки и поиск

В отличие от большинства других программ, Notes хранит свои справки в таком же формате, что и данные – то есть в виде баз. На каждом клиентском месте имеется база данных «Справка Notes 5» («Notes 5 Help»).

В «Справке Notes» следует, во-первых, искать информацию по Notes вообще, безотносительно к конкретным базам. Примеры такой информации: структура главного окна Notes, клавиатурные комбинации, общие правила работы с документами и базами. Во-вторых, в ней описывается работа с такими важными базами, как почта/календарь, «Адресная Книга» и «Закладки». Описание прочих баз и шаблонов находится в них самих, в документах «About...» и «Using...».

Применительно к стандартным базам «Справка...» абсолютно правильно делает упор не на внутреннее устройство и распределение функциональных возможностей, а на пользовательское представление. Например, один из документов справки носит название «Доступ к Web из Notes» и подробно, по шагам, с точки зрения пользователя описывает действия, которые тот должен проделать, чтобы Notes смог просматривать Веб-страницы наравне с документами из БД. На том, что для хранения настроек и Веб-страниц используются базы данных «Личная АК» и «Личный Веб-навигатор» (а также, возможно, какие-то ещё), внимание не заостряется.

Упражнение 8.1

Откройте «Справку Notes» и найдите в ней документацию по поддержке импорта и встроенного просмотра вложений того типа файлов, который вы использовали в соответствующем упражнении по текстовому редактору.

На сервере Domino расположено еще несколько справочных баз, как-то: документация для разработчика приложений, документация для системного администратора, документация по специализированным приложениям и т.д. Все они существуют только в оригинальном англоязычном варианте.

Поиск в базе

Сейчас мы умеем искать: a) документ в оглавлении по первым символам заголовка; б) текст внутри документа. Теперь рассмотрим более сложную задачу: поиск текста по содержимому всех документов в каком-либо оглавлении.

Примечание: если вы собираетесь искать текст по всем документам базы, перед началом поиска перейдите в такой раздел, который выводит полный список документов. В Почтовом Ящике, например, для этого служит раздел «Все документы».

Упражнение 8.2

Зайдите в БД электронного форума и откройте Панель поиска через меню Вид или значком "Лупа" для поиска на Панели навигации.
Панель поиска в базе данных

Кстати, в некоторых базах кнопка показа Панели поиска вынесена и на Панель операций.

Простой поиск осуществляется набором искомого слова в Панели поиска и нажатием Enter. Сложный поиск будет рассмотрен ниже после построения индекса.

Упражнение 8.3

Найдите все документы, содержащие ваше имя, фамилию или какое-то другое упоминающееся в них слово.

Список найденных документов выводится прямо в Панель оглавления текущего раздела. Возврат к стандартному содержанию Панели оглавления осуществляется кнопкой «Очистить» в Панели поиска.

Индексирование

В конце книги принято помещать алфавитный индекс, в котором указывается, на каких страницах используется тот или иной термин.

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

Индекс занимает на диске дополнительное пространство, но способен ускорять поиск в десятки и сотни раз – особенно, если база расположена не на локальном компьютере, а на сервере.

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

Индекс создается вручную. Построенный индекс используется операцией поиска автоматически.

Если документы в базе изменяются, индекс также следует обновлять. Для локальных баз это необходимо делать вручную, для баз на сервере обновление индекса выполняет специальная задача, входящая в состав Domino и запускаемая с определённым периодом.

Создание и обновление индекса выполняется либо щелчком по метке Метка "Нет индекса" на Панели поиска на Панели поиска, либо в Окне свойств базы на закладке «Индекс». Кроме того, создание индекса можно задавать в момент создания реплики.

Упражнение 8.4

  1. Найдите в «Справке Notes» все документы со словом «Excel»
    и засеките время поиска по часам Windows.
  2. Закройте БД «Справка Notes».
  3. Через Окно свойств БД создайте для неё полнотекстовый индекс с параметрами по умолчанию.
  4. Снова откройте «Справку Notes».
  5. Проделайте заново поиск слова «Excel» и сравните, увеличилась ли скорость поиска по сравнению с неиндексированной базой.

Сложный поиск по базе

После того, как индекс построен, к поиску по документам, помимо повышения скорости, добавляются следующие возможности.

Во-первых, становится возможным указывать в строке поиска несколько слов. Если слова разделены пробелами, то ищется точное словосочетание, если запятыми – то документ, где встречается хотя бы одно из указанных слов.

Упражнение 8.5

  1. найдите в базе документы, содержащие упоминание о Word и Excel.
  2. найдите документы, упоминающие либо об Internet Explorer, либо о Netscape Navigator.

Во-вторых, Панель поиска, раскрытая кнопкой «Настройка», содержит набор дополнительных опций, позволяющих искать с указанием даты, автора, значения в конкретном поле и т.д.:

Развёрнутая Панель поиска в базе данных

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

В-третьих, появляется возможность менять состав и порядок сортировки выводимых документов. Порядок сортировки определяется через меню в развёрнутой Панели поиска. Например, пункт «показать все» переключается на полный список документов в оглавлении, помечая среди них соответствующие критериям поиска.

В-четвёртых, теперь в строке поиска можно использовать служебные слова and, not, or, exactcase, termweight, near, sentence, paragraph и т.д. Выражения можно группировать в круглые скобки, например:

exactcase (Apple and IBM) – произвести поиск двух терминов с учетом регистра.

Слова могут содержать джокеры «?» и «*»:

?утин, Па*вский.

В качестве искомого служебное слово можно использовать, заключив его в двойные кавычки, например, если вы ищете описание термина в «Справке Notes», то:

"sentence"

Упражнение 8.6

За один поиск найдите в «Справке Notes» документы с описанием изученных нами ключевых поисковых слов.

Поиск по множеству баз

???

Глава 9. Права доступа

ACL

Notes позволяет назначать разным пользователям разные права на чтение, редактирование, создание и удаление документов в базах данных. Для этого каждая база хранит т.н. «список прав доступа» «Access Control List» или ACL).

ACL - это набор записей: каждая запись содержит имя пользователя (или имя группы пользователей), и выданный ему уровень доступа.

Термин «Access Control List» и аббревиатура ACL используются не только в Lotus Notes, но и во многих других программных продуктах для обозначения такого механизма защиты.

При попытке выполнить какое-то действие, не имея на то привилегий, Notes выводит следующее сообщение:

Вы не имеете права на доступ к этой базе данных

Упражнение 9.1

Убедитесь, что у вас отсутствует доступ к Почтовым Ящикам соседей по учебной группе.

Всего уровней доступа в Notes семь:

  • Нет доступа («No Access») - в пояснениях не нуждается.
  • Корреспондент («Depositor»)
    Имеет право помещать в базу новые документы, но не имеет права читать никакие документы, даже написанные им самим.
  • Читатель («Reader»)
    В противоположность Корреспонденту, может только читать, но не может писать.
  • Автор («Author»)
    Может читать все документы и создавать новые. Может редактировать и удалять документы, если они созданы им самим.
  • Редактор («Editor»)
    Может читать, редактировать и удалять любые документы, в том числе чужие.
  • Разработчик («Designer»)
    Разработчик = редактор + может менять структуру базы. К структуре базы, в частности, относятся формы редактирования документов и внешний вид оглавления.
  • Управляющий («Manager»)
    Управляющий = разработчик + имеет право редактировать ACL, то есть назначать и менять права доступа всем остальным пользователям.

Кроме базы в целом, уровни доступа могут настраиваться для:

  • отдельных документов в базе (по типу документа и индивидуально);
  • отдельных полей в документе.

Окно просмотра и редактирования ACL вызывается либо из главного меню: Файл->База данных->Управление доступом... , либо из контекстного меню базы/закладки.

Упражнение 9.2

Откройте окно ACL для своего Почтового Ящика и ознакомьтесь с его содержимым.

Рисунок 9.1. Права доступа Публичной АК УЦВТ

Права доступа Публичной АК УЦВТ

  • В поле «Доступ» указан уровень доступа для текущей записи из списка.
  • Под полем «Доступ» находится список дополнительных ограничений. Снимая отметку с тех или иных пунктов, можно запрещать действия, изначально уровнем доступа разрешаемые.
    Например, может оказаться полезным, сняв отметку с пункта «Удаление документов» оставить Автору право только на создание и редактирование, или запретить Редактору создавать собственные документы, сняв отметку с пункта «Создание документов» (позволить только редактирование и удаление чужих).
  • В списке доступа есть обязательная запись -Default- («По умолчанию»), обозначающая пользователей, не указанных ни в одной другой записи, и необязательная запись Anonymous («Анонимный»), обозначающая пользователей, работающих без указания пароля через Web-браузер.
  • Кнопки «Добавить», «Переименовать» и «Удалить» под списком ACL служат для его редактирования.

Список присвоенных пользователю ролей в правом нижнем углу закладки «Общие», и список всех возможных ролей базы на соответствующей закладке «Группы доступа» будут рассмотрены позже.

Упражнение 9.3

  1. Разрешите левому соседу просматривать вашу почту.
  2. Убедитесь, что у вас появился доступ к Почтовому Ящику правого соседа.

Две оставшиеся закладки прежназначены для Управляющего.

На закладке «Журнал» выводится протокол всех предыдущих редактирований ACL.

Закладка «Дополнительные» содержит опции, предназначенные в первую очередь для разработчика базы и администратора, на сервере которого база находится. Пользователю, даже если он имеет права Управляющего, не рекомендуется их менять. Тем не менее, имеет смысл обратить внимание на поле «Предельный уровень доступа через Интернет». Оно позволяет ужесточить доступ к базе из Интернет-приложений по сравнению с доступом из Notes, поскольку без специальных настроек Интернет-протоколы обладают меньшей защищённостью по сравнению с фирменным протоколом Notes.

Группы пользователей и компьютеров

В реальном мире права доступа сотрудника к тому или иному документу зависят не от его имени, а от его места в служебной иерархии: номера отдела, в котором он работает, выданной ему формы допуска и т.д. Notes предоставляет возможность использовать для доступа к базам ту же систему: создавать описания групп пользователей, и в ACL базы перечислять не всех пользователей поимённо, а группы.

Например, группа «UCVT users» ("«Пользователи УЦВТ»") включает в себя всех, кто имеет право доступа к компьютерам Учебного Центра. В эту группу входит подгруппа (поскольку группы могут быть вложенными) «UCVT stuff» («Служащие УЦВТ"»), в неё входит группа «UCVT teachers» («Преподаватели УЦВТ»), в неё - «Teachers at Roustavely» («Преподаватели на ул.Руставели»), а в ней уже перечислены конкретные фамилии. В ACL включается группа, и назначаемый группе уровень доступа распространяется на всех её членов.

В ACL базы, кроме пользователей, перечисляются еще и серверы, т.е. другие компьютеры, работающие под управлением Lotus Domino. Каждый из них обслуживает другое подразделение или организацию. Назначение уровня доступа для сервера эквивалентно ограничению этим уровнем максимальных прав для всех работающих на нём пользователям. Это позволяет управлять доступом целых сетей без необходимости знать что-либо об их структуре или работающих там сотрудниках.

Серверы также могут объединяться в группы. Серверных групп Notes заводит как минимум две: серверы главного офиса («LocalDomainServers») и серверы филиалов («OtherDomainServers»). Как правило, локальным серверам для управления хранящимися на них базами требуется во всех репликах на всех серверах выдавать уровень доступа Управляющий.

Значки слева от записей в списке ACL уточняют тип записи: пользователь, группа пользователей, сервер, группа серверов, смешанная группа пользователей и серверов. Поле «Тип пользователя» в правом верхнем углу закладки содержит текстовое пояснение.

Пример назначения ACL

Допустим, в базы Notes требуется перевести документацию, сопровождающую учебный курс:

  • конспект лекций и задания для контрольных работ;
  • выполненные учащимися задания;
  • классный журнал;
  • отзывы учащихся о процессе обучения.

Пусть каждый из четырех перечисленных видов документации хранится в отдельной базе. К документации должны иметь доступ следующие категории лиц:

  • учащиеся;
  • преподаватели;
  • директорат.

Упражнение 9.4

Предложите расстановку прав доступа к базам для каждой категории пользователей.

Права пользователя

В окне ACL права доступа показаны в том виде, в каком они хранятся в базе. Ваш доступ там задан, скорее всего, не прямо, а опосредованно, через одну из групп, членом (или членом подгруппы) которой вы являетесь.

Чтобы определить ваши права доступа к базе, необходимо просмотреть все перечисленные в ACL группы, все их подгруппы, все подгруппы подгрупп,... и т.д., чтобы найти в них ваше имя. Notes может проделать эту операцию автоматически.

Упражнение 9.5

Используя Панель состояния, определите свой уровень доступа к БД «Notes Q&A».

Значок в шестом слева (или третьем справа) поле Панели состояния указывает ваш уровень доступа (например, очки обозначают Читателя), а щелчок по нему выводит окно с полной информацией:

Notes определил ваш фактический уровень доступа к базе

Обратите внимание, что текст из окна «Группы и роли» попал в Панель состояния и некоторое время будет виден в выпадающем списке.

Упражнение 9.6

Узнайте ваши права доступа к коллективной БД, указанной преподавателем, например, к «UCVT's Address Book». Можете ли вы помещать туда информацию? Редактировать её?

Упражнение 9.7

Узнайте, кто имеет право читать ваш Почтовый Ящик?

Ограничение доступа к элементам базы

В приведённом примере связанные по смыслу данные пришлось разнести по разным базам только потому, что внутри одной базы одна категория лиц имеет фиксированный уровень доступа: например, к контрольным заданиям учащиеся имеют уровень доступа Корреспондент, а к конспекту лекций - Читатель.

На практике все документы для всех учебных групп и всех категорий пользователей могут быть сведены в одну-единственную базу, так как Lotus Notes позволяет Разработчику накладывать на отдельные части базы - оглавления и документы - дополнительные ограничения сверх указанных в ACL.

Управление доступом к оглавлениям

Доступ к оглавлениям может быть ограничен:

  • владельцем и разработчиком базы;
  • создателем оглавления, то есть таким пользователем, для которого в ACL базы включены флаги «Создание личных папок» и «Создание общих папок».

Управлять оглавлениями (создавать, изменять, переносить, удалять) можно из стандартного клиентского ПО. Компонент Notes Designer для этого не требуется.

Упражнение 9.8. Ограничение доступа к оглавлениям

  1. Пропустите это задание, если вы недостаточно опытный пользователь!
  2. Создайте в своём ПЯ на сервере новое представление «Для подружки» с наследованием дизайна от представления «Все документы».
  3. Добавьте в ACL своего ПЯ обоих соседей.
  4. Откройте на редактирование новое представление и через Плавающее Окно свойств запретите просмотр для левого соседа.
  5. Убедитесь, что в ПЯ левого соседа раздел «Для подружки» для вас открыт, в ПЯ правого соседа - закрыт.
  6. После выполнения предыдущих шагов вашими соседями удалите их имена из ACL своего ПЯ.

Управление доступом к отдельным документам

Автор ограничивает доступ к документу, используя Плавающее Окно свойств:

Выборочный запрет доступа к документам

Упражнение 9.9. Ограничение доступа к выбранным документам

  1. Создайте в ПЯ черновики писем под заголовками Доступ по умолчанию и Ограниченный доступ.
  2. Добавьте вашего левого соседа в ACL своего ПЯ с правами Читателя.
  3. Закройте ему доступ ко второму письму.
  4. Откройте ПЯ вашего правого соседа, убедитесь в наличии доступа к первому письму и отсутствии доступа ко второму.
  5. После выполнения предыдущих шагов вашим левым соседом удалите его имя из ACL своего ПЯ.

По умолчанию ACL документа и оглавления включает в себя только записи из ACL базы. Дополнительные имена из Адресных Книг открываются щелкчком по Человек: point and shoot справа от списка.

Управление доступом к документам по их типу

В предыдущем разделе рассмотрена возможность выборочного ограничения доступа к уже существующим документам. Однако Разработчик БД может встать перед той же необходимостью – разграничивать доступ к документам в зависимости от их типа и содержания – когда разрабатываемая база ни одного документа ещё не содержит.

Например, в Публичной АК пользователь имеет право редактировать свою учётную запись, не имеет права редактировать чужие учётные записи, и не имеет права создавать новые документы никаких типов. При этом создателем, т.е. фактическим автором своей учётной записи он не является, что не мешает ему тем не менее её изменять. Каким образом достигается такое гибкое сочетание прав доступа?

Ответ: не только документы, но и формы могут содержать список пользователей, групп и ролей (о которых - чуть ниже), которым разрешено:

  • создавать документы посредством данной формы;
  • просматривать документы, созданные посредством данной формы;
  • редактировать документы, созданные посредством данной формы.

Так, формой для создания пользовательских учётных записей разрешено пользоваться только членам группы «[UserCreator]». В каждой записи форма автоматически создаёт два невидимых поля типа «Авторы»: Owner и DocumentAccess. В первое из них записывается имя владельца учётной записи, во второе - название группы «[UserModifier]». Созданный документ, таким образом, смогут изменять только они и Редакторы базы.

Ещё одна защитная опция, которую форма устанавливает на поля в документе, запрещает редактирование поля, если пользователь имеет уровень доступа к базе ниже Редактора.

Упражнение 9.10

Какие поля в учётной записи в Публичной АК имеет смысл защищать от редактирования Авторами?

Роли

Допустим, программист разрабатывает некую базу-приложение общего назначения. Копии базы будут использоваться разными организациями, то есть круг пользователей заранее неизвестен даже приблизительно. Документы и оглавления внутри базы имеют раздельный доступ. Какие имена разработчик должен вписать в ACL, если ему неизвестна пользовательская иерархия организации, в которой база будет использоваться?

Вариант 1: придумать собственный набор групп, например, TeachDb.Boss, TeachDb.Teachers, TeachDb.Students. В документации к базе указать, что администратор Domino при инсталляции базы должен создать данные группы и заполнить их конкретными именами. Данный вариант имеет два недостатка.

Первый недостаток: имена групп для разных баз могут совпадать (вступать в конфликт), если разработчики сделали их простыми и короткими; в противном случае имена групп могут оказаться слишком длинными и трудными для запоминания.

Второй недостаток: при увеличении количества баз на сервере Публичная АК переполняется наборами групп, каждый из которых служит для обслуживания соответствующей базы. Зачастую группы, относящиеся к разным базам, будут логически эквивалетны и с одинаковым содержанием. Системному администратору будет всё сложнее ими управлять.

Для преодоления этих недостатков во многих информационных системах, и Notes/Domino в том числе, используется т.н. ролевой механизм. «Роль» («Role», «Группа доступа») - это псевдо-группа, определённая Разработчиком базы и хранящаяся в ACL. Роли используются для указания прав доступа к формам, документам и оглавлениям наравне с обычными группами и именами из Адресной Книги. Фактический пользователь проверяется на наличие у него той или иной роли только при операциях внутри этой базы. Разные базы, таким образом, могут свободно использовать одинаковые названия ролей.

Затем, когда база отдаётся из разработки в эксплуатацию, Управляющий базы редактирует ACL: заполняет её фактическими именами и названиями групп из Адресной Книги, после чего назначает им роли из представленного в базе списка.

Таким, образом, Разработчик задаёт состав ролей + уровни доступа для их обладателей. Управляющий задаёт наличие ролей у тех или иных фактических пользователей и групп.

Упражнение 9.11

Предложите состав ролей для базы «Учебный процесс».

Упражнение 9.12

Перечислите роли, присвоенные вам в Публичной АК.

Обратите внимание, что даже имея права Автора для Публичной Адресной Книги, вы не можете создавать и редактировать в ней описания пользователей, серверов и групп, так как вам не присвоена соответствующая роль:

Список ролей в Публичной АК

Упражнение 9.13

  1. Создайте в ACL своего ПЯ роль «SecretLook».
  2. Разрешите обоим соседям читать ваш ПЯ; левому соседу назначьте роль «SecretLook».
  3. Создайте в своём ПЯ папку «Секретная».
  4. В свойствах созданной папки разрешите доступ к ней только обладателям роли «SecretLook».
  5. Поместите в папку 1-2 произвольных документа.
  6. Откройте почтовые ящики соседей и убедитесь, что к новой папке вы можете обращаться только в том ПЯ, где вам назначена роль «SecretLook».
  7. Удалите из ACL своего ПЯ имена ваших соседей и роль «SecretLook».

Доступ к локальным базам

На самом деле Notes, кроме особых случаев, ACL баз не проверяет - эту проверку выполняет cервер Domino, когда получает от клиентов Notes запросы на доступ к расположенным под его управлением базам. Domino читает из базы ACL, определяет уровень доступа для данного пользователя, и в зависимости от уровня обрабатывает запрос либо отказывает в его выполнении.

Notes при этом просто отправляет запросы к серверу, не разбираясь, являются ли они правомочными, или нет.

Точно так же Notes работает и с локальными базами: независимо от ACL локальной базы, пользователь (поскольку защитной прослойки в виде сервера Domino между Notes и файлом базы здесь нет) может читать все документы и вносить любые изменения.

Страшного в этом ничего нет. Действительно, локальная база может быть либо создана пользователем самостоятельно - в таком случае он является ее менеджером и уже поэтому получает все привелегии доступа, либо быть репликой коллективной базы. Однако реплицирование происходит через сервер, а он проверяет ACL: и при передаче документов клиенту, и при приеме от клиента. Таким образом, в локальную реплику не попадут запрещенные для просмотра документы, а в оригинал на сервере - недозволенные изменения.

Впрочем, менеджер базы имеет возможность заставить Notes проверять права доступа, даже когда база находится на локальном диске и Notes работает с нею напрямую. Делается это установкой флажка Файл->База данных->Управление доступом->Дополнительно->Использовать единую таблицу управления доступом для всех реплик.

Эту возможность используют многие приложения на платформе Domino, например, LearningSpace и Domino.Doc.

Администратор сервера может обойти такую защиту директивой Disable_Local_Access_Control=1 в NOTES.INI.

Заключение

  • Каждая база хранит ACL = Access Contol List = список прав доступа.

  • Каждая запись в ACL содержит имя пользователя, сервера или группы, уровень доступа и уточнения к уровню доступа.

  • Помимо доступа к базе, Разрабочик имеет возможность запрещать просмотр конкретных оглавлений, создание, просмотр и редактирование отдельных типов документов. Управляющий имеет возможность запрещать доступ к конкретным документам.

  • Роли можно понимать как набор созданных разработчиком бирок. Разработчик прикрепляет бирки к формам и оглавлениям, Управляющий прикрепляет бирки к конкретным именам в ACL.

  • Список прав доступа к базе выводится в специальном окне, вызываемом из главного меню или контекстного меню базы.

  • Вытекающие из ACL права конкретного пользователя показываются значком в третьем справа поле Панели Состояния. При щелчке по этому полю выдаётся окно с развернутой информацией.

  • При обращении к локальным базам Notes не проверяет права доступа, если только база не содержит дополнительной защиты.

Глава 10. Репликация

Определение, принцип действия, обоснование необходимости

Допустим, пользователь из дома через модем работает с коллективной базой данных, расположенной на сервере. Основных недостатков у интерактивного доступа два:

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

То есть, одновременно:

  • скорость работы уменьшается;
  • надежность снижается (из-за обрывов связи);
  • стоимость увеличивается.

Однако скопировать файл с базой домой для автономного редактирования (например, посредством сети Microsoft) невозможно, так как:

  • в это же время её вариант на сервере может изменяться другими пользователями;
  • копирование большой базы с сервера на рабочее место и обратно может занять ещё больше времени, чем создание/редактирование/просмотр нескольких документов непосредственно на сервере.

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

Различные экземпляры одной базы данных Notes называются репликами.
Процесс обмена изменениями между базами называется реплицированием.
Новые реплики порождаются от существующих неким специальным образом.

Термин «репликация» является общепринятым и используется не только в Notes, и не только применительно к базам данных. Например, в операционной системе Windows 2000 имеется файловый репликатор, позволяющий синхронизировать содержимое каталогов на локальном и удаленном компьютерах. Однако в большинстве других СУБД, в отличие от Notes, подобная возможность либо не реализована, либо реализована позже и менее полно.

Полезность такого механизма, как репликация, вообще говоря, обуславливается тем, что на практике поставщики и потребители информации часто оказываются территориально удалены друг от друга (например, сеть гостиниц в одной стране и сеть туристических агентств в другой). Если какая-то группа пользователей находится слишком далеко от центрального хранилища данных, имеет смысл организовать поблизости от них промежуточное хранилище, которое будет синхронизировать (реплицировать) своё содержимое с центральным. Обращение к данным в промежуточном хранилище вместо центрального принесёт следующие очевидные преимущества:

  1. Скорость работы пользователей вырастет.
  2. Одновременно за счёт уменьшения загрузки внешнего канала уменьшится стоимость работы.

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

В момент реплицирования между двумя экземплярами базы Notes проверяет, какие изменения произошли в них с момента последней репликации:

  • если в реплике А за это время появился новый документ,
    он копируется в реплику Б;
  • если уже существовавший документ в реплике А был изменен,
    в реплике Б он заменяется новым вариантом из А;
  • если документ был удален в А, он удаляется из Б.

Также предметом репликации является структура базы, то есть:

  • список прав доступа (ACL);
  • формы просмотра и редактирования документов;
  • разделы оглавления, и т.д.

Применительно к данным, разработчик базы (или разработчик шаблона, из которого создал базу её владелец) может сделать репликацию не подокументной, а на уровне отдельных полей в документе (назовем её “ячеечной”).

Пример ситуации, когда это может оказаться полезным: пусть документы в базе "Журналы учебных групп" содержат 2 поля: "Куратор" и "Список учащихся". Репликация на уровне полей позволит редактировать разные части документа в разных репликах независимо друг от друга, не вызывая конфликтов. Однако чем сильнее взаимосвязаны поля в документах, тем осторожнее следует использовать “ячеечную” репликацию.

Ещё один пример: передача документа с вложенными файлами через ненадёжную телефонную линию. Чем больше количество фрагментов, на которые разбит исходный файл (каждый фрагмент вкладывается в документ отдельным вложением), тем реже потребуется повторная репликация из-за обрывов связи.

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

Даже при работе внутри локальной сети имеет смысл делать реплики баз с сервера на локальный диск и работать с ним автономно, если сеть или сервер перегружены или подвержены сбоям. В таком случае ни состояние сети, ни состояние сервера на вашу работу существенно влиять не будут.

Однако следует помнить, что Notes не проверяет ACL у локальных баз, и позволяет любому пользователю просматривать и изменять их. Среплицировав базу на локальный диск рабочей станции, не забудьте после работы удалить локальную реплику, если есть риск, что после вас за компьютер сядет посторонний!

Создание и инициализация новых реплик

Как правило, новая реплика создаётся в два приёма:

  1. Сначала на Панель закладок помещается закладка исходной базы.
  2. Затем в глобальном меню Файл или в контекстном меню закладки выбирается пункт Репликация->Создать реплику....

Упражнение 10.1

Создайте на локальном диске реплику коллективной базы, расположенной на сервере. Обратите внимание, что по умолчанию параметр «Создать» установлен в значение «При ближайшей репликации».

Рисунок 10.1. Создание локальной реплики коллективной базы

Создание локальной реплики коллективной базы

Примечание: пункт создания реплики в главном меню в качестве исходной использует базу, открытую в текущем окне. Окно «Добро пожаловать» принадлежит базе «Закладки», хранящейся в файле bookmark.nsf.

В локальном каталоге данных появится незаполненная данными база:

Неинициализированная реплика в каталоге данных

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

База данных инициализирована не полностью

Компонент Notes, ответственный за синхронизацию реплик, называется «Репликатор». Окно Репликатора открывается автоматически перед выполнением всех связанных с ним операций. В нашем случае его потребуется открыть вручную с помощью специальной закладки:

Закладка Репликатора

Упражнение 10.2

Cреплицируйте данные из коллективной реплики в локальную:
  1. Откройте Репликатор.
  2. Перейдите к записи, соответствующей базе.
  3. Запустите репликацию через контекстное меню записи.

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

Рисунок 10.2. Реплицирование выбранной базы

Реплицирование выбранной базы

Теперь новая реплика полностью проинициализирована и готова к работе. Контекстное меню закладки базы содержит список компьютеров, на которых присутствуют экземпляры (реплики) данной базы. Сейчас этот список пополнился пунктом «Локальный компьютер»:

Список компьютеров, хранящих реплики данной базы

Таким образом, одна закладка служит для доступа к нескольким базам, расположенным на разных компьютерах; если точнее – к нескольким репликам одной базы. С какой именно репликой работать в данный момент, пользователь выбирает через выпадающее меню.

Синхронизация реплик

Упражнение 10.3

  1. Добавьте документ в локальную реплику.
    Измените в локальной реплике какой-нибудь из документов, созданных Вами ранее.
  2. Убедитесь, что текущей репликой закладки является реплика на локальном компьютере.
  3. Из контекстного меню закладки выберите пункт Репликация->Реплицировать....
  4. В открывшемся окне выберите режим «Реплицировать с выбором параметров» и нажмите «OK».
  5. в окне выбора параметров сразу нажмите «OK» – этот режим мы выбрали не для того, чтобы менять параметры, а чтобы познакомиться с реплицированием в монопольном режиме.
  6. Дождитесь завершения реплицирования.

Рисунок 10.3. Выбор режима репликации

Выбор между монопольным и фоновым режимом

После выполнения этого задания окно «Статистика реплицирования» должно содержать следующие значения:

  • отправлено одно добавление и одно обновление;
  • принято N добавлений и N обновлений, где N - количество слушателей, справившихся с этим заданием быстрее, чем вы.

Окно со статистикой репликации

Первая и последующие репликации

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

Первая репликация занимает много времени, даже если в база вообще не содержит никаких документов. Объясняется это тем, что помимо документов, база Notes содержит описание своей структуры, то есть внешнего вида и поведения документов, оглавлений и т.д. Большая часть времени первой репликации тратится на их копирование.

Кроме того, перед первой репликацией Notes создаёт в реплике т.н. журнал репликаций, в котором сохраняется состояние реплики после каждой синхронизации. Наличие журнала экономит время на поиск изменившихся данных в начале следующей репликации, хотя в некоторых случаях способно приводить к тому, что некоторые изменения останутся незамеченными. Во всяком случае, если репликация не выполнялась больше месяца, журнал рекомендуется сбрасывать: меню Файл->Репликация->Журнал..., кнопка «Очистить».

Упражнение 10.4

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

Фоновый и монопольный режим

Мы получили возможность сравнить два режима репликации базы: в фоновом (задание 2) и монопольном режиме (задание 3). Какой из них предпочтительнее? Используйте монопольный режим в следующих случаях:

  1. Вам требуется реплицировать с параметрами, отличными от тех, которые использовались в прошлый раз.
  2. Вам нужен подробный отчет о репликации.
  3. До завершения репликации выделенной базы вам нечем заняться.
  4. В компьютере установлено мало ОЗУ (фоновому репликатору для работы требуется дополнительная память).

Во всех остальных случаях, особенно при работе из дома, используйте фоновый репликатор.

Репликатор

Окно Репликатора – это то место, из которого осуществляется всё управление синхронизацией баз между вашей рабочей станцией и серверами. В частности, в противоположность рассмотренному выше поштучному реплицированию, здесь можно запустить на реплицирование все базы сразу. Для этого служит кнопка «Начать». Окно Репликатора занято набором записей, указывающих подлежащие реплицированию базы. Каждая запись содержит следующие элементы:

Запись в окне Репликатора

  1. Отметка-«checkbox»: по команде «Начать» реплицируются только те базы, для чьих записей она установлена.
  2. Восклицательный знак означает базу с высоким приоритетом репликации. Такие базы всегда реплицируются в первую очередь. Кроме того, базы с высоким приоритетом можно реплицировать отдельно от остальных баз.
  3. Иконка базы.
  4. Название базы.
  5. Направление репликации: стрелка влево = приём с сервера, стрелка вправо = передача на сервер.
  6. Дата последней репликации.
  7. Название сервера, с которым производилась репликация;
    количество принятых и отправленных документов;
    если репликация завершилась неудачей, то текст ошибки.

Примечание: двойной щелчок по записи в окне Репликатора открывает соответствующую базу.

Записи в окно Репликатора добавляются автоматически, в момент создания пользователем новой реплики.

Упражнение 10.5

Как вы думаете, какую базу, или базы, имеет смысл реплицировать в первую очередь? Почему?

Упражнение 10.6. Групповая репликация

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

Параметры репликации, хранящиеся в Notes

Щелчком по стрелке (указателю направления репликации) на записи репликации открывается окно настройки параметров. Также его можно открыть из контекстного меню этой записи (щелчок правой кнопкой, пункт Параметры...):

Свойства записи реплицирования

Здесь можно выбрать:

  • направление репликации;
  • сервер, или серверы, на которых расположена вторая реплика;
  • степень загрузки документов (её мы изменять не будем).

Указанные параметры используются затем постоянно.

Упражнение 10.7. Настройка параметров репликации

  1. настройте для первой базы репликацию только на приём.
  2. настройте для второй базы репликацию только на передачу.
  3. для первой базы в качестве сервера репликации выберите «любой удачный, начиная с ...».

Эти параметры можно выбирать и для однократного применения: из контекстного меню базы выберите Репликация->Реплицировать..., затем «Реплицировать с выбором параметров»:

Свойства записи реплицирования

Упражнение 10.8. Разовая настройка параметров репликации

Среплицируйте первую коллективную базу на сервер (без приёма с сервера), не меняя постоянных параметров репликации.

Проверка прав доступа

Список прав доступа к базе используется сервером при репликации точно так же, как и при интерактивной работе:

  • сервер будет посылать удаленному компьютеру только те документы, на которые тот имеет уровень доступа не ниже Читателя;
  • сервер будет принимать в расположенную на нём базу только те документы от удаленного компьютера, на которые удаленный компьютер имеет права Корреспондента, Автора или Редактора.

Клиентская часть Notes не проверяет права доступа тех баз, которые читает из файлов на локальном диске, но в этом нет ничего страшного: локальные реплики изначально не будут содержать данных, которые данному пользователю знать не полагается. При этом в локальной реплике пользователь может менять любые документы, как ему заблагорассудится, но реплицированием он не сможет отправить недозволенные изменения в оригинал базы, расположенный на сервере.

Репликация по расписанию

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

Для настройки и включения периодической репликации служит верхняя запись на листе Репликатора:

Запись автоматической репликации

Примечание: на время настройки галка с этой записи должна быть снята!

Собственно настройка сводится к редактированию секции «Репликация» в текущем документе «Место вызова». Сам документ находится в вашей Личной АК. Его название выводится в Панели состояния Notes во втором справа поле. Подробнее его назначение и настройка рассматриваются в главе «Настройка рабочей станции».

Параметры автоматической репликации

Упражнение 10.9. Настройка параметров периодической репликации

  1. Убедитесь, что в окне Репликатора периодическая репликация отключена.
  2. Настройте периодическую репликацию каждые 10 минут и сохраните документ «Место вызова».
  3. В окне Репликатора включите периодическую репликацию.

Списки реплицирования для разных мест вызова

Со своего рабочего места пользователь может реплицировать базы с разными серверами. Из дома пользователь может устанавливать телефонное соединение с разными площадками. В зависимости от этого, набор баз и параметры их репликации (в частности, имя сервера, с которым надо реплицироваться), будет меняться.

По этой причине все настройки репликации Notes хранит не в единственном экземпляре, а по одному для каждого «Места вызова». Набор записей в окне Репликатора для всех мест вызова остаётся одним и тем же, но параметры записей для каждого места вызова настраиваются отдельно.

Упражнение 10.10. Зависимость параметров периодической репликации от текущего Места вызова

  1. Запомните текущее Место вызова во втором справа поле Панели состояния Notes.
  2. Через меню в этом поле переключитесь в Место вызова «Нет Связи» или «Home Island».
  3. Настройте для какой-нибудь базы репликацию только на передачу.
  4. Настройте для какой-нибудь другой базы репликацию только на приём.
  5. Переключитесь в первоначальное Место вызова и убедитесь, что направление репликации баз соответствующим образом изменилось.

Исключение из списков реплицирования

Если требуется гарантированно исключить синхронизацию локальной реплики с вариантами на серверах, следует нажать клавишу Delete на её записи в Репликаторе. Поскольку для всех местоположений набор записей одинаков (меняются только их параметры), репликация данной базы будет отключена.

Восстановить соответствующую запись впоследствии можно, произведя для данной базы фоновую репликацию. В предыдущей версии Notes для восстановления базы было достаточно перетащить иконку базы с Рабочей области на лист Репликатора.

Параметры репликации, хранящиеся в базе

Частично Notes хранит параметры репликации базы не внутри самой базы, а вне её, ставя их в соответствие тому Месту вызова, в котором работает в данный момент. Эти параметры редактируются, как было показано выше, перед началом монопольной репликации или в окне Репликатора.

В дополнение к этому каждая база содержит некоторое множество дополнительных свойств. Эти свойства действительны для данной реплики для всех пользователей и Мест вызова. Разные реплики одной базы могут иметь разный набор параметров репликации. Здесь состав сведений, которые Notes должен принимать и передавать в момент синхронизации с другими репликами, может быть расписан очень детально:

Параметры репликации базы данных

Как правило, рядовому пользователю нет нужды не только редактировать эти данные, но даже знать об их существовании: ему вполне достаточно тех общих настроек, которые производятся на листе Репликатора. Последняя инстанция, для которой параметры репликации базы могут представлять интерес – это администратор сервера Domino.

Конфликты

Что произойдет, если несколько пользователей отредактируют в своих локальных репликах один и тот же документ, а потом среплицируют изменения на сервер? Возникнет т.н. «конфликт репликации». В Панели содержания появятся записи следующего вида:

Отметка о конфликте репликации

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

Аналогичный конфликт возникает, когда один и тот же документ пользователь открывает на редактирование одновременно в двух окнах (открыл, вернулся в оглавление, снова открыл, сохранил, вернулся в первое окно, снова закрыл). Для того, чтобы разрешить такой конфликт, т.е. стереть лишние варианты документа, пользователю необходим уровень доступа не ниже Автора.

Упражнение 10.11

  1. Создайте в локальной реплике коллективной базы произвольный документ.
  2. Отреплицируйте изменения на сервер.
  3. Отредактируйте документ в локальной реплике.
  4. Отредактируйте тот же самый документ в реплике на сервере.
  5. Среплицируйте изменения в коллективной базе между рабочей станцией и сервером.
  6. Найдите конфликт репликации и удалите его.

Создание реплики без связи с исходным сервером

Реплику базы можно создать даже тогда, когда нет ни закладки исходной базы в окне Notes, ни связи с сервером Domino, на котором расположена база. Правда, особенности интерфейса Notes R5 требуют, чтобы при этом была открыта Рабочая область, прилагающаяся к современному оформлению как наследство от предыдущей версии.

Упражнение 10.12. Создание слепой реплики

  1. Откройте окно Рабочей области.
  2. Щёлкните мышью по пустому месту листа Рабочей области, чтобы «отжать» текущую иконку.
  3. Выберите пункт меню Файл->Репликация->Создать реплику....
  4. В открывшемся окне «Выбор базы данных» заполните поля «Сервер» и «Имя файла», после чего нажмите «Выбрать»:
    Создание реплики без связи с сервером, на котором находится оригинал
  5. В окне «Создание реплики» (обратите внимание, что заголовок окна не содержит имени реплицируемой базы) может потребоваться назначить локальной реплике другое имя файла, но как правило, можно немедленно нажимать «OK».

Таким образом, соединение с сервером потребуется только при последующей инициализации реплики, (которая может быть произведена и автоматически), но не требуется в момент создания реплики. Существуют ситуации, когда такая возможность оказывается совершенно незаменимой для системного администратора: например, сервер администрируется в течение рабочего дня, а связывается с внешним миром по телефонной линии по ночам. Однако для рядового пользователя всего лишь интересна, и не более того.

Упражнение 10.13. Создание «слепой» реплики

  1. Переключитесь в место вызова «Нет Связи» или «Home Island».
  2. Убедитесь, что связь с сервером отсутствует.
  3. Создайте слепую реплику коллективной базы.
  4. Переключитесь в первоначальное место вызова.
  5. Через 10 минут убедитесь, что локальная реплика автоматически заполнилась данными.

Создание реплики на целевом сервере

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

Создается реплика на сервере точно также, как и локальная: щелчком по закладке исходной (локальной) базы и выбором пункта меню Файл->Репликация->Создать реплику.... В открывшемся диалоговом окне в поле «Сервер» следует ввести имя целевого компьютера.

Можно порождать реплики с сервера на сервер. И в этом случае начинать создание надо либо щелчком по закладке исходной базы (на сервере), либо (если исходный сервер недоступен) щелчком по пустому месту на Рабочей области.

И в том, и другом случае в обязательном порядке требуются две вещи:

  • связь с целевым сервером в момент создания реплики;
  • полномочия на создание реплик на этом сервере.

Примечание: помните, что за пределами Рабочей области в качестве исходной автоматически берётся та база, в окне которой вы сейчас находитесь.

Полномочия на создание новых баз и реплик пользователям выдает администратор сервера.

Внутренние двоичные имена баз и документов

Каким образом Notes определяет, что содержимое двух неодинаковых файлов на разных компьютерах является экземплярами одной базы, и складывает их в одну закладку?

Во-первых, не по имени файла, так как при создании реплики пользователь может выбрать для нового файла любое имя.

Во-вторых, не по имени базы, так как дизайнер базы может свободно изменять его для любой из реплик (откуда затем оно будет среплицировано во все остальные реплики).

Аналогичная проблема возникает и с конфликтами репликации документов. Как определить, что два неодинаковых документа в разных репликах получены путем независимого редактирования какого-то ранее существовавшего документа?

Для решения этих задач Notes присваивает базам, разделам, формам, документам и всем прочим данным т.н. двоичные имена. Двоичные имена, в отличие от имён символьных:

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

Как правило, двоичное имя объекта, если оно у него есть, выводится в его окне свойств на закладке «Коды документов» в поле «Код»:

Двоичные имена документа и базы, отображаемые в Окне свойств

Когда говорят «NoteID», подразумевают двоичное имя документа, уникальное для данной реплики (16-разрядное). В разных репликах один и тот же документ может иметь разные NoteID, а один и тот же NoteID может использоваться для разных документов. В дополнение к NoteID каждый документ имеет т.н. «Unquie ID», или «UNID» – двоичное имя, одинаковое для всех реплик базы.

Наконец, двоичное имя базы данных обозначают термином «Replica ID».

Отдельный вопрос: как реплицировать удаления? Если документ есть в реплике А и отсутствует в реплике Б, то что это означает: что он был создан в А и теперь должен быть скопирован в Б, или что после предыдущей репликации он был удален из Б и теперь должен быть также удален из А ?

Для решения этой проблемы после удаления документа Notes продолжает хранить в базе его UNID ещё в течение 30 суток (если точнее - 1/3 от срока хранения неизменившихся документов, задаваемого в параметрах репликации базы, по умолчанию составляющего 90 дней), и при реплицировании удаляет документы с таким UNID из других реплик.

Упражнение 10.14

Объясните, в чём отличие между пунктами меню Файл->База данных->Создать копию... и Файл->Репликация->Создать реплику....

Перенос реплик в виде файлов

У пользователей, имеющих домашнее рабочее место Notes, часто возникает вопрос: можно ли создавать на домашнем компьютере реплики коллективных баз не через соединение с сервером (которое в случае использования телефонной линии может потребовать очень много времени), а принеся файл с базой домой на дискете?

Ответ: да (с оговорками).

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

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

Когда вы по очереди поместите значки локальной и коллективной реплик на Панель закладок, они сложатся в общий значок, поскольку у представляемых ими баз одинаковое двоичное имя (ReplicaID). При этом на странице Репликатора появится соответствующая запись.

Существует и более простой вариант добавить в закладки несколько реплик с разных компьютеров, который не требует указывать имя файла очередной реплики. Вместо этого Notes найдёт его самостоятельно по ReplicaID уже известных реплик. Для этого используется пункт контекстного меню закладки Открыть реплику->Управление списком...:

Управление списком доступных реплик базы данных

Нечто подобное, но в менее наглядной форме, проделывает и пункт меню Файл->Репликация->Найти реплику....

Упражнение 10.15

  1. Удалите с Панели закладок значок локальной и коллективной реплик какой-нибудь базы.
  2. Убедитесь, что с листа Репликатора исчезла запись репликации данной базы.
  3. Снова добавьте значок локальной реплики в закладки.
  4. Не указывая имя файла, подключите к существующей закладке коллективную реплику.
  5. Убедитесь, что на листе Репликатора появилась запись репликации данной базы.

Глава 11. Календарь и поручения

Какие возможности электронный вариант календаря способен предоставлять по сравнению с классическим?

  • свободный поиск по всему содержимому;
  • различные варианты представления данных: по дням, неделям, по степени важности, ... ;
  • интерактивность, выраженную в визуальных и аудио-напоминаниях;
  • автоматизированность: проверку пересекающихся мероприятий, заготовки типовых ответов, ... ;
  • взаимодействие с календарями других пользователей, расписаниями использования помещений и т.д.

По внешнему виду календарь на рабочем месте Notes не сильно отличается от своего бумажного аналога:

Внешний вид календаря в Notes

Коллективность и автоматическая обработка достигаются благодаря внесению календаря в состав Почтового Ящика. Так как пользовательские ПЯ полагается размещать на сервере Domino, сервер: а) берёт на себя обязанности по выполнению рутинных задач (генерация оповещений и т.д.); б) предоставляет доступ другим пользователям на основании выбранной владельцем ПЯ настройки.

Детали оформления

Окно календаря содержит большое количество значков, которые должны облегчить пользователю переход на нужную дату и удобный просмотр:

Значки в окне календаря

Упражнение 11.1

Проделайте каждую из предложенных операций одним щелчком мыши:
  1. Включите почасовую разметку для дневных расписаний.
  2. Включите 5-дневное представление рабочей недели.
  3. Перейдите к последнему дню месяца.
  4. Вернитесь к сегодняшнему дню (потребуется дополнительный щелчок мышью).
  5. Перейдите на неделю вперёд/назад.
  6. Перейдите на месяц вперёд/назад.

Создание календарной записи

Всего Notes определяет пять типов календарных записей: собрания, мероприятия, годовщины, напоминания и события (они же в форме редактирования календарной записи обозначаются как «полные дни»). Различия между ними демонстрирует следующая таблица:

ХарактеристикаСобраниеМероприятиеГодовщинаНапоминаниеСобытие
Дата началаДАДАДАДАДА
Время началаДАДАнетДАнет
Дата завершенияДАДАнетнетДА
Время завершенияДАДАнетнетнет
ПовторяемостьДАДАДАДАДА
Рассылка приглашений другим пользователямДАнетнетнетнет
Заказ помещений и прочих ресурсовДАнетнетнетнет
Публикация в качестве нерабочего времени в общедоступном расписанииДАДАДАнетДА

Новые календарные записи создаются, во-первых, через меню Создание, и во-вторых, кнопками на Панели операций: «Собрание» и «Создать». Двойной щелчок по окну календаря создаёт запись о собрании. Тип записи можно изменять непосредственно в форме редактирования через соответствующее поле:

Смена типа календарной записи

Упражнение 11.2

Начните редактировать запись о новом мероприятии, назвав его «Занятие по Notes».

Форма редактирования

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

Установка даты
Установка времени

Бегунок для ввода времени закрывается повторным щелчком по Иконка для открытия бегунка или Иконка для закрытия бегунка.

Поля «Расположение» и «Группировать» не несут никакой технической нагрузки и служат только для более удобного представления данных. Подразумевается, что если вместо темы «Орг.собрание с абитуриентами на Брянцева» вы укажете тему наподобие «Орг.собрание с абитуриентами», расположение «Брянцева» и группирование «Рабочие встречи» или «Абитуриенты», то Notes воспользуется дополнительными полями для построения более наглядных оглавлений. Существующая на данный момент версия ПЯ их для данной цели не использует. Поле «Группировать» содержит выпадающий список с набором готовых значений, но допускает ввод и вашего собственного.

Упражнение 11.3

  1. Продолжая редактирование календарной записи, заполните поля «Тема», «Начало», «Окончание», «Расположение», «Описание» и «Группировать» (введите здесь своё собственное значение, например, «УЦВТ»).
  2. Сохраните календарную запись и убедитесь, что она появилась в окне Персонального Календаря.

Оповещения

Notes в состоянии автоматически отслеживать календарные записи и напоминать пользователю об их приближении и прохождении. За указанное пользователем время до или после их наступления Notes выдаёт на экран диалоговое окно с соответствующим текстом и сопровождает его звуковой записью. Включение и настройка оповещения производится в форме редактирования на закладке «Параметры»:

Окно настройки параметров оповещения

Упражнение 11.4

  1. Создайте напоминание о том, что пора на перерыв.
  2. Установите время начала, равное текущему времени + 3 минуты.
  3. Включите визуальное и звуковое оповещение, которое должно быть выведено за одну минуту до наступления.
  4. Сохраните календарную запись.
  5. Переключите режим почасовой разметки и обратите внимание, как изменится внешний вид суточного расписания.
  6. Дождитесь оповещения.

Повторения

Для действий, носящих периодический характер, таких как дни рождения, Notes позволяет создавать за один раз множество каледнарных записей, отстоящих друг от друга на заданное количество дней, недель, месяцев или лет. Для этого в форме редактирования каледнарной записи следует отметить поле «Повторы». В форме появляется кнопка «Параметры» и автоматически выводится окно настройки:

Настройка повторений

Упражнение 11.5

Создайте периодическое событие («полный день») со следующими характеристиками:
  1. Срок действия: с завтрашнего дня по 31 декабря следующего года.
  2. Дата события: в первый и пятнадцатый день каждого месяца.
  3. События, приходящиеся на выходные дни, переносятся на ближайший день недели.
  4. Название: «Санитарный день».

Примечание: у работы с повторяющимися записями в Notes имеется существенный недостаток. Дело в том, что создав серию записей, Notes забывает об их взаимосвязанности. С этого момента редактировать их вы должны по отдельности, что, конечно же, может быть чрезвычайно неудобно, когда записей много. В этом случае рекомендуется работать с ними не через Календарь, а через оглавление ПЯ «Обсуждения», где документы группируются по заголовку. Впрочем, иногда Notes способен запоминать набор периодических событий в специальном описании, образуемом двумя документами: первый содержит описание начального события, а второй – список дат повторений:

Выбор из списка повторяющихся событий

Упражнение 11.6

  1. Создайте годовщину «Новый год» 1 января на ближайшие 10 лет.
  2. Переключитесь в раздел ПЯ «Обсуждения». Убедитесь, что все созданные календарные записи сохранены всего в двух документах.
  3. Отредактируйте предпоследнюю календарную запись, в качестве расположения указав произвольное заграничное географическое название.

Рассылка приглашений

Так как собрание или иное действие, о котором организатор договаривается с участниками, является общераспространённой ситуацией, Почтовый Ящик предлагает несколько заготовок для его организации:

  • создание календарной записи с одновременной рассылкой типовых приглашений;
  • превращение полученного приглашения в запись в вашем календаре;
  • набор типовых ответов на приглашение, высылаемых одним щелчком мыши.

Упражнение 11.7

Создайте календарную запись типа «Собрание», пригласив своих соседей в двухдневную туристическую поездку. В приглашениях включите отметку, требующую уведомления о вручении. Составьте такое описание, которое не оставляло бы им возможности отказаться.

Что делать при получении приглашения

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

Приглашение на собрание

Теперь, если вы щёлкнете по кнопке «Принять», Notes сделает следующее:

  • создаст в Календаре соответствующую запись;
  • отправит организатору собрания записку с ответом стандартного вида.

Ответ от приглашённого в ПЯ организатора

Упражнение 11.8

  1. На приглашение от левого соседа ответьте согласием.
  2. Приглашение от правого соседа делегируйте левому соседу.
  3. На приглашение, делегированное правым соседом, предложите другое время.

По умолчанию Notes разрешает вам приглашения, поступившие на ваше имя, делегировать (перенаправлять) другим пользователям. Также допустима посылка встречных предложений с указанием другого времени и т.д. Создавая календарную запись, организатор собрания может запретить и то, и другое в окне параметров доставки, открываемом кнопкой на Панели операций:

Параметры доставки приглашения

Автоматические ответы

Почтовый Ящик умеет автоматически ставить ваших корреспондентов в известность о том, что в данный момент вы отсутствуете на рабочем месте и ответите на их письма после указанной даты. Диалоговое окно для настройки данной возможности выглядит достаточно тривиально, однако на практике кроме его заполнения от вас потребуется ряд дополнительных шагов.

Во-первых, у вас должно быть право запуска т.н. «restricted»-агентов на сервере Domino, на котором расположен ваш ПЯ. Агентом в терминологии Notes называется небольшая программа, хранимая в базе данных и вызываемая по расписанию или некоторому условию, например, по добавлению в базу новых документов. В частности, за рассылку автоматических ответов отвечает находящийся в ПЯ агент «Нет на работе». Запускаться он будет сервером Domino, но от вашего имени. Соответственно, системный администратор Domino должен назначить вам соответствующие права.

Как убедиться, что они у вас есть?

  1. В Почтовом Ящике откройте список агентов через меню Вид.
  2. Найдите в списке агент «OutOfOffice» и откройте его на редактирование.
  3. Щёлкнув в окне редактирования по кнопке «Расписание», укажите, что агент должен выполняться на вашем почтовом сервере.
  4. Закройте окно редактирования агента, сохранив изменения.
  5. В списке агентов щелчком мыши по отметке слева от названия агента включите его на выполнение.

Недостаток прав для запуска агента на сервере

Если Notes не выдаст сообщения об ошибке, значит, вы имеете достаточный уровень привилегий для выполнения агентов на сервере.

Во-вторых, по умолчанию данный агент запускается раз в сутки в 01:00 и рассылает ответы на все пришедшие за день письма. Такое решение удобно в реальной жизни, но неудобно для изучения. Чтобы заставить агента реагировать на входящую почту немедленно, следует вновь открыть его на редактирование и в поле «Когда этот агент должен выполняться?» выбрать значение «После прихода новой почты».

Примечание: Кнопка «Расписание» при этом, разумеется, станет недоступной.

Упражнение 11.9

  1. Запустите на почтовом сервере агента «OutOfOffice».
  2. Настройте его на запуск немедленно по приходе почты.

Собственно окно настройки вызывается через меню Действия->Сервис->Нет на работе или кнопкой «Сервис» на Панели операций:

Настройка автоматических ответов

Последняя закладка содержит правила, по которым агент в ответ на некоторые письма рассылать автоматические сообщения не должен:

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

Примечание: Кнопка «OK» запоминает настройки, но не запускает агента. Для его запуска и остановки служат отдельные кнопки «ВКЛ.» и «ВЫКЛ.».

Упражнение 11.10

  1. Укажите, что будете отсутствовать на рабочем месте сегодня и завтра.
  2. Подготовьте особое сообщение для правого соседа.
  3. Включите программу-агента.

Упражнение 11.11

  1. Дождитесь, пока ваши соседи выполнят предыдущее задание.
  2. Пошлите им произвольные письма.
  3. Дождитесь получения автоматических ответов.

Упражнение 11.12

  1. Дождитесь, пока ваши соседи выполнят предыдущее задание.
  2. Отключите программу-агента.

Задачи и поручения

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

Во-первых, задача может быть либо выполненной, либо невыполненной. В зависимости от этого их следует отображать в Календаре по-разному.

Во-вторых, задачи могут различаться по степени важности. Notes позволяет вам выбирать один из четырёх уровней приоритета, группирует невыполненные задачи по приоритету и отображает его в оглавлении с помощью значков, например, (1): значок максимального приоритета.

В-третьих, задачи назначаются не только самому себе, но и поручаются другим пользователям. Почтовые Ящики поручителя и исполнителя должны уметь связываться друг с другом для передачи составленного поручителем задания, и затем – для возврата уведомления о том, что оно выполнено.

Всё это послужило поводом создать для задач отдельное оглавление в Почтовом Ящике и отдельную форму для их просмотра и редактирования. Для перехода в список задач в окне ПЯ служит значок на Панели переключателей:
Значок перехода в список задач на Панели переключателей ПЯ.

Совет: описывая новую задачу, не ленитесь заполнять в форме редактирования поле «Категория». В Панели разделов в окне задач ПЯ присутствует раздел «По категории», в котором задачи группируются по значению в этом поле. В ряде случаев такое представление может оказаться очень удобным!

Упражнение 11.13

  1. Переключитесь в ПЯ в раздел «Задачи».
  2. Составьте новую задачу, назовите её «Освоить работу с Notes», назначьте дату начала, равную сегодняшней дате, и дату завершения, равную дате завершения данного учебного курса.
  3. Убедитесь, что задача появилась в списке задач и в разделе «Все документы».

Задача назначается другим пользователям, если изменить в форме редактирования значение поля «Тип» с «Личная задача» на «Задача группы». В форме появляется закладка «Участники», где вы должны перечислить исполнителей и тех (в полях «Копия» и «СК», необязательно), кого считаете нужным поставить в известность о поставленной задаче.

Упражнение 11.14

Создайте задачу «Стать отличником», датой начала для неё выберите завтрашний день, установите высокий приоритет и назначьте её своим соседям.

Операции над задачами традиционно для Notes назначены кнопкам на Панели операций в оглавлении задач и в форме просмотра/редактирования задачи.

Упражнение 11.15

  1. Переключитесь в раздел «По состоянию».
  2. Пометьте задание, поступившее от правого соседа, как выполненное.
  3. Дождитесь уведомления от левого соседа о выполнении назначенного вами задания.

В разделе «По состоянию» задачи группируются, во-первых, по степени проделанности: будущие, текущие и завершённые. Внутри данных категорий задачи сортируются по убыванию выбранного вами приоритета.

Упражнение 11.16

Снимите с задания, поступившего от правого соседа, отметку о выполнении.

Примечание: что повторное объявление невыполненным задания, присланного извне, в отличие от объявления выполненным, никакого уведомления автору задания от вас не генерирует!

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

Над коллективными задачами вам разрешено проделывать ограниченный набор операций – в зависимости от того, кем по отношению к задаче вы являетесь: автором («ответственным») или исполнителем («участником»).

Получив задачу от другого пользователя, вы имеете возможность отреагировать следующим образом:

  • принять, то есть уведомить ответственного, что задание вами получено и вы берётесь его выполнить;
  • отклонить, то есть отправить ответственному сообщение с отказом выполнять задание;
  • делегировать, то есть перепоручить выполнение задачи другому лицу;
  • предложить другое время начала или завершения задачи.

Данный список открывается при щелчке по кнопке «Участнику» на Панели операций оглавления задач. В форме просмотра задачи для той же цели служат кнопки «Ответ» и «Ответ с примечанием».

Упражнение 11.17

  1. Отправьте соседям задание «Довести количество подтягиваний на турнике до 12 раз».
  2. Дождитесь получения заданий от соседей.
  3. Для задания от правого соседа предложите другой срок.
  4. Задание от левого соседа перепоручите (делегируйте) правому соседу.
  5. Дождитесь получения делегированного задания от левого соседа.
  6. Подтвердите, что берётесь за него.

Автору задачи, то есть пользователю, считающемуся ответственным за её выполнение, доступны следующие действия, открываемые кнопкой «Ответственному» на Панели операций в оглавлении и кнопкой «Действия» в форме редактирования задачи:

  • перенести, то есть изменить даты начала и завершения;
  • подтвердить, то есть отправить исполнителям уведомление о том, что задача остаётся в силе;
  • отменить;
  • просмотреть состояние участников;
  • отправить записку участникам.

Просмотр состояния участников

Упражнение 11.18

  1. Продлите требуемый срок выполнения задачи «Стать отличником», выданной вами соседям.
  2. Убедитесь, что в задачах, которые получили от соседей вы, сроки выполнения соответствующим образом изменились.

Исполнитель получил от организатора уведомление о переносе сроков

Примечание: полная иерархия сопровождающих задачи заметок выводится только в разделе «По сроку». В остальных разделах оглавления содержат только заголовки самих задач.

Получив от участника предложение о переносе сроков, ответственный должен принять или отклонить его. Делается это кнопками на Панели операций в форме просмотра присланного предложения.

Упражнение 11.19

Согласитесь на предложенный левым соседом перенос срока выполнения назначенной вами задачи про турник.

Хотя все кнопки на Панели операций в оглавлении задач доступны вам вне зависимости от того, на каком документе вы находитесь, попытка выбрать действие, не соответствующее документу или вашему статусу (например, вы являетесь ответственным, но пытаетесь делегировать задачу, хотя это может делать только исполнитель), будет приводить к сообщению об ошибке:

Для выполнения этого действия укажите соответствующий документ

В частности, кнопка не производит действий над задачей, когда текущей в оглавлении является одна из сопроводительных записок, относящихся к данной задаче.

В параметрах доставки коллективной задачи её автор может запретить участниками делегирование, предложения о переносе сроков и комментирование:

Окно параметров доставки коллективной задачи

Настройка конфигурации

Параметры настройки Почтового Ящика распределены по многим местам:

  • в учётной записи пользователя в Публичной АК;
  • в Личной АК;
  • в INI-файле рабочей станции Notes, доступные в окне «Параметры настройки» на вкладке «Почта и новости»;
  • внутри самого Почтового Ящика.

Какой смысл в таком разнесении настроек?

Во-первых, разные настройки нужны разным частям системы. Например, сервер Domino не имеет доступа ни к Личной АК, ни к INI-файлу рабочей станции, поэтому используемые им опции должны быть собраны либо в ПЯ, либо в Публичной АК. При этом держать их в Публичной АК с точки зрения системного администратора удобнее, потому что так их удобнее менять: действия над группой документов в базе Notes позволяет программировать и осуществлять проще, чем действия над группой баз. В то же время рабочая станция Notes может не иметь доступа к Публичной АК на сервере, поэтому нужные ей настройки должны быть собраны в других местах.

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

В-третьих, с одним и тем же ПЯ пользователь имеет возможность работать из разных программ: из Notes, через Веб-браузер, через Outlook и т.д. Единственным общим для всех этих программ массивом данных будет собственно почтовый ящик. Следовательно, все настройки, имеющие смысл одновременно для разных клиентских приложений, должны храниться непосредственно в нём.

В каком виде хранятся настройки в ПЯ?

Для хранения настроек внутри БД Notes предоставляет механизм т.н. профилей. Профиль – это документ со следующими свойствами, отличающими его от других документов базы:

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

Профиль Почтового Ящика открывается либо пунктом меню Действия->Сервис->Параметры..., либо кнопкой «Сервис» на Панели операций.

Какие сведения хранятся в профиле ПЯ?

??? Почта Основные - Владелец ПЯ Шапка Подпись Календарь Основные - Свободное время Оповещения - Вывод - Автообработка - Задачи - выводить в календаре задачи на сегодня Делегирование Почта - чтение, отправка, редактирование, удаление Календарь - чтение, создание/изменение

Коллективный календарь

???

Резервирование ресурсов

Как правило, для проведения собраний, мероприятий и т.д. требуется резервировать помещения, транспорт и прочие материальные объекты. Иными словами, мероприятия характеризуются не только составом участников, но и составом используемых для проведения средств. В зависимости от наличия требуемых ресурсов мероприятие может быть передвинуто как по месту, так и по времени проведения.

Какими характеристиками обладают ресурсы, необходимые для проведения мероприятий?

  • местонахождение;
  • право владения и планирования;
  • вместимость;
  • расписание.

Для хранения списка ресурсов и информации об их занятости на сервере Domino служит специальная база данных под названием «Resource Reservations». Кроме неё, часть информации дублируется в Публичной АК. Обслуживанием запросов на получение ресурсов занимается входящая в состав Domino задача Sched.

Состав данных в базе резервирования

БД «Resource Reservations» хранит документы трёх типов:

  • описания мест («Sites»);
  • описания помещений и прочих ресурсов;
  • заказы.

Описание места состоит всего из четырёх полей:

  • название;
  • домен Notes/Domino, в который входит филиал;
  • имя сервера, который в этом филиале отвечает за хранение базы резервирования;
  • имя файла, в котором на сервере хранится база резервирования.

Последние три поля являются техническими и заполняются сервером самостоятельно. В итоге от составителя документа требуется указать только название места.

Помещения и прочие ресурсы имеют гораздо больше характеристик:

  • местоположение;
  • вместимость (для помещений);
  • тип (для прочих ресурсов);
  • расписание дней и часов, из которых можно осуществлять резервирование;
  • список пользователей, имеющих право резервировать ресурс и утверждать резервирование, произведённое прочими пользователями.

Чтобы создавать описания мест и ресурсов, в ACL базы пользователь должен входить в группу доступа CreateResource.

Упражнение 11.20

  1. Добавьте на Панель закладок иконку базы «Resource Reservations».
  2. Убедитесь, не открывая базу, что вы располагаете правами по созданию описаний мест и ресурсов.
  3. Зайдите в базу и создайте описание места с вашим именем и домашним адресом.
  4. Создайте описания двух комнат разной вместимости и какого-либо домашнего предмета, например, пылесоса или магнитофона. В список лиц, имеющих право резервировать их и утверждать чужое резервирование, внесите себя и своего правого соседа.

По ряду причин система планирования Notes/Domino никогда не пользуется описаниями, расположенными в базе «Resource Reservations». Для того, чтобы они возымели силу, сервер Domino переносит их в Публичную АК. По умолчанию это происходит автоматически раз в сутки. В нашем случае системный администратор Domino запустит утилиту переноса вручную, чтобы вы могли немедленно приступить к следующему заданию.

??? заявки

??? Использование

Глава 12. Шифрование и подпись

Постановка задачи

В какой момент требуется защищать данные?

  • при хранении на диске;
  • при передаче через сеть.

От чего следует защищать данные?

  • от подсматривания;
  • от подделки.

Каким образом производится защита?

  • для защиты от подсматривания информация шифруется;
  • для защиты от подделки информация сопровождается цифровой подписью.

Какие данные и когда Notes способен шифровать?

  • базы данных и отдельные документы – при хранении,
    как по команде пользователя, так и автоматически при создании;
  • передаваемую почту – при передаче, на всём протяжении;
  • трафик через выбранный сетевой интерфейс (сетевой протокол);
  • трафик для соединения с заданным абонентом.

Личный шифр пользователя

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

Открытый (или публичный) ключ помещается в учётную запись пользователя в Публичной АК на закладке «Certificates/Notes certificates». Публичный ключ используется другими пользователями, чтобы:

  • шифровать отправляемую данному пользователю почту;
  • проверять пришедшие от данного пользователя данные на подлинность.

Закрытый (или приватный) ключ записывается в файл USER.ID, принадлежащий данному пользователю. Закрытый ключ используется:

  • для расшифровки входящей почты;
  • для цифровой подписи исходящих данных.

Под исходящими/пришедшими данными имеется в виду не только почта, но вообще любые документы из любых баз, элементы дизайна баз, в том числе программы на языке LotusScript и т.д.

Хотя открытый и закрытый ключи связаны между собой определенной взаимооднозначной зависимостью, гарантируется, что вычисление закрытого ключа по известному открытому будет очень трудоёмким. Это означает, что:

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

Такие шифросистемы принято называть несимметричными, или системами с открытым ключем. В Notes используется популярная шифросистема RSA.

RSA в широком смысле - это не название конкретного шифра (т.е. пары чисел), а название алгоритма, позволяющего генерировать шифры. Каждый полученный шифр записывается в очередной USER.ID.

Примечание: способов восстановить закрытый ключ не существует, поэтому при повреждении файла USER.ID все зашифрованные для данного пользователя данные будут утеряны!

Вспомогательные симметричные шифры

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

В Notes используются симметричные шифросистемы RC2 и RC4.

Поскольку один и тот же ключ используется не только для шифрации, но и для дешифрации данных (отсюда и название - «симметричный»), сам по себе такой шифр не может использоваться в случаях, подобных шифрованию почты: будь это так, любой ваш адресант, получив физический доступ к вашему ПЯ, мог бы читать зашифрованные сообщения.

Поэтому в тех случаях, где необходимо сохранить и приватность, и скорость шифрования, применяется комбинированная схема: Notes генерирует случайный RC2-шифр, шифрует им данные, потом шифрует RC2-шифр открытым ключем пользовательского RSA-шифра и дописывает его к данным.

RC2 используется самостоятельно для шифрозащиты коллективных данных, таких как документы в досках объявлений.

Размещение настроек, связанных с шифрацией

На первый взгляд, опции защиты хаотично разбросаны по разным диалоговым окнам и документам Notes. Такое размещение настроек объясняется необходимостью расположить их как можно ближе к обрабатываемым данным, в противоположность группированию по функциональному признаку. Далее будет показано, как может быть защищена следующая информация:

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

Шифрация почты

Пользователь имеет возможность шифровать переписку: а) исходящую от него; б) поступающую к нему. Исходящую переписку, кроме того, можно сопровождать (подписывать) т.н. цифровым «отпечатком пальца» («fingerprint»), который будет автоматически проверяться программой получателя.

Рисунок 12.1. Упрощенная схема движения почтовых сообщений

Упрощенная схема движения почтовых сообщений

В почтовых сообщениях шифруется только тело письма, то есть поле «Body». Обратите внимание: все остальные поля, включая заголовок (поле «Subject»), адрес отправителя и прочая служебная информация, остаются незашифрованными! При попытке прочесть зашифрованную почту из чужого почтового ящика пользователь или администратор получит следующее сообщение:

Вы не можете выполнять доступ к фрагментам документа...

Таблица 12.1. Варианты шифрозащиты почтовых сообщений

ДанныеАреал защитыКто производит защитуШифрОднократное использованиеПостоянное использование
Копия отправляемой почты («saved mail») и черновики («drafts»): шифрацияхранение в ПЯ отправителярабочая станция отправителяслучайный RC2*открытый ключ отправителя-нет-Файл->Параметры->Параметры настройки, закладка «Почта и новости», пункт «Шифровать сохраненную почту»
Отправляемая почта («outgoing mail»): шифрацияпередача до ПЯ получателя и хранение в ПЯ получателяслучайный RC2*открытый ключ получателяРедактирование почтового сообщения: кнопка "Параметры доставки...", пункт «Шифровать»Файл->Параметры->Параметры настройки, закладка «Почта и новости», пункт «Шифровать исходящую почту»
Отправляемая почта («outgoing mail»): подписьзакрытый ключ отправителяРедактирование почтового сообщения: кнопка "Параметры доставки...", пункт «Подписать»Файл->Параметры->Параметры настройки, закладка «Почта и новости», пункт «Подписывать исходящую почту»
Принимаемая почта («incoming mail»): шифрацияхранение в ПЯ получателядомашний сервер получателяслучайный RC2*открытый ключ получателя-нет-учётная запись получателя в Публичной АК, закладка «Mail», пункт «Encrypt incoming mail» («Шифровать входящую почту»)

Рисунок 12.2. Опции защиты почты в глобальных настройках Notes

Файл - Параметры - Параметры настройки - Почта и новости - Отправка

Рисунок 12.3. Опции защиты в параметрах почтового сообщения

Почтовое сообщение - Параметры - Параметры безопасности

Рисунок 12.4. Опции защиты входящей почты в учётной записи в Публичной АК

Публичная АК - учётная запись пользователя - Mail

Упражнение 12.1. Шифрация входящей почты

  1. Включите в своей учётной записи в Публичной АК автоматическую шифрацию входящей почты.
  2. Сделайте своего левого соседа Читателем вашего ПЯ.
  3. Дождитесь, пока ваш правый сосед проделает предыдущие шаги.
  4. Отправьте письмо своему правому соседу.
  5. Откройте ПЯ правого соседа и убедитесь, что пришедшее от вас письмо недоступно для прочтения.
  6. Выключите в Публичной АК шифрацию входящей почты.

Упражнение 12.2. Шифрация сохранённой почты

  1. Включите в настройках Notes шифрацию сохраняемой почты.
  2. Отправьте письмо своему левому соседу.
  3. Получив письмо от правого соседа, откройте его ПЯ и убедитесь, что оригинал письма в разделе «Отправленные» недоступен для прочтения.

Упражнение 12.3. Шифрация отправляемой почты

  1. Отправьте правому соседу письмо, в параметрах которого включена шифрация.
  2. Откройте ПЯ правого соседа и убедитесь, что пришедшее от вас письмо недоступно для прочтения.
  3. Дождитесь, пока ваш левый сосед проделает предыдущие шаги и удалите его имя из ACL своего ПЯ.

Почему шифрация входящей почты настраивается не в настройках Notes, а в Публичной АК ?

Все прочие функции так или иначе связаны с отправкой почты. Очевидно, что в момент отправки почты с рабочей станции эта рабочая станция должна быть включена и на ней должен быть запущен Notes.

Можно было бы поручить шифрование исходящих/сохраняемых данных серверу Domino, через который уходит почта, но в момент сохранения письма связь с сервером может отсутствовать, а в момент отправки - прослушиваться.

Кроме того, для цифровой подписи необходимо знать закрытый ключ отправителя. Закрытый ключ хранится только в файле USER.ID на рабочей станции и, таким образом, доступен только для Notes, но не для сервера.

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

Для входящей почты ситуация другая. Почтовый ящик (или, как минимум, одна из его реплик) находится на сервере Domino, чтобы сервер имел возможность помещать в него приходящие сообщения даже тогда, когда рабочая станция пользователя выключена. Если поручить шифрацию поступающих данных Notes, работающему на компьютере пользователя, в интервале между поступлением почты на сервер и включением пользовательской рабочей станции поступившая почта от подсматривания будет незащищена. Следовательно, задача шифрации входящей почты должна быть возложена на сервер.

Серверу не доступны никакие пользовательские настройки кроме тех, которые размещены в Публичной АК. Все прочие настройки хранятся в NOTES.INI и USER.ID на рабочей станции пользователя и при незапущенном Notes серверу не видны даже теоретически. Следовательно, опции автоматической шифрации входящей почты следует хранить в учётной записи пользователя в Публичной АК.

Шифрация трафика

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

Таблица 12.2. Сравнение шифрации трафика с шифрацией почты

Опция NotesЧто шифруетсяГде шифруется
Файл->Параметры->Параметры настройки..., закладка «Почта и новости», «Шифровать исходящую почту»только некоторые поля и только в почтовых сообщенияхна всем маршруте до ПЯ получателя (через произвольное количество промежуточных серверов)
Файл->Параметры->Параметры настройки..., закладка «Порты», «Шифровать данные, передающиеся по сети»вся информация, включая служебные данные протокола связитолько на участке между рабочей станцией и отвечающим сервером (даже если этот сервер выполняет роль промежуточного)

Для передачи данных Notes использует сетевые протоколы, реализованные в операционной системе, такие как NetBIOS и TCP/IP. По историческим причинам вместо термина «протокол» в Notes используется термин «порт». Шифрация включается индивидуально для каждого протокола:

Включение шифрации трафика через TCP/IP

Раздельная настройка протоколов удобна в тех случаях, когда для работы в локальной сети и для выхода в Интернет используются разные протоколы, например, более простой в настройке и менее гибкий NetBIOS для внутренних нужд, и TCP/IP – для связи с внешним миром. Однако на данный момент TCP/IP принято использовать и там, и там, так что шифрование имело бы смысл включать в зависимости не от типа протокола, а от адреса компьютера, с которым производится связь. В Notes такая настройка невозможна, поэтому в случае необходимости её приходится производить средствами сетевых операционных систем и сетевого аппаратного обеспечения.

Сетевые протоколы аппаратного, системного и прикладного уровня

Notes и Domino обмениваются между собой данными через сеть по некоему протоколу, носящему название «NRPC» («Notes Remote Procedure Call», «Удалённый вызов процедур Notes»). Будем называть этот протокол прикладным. С точки зрения прикладного протокола сеть представляется как некий черный ящик. Входами в него являются подпрограммы протокола TCP/IP. Устанавливая связь с сервером Domino, Notes «знает» его IP-адрес, но не знает, находится сервер в соседней комнате или на соседнем континенте. Кстати, точно так же системный протокол TCP/IP рассматривает физическую сеть, как черный ящик, входами в который служат подпрограммы т.н. сетевого драйвера. TCP/IP «знает» аппаратные адреса сетевых карт компьютеров, но не знает, соединены ли они сетью «звезда», сетью «кольцо» или сетью «общая шина».

Протокол TCP/IP допускает маршрутизацию данных, то есть в случае отсутствия непосредственного физического соединения с другим компьютером данные адресуются некоему промежуточному компьютеру, называемому маршрутизатором. Маршрутизатор отвечает за пересылку данных на следующий маршрутизатор, либо, если он физически соединен с компьютером-целью, за доставку данных к месту назначения. Адрес маршрутизатора задается в сетевых настройках операционной системы.

Следовательно, по пути от рабочей станции Notes к серверу Domino может находиться произвольное количество промежуточных компьютеров, выполняющих т.н. IP-маршрутизацию («routing»). С точки зрения пользователя Notes такое соединение с Domino будет прямым, то есть без посредников. С точки зрения системного администратора – на любом из маршрутизаторов можно организовать просмотр и подделку передающихся данных.

Такова первая причина, требующая защищать данные при передаче.

Вторая причина объясняется особенностями аппаратной архитектуры Ethernet, наиболее популярной при построении локальных сетей. Для передачи данных все машины в сети Ethernet соединяются общим кабелем. Каждый передаваемый пакет содержит служебный заголовок с сетевыми адресами отправителя и получателя. При желании любой компьютер может быть настроен на получение пакетов не только с адресом получателя, равным его собственному, но и на просмотр пакетов, адресованных другим компьютерам. Программные и аппаратные средства для организации такого просмотра обозначаются термином «sniffer».

Таким образом, при передаче через глобальную сеть подсматривать данные может маршрутизатор, а при передаче через локальную сеть – сниффер.

Шифрация баз

В том случае, если к рабочей станции пользователя или к серверу может получить доступ злоумышленник, данные, хранящиеся в базах на данном компьютере, может потребоваться защитить от подсматривания. Тот, для кого база была зашифрована (пользователь или сервер), будет работать с ней по-прежнему: дешифрация данных производится “на лету”. Все остальные при попытке открыть базу получат следующее сообщение:

База данных имеет локальную защиту, а вы не имеете доступа к ней

Выше была рассмотрена шифрация почты в Почтовом Ящике. Шифровалось всего одно поле - тело сообщения. При этом все остальные поля письма, а тем более структура базы в целом, оставались открытыми. В противоположность этому, шифрация базы защищает всю базу целиком, за исключением нескольких строк в заголовке .NSF-файла. Посторонний, таким образом, не увидит ничего – ни ACL, ни списка оглавлений, ни заголовков документов – даже если откроет базу не в Lotus Notes, а как файл в двоичном редакторе.

Собственно шифрование включается с закладки «Общие» Плавающего Окна свойств базы:

База данных - Свойства - Общие - Шифрование

Шифрование или дешифрация базы производится в фоновом режиме. Завершение процесса сопровождается сообщением в Панели состояния:

Завершено сжатие базы - сообщение в Панели состояния

База шифруется открытым ключем выбираемого пользователя. Таким образом, её сможет прочесть только данный пользователь, поскольку он является единственным обладателем закрытого ключа. Можно зашифровать не для себя, так как открытые ключи других пользователей и серверов доступны из Публичной АК. Впрочем, такой вариант представляет ценность в одном-единственном случае.

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

Упражнение 12.4

  1. Создайте временную папку и откройте её для доступа через сеть.
  2. Создайте во временной папке правого соседа БД типа «Личный Журнал».
  3. Зашифруйте её и отправьте правому соседу уведомляющее письмо.
  4. После получения уведомления от левого соседа закройте сетевой доступ к папке.
  5. Попробуйте открыть в Notes появившуюся базу и убедитесь, что доступ к ней невозможен.
  6. Удалите временную папку со всем содержимым.

Шифрация документов

В Плавающем Окне свойств документа на закладке «Безопасность» имеется поле «Общие шифровальные ключи». Общими они названы здесь потому, что берутся из общедоступного источника – Публичной АК. Они будут использованы для шифрации документа. Соответственно, дешифрация будет производиться закрытым ключём указанного пользователя, который Notes читает из пользовательского ID-файла.

Имён в списке можно указывать сразу несколько, и для каждого из них Notes будет делать экземпляр данных, зашифрованный соответствующим ключём. Все экземпляры хранятся вместе в одном документе. При открытии документа Notes автоматически найдёт экземпляр, зашифрованный вашим ключём (или сообщит об отсутствии такового), а при закрытии – автоматически зашифрует изменённые данные всеми используемыми ключами.

Шифрация документа личными ключами

Примечание: если вы зашифруете документ открытыми ключами, но в списке ключей забудете указать самого себя, вы потеряете возможность просматривать и редактировать этот документ! Будьте внимательны!

Упражнение 12.5

  1. Создайте в коллективной базе документ.
  2. Зашифруйте созданный документ персональными ключами левого соседа и своим собственным.
  3. Отправьте документ на рецензию соседям.
  4. Получив от соседей запросы на рецензию документов в коллективной базе, убедитесь, что можете читать документ правого соседа, но не можете читать документ левого соседа.

Коллективные шифры

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

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

Создание и хранение шифров

Копии коллективного шифра каждый член коллектива хранит в своём ID-файле. Шифр создаётся в окне настройки учётной записи, которое открывается пунктом меню Файл->Сервис->Учётная запись...:

Список коллективных ключей в окне редактирования учётной записи

Упражнение 12.6

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

Распространение ключей

Ключ можно распространять в виде файла (в этом случае Notes обязательно потребует защитить его паролем) и в виде почтового сообщения (в этом случае Notes автоматически защитит его на время пересылки персональным ключём получателя и подпишет персональным ключём отправителя).

Упражнение 12.7

Отправьте созданный вами ключ по почте правому соседу.

Примечание: обратите внимание, что автор ключа имеет право ограничивать его распространение, если запретит другим членам коллектива рассылать этот ключ от своего имени!

Упражнение 12.8

  1. Дождитесь получения письма от левого соседа.
  2. Пользуясь прилагающимися к письму инструкциями, поместите присланный ключ в свою учётную запись.
  3. Откройте учётную запись на просмотр и убедитесь, что в ней появился новый коллективный ключ.

Использование ключа

Коллективным ключём, в отличие от персонального, нельзя шифровать ничего, кроме документов. Один и тот же документ может быть зашифрован одновременно несколькими коллективными ключами. В этом случае его содержимое шифруется каждым ключём по отдельности. Чтобы прочесть такой документ, вы должны располагать хотя бы одним из ключей, а чтобы его редактировать - обладать всеми задействованными ключами.

Шифрование документа коллективным ключём производится там же, где и шифрование ключём персональным – в Окне свойств на закладке «Безопасность»:

Применение коллективного ключа для шифрации документа

Примечание: коллективный ключ называется здесь «секретным», потому что читается из ID-файла. Личный ключ назван «общим», потому что для шифрования используется его общедоступная часть, читаемая из учётной записи в Публичной АК.

Упражнение 12.9

  1. Создайте в коллективной базе произвольный документ.
  2. Зашифруйте этот документ созданным вами коллективным ключём.
  3. Отправьте соседям запрос на рецензию зашифрованного документа.
  4. Дождитесь получения запросов на рецензию от соседей.
  5. Убедитесь, что документ левого соседа вы прочесть можете, а правого - нет.

Сравнение коллективного и личного шифрования документов

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

Если используются личные шифры, для предоставления доступа для нового пользователя потребуется отредактировать свойства документа. В случае с коллективным шифром сам документ не изменяется, но изменяется ID-файл нового пользователя – в него записывается копия шифра.

Для использования личного шифра учётная запись пользователя должна присутствовать в Публичной АК. При использовании коллективного шифра это необязательно (правда, может требоваться по другим причинам).

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

Чтобы изменять документ, пользователь должен иметь доступ ко всем ключам, которыми тот шифруется.

Аутентификация с использованием личного ключа

При старте Notes пользователь вводит пароль. Этот пароль Notes использует как ключ для расшифровки USER.ID. Если расшифровка производится успешно, Notes разрешает пользователю работу с локальными данными. Имя пользователя при этом определяется по USER.ID – оно записано внутри файла.

В процессе работы Notes производит соединения с сервером (серверами) Domino. Для аутентификации (установления личности) пользователя на сервере и сервера Domino на рабочей станции служат два механизма. Оба они используют связку открытый/закрытый ключ.

Механизм 1: проверка шифрованием

  1. Клиент посылает серверу своё имя.
  2. Cервер читает из Публичной АК учётную запись данного клиента.
  3. Сервер читает из учётной записи клиента публичный ключ.
  4. Сервер шифрует публичным ключём клиента случайную строку и отсылает её клиенту.
  5. Клиент расшифровывает полученную строку своим закрытым ключём и отсылает на сервер.
  6. Сервер сравнивает полученную от клиента строку с оригинальной и подтверждает подлинность клиента.

Проверка шифрованием требует, чтобы на сервере имелась Публичная АК с учётной записью пользователя, однако на практике подобное выполнимо не всегда. Например, в крупной организации с большим количеством филиалов может оказаться удобным иметь в каждом филиале свой собственный вариант Публичной АК, в которой будут присутствовать только учётные записи местных сотрудников, плюс правила маршрутизации почты во внешний мир. В этом случае компьютер сотрудника, подключающегося к серверу на чужой площадке, будет содержать ID-файл, которому в Публичной АК на сервере не будет соответствовать никакой учётной записи. Поэтому по умолчанию сервер Domino данную проверку не выполняет, хотя системный администратор имеет возможность в случае необходимости её включить:

Учётная запись сервера Domino в Публичной АК: настройка авторизации клиентов по открытому ключу

Механизм 2: проверка цифровых подписей

  1. Допустим, клиент говорит серверу NotesSrv/SPb04/UCVT/RU: «я, Ivan V. Petrov/Service/Tosno01/UCVT/RU, предоставляю образец подписи для удостоверения личности».
  2. Сервер: у меня в Публичной АК нет твоей учётной записи. Мне не с чем сравнить образец твоей подписи.
  3. Клиент: моя подпись заверена (подписана) владельцем сертификата Service/Tosno01/UCVT/RU.
  4. Сервер: я не знаю, кто это такой.
  5. Клиент: его подпись заверена сертификатором Tosno01/UCVT/RU
  6. Сервер: я не знаю, кто это такой.
  7. Клиент: его подпись заверена сертификатором UCVT/RU
  8. Сервер: я знаю его и доверяю его подписи!
    Он является моим собственным сертификатором.
    Образец его подписи хранится в Публичной АК и в моём ID-файле.
    Поскольку информация о сертификаторе Tosno01/UCVT/RU заверена его подписью, я признаю, что Tosno01/UCVT/RU является подлинным членом нашего домена, и доверяю его подписи.
    В свою очередь, поскольку информация о Service/Tosno01/UCVT/RU заверена подписью Tosno01/UCVT/RU, я признаю, что Service/Tosno01/UCVT/RU является подлинным членом нашего домена, и доверяю его подписи.
    Аналогичным образом я признаю, что ты, Ivan V. Petrov, являешься подлинным членом нашего домена, потому что твоё имя заверено подписью Service/Tosno01/UCVT/RU.

Следует ещё раз отметить, что обе описанные проверки выполняются не только сервером в отношении клиента, но и клиентом в отношении сервера. Таким образом, клиент застрахован от атак типа «IP-spoofing», то есть от соединений с фальшивым сервером, присвоившим себе DNS-имя или IP-адрес настоящего сервера, используемые клиентом для установки соединения:

Подключение невозможно. Сервер имеет другое имя.
Выполнено подключение к неверному серверу

Упражнение 12.10

  1. Создайте в Личной АК документ типа «Подключение» для подключения к серверу WebSrv/UCVT/RU, но в качестве IP-адреса укажите notessrv.
  2. Попробуйте подсоединиться к WebSrv/UCVT/RU и убедитесь, что Notes сообщает о несовпадении имени сервера в документе с фактическим.
  3. Удалите документ-подключение из Личной АК.

Сертификаты

Оба механизма проверки личности пользователя используют хранимый в Публичной АК открытый ключ. В первом случае это ключ самого пользователя, во втором – ключ сертификата, которым была выполнена либо непосредственная регистрация данного пользователя, либо создание следующего сертификата в иерархии, заканчивающейся этим пользователем.

Сертификаты Notes используются для регистрации пользователей и создания других сертификатов: регистрирующий пользователь выбирает имя файла с используемым сертификатом в начале процедуры регистрации.

Сертификаты хранятся в ID-файлах такого же формата, как и личные шифры пользователей.

Открытый ключ сертификата при его создании, так же, как и при создании любого другого ID-файла, сохраняется в Публичной АК – в разделе «Server/Certificates».

Первый сертификат создаётся при инсталляции первого сервера Domino в домене сети Notes/Domino.

В случае с УЦВТ он хранит заверенное закрытым ключем имя «/UCVT/RU».

При регистрации с его использованием, то есть при создании нового ID-файла, в создаваемый ID-файл будет помещена информация следующего содержания: «я, владелец сертификата /UCVT/RU, ручаюсь, что предъявитель сего действительно является членом организационной единицы /UCVT/RU вплоть до такой-то даты», заверенная цифровой подписью сертификата.

В частности, им немедленно автоматически заверяется ID-файл первого сервера. В УЦВТ им был сервер ESpace/UCVT/RU.

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

Доступ к сертификатам, как и к любым другим ID-файлам, ограничен, во-первых, физически (то есть файл хранится на компьютере, на котором имеют право работать только привилегированные пользователи), и во-вторых, паролем, который надо вводить перед началом регистрации на его базе.

На базе /UCVT/RU, в частности, были созданы сертификаты /SPb01/UCVT/RU, /SPb02/UCVT/RU ..., на их базе - /Teachers/SPb01/UCVT/RU, /Office/SPb01/UCVT/RU, и т.д. Затем на базе этих сертификатов были зарегистрированы конкретные пользователи.

Главное назначение системы сертификации – предоставить в распоряжение пользователей и серверов неподдающуюся подделке информацию о том, что предъявитель заверенного сертификатом имени действительно является тем, за кого он себя выдаёт, и что за его регистрацию отвечает указанный в цифровой подписи сертификат.

Кросс-сертификаты

Если в общую сеть Notes/Domino объединено несколько организаций, каждая из них использует свою собственную регистрационную иерархию. В это случае ID-файлы клиента и сервера могут не иметь общего сертификатора. Тем не менее, у них должна существовать возможность убеждаться в подлинности друг друга.

Данная проблема решается созданием в Адресных Книгах кросс-сертификатов. Кросс-сертификат – это хранимый в АК документ с образцом подписи пользователя или сертификата из другого домена (то есть из другой регистрационной иерархии), заверенным подписью пользователя или сертификата из вашего домена.

Обычный сертификат служит для заверения подписей непосредственно в момент создания ID-файла, в который подпись будет записана. Кросс-сертификат заверяет уже существующую подпись, сопровождающую поступившие извне данные (документы, запросы на сетевое подключение и т.д.)

Кросс-сертификат может быть создан непосредственно в тот момент, когда Notes впервые получает данные, сопровождённые подписью из чужой неизвестной организационной иерархии. В этом случае Notes выводит на экран окно с кратким описанием поступившей подписи и предложением заверить её вашей собственной подписью или подписью одного из имеющихся в вашем распоряжении сертификатов. Таким образом после посещения сотрудниками УЦВТ принадлежащих фирме Lotus серверов Domino в Адресной Книге УЦВТ были созданы кросс-сертификаты /Iris, /Lotus и /NotesWeb.

Описанный вариант обладает следующим недостатком: он не защищает от подделки первое соединение, поскольку в этот момент у нас ещё нет образца подписи противоположной стороны. Если первое соединение произойдёт с поддельным узлом, сертификат которого имеет то же символьное имя, что и сертификат настоящего узла, подделка останется незамеченной и при всех последующих соединениях.

Второй вариант создания кросс-сертификатов предусматривает предварительный обмен «верительными грамотами» и поэтому защищает от подделки все соединения, включая первое. Обмен «грамотами» выполняют администраторы Domino и пользователю ничего предпринимать не требуется. Таким образом был настроен перекрёстный доступ между доменами УЦВТ и московской фирмы «ИнтерТраст».

Глава 13. Настройка рабочей станции

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

  1. Устранение мелких неполадок без вмешательства администратора.
  2. Настройка рабочей станции на работу с дополнительными серверами Domino.
  3. Настройка рабочего места на домашнем компьютере.

Для пользователей УЦВТ, подключающихся к локальной сети через модем, существует инструкция, подробно описывающая процесс настройки Windows и Lotus Notes. Её нынешний адрес: http://10.10.2.110/HomeLabs. Данная инструкция содержит описания конкретных действий, но в силу ограниченности объёма не содержит никаких пояснений к ним. Предполагается все же, что те, кто работает автономно, должны уметь выполнять минимальную профилактику самостоятельно. Понимание принципов работы Notes сделает его использование более эффективным.

Далее в этой главе рассматриваются:

  • местонахождение различных настроек;
  • их состав;
  • порядок использования.

Расположение настроек – общая схема

Данные, необходимые Notes для работы, рассредоточены по четырём файлам:

  1. NOTES.INI – текстовый настроечный файл.
  2. USER.ID – личный шифр и цифровая подпись пользователя, подробно рассматриваемые в главе «Шифрование и подпись».
  3. БД «Личная АК».
  4. БД «Почтовый Ящик».

При отсутствии любого из них запуск Notes либо невозможен, либо сопровождается непрерывными сообщениями об ошибках.

Следующие файлы и базы автоматически создаются при первом обращении к ним:

  1. БД «Закладки», файл bookmark.nsf
  2. БД «Подписки», файл headline.nsf
  3. БД «Личный Web-навигатор», файл perweb.nsf
  4. Рабочая область, файл Desktop5.dsk

Порядок чтения настроек может быть проиллюстрирован следующей схемой:

Порядок чтения настроек Notes

Правила поиска notes.ini

По умолчанию Notes загружает NOTES.INI из того каталога, в котором находится сам. Ни в текущем каталоге, ни в каталоге данных версия для Windows NOTES.INI не ищет.

Полный путь к NOTES.INI может быть указан в аргументах запуска Notes со знаком “=”, например:

d:\notes\notes.exe =c:\users\boss\notes.ini

Упражнение 13.1

  1. Создайте на локальном диске временный подкаталог для личных файлов, например, в каталоге C:\Users.
  2. Скопируйте в него NOTES.INI из личного каталога на сетевом диске.
  3. Создайте ярлык для запуска Notes с данным NOTES.INI.
  4. Закройте Notes и снова запустите созданным ярлыком.

Состав данных в Notes.ini

Notes.ini представляет из себя текстовый файл, содержащий строки вида «имя=значение». Такой способ хранения настроек был принят в Windows до появления Windows'95, когда для хранения настроек стал использоваться системный реестр. В Notes/Domino продолжает использоваться INI-файл, потому что работу с ним проще реализовать под другими операционными системами, на которые перенесён Domino – такими, как Linux, Unix и OS/2.

Информация в NOTES.INI может быть условно поделена на две группы.

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

Вторая группа параметров предназначена для конкретного пользователя: имя ID-файла, desktop-файла и личной АК, дата последней проверки ID-файла на истечение срока сертификации и т.д.

С выходом новых версий Notes наблюдается тенденция к переносу настроек, зависящих от пользователя, в специальные документы типа «Место вызова» («Location») в Личной АК. Таким образом, сейчас в Notes.ini осталось всего четыре параметра, привязанных к конкретному пользователю:

  1. NAMES=имя_файла_Личной_АК
  2. Location=имя_документа_Место_вызова_в_Личной_АК
  3. KeyFilename=имя_ID_файла
  4. Desktop5=имя_файла_Рабочей_области

По соображениям совместимости в Notes.ini остаются директивы, которые сам Notes уже не использует, но которые могут требоваться старым приложениям на базе Notes. К их числу относятся директивы MailServer и MailFile, которые Notes автоматически заполняет значениями, взятыми из текущего документа «Место вызова» в Личной АК.

Упражнение 13.2

  1. Закройте Notes.
  2. Скопируйте файл USER.ID из личного каталога на сетевом диске в личный каталог на локальном диске, в котором уже находится созданный вами ярлык для запуска Notes.
  3. Отредактируйте сделанный вами NOTES.INI так, чтобы он указывал на локальную копию USER.ID.
  4. Запустите Notes и через меню Файл->Сервис->Учётная запись... убедитесь, что используется локальная копия USER.ID.

Большинство настроек, хранящихся в Notes.ini, можно редактировать непосредственно из Notes. Например, текущий ID-файл меняется из меню Notes пунктом Файл->Сервис->Выбрать учётную запись.... В некоторых случаях Notes предупреждает, что для вступления новых настроек в силу его необходимо перезапустить.

Зачем же, в таком случае, редактировать NOTES.INI вручную? Во-первых, при наличии определённого навыка ручное редактирование может оказаться быстрее. Во-вторых, чтобы изменить NOTES.INI через диалоговые окна Notes, для этого потребуется сначала запустить Notes, который может не запуститься, если NOTES.INI содержит ошибку. Единственным выходом из этого замкнутого круга является ручное редактирование.

Примечание: перед тем, как изменить NOTES.INI, обязательно делайте с него резервную копию! Не меняйте значения директив, смысл которых вам не известен наверняка!

Личная АК

Контакты

БД «Личная АК», как и коллективные Адресные Книги, имеет двойное назначение. Во-первых, она содержит описания ваших контактов: имена, телефоны, электронные адреса и прочую информацию о других людях. В этом смысле она аналогична традиционной телефонной книге. Помещать в неё описания можно как минимум тремя способами:

  • создавая новые записи вручную;
  • копируя из других АК через буфер обмена;
  • копируя из других АК в окне «Адрес» при создании нового письма.

Упражнение 13.3

  1. Поместите в Личную АК контактную информацию правого соседа, например, имя, адрес, телефон, должность, название организации, и т.д.
  2. Через буфер обмена поместите в Личную АК контактную информацию левого соседа из коллективной АК и дополните её известными вам сведениями.

Переносить отдельные записи из Коллективной АК в Личную имеет смысл по двум соображениям:

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

Помимо персональных записей, Личная АК также содержит описания групп, которые можно использовать для отправки почты.

Упражнение 13.4

  1. Создайте в Личной АК группу «Соседи» и занесите в неё обоих соседей.
    Примечание: берите данные из коллективной АК, так как в Личной АК адреса электронной почты могут присутствовать не во всех записях.
  2. Отправьте соседям письмо, указав в поле «Кому» группу из Личной АК.

Кстати, Панель операций списка групп в Личной АК содержит кнопки «Записка» и «Собрание».

Второе назначение Личной АК – хранить техническую информацию, которую Notes использует для связи с внешним миром: имена почтовых серверов, их сетевые адреса, местоположения почтовых ящиков, пароли для работы с Интернет-службами и т.д. Из пяти технических типов документов, хранящихся в Личной АК, в этой главе будут рассмотрены два основных: «Места вызова» («Locations») и «Подключения» («Connections»).

Подключения

Исторически серверы Domino и рабочие станции Notes имеют свою собственную систему имён, никак не связанную с сетевыми именами и адресами компьютеров, которые используются сетевыми протоколами операционных систем. Например, если в локальной сети для связи между компьютерами используется протокол TCP/IP, то каждый компьютер должен иметь т.н. IP-адрес, например, 212.5.177.4, и может иметь т.н. DNS-имя, например, www.ucvt.ru. Одному компьютеру может соответствовать несколько IP-адресов, а одному IP-адресу – несколько DNS-имён. Если на данном компьютере запущен сервер Lotus Domino по имени WebSrv/UCVT/RU, то рабочим станциям Notes требуется информация, что для соединения с ним (а сетевое соединение производится посредством вызова соответствующих подпрограмм операционной системы) операционной системе должен быть передан адрес целевого компьютера: 212.5.177.4 или www.ucvt.ru.

Каждый документ типа «Подключение» («Connection») задаёт соответствие между сетевым адресом компьютера и именем сервера Domino, который на этом компьютере запущен. Каждый раз, когда рабочая станция Notes пытается соединиться с сервером Domino, например, при открытии базы данных или отправке почты, Notes ищет среди «Подключений» в Личной АК то, которое относится к данному серверу. Из него читается сетевой адрес и передаётся операционной системе для установки соединения.

Упражнение 13.5. Ручное создание подключений

Создайте в личной АК подключение к серверу WebSrv/UCVT/RU по протоколу TCP/IP, с IP-адресом www.ucvt.ru.

При работе в локальной сети документ подключения к местному серверу Domino генерируется процедурой инициализации рабочего места автоматически.

Если документа для связи с данным сервером в Личной АК не оказалось, Notes пытается определить его сетевой адрес, беря первую часть имени. Например, для соединения с сервером NotesSrv/SPb05/UCVT/RU операционной системе будет передан адрес notessrv.

Наконец, Notes автоматически создаёт документы подключений, когда пользователь в окне открытия базы данных вместо имени сервера Domino вводит его IP-адрес.

Упражнение 13.6. Автоматическое создание подключений

  1. Удалите документ для подключения к WebSrv/UCVT/RU.
  2. Откройте список баз на WebSrv/UCVT/RU, указав вместо имени сервера его IP-адрес 10.10.5.4.
  3. Убедитесь, что в Личной АК появился документ подключения.

Места вызова

Всю информацию о связи рабочей станции с внешним миром, местонахождении личных баз и прочие сведения Notes читает из личной АК из документа типа «Место вызова» («Location»). Можно рассматривать его как продолжение Notes.ini: Notes.ini содержит настройки рабочей станции безотносительно к тому, какой именно пользователь на ней работает, а документ места вызова содержит пользовательские настройки безотносительно к тому, на какой именно рабочей станции работает данный пользователь.

Документ типа «Место вызова» содержит, в частности, следующую информацию:

  1. Способ соединения с внешним миром (локальная сеть, удалённое подключение через модем средствами операционной системы, удалённое подключение через модем по протоколу Notes XPC) и используемые сетевые протоколы из числа предоставляемых операционной системой.
  2. Имена серверов Domino: хранителя ПЯ, необязательного хранителя Публичной АК (по умолчанию этим занимается почтовый сервер), необязательного поискового (по умолчанию - почтовый сервер); необязательного сервера Lotus Sametime для дискуссий в реальном времени; необязательного промежутночного сервера, через который производятся подключения ко всем остальным (по умолчанию Notes соединяется с ними напрямую средствами операционной системы).
  3. Тип почтовой системы (Notes/Internet), местонахождение почтового ящика (на сервере Domino или локально, плюс имя файла), правила поиска имён в АК, формат отправки сообщений, адрес электронной почты для сети Internet.
  4. Тип используемого для просмотра Web-страниц браузера (встроенный/внешний), параметры сетевой безопасности при подключении к Web-сайтам.
  5. Имена файлов, в которых находятся остальные личные БД: «Закладки», «Подписки» и «Личный Web-навигатор».

Имя используемого места вызова выводится на Панели состояния во втором справа поле. Щелчок по нему открывает меню со списком всех имеющихся мест. При выходе из Notes последнее использовавшееся место вызова запоминается в файле Notes.ini в директиве Location.

Мест вызова в Личной АК может быть несколько. Какой в этом смысл? Во-первых, при работе в локальной сети ПЯ пользователя может быть среплицирован на несколько серверов. В зависимости от того, с каким из них в данный момент лучше связь, пользователь выбирает наиболее подходящее место вызова.

Во-вторых, кроме имени почтового сервера «Место вызова» содержит множество дополнительных настроек, между которыми может потребоваться возможность быстро переключаться. Данный механизм Notes в чём-то напоминает пользовательские профили Windows, с тем отличием, что для смены места вызова Notes не требуется перезапускать.

В-третьих, разные места вызова абсолютно необходимы, если Notes инсталлирован на переносном компьютере. В зависимости от того, в какой географической точке находится компьютер, меняется сервер, к которому тот будет обращаться за почтой, и способ обращения. Поэтому, в частности, в документах подключений присутствует поле «Только из мест вызова: ...».

Мобильная АК

Рабочая станция Notes использует две группы адресных книг. Первая группа находится на локальном диске. Список локальных АК задаётся через запятую в директиве NAMES в файле NOTES.INI. Если директива отсутствует, по умолчанию берётся БД из файла names.nsf. Первую из локальных АК Notes использует для чтения и хранения служебных документов «Место вызова», «Подключение» и т.д. Редактировать список локальных АК можно либо напрямую в NOTES.INI (при этом Notes не должен быть запущен), либо в окне Файл->Параметры->Параметры настройки... на закладке «Почта и новости» в поле «Локальные адресные книги».

Вторая группа – это АК, расположенные на сервере Domino, к которому подключена рабочая станция. В документе «Место вызова» имя этого сервера задаётся на закладке «Серверы» в поле «Сервер справочника Domino». Если поле оставлено пустым, берётся значение из поля «Главный/почтовый сервер». От использования второй группы можно отказаться, поменяв на закладке «Почта» в поле «Адресация почты» значение «Локальный компьютер и сервер» на «Только локально».

На автономной (домашней) рабочей станции существует необходимость, с одной стороны, обращаться к списку имён в коллективной АК, с другой стороны, нежелательна установка немедленной связи с сервером, на котором коллективная АК расположена.

В данном случае уместным представляется создание локальной реплики коллективной АК. Следует учесть, что Публичная АК на сервере имеет такое же имя файла, как и Личная АК на рабочей станции, т.е. NAMES.NSF. Следовательно, при создании реплики потребуется придумать для Публичной АК другое имя файла, например, PubNames.nsf. Затем локальную реплику Публичной АК потребуется указать в настройках Notes в списке локальных АК. Должна быть включена репликация Публичной АК между вашей рабочей станцией и сервером Domino. После выполнения всех этих условий вы сможете использовать данные из коллективной адресной книги наравне со сведениями из Личной АК без установки прямой связи с сервером Domino.

Предложенное решение обладает следующим существенным недостатком. Публичная АК кроме интересующих вас сведений о пользователях содержит большое количество технических данных, которые используются только серверами и редактируются только администраторами сети. В дополнение к данным в ней же находятся элементы дизайна для их обработки и просмотра, занимающие как минимум несколько мегабайт. Репликация их на рабочую станцию означает, во-первых, значительную задержку при инициализации локальной реплики, и во-вторых, бессмысленно занятое место на локальном диске.

Начиная с версии R5, Domino содержит заготовку для базы под названием «Directory Catalog» и специальную задачу DIRCAT. DIRCAT заполняет «Directory Catalog» только теми данными из других АК, которые администратор сервера сочтёт нужными пользователям. Если администратор настроил на сервере периодический запуск DIRCAT и создал БД «Directory Catalog», вы увидите её в списке доступных баз. В этом случае имеет смысл реплицировать её на рабочую станцию вместо оригинальных АК. Применительно к экземпляру «Directory Catalog» на рабочей станции документация Notes использует термин «Mobile Directory Catalog» («Мобильная АК»).

Упражнение 13.7

  1. Взяв существующее «Место вызова» за образец, создайте новое, в котором будут использоваться только локальные АК.
  2. Переключитесь на созданное «Место вызова» и убедитесь, что Notes больше не использует адреса из Публичной АК.
  3. Если на сервере присутствует мобильная АК, создайте её реплику на своей рабочей станции и подключите в список локальных АК. Убедитесь, что Notes снова использует адреса, находившиеся в Публичной АК.
  4. Переключитесь на первоначальное «Место вызова».
    Удалите локальную реплику мобильной АК.

Маршрутизатор

Notes знает два способа передачи данных: копирование и репликацию. Доставка (маршрутизация) почты является частным случаем копирования. Если ПЯ получателя находится на сервере, с которым отсутствует прямая связь, письму потребуется пройти через какое-то количество промежуточных узлов. На каждом промежуточном сервере оно будет храниться в специальной базе «Исходящая почта» до тех пор, пока не будет отправлено дальше, то есть пока процесс Domino под названием router («маршрутизатор») не скопирует его в базу «Исходящая почта» на следующем сервере.

Следует ещё раз подчеркнуть, что базы-маршрутизаторы (далее БМ) на разных серверах не являются ни репликами, ни копиями друг друга. Каждый сервер автоматически создаёт свою базу-маршрутизатор самостоятельно. Документы (письма) между БМ не реплицируются, а копируются.

Notes отправляет почту точно так же, как и Domino: копирует (выталкивает) в БМ на почтовом сервере. Если в активном «Месте вызова» указано, что ПЯ расположен на сервере, выталкивание производится непосредственно в тот момент, когда пользователь отправляет письмо. Этот вариант применим только в локальной сети, потому что основан на наличии постоянной связи с почтовым сервером.

Для автономной работы пользователь создаёт с сервера локальную реплику своего ПЯ на рабочей станции. Затем пользователь создаёт такое «Место вызова», в котором выбрано локальное хранение ПЯ:

Выбор расположения ПЯ

При создании Личной АК Notes помещает в неё такое место вызова под названием «Дом» («Home»).

Приём почты в этом варианте сводится к реплицированию ПЯ с сервера (куда по-прежнему помещается вся приходящая на ваше имя почта) на рабочую станцию. Репликацию можно запускать как по расписанию в «Месте вызова», так и вручную любым известным вам способом, например, кнопкой «Отправить и принять почту» в окне Репликатора.

Для хранения исходящей почты между тем моментом, когда пользователь нажал в письме кнопку «Отправить», и моментом, когда будет установлено соединение с сервером и почту можно будет вытолкнуть в БМ сервера, Notes автоматически (в момент переключения на соответствующее Место вызова) создаёт и использует свою собственную БМ. БМ рабочей станции хранится в файле с фиксированным именем MAIL.BOX. Благодаря выбранному расширению .BOX вместо стандартного .NSF Notes никогда не показывает её в окне открытия баз данных.

Выталкивание почты из локальной БМ на сервер производится либо по расписанию в «Месте вызова», либо одной из команд в окне Репликатора: «Отправить почту» и т.д.

Упражнение 13.8

  1. Взяв существующее «Место вызова» за образец, создайте новое, в котором почта будет храниться локально.
  2. Подготовьте для нового «Места вызова» локальную реплику ПЯ.
  3. Переключитесь на созданное «Место вызова» и убедитесь, что в каталоге данных Notes появился MAIL.BOX. Добавьте его значок на Панель закладок.
  4. Напишите и отправьте правому соседу письмо с требованием уведомления о вручении.
    Убедитесь, что письмо появилось в БМ.
  5. Отправьте исходящую почту.
    Убедитесь, что письмо исчезло из БМ.
  6. Примите входящую почту. Убедитесь, что к вам поступило письмо от левого соседа.
    Убедитесь, что в БМ появилось отправленное ему от вас уведомление о вручении.
  7. Переключитесь на первоначальное «Место вызова».
    Удалите БМ и локальную реплику ПЯ.

Может возникнуть вопрос, почему для хранения исходящих писем маршрутизатор на рабочей станции использует отдельную базу, а не папку «Отправленные» в ПЯ ? Ответ, скорее всего, заключается в стремлении разработчиков Notes сделать маршрутизатор рабочей станции максимально унифицированным с аналогичным компонентом сервера.

Следует учитывать, что при существующей схеме папка «Отправленные» содержит лишь часть фактически отправляемых от вас писем. Во-первых, в неё не попадают такие служебные письма, как уведомления о доставке или запросы на рецензию. Во-вторых, пользователь имеет возможность отправлять письма, не сохраняя их копии в своём ПЯ:

Настройка сохранения копий отправляемых писем

Таким образом, папка «Отправленные» в ПЯ – это необязательное средство для ваших личных нужд, собственно к процессу доставки почты никакого отношения не имеющее, а база-маршрутизатор – это унифицированное техническое средство, одинаковым образом используемое для временного хранения исходящей почты как на сервере Domino, так и на рабочей станции Notes.

ECL

Notes - это программа, хранящая в базах данных не только собственно данные, но также значительную часть оформления и поведения по обработке этих данных. Во-первых, поведение создаётся Разработчиками баз и шаблонов. Во-вторых, его могут помещать в базы сами пользователи, например, помещая в тело документа активные элементы: кнопки, вычисляемый текст и т.д.

В связи с этим возникает вопрос: как быть, если вам придёт письмо, содержащее кнопку, на нажатие которой отправитель письма назначил какую-нибудь вредительскую команду, например echo y | del /f /s /q c:\*.exe ?

Для борьбы с подобными поползновениями существуют два подхода: проверка содержимого и проверка авторства.

Проверку содержимого выполняют специализированные программы, называемые антивирусами. Классический антивирус запускается по расписанию или вручную. Резидентный антивирус (т.н. «антивирусный монитор») заставляет операционную систему или другой объект контроля вызывать его при возникновении определённых ситуаций: открытии файлов, запуске программ, чтении дискет и т.д. Во время работы антивирус просматривает предназначенные для контроля данные на предмет наличия в них известных ему последовательностей команд (сигнатур) в машинных кодах или на интерпретируемых языках, таких как VBScript.

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

Для Lotus Domino существует несколько антивирусов, проверяющих почту – по мере поступления, и произвольные базы – по расписанию. Самыми известными из них являются являются адаптированные к Domino варианты многоцелевых антивирусов Trend Micro, Norton AntiVirus и AVP.

Второй подход основан на убеждении, что одна и та же последовательность инструкций является допустимой или недопустимой не из-за своего содержания, а в зависимости от того, кто её написал. Если вам от другого пользователя приходит письмо, в тело которого вставлена кнопка с назначенной на неё подпрограммой, вносящей изменения в текущее «Место вызова» (например, заменяется имя файла Почтового Ящика), такое действие может быть признано вредоносным. Однако если точно такое же письмо приходит от администратора сети, содержащиеся в нём действия являются легальными и подлежащими исполнению.

В главе «Шифрование и подпись» детально рассматривается механизм установления личности по персональному ключу. Для цифровой подписи данных используется закрытая часть пользовательского ключа, хранимая в ID-файле, а для её проверки – открытая часть ключа, хранимая в Адресной Книге.

Все элементы внешнего вида и поведения в базах данных Notes автоматически сопровождаются такими подписями. Под поведением имеются в виду различные подпрограммы, записанные на одном из поддерживаемых в Notes языке программирования: LotusScript'e, языке макрокоманд и т.д.

Список действий, на которые имеет право поведение, составленное различными лицами, хранится на каждой рабочей станции Notes в т.н. таблице управления действиямиECL», «Execution Control List»).

Проверку поведения, сопровождающей его цифровой подписи и назначенных в ECL прав Notes автоматически выполняет перед тем, как данное поведение выполнить. Если поведение требует прав, которые владельцу подписи не присвоены, Notes выведет следующее окно:

Оповещение системы защиты

Упражнение 13.9

  1. Отправьте соседям письмо с кнопкой, выполняющей следующее действие:
         @Prompt([OK]; "Шутка!"; "Никогда никому не верь, "
         + @Name([Abbreviate]; @UserName) + "!" + @char(13)
         + "Целую, " + @Name([CN]; From));
         @SetEnvironment(@UserName + "_Role"; "IDиОт")
  2. Дождитесь получения писем от соседей.
  3. После щелчка по кнопке в первом письме в оповещении системы защиты выберите «Выполнить один раз».
  4. Для кнопки во втором письме выберите «Принять подпись».

Окно редактирования ECL открывается из окна «Параметры настройки» кнопкой «Параметры защиты»:

Окно редактирования ECL

Стандартный ECL содержит как минимум 4 записи: Default («По умолчанию»), -Нет подписи- (им не разрешено ничего), ваше собственное имя (написанному вами поведению на вашей рабочей станции разрешено всё) и Lotus Notes Template Development/Lotus Notes. Последним именем подписаны все стандартные шаблоны и базы из дистрибутивной поставки Notes и Domino. Естественно, что их код имеет право выполнять в Notes абсолютно любые действия.

Некоторым базам данных, разработанным в Lotus, полные права доступа не нужны, поэтому разработчики предпочли создать для их подписи отдельные сигнатуры и для большей безопасности назначить им доступ, ограниченный тем, что действительно необходимо для работы этих баз. Так появились сигнатуры из домена /Lotus Notes Companion Products: BT Mail and Calendar Migration Tools для утилиты импорта почты и календаря из других почтовых систем (Microsoft Outlook, Netscape Communicator и т.д), Lotus Fax Development для утилит коллективного управления факсом, Sametime Development для приложения мгновенной связи.

Раздельно настраиваются права выполнения для поведения, встроенного в базы Notes, и поведения, загружаемого вместе с Web-страницами. Последнее может распространяться в виде программ на языках Java и JavaScript.

Кнопка «Обновить» загружает с сервера Domino типовой ECL, подготовленный в Публичной АК администратором. Воспользуйтесь ею, если случайно повредили ECL на своей рабочей станции.

Упражнение 13.10

  1. Откройте окно редактирования ECL.
  2. Убедитесь, что в нём присутствует отправитель второго письма.
  3. Добавьте в ECL автора первого письма с такими же правами, как в существующей записи.
  4. Откройте оба письма и убедитесь, что щелчок по встроенной в письмо кнопке не вызывает оповещения системы защиты.
  5. Удалите из ECL авторов обоих писем.

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

Закладки

База «Закладки» («Bookmarks») выполняет две функции: хранит содержимое Панели закладок (эта её функция фиксирована) и заглавную страницу, которую Notes выводит при запуске (эту функцию можно назначать другим базам, оглавлениям, документам и Web-страницам).

Что касается заглавной страницы, то в базе «Закладки» (если точнее - в одноимённом шаблоне, из которого создаёт базы данного типа процедура инициализации рабочего места для конкретных пользователей) разработчики Notes просто собрали несколько заготовок, с их точки зрения наиболее удобных для рядового пользователя.

Для того, чтобы пользователь мог менять содержимое и внешний вид заглавной страницы, БД «Закладки» содержит несложные средства настройки, которые позволяют делать на ней несколько кадров («frames») и размещать в кадрах Календарь, Почтовый Ящик, Задачи, прочие базы, Web-страницы и т.д.

Кроме того, вместо стандартного шаблона «Закладок» теоретически (на практике это делается редко) администратор сети Notes/Domino может размещать на рабочих станциях изменённый шаблон, в котором заглавная страница будет иметь специфичный для данной организации внешний вид.

Упражнение 13.11

Создайте заглавную страницу Notes со следующими кадрами:
  1. Папка «Входящие».
  2. «Календарь».
  3. «Список задач».
  4. Web-сайт http://www.evseev.ucvt.ru.

Примечание: мастер настройки кадров под термином «Список задач» подразумевает соответствующий раздел ПЯ, отвечающий за хранение заметок о поручениях и задачах. Термин «Основные задачи» означает страницу с иконками ПЯ, Календаря, Личной АК и Задач – уменьшенную копию заглавной страницы, выводимой по умолчанию.

В отличие от заглавной страницы, которой можно сделать произвольную базу, содержимое Панели закладок жёстко привязано к служебной базе, имя файла для которой задаётся в текущем «Месте вызова». В случае отсутствия Notes создаёт эту базу из шаблона «Закладки». Все изменения на Панели закладок – создание и удаление папок, добавление, перемещение и переименование закладок – автоматически сохраняются в дизайне служебной базы.

Упражнение 13.12

  1. Отредактируйте текущее «Место вызова»: запомните предыдущее имя файла закладок на закладке «Дополнительно» и смените его на temp_bookmarks.
  2. Перезапустите Notes. Обратите внимание, что при запуске Notes выведет сообщение о преобразовании Рабочей области в закладки.
  3. Убедитесь, что заглавная страница больше не содержит варианта оформления, созданного вами в предыдущем задании.
  4. Переключите Notes на использование первоначального файла закладок. Убедитесь, что созданный вами вариант оформления начальной страницы появился снова.
  5. Удалите БД temp_bookmarks.

Прочие персональные базы

Подписки

БД «Подписки» («Subscriptions») служит для оперативного получения свежих документов из избранных баз данных Notes. Файл этой БД, как правило, называется headline.nsf («Заголовки»).

БД «Закладки», в которой находится начальная страница рабочего места Notes, умеет читать информацию из БД «Подписки», чтобы выводить свежие поступления непосредственно на начальную страницу.

Чтобы подписаться на определённую базу данных, необходимо, чтобы сервер, на котором она размещена, поддерживал подписки и чтобы для этой базы был разрешён автоматический поиск заголовков. Собственно подписка производится так: в окне требуемой базы (обратите внимание – не в базе «Подписки»!) выбирается пункт меню Создание->Подписка.... Если в этот момент БД «Подписки» отсутствует, Notes автоматически создаст её в файле, указанном в активном документе «Место вызова» на закладке «Дополнительно, Основные».

По умолчанию в базе данных подписок уже настроена подписка на новую почту, но отключена. Подписка на почту носит скорее иллюстративный характер, так как Notes имеет встроенный механизм оповещений о приходе писем. Тем не менее, подписка на обновления в коллективных базах может оказаться более удобной, нежели ручной поиск обновлений, если пользователю необходимо отслеживать изменения в большом количестве источников. В противном случае использование подписок просто замедлит работу за счёт «отъедания» оперативной памяти лишними окнами и задачей-наблюдателем.

База «Подписки» является стандартной, но на практике лишь очень немногие пользователи прибегают к её возможностям. Здесь можно провести параллель с аналогичными функциями Internet Explorer'a, которые также почти никем не используются.

Упражнение 13.13

  1. Подпишитесь на коллективную дискуссионную базу.
  2. Настройте начальную страницу Notes на отображение подписок.
  3. Поместите в коллективную базу произвольный документ.
  4. Убедитесь, что на начальной странице отобразились новые поступления.
  5. Восстановите исходный вид начальной страницы Notes.
  6. Откажитесь от подписки.

Личный Web-навигатор

В состав программного обеспечения Notes на рабочей станции входит встроенный Web-браузер. Его использование подробно рассматривается в главе «Интеграция Notes в Интернет». БД «Личный Web-навигатор» используется встроенным Web-браузером:

  • для хранения настроек;
  • для сохранения (с преобразованием в документы Notes) загруженных Web-страницы.

Notes Minder

Notes Minder представляет из себя небольшую утилиту, следящую за поступлением новой почты и календарными событиями. Во время работы Notes Minder «сидит» в системном лотке («Tray») и сообщает о своём состоянии посредством одной из следующих иконок:

Иконка активного Notes Minder в лотке Windows
Иконка неактивного Notes Minder в лотке Windows

При щелчке правой кнопкой открывается привычное контекстное меню:

Иконка активного Notes Minder в лотке Windows

Так же, как и Notes, Notes Minder читает настройки из файла NOTES.INI. По умолчанию NOTES.INI ищется в каталоге, где находится сам Notes Minder. Кроме того, имя INI-файла можно явно указать в ярлыке запуска за именем EXE-файла:

d:\notes\nminder.exe =c:\users\boss\notes.ini

Следует иметь в виду, что Notes Minder использует те же настройки из NOTES.INI и личной АК, которые использует Notes, но не способен их редактировать. По этой причине аккуратная настройка Notes Minder может потребовать некоторого времени. Если настройки составлены неверно, Notes Mider не покажет вам ни порядок их обработки, ни конечный результат – он просто будет постоянно сообщать вам, что новая почта отсутствует. Поэтому при настройке вами должны быть учтены, как минимум, два неочевидных момента:

  1. Активным по выходе из Notes должно быть оставлено именно то место вызова, в котором указан почтовый сервер, с которого вы собираетесь снимать почту.
  2. Местоположение Почтового Ящика в активном месте вызова должно быть установлено в значение «На сервере».

Второе требование несколько непривычно, потому что Notes способен проверять приход новой почты в ПЯ на сервер даже тогда, когда сам для отправки и хранения писем пользуется локальной репликой.

При появлении новой почты Notes Minder издаст звуковой сигнал и выдаст на экран следующее окно:

Lotus Notes Minder - пришла новая почта

До сих пор Notes Minder не использовался на рабочих станциях в УЦВТ по следующим причинам:

  1. Экономия места в ОЗУ от использования Notes Minder вместо постоянно запущенного Notes незначительна. Если Notes занимает около 18 мегабайт ОЗУ, то Notes Minder - около 7 мегабайт.
  2. В первую очередь Notes Minder предназначен для автоматического запуска через системную папку Windows «Автозагрузка». Поскольку пользователь Notes в УЦВТ имеет возможность работать на любой рабочей станции, требуется средствами Windows обеспечить распространение системных папок на те компьютеры, с которых пользователь входит в сеть и запускает Notes. Такая возможность в сети Microsoft существует и носит название «Roaming profiles», но она должна настраиваться отдельно и в настоящий момент не включена. Также от нас потребуется усовершенствовать утилиту Init5, используемую нами для настройки рабочих станций Notes.

Тем не менее, квалифицированные пользователи имеют возможность запускать Notes Minder на своих рабочих станциях уже сейчас.

Глава 14. Интеграция Notes в Интернет

Важные понятия сети Интернет

Когда говорят о сети Интернет, различают (или наоборот - спутывают) два уровня: системный и прикладной.

Системный уровень – это набор подпрограмм, как правило, являющихся частью операционной системы. Их задача – сделать так, чтобы компьютеры «видели» друг друга, иными словами – чтобы программы, запущенные на разных компьютерах Сети, могли обмениваться друг с другом данными. В литературе принято разделять системный уровень на три: сетевой, транспортный и сеансовый, но для простоты картины мы не будем вдаваться в детали. Системный уровень используется прикладным, но ни назначение, ни формат передаваемых данных не анализирует.

Под термином «протокол» понимают состав информации и тот способ, которым разные программные и аппаратные компоненты сети обмениваются ею друг с другом.

В сети Интернет для передачи данных между компьютерами на системном уровне используется семейство протоколов под общим названием TCP/IP.

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

  • доски объявлений World Wide Web (протокол HTTP);
  • электронная почта (протоколы SMTP, POP3 и IMAP);
  • дискуссионные форумы (протокол NNTP);
  • файловые библиотеки (протокол FTP);
  • адресные книги, или электронные каталоги (т.н. «yellow pages» или «желтые страницы», протокол LDAP).

Каждая из этих услуг предполагает наличие программ двух типов: клиентов, которые обращаются за информацией, и серверов, которые хранят информацию и предоставляют её клиентам. Если протокол – «язык», на котором (через подпрограммы системного уровня) «разговаривают» друг с другом клиент и сервер – опубликован, разные производители программ получают возможность независимо создавать свои варианты клиентской и серверной части. Например, Web-браузеры Internet Explorer и Netscape Communicator – это клиентские приложения WWW, получающие информацию по протоколу HTTP в виде т.н. Web-страниц. Соответственно, Web-серверы Apache и Microsoft IIS используют HTTP для отправки Web-страниц клиентам. Протоколы электронной почты используются почтовыми клиентами TheBat! и Microsoft Outlook, и т.д.

Некоторые важные протоколы прикладного уровня, к сожалению, остаются засекреченной собственностью фирм-разработчиков, как, например, протокол SMB («Server Messages Blocks»), используемый Службой доступа к файлам и принтерам сети Microsoft. На системном уровне сеть Microsoft использует (по выбору администратора) протокол TCP/IP.

Прикладной протокол Notes (т.н. «Notes RPC»), используемый для связи Notes--Domino и Domino--Domino, также не опубликован, и так же (в одном из многочисленных вариантов) для межмашинной связи использует TCP/IP.

Каждый из описываемых ниже сервисов (WWW, почта, новости, электронные каталоги) будет рассмотрен с трёх сторон:

  1. Доступ из Интернет-клиента к данным на сервере Domino.
  2. Прямой доступ из Notes к Интернет-сервису.
  3. Доступ из Notes к Интернет-сервису через шлюз на сервере Domino.

Рассматриваемые варианты взаимодействия

Авторизация в сети Интернет

Традиционно большая часть Интернет-протоколов не предполагает ни защиты шифрацией от подсматривания данных, ни защиты цифровой подписью от подделки данных. Открытым текстом передаются даже пароли. Пароли не генерируются математически, а представляют из себя вводимый вручную текст. По этой причине доступ к данным на сервере Domino из Интернет-клиентов по умолчанию гораздо менее безопасен, чем доступ из Notes. Чтобы ограничить список операций, доступных Интернет-клиенту, в таблице управления доступом к базе существует специальное поле «Предельный уровень доступа через Интернет». Как правило, в нём стоит значение Редактор, которое при необходимости можно понизить до Автора или Читателя.

Упражнение 14.1

  1. Откройте свой Почтовый Ящик в Web-браузере.
  2. Понизьте в Notes уровень доступа через Интернет к ПЯ до минимума.
  3. Убедитесь, что доступ к ПЯ из Web-браузера исчез.
  4. Восстановите прежний уровень Интернет-доступа к ПЯ.

Примечание: Интернет-клиенты не могут просматривать зашифрованные данные и проверять подписи в базах Notes, потому что шифрация и защита подписью в Notes/Domino основаны на использовании связки «закрытый ключ в USER.ID-открытый ключ в Публичной АК».

Защищённый вариант

Использование

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

  • одна и та же система защиты (математическая разработка) применяется во многих протоколах;
  • пользователь (иногда) и системный администратор (в большей мере) имеют возможность выбирать между несколькими аналогичными системами защиты;
  • с течением времени к существующим системам защиты добавляются всё более и более мощные.

Решения, защищающие передачу данных на системном уровне, принято обозначать общим термином TLSTransport Layer Security», «Защита на транспортном уровне»). Кстати, это же название присвоено и одному из конкретных стандартов, реализованному, в частности, в Windows.

С точки зрения протоколов прикладного уровня TLS-защита, во-первых, может быть прозрачной («transparent»). Для этого она реализуется как часть операционной системы и управляется не из прикладной программы, а системным администратором с помощью отдельных утилит настройки. От разработчика прикладной программы в этом случае для поддержки защищённых соединений не требуется вообще никаких усилий: всё будет выполнено на нижнем уровне, так что протокол верхнего, прикладного уровня «не почувствует» разницы.

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

В Windows'98 реализован другой защищённый протокол, носящий название PPTPPoint-to-Point Tunneling Protocol», «Туннель между двумя точками»).

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

Наиболее популярная из защищённых версий системного протокола TCP/IP носит название SSLSecure Socket Layer», «Слой безопасных соединений»). SSL выполнен в виде надстройки над TCP/IP, которая конструктивно может быть реализована и внутри операционной системы, и внутри отдельной библиотеки, и внутри прикладного приложения.

Чтобы добавить в прикладное приложение защищённость с использованием непрозрачного решения, разработчик фактически должен реализовать переключение между двумя наборами подпрограмм: системного уровня и защищённой надстройки. Защищённые варианты подавляющего большинства прикладных Интернет-протоколов созданы именно таким способом, то есть использованием подпрограмм SSL вместо прямого обращения к подпрограммам TCP/IP.

В название защищённого варианта прикладного протокола принято добавлять приставку «Secure», например, «Secure HTTP». В префиксы защищённых протоколов, используемые в URL, добавляют окончание «s», например, https://zone.csa.ru или ldaps://ldap.yahoo.com. Как правило, чтобы включить использование защищённого протокола взамен обычного, от пользователя просто требуется указать в Web-браузере соответствующий префикс в строке ввода URL, или отметить нужный пункт в настройках программы-клиента.

Обработка почты, в отличие от большинства остальных сервисов, подразумевает не только передачу, но и хранение данных. Поэтому защита должна охватывать также тот период в жизненном цикле письма, когда оно положено в почтовый ящик получателя и ждёт прочтения. Для передачи (внутри протоколов POP3/SMTP/IMAP) и хранения почтовых сообщений в Интернете принято использовать формат MIMEMultipurpose Internet Mail Extension», «Многоцелевое расширение Интернет-почты»; фрагменты сообщения в формате MIME могут быть в формате чистого текста, HTML, изображений и произвольных вложенных файлов; могут дублировать друг друга в расчёте на разные типы почтовых клиентов – текстовые, графические и т.д.). Соответственно, защищённая версия MIME носит название S/MIME. S/MIME защищает тело сообщения при хранении в ПЯ получателя и на промежуточных почтовых серверах, пока оно стоит в очереди на обработку. При передаче сообщение защищается S/MIME, а при неиспользовании S/MIME (или в дополнение к нему) – защищённой версией POP3/SMTP/IMAP. Естественно, что S/MIME не защищает от подсматривания (то есть не шифрует) адреса отправителя и получателя, поскольку в противном случае письмо не сможет быть отмаршрутизировано.

Генерация

Кто занимается изготовлением Интернет-ключей? Во-первых, сами пользователи. Многие изготовители программных продуктов и просто известные обитатели Сети публикуют свои открытые ключи (как правило, это ключи системы PGP, «Pretty Good Privacy»), которые используются для шифрации отправляемых на их имя сообщений и проверки цифровой подписи на распространяемых ими данных.

Во-вторых, ключи создаются администраторами сетей. Используя возможность подписывать создаваемые ключи уже существующими, администратор заверяет таким образом подлинность рядовых пользователей, серверов и пользователей-заверителей, которые сами будут создавать ключи для вверенной им части регистрационной иерархии. Чрезвычайно распространена ситуация, когда сеть организации физически состоит из нескольких удалённых друг от друга подсетей, связанных внешними каналами и настроенных так, что с точки зрения пользователя и администратора они представляют из себя одну большую локальную сеть. Такую псевдо-локальную сеть обозначают термином VPNVirtual Private Network», «Виртуальная частная сеть»). Сеть УЦВТ является примером такой сети. Системы с открытыми ключами защищают такие сети от внешнего вторжения через предоставляемые Интернет-провайдером каналы. Даже если сеть не имеет выходов во внешний мир, сертификация защищает от злоумышленников из числа локальных пользователей (что для УЦВТ тоже очень актуально).

В-третьих, ключи создаются специальными организациями, такими как Thawte, VeriSign или CyberTrust. Выдавая заказчику сгенерированный ключ, тем самым такие организации берут на себя ответственность за удостоверение его личности, поскольку ключ содержит имя и срок действия, подписанные неподделываемой цифровой подписью заверителя. Фирма Microsoft выдаёт разработчикам драйверов оборудования ключи, заверенные подписью под названием «Microsoft Windows Hardware Compatibility». Открытую часть ключа Microsoft распространяет в составе Windows. Таким образом, скачав новый драйвер из Сети, пользователь Windows имеет возможность убедиться, что: а) автор драйвера известен Microsoft в качестве квалифицированного и добросовестного автора драйверов; б) драйвер не подделан злоумышленником. Для организаций наподобие VeriSign изготовление и выдача сертификатов (закрытых ключей) является коммерческой деятельностью. Стоимость покупаемого сертификата зависит от срока действия подписи, надёжности ключа, состава предоставляемых сертификатором гарантий и прочих факторов.

Microsoft Windows содержит большое количество сертификатов (открытых ключей) от всех наиболее известных сертификаторов (заверителей), просматривать которые позволяет Internet Explorer:

За что ручается VeriSign:Чему готовы верить вы сами:

Односторонняя аутентификация

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

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

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

Поддержка в Notes/Domino

Учётные записи пользователей в Адресных Книгах содержат поле для хранения Интернет-сертификатов (открытых ключей) и умеют импортировать из файла или почтового сообщения сертификат, присланный организацией-доверителем, такой как VeriSign. В свою очередь, USER.ID умеет импортировать и хранить закрытые Интернет-ключи (в дополнение к ключам оригинального формата Notes). Чужой Интернет-ключ, необходимый нам для удостоверения удалённой стороны и шифрации исходящих данных (например, для шифрации письма, отправляемого в Интернет), читается из АК. Свой собственный Интернет-ключ, необходимый нам для удостоверения перед удалённой стороной и расшифровки приходящих данных, берётся из ID-файла.

Далее мы будем рассматривать только классический незащищённый вариант соединений без использования Интернет-сертификатов.

Классический вариант

В классическом варианте при подсоединении к серверу от клиента требуется указывать своё имя и пароль. В зависимости от этого сервер открывает клиенту доступ к тем или иным ресурсам. Наряду с этим большинство Интернет-служб предоставляют анонимный доступ.

Для работы через Интернет пользователю Notes/Domino выдается ещё одно имя, которое хранится учетной записи пользователя в поле «Shortname» и пароль, который помещается в поле «Internet password».

После сохранения учетной записи содержимое поля «Internet password» принимает вид наподобие “(A137F1E163EAD08D1A0130BDCE6B02D3)”. Это ваш пароль в зашифрованном виде. Шифрация нужна потому, что в отличие от пароля Notes, закрытая часть которого хранится в USER.ID на рабочей станции пользователя, пароль Интернет целиком хранится в Публичной АК и может быть подсмотрен другими пользователями.

По умолчанию для доступа через Интернет пользователь Notes/Domino получает такой же пароль, как и для доступа к ID-файлу.

Пользователь не имеет права самостоятельно менять своё Интернет-имя, так же как и Notes-имя. Это ограничение введено для предотвращения подделки имени.

Доступ из Интернет-клиентов к данным на сервере Domino

Как уже говорилось, программное обеспечение Lotus Notes состоит из двух частей: клиентской (тоже называемой «Lotus Notes») и серверной («Lotus Domino»). Первоначально серверная часть не имела имени собственного и обозначалась просто как «сервер Notes». Единственным протоколом, по которому этот сервер умел создавать сетевые соединения с внешним миром, был Notes RPC, а единственным клиентом, с которым сервер умел соединяться, был собственно Notes.

Название «Domino» сервер получил, когда в его состав были включены компоненты, поддерживающие связь по прикладным протоколам, принятым в сети Интернет. Данные на сервере по-прежнему хранятся в базах данных в фирменном формате Notes, но доступ к ним (с некоторыми ограничениями) стало возможным получать из общераспространённых приложений, таких как Internet Explorer и Outlook Express. Для поддержки каждого прикладного протокола в состав сервера Domino включается отдельная задача-сервер, ответственная за связь с программами-клиентами и преобразование данных из формата хранения в БД Notes в формат передачи по данному протоколу. Собственно сервер Notes теперь является всего лишь одной из задач, работающих в составе Domino, и по-прежнему отвечает за связь с клиентами Notes.

Почта

Доставка и хранение почты является одним из основных назначений Notes, а почтовый ящик – одна из баз, имеющихся у каждого пользователя. Domino позволяет пользователю Notes работать со своим почтовым ящиком по стандартным прикладным протоколам SMTP, POP3 и IMAP4, которые поддерживаются практически всеми почтовыми программами (далее – «Интернет-мэйлер»).

Мэйлер по определению – это более специализированный инструмент, чем Notes. Такая программа выполняет функции, которые в Notes поручены всего лишь одной из множества существующих баз – базе типа «Почтовый Ящик».

Какие требования должны быть выполнены для работы с Notes-почтой из Интернет-мэйлера?

  1. В сети Notes/Domino должен быть заведен соответствующий ей почтовый домен Интернет (например, ucvt.ru). Как минимум на одном из Domino-серверов (например, mail.ucvt.ru) должны быть запущены сервисы Интернет-почты.
  2. Учётная запись пользователя в Публичной АК должна иметь правильно заполненные поля «Shortname», «Internet address» и «Internet password».
  3. Чтобы писать на адрес других пользователей Notes, в их учётных записях также должно быть правильно заполнено поле «Internet address». Пример: ivanov@ucvt.ru.
  4. Если адресатами являются пользователи из внешней сети, системным администратором Domino должна быть настроена маршрутизация почты во внешнюю сеть.

Почтовые протоколы

Протокол SMTPSimple Mail Transfer Protocol», «Простой протокол передачи почты») используется для доставки почты с рабочей станции на сервер, а также при маршрутизации с сервера на сервер. Соединение устанавливается передающей стороной. Изначально SMTP-сессию не принято было защищать паролем ввиду того, что почтовый сервер отправителя устанавливает соединение с почтовым сервером получателя напрямую, так что полный список потенциальных контактов не может быть составлен даже приблизительно. Впоследствии SMTP был расширен так, чтобы сервер требовал и проверял имя и пароль в сессиях с рабочими станциями, то есть в тех сессиях, отправляемые через которые письма содержат адрес отправителя из почтового домена, обслуживаемого данным сервером.

POP3 («Post Office Protocol 3», «Протокол офисной почты, версия 3») используется для доставки почты с сервера на рабочую станцию. Соединение устанавливается принимающей стороной. POP3-сессии защищаются логином и паролем.

В почтовых клиентах принято совместно использовать SMTP и POP3 – соответственно для отправки почты на сервер и приёма с сервера.

Недостатки работы через Интернет-мэйлер

Мэйлер, как правило, имеет свой собственный набор папок с названиями типа «Inbox» («Входящие»), «Outbox» («Исходящие»), «Sent» («Отправленные»), «Drafts» («Черновики») и «Trash» («Корзина»). Никакой связи между ними и аналогичными разделами Почтового Ящика на сервере Domino нет! Например, при отправке письма из мэйлера оно будет сохранено в папке «Sent» на локальном диске, но не появится в папке «Отправленные» в ПЯ на сервере.

Исключение 1: присылаемая вам почта сначала попадает в ваш персональный ПЯ на сервере Notes в раздел «Входящие», а затем, когда мэйлер заберёт почту с сервера, попадёт в «Inbox» на локальном диске.

Исключение 2: мэйлер можно настроить так, что после очистке папки «Trash» находившиеся в ней письма при следующем получении почты будут также удалены из Почтового Ящика на сервере.

Все остальные разделы мэйлер ведет автономно и ни читать с сервера, ни отправлять на сервер не пытается.

Протокол IMAP

IMAP («Internet Mail Access Protocol», «Интернет-протокол для доступа к почте») является более современным и содержит существенно меньше ограничений, чем классическая связка SMTP/POP3. Однако по причине новизны и сложности многие почтовые программы (клиенты и серверы) поддерживают его не полностью, либо не поддерживают вообще. Однако, если IMAP нормально поддерживается обеими сторонами, лучше использовать именно IMAP.

Во-первых, пользователь может создавать в почтовом ящике разделы в дополнение к стандартным. Такие разделы аналогичны папкам в базах Notes, то есть письма в них перемещаются не автоматически, а вручную.

Во-вторых, IMAP поддерживает наличие нескольких экземпляров почтового ящика и синхронизацию их содержимого. Пользователь может работать как напрямую в ПЯ на сервере, так и автономно в локальной копии.

В-третьих, клиент в ходе одного соединения способен читать на сервере дополнительные ПЯ помимо собственного, то есть предусмотрено не только автоматическое определение сервером имени ПЯ в зависимости от имени пользователя, но и явное указание имени ПЯ клиентом.

В настоящий момент и в Domino, и в Outlook Express, и в TheBat поддержка IMAP, несмотря на формальное присутствие, не доведена до удовлетворительного уровня. По этой причине практическая работа с IMAP в этой главе рассматриваться не будет.

Создание почтового ящика в мэйлере TheBat!

Прежде всего, не используйте для работы с почтой Microsoft Outlook! Несмотря на присутствие в стандартной поставке Windows и удобный интерфейс, этот мэйлер служит источником постоянной головной боли для своих владельцев, потому что буквально напичкан различными брешами, через которые вирусы из почтовых сообщений проникают на ваш компьютер. Ущерб, причинённый вирусами «I love you», «Nimda» и «CodeRed», исчисляется во всемирном масштабе десятками миллиардов долларов, и нет никаких оснований считать, что эпидемия вирусов, использующих просчёты в защите Outlook, идёт на спад.

Самой популярной альтернативой Outlook'у, на наш взгляд, является мэйлер TheBat!. TheBat! занимает мало места на диске, прост в использовании, не имеет никаких проблем с русским языком, содержит все необходимые функции и свободно доступен для скачивания через Интернет. Ознакомительная версия берётся с сайта фирмы-производителя: www.ritlabs.com/the_bat. Почтовый ящик первого пользователя создается сразу же при инсталляции. Добавочные почтовые ящики создаются через меню Ящик->Создать почтовый ящик.... Ниже приводятся требуемые значения полей в окнах мастера установки:

Имя ящика: например, ваше полное имя
Адрес E-mail: shortname@ucvt.ru
Уточните адрес почтового сервера у администратора сети!
SMTP-сервер: mail.ucvt.ru
POP3-сервер: mail.ucvt.ru
Имя пользователя:то, что написано в «Shortname»
Пароль: то, что введено в «Internet password»
Оставлять копии сообщения на сервере:да
Проверить остальные установки ящика: да

Большая часть установок уже имеет нужные нам значения. Включить следует только следующие параметры на закладках «Специальное» и «Транспорт»:

  1. SMTP: использовать POP-авторизацию.
  2. Сохранять сообщения на сервере.
  3. Удалять сообщения с сервера при их удалении из корзины.

Упражнение 14.2. Отправка и прием почты в TheBat!

  1. Установите и настройте TheBat!.
  2. Отправьте письмо соседям.
  3. Дождитесь получения писем от соседей. По умолчанию автоматическая проверка новой почты в TheBat! отключена, поэтому потребуется либо включить её, либо запускать приём вручную.
  4. Запустите Notes, откройте свой ПЯ, перейдите в раздел «Все документы» и убедитесь, что в нём появились присланные вам письма.
  5. Из TheBat! удалите присланные письма, хранящиеся в ПЯ на сервере.

Wеб-интерфейс к базам данных

Традиционные Web-сайты хранят данные в обычных файлах. Например, Web-страницы принято размещать в файлах с расширениями html и htm. Этот подход обладает следующим недостатком: форма записи языка HTML хорошо отражает внешний вид данных, но плохо отражает структуру данных. HTML хорош для показа, но неудобен для автоматизированной обработки. Поэтому все большее распространение получает другой подход, при котором данные хранятся в специальном формате, наиболее учитывающем их назначение и структуру, а Web-страница генерируется сервером «на лету» непосредственно при выполнении запроса со стороны клиента. Сайты первого и второго типа принято называть соответственно статическими и динамическими.

С помощью второго подхода стало возможным открывать информацию из баз Domino для Интернет-пользователей: Web-сайт под управлением Domino состоит из одной или нескольких баз Notes, структура сайта формируется из оглавлений баз, а Web-страницы генерируются из документов. Преобразование оглавлений и документов из внутреннего формата Notes в HTML производится непосредственно в момент запроса. Поддержкой сетевых соединений по протоколу HTTP и преобразованием данных в формат HTML занимается специальная задача-сервер, входящая в состав Domino.

WWW-адреса ресурсов, расположенных в базах на сервере Domino, имеют вид типа http://сервер/файл_БД (например, http://www.ucvt.ru/web_evseev.nsf), или же http://сервер/файл_БД/раздел?OpenView (например, http://www.ucvt.ru/names.nsf/People?OpenView). Адреса конкретных документов при этом имеют совершенно нечитабельный вид, что-то вроде http://www.ucvt.ru/admin.nsf/edfca988b2db45a9/13256a6f003eedb2?OpenDocument, но пользователю нет необходимости вводить их вручную, поскольку к документам можно переходить по ссылкам из оглавлений.

Примечание: HTTP-задача Domino распознаёт в адресе запрашиваемого ресурса большое количество дополнительных ключей. Например, чтобы открыть в дискуссионной базе раздел «По автору» с обратной сортировкой по второму столбцу (во втором столбце выводится дата сообщения), запрос должен выглядеть следующим образом:

http://www.spb05.ucvt.ru/notesqa.nsf/By+Author?OpenView&ResortDescending=2
Полный список поддерживаемых ключей находится в расположенной на сервере справочной базе «Domino 5 Designer Help» в документе «Domino URL commands».

Упражнение 14.3

Через Web-браузер создайте в коллективной базе на сервере произвольный документ с категорией «WWW». При первом обращении к базе от вас потребуется ввести имя (см. поле «Shortname») и пароль (см. поле «Internet password»).

Недостатки работы через браузер

Доступ к базам через Web-браузер нужен в первую очередь посторонним пользователям из внешней части Сети, которые не имеют на рабочем месте инсталлированного экземпляра Lotus Notes. Доступ через Web-браузер поддерживается Domino, потому что браузеры распространены и стали стандартным инструментом для доступа к данным. Однако при возможности выбирать между браузером и Notes, браузер менее предпочтителен по следующим причинам:

  • редактор форм в HTML значительно слабее, чем текстовый процессор Notes: нет ни возможности менять шрифты, ни операций поиска и замены, ни вставки картинок, ни многого другого;
  • весь внешний вид Web-страницы генерируется сервером, поэтому при любом изменении внешнего вида, таком как сворачивание/разворачивание категории, происходит повторная загрузка обновленной страницы с сервера – таким образом, скорость работы по сравнению с Notes существенно медленнее;
  • формат адресов у генерируемых Web-страниц сделан таким, что многие браузеры не «запоминают» (не «кэшируют») их и перечитывают даже тогда, когда содержимое страницы с момента предыдущей загрузки не менялось;
  • отсутствие репликации делает невозможным работу с данными в режиме «off-line», в результате чего замедляется работа и перегружается канал связи;
  • для работы в Web формы просмотра и редактирования документов БД должны содержать специальные элементы дизайна, которые есть хотя и в большинстве стандартных баз, но, тем не менее, не во всех;
  • для представления в браузере списков, Панели операций и прочих элементов оформления Domino присылает вместе со страницами апплеты (небольшие подпрограммы) на языке Java, поддержка которого в вашем браузере может отсутствовать, работать с ошибками, делать браузер уязвимым для загружаемых из сети вирусов и т.д..

Если база данных не содержит элементов дизайна для просмотра через Web-браузер, ответ на попытку просмотреть тот или иной документ в ней может быть таким:

Error 500

HTTP Web Server: Application Exception - Couldn't find design note

Lotus-Domino Release-4.6.6b

Тем не менее, существует ситуация, когда работа через браузер оправдана. Она обусловлена тем, что протокол Notes пересылает через сеть намного больше данных, чем HTTP/HTML. Чем медленнее соединение, и чем поверхностнее требуется взглянуть на данные, тем удобнее по сравнению с Notes воспользоваться браузером. Например, через браузер гораздо быстрее получить список писем в ПЯ на сервере, не получая самих писем. Открытие же базы на сервере с использованием Notes является действительно медленной операцией; при связи по телефонной линии оно занимает несколько минут. Однако предварительный просмотр бывает необходим, если некоторые письма имеют большой размер и репликация на локальный диск требует неприемлемо большого времени. В этой ситуации Веб-браузер представляется предпочтительнее.

Web-mail

Поскольку Web-браузеры: а) являются более универсальными инструментами, чем почтовые программы, и б) получили большее распространение, в последнее стал популярным доступ к почте через Web-интерфейс. Механизм, при котором доступ к почтовыму ящику на сервере (чтение пришедших писем, создание новых, удаление ненужных) осуществляется через некое множество динамически генерируемых сервером Web-страниц, получил обозначение «WebMail».

Например, WebMail-интерфейс предоставляется подавляющим большинством почтовых систем, российских в том числе. В системах на базе Domino такая возможность также реализована, причём пользователь получает её сразу же после регистрации, т.е. даже до того, как в первый раз запустит Notes.

Разработчики почтового шаблона постарались, чтобы формы и оглавления выглядели в Web-браузере максимально функционально и красочно:

Почтовый ящик пользователя Notes, открытый в Web-браузере

Новости

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

Для передачи данных между хранилищем конференций и подписчиками в Интернете принято использовать протокол NNTPNetwork News Transfer Protocol», «Протокол передачи сетевых новостей»). Так же, как название системы World Wide Web отделено от названия используемого ею протокола HTTP, для системы конференций существует собственное обозначение Usenet.

Каждый Usenet-сервер обслуживает от одной и более конференций. Каждая конференция содержит от одного и более документов, присланных подписчиками. Сообщения могут быть привязаны к другим сообщениям (визуально сгруппированы) по теме обсуждения. Копии каждой конференции могут располагаться на нескольких серверах с регулярной синхронизацией в одну или обе стороны. Администраторы серверов имеют возможность ограничивать право подписчиков читать и/или помещать сообщения. Напоминает Notes, не правда ли?

Программы для работы с новостями называют «Usenet-клиент» или «News reader». Последнее название не вполне точное, поскольку сообщения в конференции в принципе можно не только читать, но и писать.

Базы для хранения Usenet-конференций на сервере Domino создаются из специального шаблона «NNTP Discussion». От обычных коллективных баз Notes данный шаблон имеет два важных отличия. Во-первых, документы в нём содержат дополнительные служебные поля, автоматически заполняемые данными, неободимыми для преобразования документа для передачи по NNTP.

Во-вторых, NNTP не предусматривает рассылки обновлений. В обычной базе Notes любой документ можно редактировать повторно. Изменения рассылаются при реплицировании наравне с удалениями и добавлениями. По NNTP возможна рассылка только добавлений и удалений. Поэтому в базах на основе шаблона «NNTP Discussion» редактирование существующих документов запрещено.

Вследствие данного ограничения базы «NNTP Discussion» не имеет смысла использовать, если вся работа с документами производится исключительно в среде Notes/Domino. Однако есть две ситуации, когда без использования NNTP-дискуссий не обойтись.

Ситуация первая: поддержка клиентов. Допустим, есть некое количество удалённых рабочих станций, на которых отсутствует Notes, но установлено стандартное клиентское Интернет-ПО. Необходимо организовать на них автономную работу с документами. Работа с базой на сервере через Web-интерфейс неудобна, так как для выполнения каждой операции требуется наличие соединения с сервером. В противоположность этому, News-reader позволит благодаря свойствам NNTP работать с документами в локальной копии конференции без постоянной связи с сервером.

Ситуация вторая, более частая: поддержка обмена данными со стандартными серверами Usenet. Интернет содержит огромное количество информации в Usenet-конференциях, и системный администратор Domino имеет возможность размещать на своём сервере конференции, получаемые с других NNTP-серверов.[5] В этом случае база на сервере Domino обязана навязывать пользователям такие же ограничения, которые NNTP навязывает на участке между Domino и News-сервером следующего уровня, то есть запрещать изменение документов и т.д.

NNTP-сервер, входящий в состав Domino, при запросе клиентом списка конференций просматривает список имеющихся на сервере баз и выдаёт клиенту заголовки баз, имеющих тип «NNTP Discussion». Одна база используется для хранения одной конференции.

Наиболее популярным Usenet-клиентом для Windows является Outlook Express.

Упражнение 14.4

  1. Запустите Outlook Express.
  2. Создайте учётную запись для поключения к серверу новостей с указанием имени и пароля.
  3. Подпишитесь на доступные конференции.
  4. Отправьте в конференцию сообщение и дождитесь, пока оно станет видимым.

Русские буквы

Общепринятой кириллической кодировкой в Сети является кодировка KOI-8r. Если формат приходящих данных предусматривает указание кодировки, Domino нормально воспринимает её и правильно преобразует русские символы в свой внутренний формат. Однако если кодировка не указана, Domino считает, что данные записаны в кодировке Windows-1251. Например, русская «А» имеет номер 225 в KOI8-r и 192 – в Win1251.

Поэтому для отправки данных на любой сервер, входящий в состав Domino, следует, если это возможно, либо вручную выбирать кодирование символов в Win1251, либо выбирать такой формат передачи, в котором явно указывается используемая кодировка.

По умолчанию Outlook отсылает сообщения на NNTP-сервер в формате UUEncode без указания кодировки, в кодировке KOI8-r. Попав в конференцию на сервере Domino, они будут иметь нечитабельный вид.

Чтобы исправить ситуацию, в Outlook'е следует открыть окно Сервис->Параметры и перейти на закладку «Отправка сообщений» в секцию «Формат отправляемых новостей»:

Настройка формата новостей в MS Outlook

Во-первых, можно отправлять новостные сообщения не в формате чистого текста, а в виде HTML. Этот способ не очень хорош, потому что некоторые Usenet-серверы (в частности, news.fido7.ru) поддерживают обработку сообщений только в формате plain text.

Во-вторых, для кодирования русских букв в текстовом режиме вместо UUEncode можно использовать MIME c произвольным подтипом кодировки текста.

Упражнение 14.5

  1. Настройте Outlook таким образом, чтобы сообщения отправлялись в конференцию в понятной серверу кодировке.
  2. Убедитесь в правильности произведённых настроек, отправив в конференцию ответ на любое из сообщений, содержащий русские буквы в заголовке и тексте.

Авторизация

В зависимости от ACL базы, в которой хранится конференция, NNTP-сервер предоставляет клиентам разные уровни доступа к ней.

Во-первых, ACL может содержать имена пользователей из Публичной АК. При NNTP-подключении сервер проверяет для них полученные от клиента имя и пароль на основании полей из учётной записи в АК. Чтобы Outlook предъявлял серверу имя и пароль, в его конфигурации следует отредактировать свойства учётной записи Usenet-сервера:

Настройка подключения к News-серверу в MS Outlook

Примечание: обратите внимание, что под учётной записью подразумеваются разные виды данных в зависимости от того, идёт ли речь о Публичной АК на сервере Domino, Личной АК на рабочей станции Notes или постороннем приложении наподобие Outlook.

Во-вторых, ACL может содержать специальную запись под названием Anonymous («Безымянный»). Если такая запись присутствует, её уровень доступа распространяется на тех клиентов, которые используют News-reader или Веб-браузер, и имя/пароль при соединении не предъявляют.

Наконец, запись -Default- распространяется на всех остальных пользователей.

Упражнение 14.6

  1. Отключите в Outlook авторизацию при входе на News-сервер.
  2. Убедитесь, что теперь вы можете только читать сообщения с сервера, но не можете посылать их на сервер.

Упражнение 14.7

Предложите такой ACL для базы-конференции, чтобы все зарегистрированные в Публичной АК пользователи могли помещать в неё сообщения из любого клиента, а посторонние пользователи могли только читать.

Модерирование

Как правило, конференции не являются бесконтрольным набором сообщений. В подавляющем большинстве сетевых конференций среди участников обязательно существует некто, следящий, чтобы выступающие, во-первых, придерживались определённых норм вежливости, и во-вторых, не отступали от предлагаемой тематики. Такого пользователя обозначают термином «Модератор». В свою очередь, конференции, зависимости от наличия модератора, делят на модерируемые и немодерируемые.

Управление (модерирование) конференцией может производиться одним из двух способов. В первом случае модератор получает новые сообщения наравне с обычными пользователями. Санкции к авторам сообщений и самим сообщениям он применяет уже после того, как те стали достоянием общественности. Такие конференции принято называть пост-модерируемыми.

В пре-модерируемой конференции новые сообщения видны только модератору до тех пор, пока он явно не разрешит к ним доступ для остальных пользователей.

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

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

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

Любая коллективная БД Notes является аналогом постмодерируемой конференции - функции модератора выполняет Управляющий базы, который может просматривать все документы, удалять их и назначать их авторам новый уровень доступа. В отдельных модератору достаточно назначить уровень Редактора, чтобы позволить ему удалять чужие документы, но не пересматривать полномочия авторов.

Администратор БД типа «NNTP-дискуссия» имеет возможность делать её премодерируемой с назначением модератора через настроечный документ (профиль) базы. В одной базе допускается только один модератор.

Адресные книги

Аналогом коллективных сетевых адресных книг можно считать традиционные печатные адресные книги и справочные бюро. Адресные книги содержат имена, телефоны, адреса электронной почты и прочую информацию. Для доступа к ней в Интернете принято использовать протокол под названием «LDAP» («Light-weight Directory Access Protocol», то есть «Облегчённый протокол доступа к электронным каталогам». Почему не был выбран какой-то уже существующий универсальный протокол, пригодный для передачи произвольных данных, например, HTTP ? Ответ: адресные книги содержат данные весьма определённой структуры. Протокол, хорошо описывающий передачу именно таких данных, получается более компактным в двух смыслах: во-первых, он передаёт меньше данных через сеть; во-вторых, получается компактнее использующее его приложение.

Публичная Адресная Книга Notes хранит, в том числе, учётные записи пользователей, то есть именно ту информацию, для передачи которой предназначен LDAP. Поэтому логично было в состав Domino включить LDAP-сервис. С его помощью просматривать учетные записи становится возможным не только из Lotus Notes, но и из клиентских приложений других разработчиков, если они поддерживают LDAP. В первую очередь адресные книги нужны почтовым программам. Мы рассмотрим использование LDAP-каталога в почтовой программе TheBat!.

Настройка адресной книги в TheBat!

Адресная книга в TheBat! открывается через меню Инструменты. Затем через меню Файл->Новая адресная книга... создается подключение к LDAP-серверу:

Настройка новой адресной книги в TheBat!

Упражнение 14.8

Подключите Адресные Книги с сервера Domino в список адресных книг TheBat!

После этого в списке каталогов в окне адресной книги появляется новая запись. При переходе на неё TheBat! соединяется с соответствующим сервером. На следующем рисунке приведён пример поиска имен, начинающихся с «va». Эти имена TheBat! загружает с LDAP-сервера, входящего в состав Domino (с компьютера, называемого сервером, потому что на нём работает приложение-сервер Domino, и называемого LDAP-сервером, потому что в составе Domino на нём работает программа-сервер протокола LDAP;-). Учётные записи LDAP-сервис Domino читает из Публичной Адресной Книги:

Результат поиска в LDAP-каталоге

Примечание: Русские символы в LDAP-записях могут отображаться неверно.

Двойной щелчок на найденном имени открывает окно создания письма с автоматически заполненным полем адресата.

Упражнение 14.9

Отыщите в LDAP-каталоге учётную запись правого соседа, создайте записку на его имя.

LDAP-запросы в Web-браузере

Многие Web-браузеры в адресе запрашиваемого объекта («URI», «Universal Resource Identifier», «Универсальный идентификатор ресурса») помимо префиксов «http://» и «ftp://», распознают также префикс «ldap://». Полностью строка запроса имеет вид

ldap://имя_LDAP_сервера/имя_запрашиваемой_учётной_записи

Например:

ldap://ldap.ucvt.ru/CN=Irina V. Alexeeva/OU=Teachers/OU=SPb01/O=UCVT/C=RU

Примечание: Имя запрашиваемой учётной записи в URI должно быть записано в т.н. «distinguished» («характеризующем») формате, когда перед значением каждого поля в имени указывается также его тип: CN (Common Name), OU (Organizational Unit), O (Organization), C (Country) и т.д.

Доступ к Интернет-сервисам из Lotus Notes

Исторически протоколы Notes сформировались значительно раньше, чем аналогичные им прикладные протоколы сети Интернет. В Notes сложился устоявшийся визуальный интерфейс для доступа к разным типам данных, как к электронным аналогам обычных библиотек, папок и документов. По мере того, как в Интернете получала распространение та или иная услуга, оказывалось, что с определённой долей условности она также может быть представлена для пользователя Notes как привычное множество баз данных и документов.

Клиентская часть Lotus Notes первоначально умела работать только с сервером Notes. Если какая-то Интернет-служба (почта, Web, новости) становилась настолько популярной, что не пользоваться ею становилось невозможно, перед разработчиками Notes возникали два варианта:

  • либо в Notes появится возможность работы с данной службой;
  • либо пользователь для работы с этой службой будет вынужден установить отдельную программу.

На данный момент помимо клиента Domino, в Notes R5 содержатся также клиенты протоколов HTTP (служба World Wide Web), POP3/SMTP и IMAP (почта), NNTP (служба новостей UseNet) и LDAP (доступ к электронным каталогам).

Следует отметить, что для работы практически с каждой отдельной Интернет-службой Notes оказывается менее удобен, чем соответствующая специализированная программа. Зато он предоставляет возможность совместной работы с данными из Интернета и из собственных БД: почты, адресной книги, поисковой машины – в том же интерфейсе, с унифицированными способами настройки, с сохранением полученных данных в стандартных базах.

Учётные записи в Личной АК

Для работы с Интернет-сервисами Личная АК содержит множество документов типа «Учётная запись». Во многом они подобны документам типа «Подключение», которые задают соответствие между именами серверов Domino и их фактическими сетевыми адресами. Однако учётная запись содержит существенно больший состав информации.

Во-первых, разные типы Интернет-сервисов работают по своим собственным протоколам, и в «Учётной записи» требуется указывать тип сервиса, чтобы Notes использовал для соединения соответствующий протокол и преобразовывал получаемую информацию к стандартному для Notes формату и внешнему виду. При подключении к Domino используется один-единственный протокол и единственный способ представления данных.

Во-вторых, многие сервисы (в первую очередь такие, которые не только предоставляют пользователю данные, но и принимают данные от пользователя) требуют при подключении предъявления имени и пароля. Notes хранит их в «Учётной записи». Напротив, при подключении к Domino имя и ключ предъявляются из ID-файла и проверяются из Адресной Книги.

В-третьих, каждый протокол имеет набор дополнительных настроек. Протокол приёма почты POP3 способен как удалять на сервере извлекаемые оттуда письма, так и оставлять их. Протокол просмотра электронных каталогов (адресных книг) LDAP позволяет клиенту сообщать серверу максимально допустимое время поиска и предельное количество записей в ответе. Эти дополнительные настройки также хранятся в «Учётной записи».

После того, как необходимые учётные записи сформированы, Notes, во-первых, использует их автоматически (например, при поиске почтовых адресов по Адресным Книгам или подставляя имена и пароли при доступе к защищённым Web-страницам) и, во-вторых, к Интернет-сервисам определённых типов позволяет подключаться, просто указывая их имя в поле «Сервер» в окне открытия базы данных.

Web-страницы

Запустить Web-браузер в Notes можно двумя способами. Во-первых, браузер запускается, если в документе или на Панели закладок выбрана ссылка на Web-страницу. Как создаются такие ссылки, рассказывалось соответственно в главах «Встроенный редактор» и «Пользовательский интерфейс». Во-вторых, браузер можно запустить явно, открыв строку для ввода URLUniversal Resource Locator», «универсальный указатель ресурса» – адрес запрашиваемого объекта в специальном текстовом виде) нажатием Ctrl+L или щелчком по "Open URL" icon на Панели навигации.

В зависимости от настроек в текущем «Месте вызова», Notes запустит встроенный или внешний Web-браузер одним из трёх способов:

  • собственный встроенный Web-браузер;
  • Internet Explorer внутри окна Notes посредством OLE;
  • произвольный браузер (в частности, Netscape Navigator) в отдельном окне.

Выбор Web-браузера

Мы будем рассматривать только встроенный браузер Notes.

Упражнение 14.10

Убедитесь, что текущее «Место вызова» использует встроенный Web-браузер.
Также убедитесь, что включена поддержка протокола TCP/IP.

Упражнение 14.11

Откройте домашнюю страницу Web-сайта УЦВТ.

Настройки для встроенного Web-браузера расположены в двух местах:

  • в документе «Место вызова» под закладкой «Дополнительно» на закладках «SSL», «Web-браузер» и «Безопасность Java-программ»;
  • в базе «Персональный Web-навигатор», имя файла которой задаётся в «Месте вызова».

Как правило, настройки в «Месте вызова» необходимости изменять не возникает. Все они носят сугубо технический характер.

Упражнение 14.12

  1. Откройте через Web-интерфейс свой ПЯ.
  2. Предложите Notes сохранить имя и пароль для доступа к нему в «Учётной записи».
  3. Убедитесь, что в Личной АК появилась соответствующая учётная запись.

Персональный Web-навигатор

БД «Персональный Web-навигатор» выполняет две функции. Во-первых, она хранит настройки для работы с Web-страницами через встроенный браузер, такие, например, как адреса и расписания проверки обновлений для избранных Web-страниц.

Во-вторых, в этой БД встроенный браузер сохраняет (кэширует) в виде стандартных документов Notes все данные, выкачиваемые из сети.

Упражнение 14.13

  1. Найдите в «Персональном Web-навигаторе» документы с сохранёнными страницами из предыдущих заданий.
  2. Загрузите ещё одну Веб-страницу и убедитесь, что в базе появился соответствующий документ.

Чтобы заставить браузер Notes немедленно перечитать из Сети какую-то страницу, нужно вручную удалить её из БД «Web-навигатор».

Кнопка Кнопка "Закладка" на Панели операций раздела «Все страницы» добавляет закладку текущего документа в папку «Избранные закладки» Иконка папки "Избранные закладки" на Панели закладок.

Использование прокси-сервера

Допустим, некая организация имеет выход в Интернет и ее сотрудники загружают Web-страницы из внешней сети. Прямой выход в Интернет с рабочих станций обладает следующими недостатками:

  • каждый компьютер, с которого видна внешняя сеть, в свою очередь, виден из внешней сети и может стать целью для взлома;
  • если несколько пользователей загружают одну и ту же Web-страницу, одна и та же информация передаётся через канал связи, связывающий организацию с внешним миром, несколько раз, снижая скорость и увеличивая стоимость работы;
  • администратор лишён возможности контролировать размер и состав загружаемой информации.

Прокси-сервер («proxy-server») - это программа, предназначенная для борьбы с перечисленными недостатками, которая:

  • принимает запросы из внутренней сети;
  • по заголовку запроса определяет компьютер, которому фактически адресован запрос;
  • анализирует запрос на допустимость (по IP-адресу отправителя, по IP-адресу получателя и т.д.);
  • проверяет, что на локальном диске нет запомненного ответа на предыдущий подобный запрос;
  • делает запрос во внешнюю сеть от своего имени;
  • получает ответ из внешней сети;
  • запоминает ответ на локальном диске;
  • отправляет ответ во внутреннюю сеть.

Соответственно, компьютер, на котором запущена программа «прокси-сервер», тоже называют прокси-сервером. Термином «прокси» принято обозначать все средства, выполняющие роль переходников прикладного уровня (кэширующих, коммутирующих, защитных и т.д.) между различными частями Сети.

Прокси-сервер – это, как правило, единственный компьютер внешней сети, видимый изнутри, и единственный компьютер внутренней сети, видимый снаружи.

Чтобы сделать возможным соединение через прокси, заголовки запросов используемого для связи протокола должны содержать полный (включая имя компьютера) адрес запрашиваемого ресурса. Сами же запросы фактически направляются не на указанный компьютер, а на прокси-сервер.

Перенаправление запроса может быть сделано как принудительно, средствами сетевого оборудования, так и вручную, путем настроек Web-браузера. В сети УЦВТ в настоящий момент используется второй вариант.

Многие браузеры умеют загружать конфигурацию прокси из сети в виде Web-страницы с небольшой программой на языке JavaScript, устанавливающей значения соответствующих переменных браузера. Браузер Notes к их числу не относится, поэтому его требуется конфигурировать на каждой рабочей станции. Настройки прокси хранятся в документе «Место вызова» на закладке «Основные»:

Настройка прокси-сервера

Упражнение 14.14

  1. Настройте Notes на использование прокси-сервера http://proxy.ucvt.ru:3128.
  2. Убедитесь, что Notes нормально загружает страницы из внешней сети.

Роботы

Роботами и агентами принято называть небольшие программы, запускаемые по расписанию или при возникновении определённых ситуаций (приход почты и т.д.) для выполнения неких рутинных действий. Чёткого деления между этими двумя терминами нет. Как правило, «агент» – это программа, запускаемая тем же самым пользователем, который составил для неё входные данные (задание), либо на его рабочей станции, либо интерактивно на сервере. Если программа запускается от имени одного пользователя для обработки заданий, присланных другим пользователем (например, в виде почтового сообщения специально оговоренного формата), либо запускается удалённо по расписанию или условию, её с большей вероятностью назовут «роботом». Далее мы будем рассматривать эти названия как синонимы.

Встроенный браузер Notes содержит два робота:

  1. Web Ahead - упреждающая загрузка Web-страниц.
  2. Page Minder - автоматическая проверка и загрузка обновлений Web-страниц.

Примечание: Чтобы запуск Интернет-роботов был возможен, в параметрах настройки Notes следует включить опцию «Запустить локальные агенты». После этого Notes потребуется перезапустить.

Для непосредственной настройки Интернет-роботов служит Профильный документ БД «Персональный Web-навигатор», открываемый пунктом меню Действия->Параметры Интернета....

Неудобный интерфейс и капризная работа делают Web Ahead и Page Minder непригодными для более детального изложения в рамках данного материала.

Почта

Активное «Место вызова» должно быть настроено следующим образом:

  1. «Обратный адрес почты Интернета» (закладка «Основные»): Интернет-адрес, выданный вам администрацией почтового сервера. По умолчанию копируется из вашей учётной записи в Публичной АК.
  2. «Домен Интернета для адресов Notes при прямом подключении к Интернету» (закладка «Почта»): как правило, тот же почтовый Интернет-домен, что и у вас.
  3. «Отправка исходящей почты» = прямо через Интернет.

Стандартная инициализация Notes создаёт в Личной АК место вызова под названием «Интернет», уже содержащее настройки по умолчанию. Пользоваться им в УЦВТ не следует, потому что значения некоторых параметров (например, имена файлов локальных баз) в УЦВТ должны отличаться от стандартных. Лучше взять документ «Место вызова», используемый в настоящий момент, через буфер обмена сделать в Личной АК копию с него и в копии настроить использование Интернет-почты.

В Личной АК должны существовать учётная запись для отправки почты по протоколу SMTP и отдельно – учётные записи для приёма по протоколу POP3. Последних может быть несколько. Почтовый маршрутизатор Notes будет связываться с ними вместо сервера Domino.

Примечание: В SMTP используется несколько способов передачи логина и пароля, несовместимых друг с другом. Notes поддерживает один из них, в то время как почтовый сервер может поддерживать какой-то другой. Примером несовместимого с Notes SMTP-сервера является популярный Интернет-сервер Eserv. С таким сервером Notes сможет связываться, только если в настройках сервера отключено требование авторизации. Однако на подавляющем большинстве почтовых серверов в Интернете авторизация включена.

При переключении в «Место вызова», использующее Интернет-почту, происходит следующее:

  1. Создаётся БД-маршрутизатор в файле SMTP.BOX для размещения отправляемой в Интернет почты.
  2. На листе Репликатора появляются записи для отправки и приёма почты через Интернет-протоколы:
    Отправка почты в Интернет на листе РепликатораПолучение Интернет-почты на листе Репликатора

Упражнение 14.15

  1. Создайте в Личной АК документы «Учётная запись» для приёма и отправки Интернет-почты.
  2. Создайте в Личной АК «Место вызова», использующее Интернет-почту, и переключитесь на него.
  3. Напишите письмо соседям и убедитесь, что оно попало в БД маршрутизатора.
  4. Отправьте письмо.
  5. Дождитесь получения писем от соседей.

Новости

Для связи с каждым Usenet-сервером в Личной АК создаётся отдельная учётная запись. В момент её сохранения Notes автоматически создаёт из шаблона «Новости (NNTP)» базу данных, в окне которой пользователь будет работать с конференциями, расположенными на данном сервере. Таким образом, для представления ресурсов Usenet Notes использует следующую иерархию: один сервер – одна база, одна конференция – одна папка в этой базе, одно сообщение – один документ. Эта иерархия отличается от принятой для внутренних данных Notes, где для одной конференции принято использовать самостоятельную базу.

Упражнение 14.16

  1. Создайте учётную запись для связи с местным NNTP-сервером.
  2. Убедитесь, что на диске появилась соответствующая БД.

Подписка

Когда база NNTP открыта, на Панели операций и в меню Действия появляются кнопка и пункт «Группы новостей». Они открывают окно, в котором можно видеть полный список конференций, на которые можно подписаться, и список конференций, на которые вы подписаны в данный момент. По умолчанию вы не подписаны ни на одну конференцию. После оформления подписки на конференцию в Панели содержания базы появляется соответствующая папка.

Оформление подписки на Usenet-конференции

Упражнение 14.17

  1. Подпишитесь на учебную конференцию на местном сервере новостей.
  2. Отправьте в конференцию произвольное письмо; ответьте на чужое письмо.

Кнопка «Обновить сводки» загружает с сервера заголовки новых сообщений.

Автономный режим

Usenet-база, с которой вы работаете в данный момент, не хранит содержимого сообщений. Когда вы открываете в ней какой-либо документ, Notes производит обращение к Usenet-серверу и загружает выбранный документ оттуда. Поэтому в документации по Notes такую Usenet-базу принято называть прокси-базой.

Подобное решение хорошо при работе в сети, но для автономной работы оно не годится. Чтобы сообщения с сервера были переписаны на рабочую станцию, требуется создать реплику прокси-базы. Пересылку изменений между Usenet-сервером и рабочей станцией Notes будет производить в момент репликации.

Примечание: Обе Usenet-базы – прокси и автономная – находятся на локальном диске, поэтому для автономной базы нельзя оставлять имя файла по умолчанию, потому что оно совпадает с именем файла исходной прокси-БД.

Упражнение 14.18

  1. Создайте Usenet-базу для автономной работы.
  2. Синхронизируйте её с сервером Usenet.
  3. Переключите Notes в автономный режим и убедитесь, что никакие сетевые ресурсы из Notes теперь недоступны.
  4. Создайте сообщение в конференции.
  5. Переключите Notes обратно в сетевой режим, примите и отправьте изменения на Usenet-сервер.

Примечание: Документы в автономной Usenet-базе можно редактировать повторно, пока они не отправлены на NNTP-сервер. Для их просмотра служит папка «Исходящие».

Доступ к конференциям fido7.*

Конференции под общим названием fido7.* первоначально появились в глобальной компьютерной сети FidoNet, в которой для их передачи и хранения используются свои собственные протоколы и форматы, не имеющие никакого отношения ни к TCP/IP, ни к NNTP. Впоследствии, по мере развития Интернета, стало актуальным предоставить Интернет-пользователям возможность участвовать в Fido-конференциях с использованием привычных для них программных средств.

В сети Интернет существует компьютер с именем news.fido7.ru, на котором работает NNTP-сервер, обслуживающий конференции семейства fido7.*. Этот компьютер также подключён к сети FIDO, в которой он имеет адрес 2:5020/400. На нём работает дополнительное программное обеспечение, которое преобразует поступающие из Интернета письма в формат, используемый в FidoNet, и отправляет затем в сеть FIDO. Например, Usenet-конференции fido7.su.win95.chainik соответствует Fido-конференция su.win95.chainik. Поступающие из FIDO обновления эхо-конференций сервер преобразует в формат Usenet и отправляет в Интернет.

Программное и аппаратное обеспечение, занимающееся пересылкой данных с преобразованием из одного формата в другой, принято обозначать термином шлюз («gate»). Шлюз FidoNet-Usenet на сервере fido7.ru разработан и поддерживается компанией Demos. Другим популярным шлюзом является fidonet.org. Он отвечает за пересылку почтовых сообщений между Интернетом и FIDO.

Шлюз Fido7.ru требует, чтобы Интернет-пользователи, отправляющие через него сообщения, были зарегистрированы. Регистрация выполняется по электронной почте. Пользователь получает от Fido7 числовой пароль, а в качестве имени используется адрес электронной почты. Однако возникает вопрос: каким образом Fido7 должен производить проверку имени и пароля?

Во-первых, авторизация средствами NNTP, рассмотренная ранее, в данном случае невозможна, потому что пользователь необязательно работает с конференциями напрямую. Конференции доступны через большое количество промежуточных серверов (например, news.talk.ru или news.rosnet.ru), так что если пользователь работает через промежуточный сервер, то и пароль предъявляется промежуточному серверу, а не серверу news.fido7.ru.

Во-вторых, NNTP-серверы не умеют при пересылке пользовательских сообщений серверу верхнего уровня предъявлять тот пароль, который им предъявил сам пользователь. В-третьих, ненадёжным, громоздким и зачастую неприемлемым было бы распространение базы зарегистрированных пользователей от Fido7.ru доверенным Usenet-серверам. Остаётся единственный вариант: указывать пароль непосредственно в адресе отправителя, заголовке или в первой строке сообщения. Письмо дойдёт до шлюза, шлюз проверит пароль, после чего вырежет его из пересылаемых в FIDO данных, так что посторонние пользователи пароль не увидят.

Если пользователь Notes хочет работать с Usenet-конференциями Fido7, ему имеет смысл сделать отдельное «Место вызова», производное от места вызова «Интернет», и назвать его, например, «Usenet». В созданном документе следует отредактировать поле «Обратный адрес почты Интернета», дописав в него пароль для шлюза. К нему же можно привязать учётную запись Usenet-сервера, отредактировав в ней поле «Только из мест вызова».

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

Адресные книги

Адресная книга присутствует в любой программе для работы с электронной почтой. Функции хранения и работы с адресами сейчас принято встраивать в мобильные и стационарные телефоны, карманные компьютеры, наручные часы, то есть практически во все устройства, которые могут служить для хранения или использования данной информации. У перечисленных способов хранения имеется два существенных недостатка. Во-первых, адресные книги в разных устройствах изолированы друг от друга. Пользователь вынужден заносить сведения по отдельности в каждое из устройств: в почтовое приложение, в телефон и т.д. Отчасти эта проблема решается подключением устройств к персональному компьютеру через соответствующие аппаратные и программные средства с последующей синхронизацией данных. Например, в комплекте к наладонным компьютерам Palm Pilot прилагается кабель для подключения к ПК через последовательный порт и утилита Palm Desktop for Windows, запускаемая на рабочей станции и через кабель управляющая наладонным устройством.

Во-вторых, не только один пользователь должен видеть свои данные на всех устройствах, но и разные пользователи должны иметь возможность видеть информацию, предназначенную для коллективного пользования. Для её распространения по сети служит рассмотренный ранее протокол LDAP.

Ранее LDAP использовался нами для доступа из приложения электронной почты к адресной книге на сервере Domino. Мы имели дело с уже готовой базой. Теперь попытаемся сформулировать общие требования ко всем наборам данных такого рода безотносительно с способу их хранения.

Во-первых, адресная книга хранит набор записей. Например, запись может содержать сведения о пользователе, сервере, учебном классе и т.д. В одной адресной книге могут содержаться записи разных типов. Во-вторых, каждая запись хранит набор полей (строк) вида «имя=значение» или «имя=значение1,значение2,...». Одно из полей обязательно должно одинаково называться во всех записях и хранить тип записи. В-третьих, записи иерархически упорядочены, то есть при операциях поиска и запроса в каталоге указывается место в иерархии, от которого операция должна производиться. В виде иерархического дерева отображают информацию и многие LDAP-просмотрщики. Одно из полей должно одинаково называться во всех записях и хранить иерархическое имя записи.

Иерархия в именах Notes отображает порядок регистрации. Примерами иерархических имён в Notes являются Lexmark/SPb03/UCVT/RU, Ivan V. Petrov/SPb02/UCVT/RU или Room31/SPb01/UCVT/RU. Domino использует её для преобразования в иерархию LDAP.

Коллективные хранилища данных, удовлетворяющие перечисленным требованиям, принято обозначать термином «электронный каталог», «Directory». LDAP является наиболее общепринятым протоколом для доступа к таким хранилищам через сеть.

Упражнение 14.19

Создайте в Личной АК учётную запись для доступа к внешней службе электронного каталога.

По сравнению с собственными адресными книгами при доступе к LDAP-каталогам Notes накладывает несколько ограничений. Главное из них состоит в невозможности немедленно получить полный список записей. Предполагается, что LDAP-соединение производится через медленную внешнюю сеть, и получение полного оглавления большого электронного каталога займёт слишком много времени. Поэтому список Адресных Книг в окне выбора пользователя делится на две части: в верхней выводятся ваша Личная АК и Публичная АК с вашего сервера Domino, а в нижней, под меткой «допускают поиск» – директории, список записей в которых можно получить только после указания критериев выборки:

Меню со список Адресных Книг

Соответственно, при переключении на такой каталог изменяется содержимое окна выбора адреса:

Окно выбора пользователя из LDAP-каталога

Обратите внимание на секцию «Расширенный поиск»:

Развёрнутое окно выбора пользователя из LDAP-каталога

Упражнение 14.20

  1. Через Панель навигации откройте окно поиска пользователей.
  2. В LDAP-каталоге одной операцией поиска найдите учётные записи своих соседей и просмотрите их.
  3. Одной операцией поиска найдите всех пользователей, адрес электронной почты которых начинается на «a», «b» или «c».
  4. Поместите одну из найденных записей в Личную АК.

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

Доступ в Интернет через шлюз на сервере Domino

Прямое обращение к Интернет-службам с рабочей станции Notes обладает рядом недостатков.

Во-первых, для этого на рабочих станциях должен быть установлен и настроен TCP/IP. Во многих простых или старых больших сетях вместо него с успехом используются аналогичные ему (но несовместимые с ним) протоколы наподобие IPX/SPX фирмы Novell или классический NetBIOS от IBM/Digital. Lotus Notes свободно использует их для связи с Domino по своему протоколу верхнего уровня Notes RPC. Инсталляция TCP/IP на машинах во внутренней сети: а) требует времени; б) чревата сетевыми атаками на системном уровне извне, так как внутренняя сеть прямо или косвенно становится видимой снаружи.

Во-вторых, по мере появления новых Интернет-протоколов от Notes требуется всё более и более полная их поддержка. В этой ситуации системному администратору приходится устанавливать и настраивать на рабочих станциях всё более свежие версии ПО.

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

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

Набор задач-шлюзов, входящих в состав сервера Domino, предназначен для решения всех этих проблем:

  • шлюз работает с рабочими станциями через NRPC и представляет все данные для Notes-клиентов в стандартном виде база-оглавление-документ;
  • шлюз преобразует данные между Интернет-форматом и Notes-форматом, так что рабочая станция получает доступ к данным, с которыми необязательно способна работать непосредственно;
  • шлюз является единственным компьютером, видимым из внешней сети, поэтому его легче защитить, чем каждую рабочую станцию;
  • шлюз запоминает данные для повторного использования;
  • обновление ПО для поддержки новых Интернет-сервисов производится на одном-единственном компьютере – том, где запущен Domino;
  • администратор Domino следит за всеми проходящими через шлюз данными через набор служебных БД.

Web-страницы

Задача, под названием InterNotes входящая в состав Domino, выполняет по отношению к рабочим станциям Notes те же функции, которые прокси-сервер (в узком понимании, то есть HTTP- и FTP-прокси) выполняет для Веб-браузеров: коммутирует и кэширует. Помимо этого HTTP как протокол передачи InterNotes преобразует в NRPC, а HTML как формат хранения передаваемых данных – в Notes RTF. Чтобы рабочая станция могла использовать InterNotes, в активном документе «Место вызова» должны быть установлены следующие значения:

  1. Закладка «Браузер Интернета», поле «Браузер Интернета» = «Notes».
  2. Закладка «Браузер Интернета», поле «Загружать/открывать страницы» = «С сервера InterNotes».
  3. Закладка «Серверы», поле «Сервер InterNotes» = имя сервера Domino, на котором запущен InterNotes. Скопируйте сюда значение из поля «Главный/почтовый сервер».

Упражнение 14.21

  1. Настройте Notes на использование Domino InterNotes для доступа к Веб-серверам.
  2. Откройте домашнюю страницу УЦВТ.

При первом обращении к InterNotes на Рабочую область будет добавлена закладка БД «Server Web Navigator», расположенной на сервере. InterNotes использует её для кэширования документов так же, как встроенный Веб-браузер Notes кэширует документы в базе «Личный Web-навигатор». Кстати, обе базы хранятся в файлах с одинаковым именем – web.nsf.

С точки зрения конечного пользователя оба варианта доступа к Веб-страницам – прямой и через InterNotes – не имеют никаких внешних отличий. Выбор между вариантами в данном случае обуславливается отличиями внутренними. К примеру, сервер Domino имеет связь с внешним миром, а с вашей рабочей станции выход во внешнюю сеть запрещён. В этом случае вы вынуждены пользоваться InterNotes. Или наоборот – связь с сервером Domino отсутствует, или на сервере не запущен InterNotes, так что в вашем распоряжении остаётся только прямой доступ.

Открывать БД «Server Web Navigator» вручную нет необходимости, потому что она используется рабочей станцией автоматически. Если вы, тем не менее, решите её открыть, вашему взгляду откроется не привычное окно базы со списком разделов и оглавлением текущего раздела, а следующее окно:

Заглавная страница базы «Server Web Navigator»

По замыслу разработчиков Domino подразумевалось, что «Server Web Navigator» будет служить не только хранилищем для скачанных из Интернета страниц, но и предоставит пользователю Notes заглавную Веб-страницу, с которой тот сможет начинать своё путешествие по ресурсам Сети.

Предложенный интерфейс на первых порах может удовлетворить сотрудников, начинающих делать первые шаги в использовании Веб-ресурсов, и системных администраторов, занятых более приоритетными задачами, чем создание Веб-интерфейса, который будет служить для таких пользователей окном во внешний мир. В любом случае главными ограничениями останутся английский язык и нацеленность содержимого на американских пользователей. Например, щелчок по кнопке «Directory Search» открывает окно для работы с популярными поисковыми Интернет-системами:

Интернет-поиск через «Server Web Navigator»

Ясно, что русскоязычный вариант должен был бы содержать совсем другие названия, например, такие как Яндекс, Rambler и Google.

Навигаторы в базах данных

Следующие два вопроса имеют отношение к конструктивным возможностям Notes, используемым в рассматриваемой сейчас БД:

  1. Какой элемент дизайна открывается в окне базы вместо стандартного списка разделов и оглавления текущего раздела?
  2. Каким образом выбирается элемент базы, который показывается при её открытии?

В терминологии Lotus Notes, навигатор – это изображение, щелчки мышью по различным областям которого вызывают те или иные действия. Разработчики БД имеют возможность: а) создавать навигаторы наряду с другими элементами дизайна базы; б) назначать действия на @-языке по щелчку мыши на той или иной части навигатора; в) вставлять навигаторы в формы просмотра-редактирования документов или выводить в отдельном окне. В базе «Server Web Navigator» используется второй вариант.

Почему навигатор открывается сразу при открытии базы? Откройте окно свойств базы и перейдите на закладку «Запуск»:

Параметры открытия БД «Server Web Navigator»

Как видите, Notes позволяет разработчикам и пользователям выбирать, какой именно элемент дизайна является «заглавной» страницей базы. В БД «Server Web Navigator» при открытии выводится навигатор под названием «Home».

Постарайтесь не запутаться в многочисленных применениях термина «навигатор». Название одного из элементов дизайна баз данных в Notes, часть названия нескольких стандартных баз Notes, часть названия популярного Веб-браузера Netscape Navigator – следует ясно представлять себе, к какому предмету рассмотрения оно относится в каждом конкретном случае.

Со стандартным списком разделов базы вы можете продолжать работать, используя меню Вид: нижняя часть выпадающего меню содержит названия некоторых папок и представлений, а пункт Вид->Перейти... открывает полный список разделов.

Упражнение 14.22

Откройте БД «Server Web Navigator» и найдите в ней загруженные вами страницы.

Коллективный вариант с InterNotes обладает двумя недостатками. Хотя документы, после того как их загрузит из внешней сети любой из пользователей, становятся доступны для всех желающих благодаря помещению в коллективный «Server Web Navigator», браузер Notes при обращении к ним вместо локального кэширования будет постоянно тратить время на их перезагрузку с сервера Domino. Кроме того, если связь с сервером Domino пропадёт, документы не будут доступны никому.

Notes предоставляет пользователю ещё один вариант работы, при котором Веб-страницы размещаются в БД «Веб-навигатор» как на сервере, так и на рабочей станции. Размещение на рабочей станции обеспечивает высокую скорость работы и независимость от сервера персонально для вас, а размещение на сервере – доступность для всех остальных пользователей и, соответственно, более высокую скорость работы и для них тоже.

Чтобы это сделать, следует настроить браузер Notes на самостоятельную работу и отредактировать настроечный документ «Личного Web-навигатора» через меню Вид->Параметры Интернета...: на закладке «Совместная работа» указать имя сервера Domino, на котором запущен InterNotes, используемый остальными рабочими станциями, и имя базы данных, которую тот использует для хранения Веб-страниц. Все остальные рабочие станции должны быть настроены на работу через InterNotes.

Почта

Если на сервере Domino корректно настроена маршрутизация почты в Интернет, то для пользователя Notes практически не играет роли, в какой сети находятся получатели его писем: во внутренней или внешней. Интернет-адреса можно указывать в письмах в поле «Кому» наравне с адресами Notes. И в том, и в другом случае Notes выталкивает исходящую почту на сервер Domino, на который перекладывается вся работа по дальнейшей доставке. Приходящую из Интернета почту сервер, как и в случае с внутренней почтой, помещает в ваш ПЯ.

Почтовый маршрутизатор на сервере Domino, таким образом, играет роль шлюза между двумя разнотипными почтовыми службами: Notes/Domino и Интернет.

Единственным существенным недостатком существующей системы является её неспособность надёжно распознавать русский текст во входящих сообщениях. Как и в случае с конференциями, текст без явного указания кодировки Domino воспринимает как русский в кодировке Windows-1251, а в Интернет-почте по умолчанию используется KOI8-r.

Упражнение 14.23

  1. Убедитесь, что для отправки почты в Интернет используется сервер Domino.
  2. Отправьте произвольное сообщение с русским текстом эхо-роботу <echo@csa.ru>.
  3. Дождитесь получения ответа.
  4. Используя FAR, восстановите русский текст.

Из мелких недостатков можно упомянуть представление Интернет-адресов в оглавлениях ПЯ: вся правая часть за «собачкой» отсекается. Дело в том, что «собачка» используется как в адресах Notes - для указания домена Notes/Domino, так и в адресах Internet - для указания Интернет-домена. Как правило, домен в адресе Notes пользователю неинтересен, поэтому при выводе адреса в оглавлении его можно отбросить. Перед этим выполняется проверка, что адрес не является адресом Интернет-формата. Данная проверка выполняется неправильно: вместо точки (строгого признака) в имени домена ищется символ «>», то есть нестрогий признак. При желании квалифицированный пользователь может внести указанное исправление в дизайн своего Почтового Ящика вручную.

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

Корректно обрабатывается опция «Уведомление о вручении». Опция «Отчёт о доставке» работает только до тех пор, пока письмо не покинет пределы сети Notes/Domino.

Новости

Notes работает с новостями как с обычной базой. Domino отвечает за синхронизацию сообщений между своей базой и внешним NNTP-сервером. Первая особенность такой базы – невозможность повторно редактировать существующие документы.

Вторая особенность: сообщения содержат неверный Интернет-адрес отправителя. В базе, созданной из шаблона версии 5.0.6 или более ранней, вместо вашего адреса в нём будет указан адрес сервера, на котором находится база. Данная ошибка находится в функции SetEMail библиотеки NewsArticleProcessing, являющейся составной частью дизайна базы-конференции Usenet. Чтобы исправить её, достаточно в SetEMail после строк

  lastname = Trim(tempstring$)
  firstname = Trim(Left$(fullname, Len(fullname)- Len(lastname)))

добавить следующий текст:

  tmppos = Instr(1, fullname, " ")
  If tmppos > 0 Then firstname = Trim(Left$(fullname, tmppos-1))

Третья особенность: к сожалению, вряд ли через Usenet-шлюз Domino получится работать с конференциями семейства fido7.*. Обслуживающий их центральный сервер news.fido7.ru требует, чтобы либо поле адреса отправителя, либо поле заголовка, либо первая строка сообщения содержали персональный пароль, который центральный сервер выдаёт вам в целях контроля. При существующем сейчас положении вещей Notes, во-первых, не позволяет вставлять пароль в одно из этих полей автоматически (вводить пароль вручную – не самая удачная идея); во-вторых, пароль будет виден остальным пользователям базы.

Адресные книги

Когда рабочая станция Notes работает в сети, набор доступных пользователю Адресных Книг формируется двух частей. В первую часть входят АК, расположенные на рабочей станции и перечисленные в директиве NAMES в файле NOTES.INI. Также в неё входят LDAP-каталоги, описанные в Личной АК (в директиве NAMES она указывается первой) документами типа «Учётная запись».

Вторая часть формируется из Адресных Книг, расположенных на сервере Domino и внешних Адресных Книг, с точки зрения пользователя выглядящих так, как если бы они находились на местном сервере Domino, но фактически расположенных на другом сервере Domino или LDAP. Ваш сервер Domino при обращении пользователя к такой АК автоматически производит обращение к внешнему хранилищу, при необходимости преобразуя данные из формата LDAP в формат Notes.

В зависимости от способа, который используется на сервере Domino для подключения к внешним каталогам (Адресным Книгам), пользователь на рабочей станции получает возможность как просматривать удалённые данные целиком, так и выборочно просматривать данные по маске поиска. Соответственно, в списке Адресных Книг оны будут видны либо под меткой «-адресные книги-», либо под меткой «-допускают поиск-».

В настоящее время серверы Domino в УЦВТ не подключены ни к одному внешнему хранилищу электронного каталога. Если такое подключение потребуется, то у системного администратора Domino будет два инструмента для его организации:

ХарактеристикаDirectory AssistanceDirectory Catalog
Принцип работысквозное обращение: при обращении рабочей станции к серверу Domino сервер обращается к удалённому серверуна сервере Domino создаётся сокращённая промежуточная реплика удалённой АК, периодически заполняемая специальной задачей DIRCAT
Поддерживаемые типы удалённого каталогаDomino и LDAPтолько Domino
Достоинстваоперативность (всегда извлекаются самые свежие данные) и малый размер: на сервере Domino хранятся только настройкивысокая скорость работы и экономия трафика при большом количестве запросов: на сервере Domino хранится промежуточная копия данных

С точки зрения пользователя плюсы и минусы различных способов могут быть сведены в следующую таблицу:

ВозможностьDirectory CatalogАдресная КнигаDirectory Assistance
Поиск учётной записи адресата для отправки почтыДАДАДА
Автодополнение имени при наборе начальных символов («Type ahead»)ДАДАДА
Поиск данных из LDAP-клиента, такого как Outlook или TheBatнетДАДА
Авторизация при обращении из Интернет-клиента, такого как Internet Explorer или TheBatнетДАДА
Поиск учётных записей во внешнем LDAP-хранилище (для адресации почты, авторизации)нетнетДА



[5] Процесс доставки изменений от главного сервера-держателя News-конференции к периферийным и обратно называется «newsfeed».



Хостинг от uCoz