Предисловие
Точка зрения
Целевая аудитория
О чем эта книга
Организация книги
Web-сайт книги
Поддерживаемые продукты
Комментарии
Благодарности
Об авторе

Глава 1. Введение в Lotus Domino Tool Suite
Обзор главы
Обзор продуктов
..Клиент Lotus Notes
..Domino Designer
..Domino Administrator
..Сервер Domino
Сервер Domino Messaging
Сервер Domino Utility
Сервер Domino Enterprise
Ссылки на developerWorks

Глава 2. Domino Designer: приступаем к работе
Обзор главы
Установка клиента Designer
..Поддерживаемые платформы Microsoft Windows
..Требования к оперативной памяти
..Требования к дисковому пространству
Запуск клиента Domino Designer
..Первый опыт использования клиента Designer
Создание первой базы данных Notes
Ссылки на developerWorks

Глава 3. Навигация по рабочему пространству Domino Designer
Обзор главы
Введение в Designer
Панель дизайна
Рабочая панель
Панель объектов
Панель программирования
Панель действий
Вкладки для упрощения разработки
Механизм выбора языка
Механизм выбора клиента и браузера
Строка состояния
Диалоговое окно свойств
Ссылки на developerWorks

Глава 4. Элементы дизайна Domino
Обзор главы
Компоненты баз данных Notes
Именование элементов дизайна
Работа с формами
..Создание формы
..Копирование формы
..Скрытые формы
Работа с полями
..Работа с keyword-полями
..Поле Authors
..Поле Checkbox
..Поле Color
..Поле Combobox
..Поле Date/Time
..Поле Dialog List
..Поле Formula
..Поле Listbox
..Поле Names
..Поле Number
..Поле Password
..Поле Radio Button
..Поле Readers
..Поле Rich Text
..Поле Rich Text Lite
..Поле Text
..Поле Time Zone
..Установка режима поля (редактируемое или вычисляемое)
..Сокрытие объектов
..Порядок обработки полей
..Задание типа формы
Работа с областями раскладки
..Создание области раскладки
Работа с разделами
..Создание стандартного раздела
..Редактирование раздела
..Управляемые разделы
..Создание управляемого раздела
Работа с кнопками
..Создание кнопки в панели действий
..Создание hotspot-кнопки
..Создание активной области действия
..Общераспространенные кнопки
Работа с представлениями
..Скрытые представления
..Создание представления, имеющего стандартную схему
..Создание представления-календаря
Работа с меню приложения
Работа с папками
..Создание папки
Работа с наборами фреймов
Работа со страницами
..Создание страницы
Работа с разделяемым кодом
..Агенты
..Web-службы
..Схемы
..Субформы
..Поля
..Столбцы
..Действия
..Библиотеки сценариев
Работа с разделяемыми ресурсами
..Изображения
..Файлы
..Апплеты
..Таблицы стилей
..Подключения к базам данных
..Работа с прочими элементами
..Пиктограмма
..Документ «Using This Database»
..Документ «About This Database»
..Сценарии базы данных
..Навигаторы
..Синопсис
Работа с событиями
Ссылки на developerWorks

Глава 5. Введение в язык формул
Обзор главы
Что такое язык формул?
Работа с переменными
Ключевые слова языка формул
Работа с операторами
Основные правила синтаксиса
Что такое функции и команды?
Что такое команды?
Работа с текстовыми строками
Работа с условными операторами
Организация циклов
Работа с функциями просмотра
Работа с датами
Работа со списками
Организация запросов ввода
Отладка в языке формул
Ссылки на developerWorks

Глава 6. Введение в язык LotusScript
Обзор главы
Введение в объектно-ориентированное программирование
Классы LotusScript
Ключевые слова
Переменные
Константы
Операторы
Комментарии
Объявление переменных и констант
Объявление переменных со ссылками на объекты
Работа с условными операторами
Организация циклов
Взаимодействие с пользователем
..Оператор Messagebox
..Оператор Print
..Оператор Inputbox
..Оператор Dialogbox
Работа с массивами
Применение языка формул в коде на языке LotusScript
Компиляция кода на языке LotusScript
Ссылки на developerWorks

Глава 7. Основы построения приложений для Lotus Notes
Обзор главы
Пять основных типов приложений
Жизненный цикл разработки программных средств
Элементы плана проекта
Элементы расписания проекта
Вопросы, которые требуется задать, проектируя базу данных
Разработка приложения для Lotus Notes
Проект: Создание базы данных для отслеживания Web-сайтов
..Шаг 1: Создание базы данных
..Шаг 2: Создание формы и добавление полей
..Шаг 3: Создание представления
..Шаг 4: Создание библиотеки сценариев
..Шаг 5: Размещение кнопок на форме
....Создание кнопки Edit
....Создание кнопки Save
....Создание кнопки Close
....Создание кнопки Launch Site
....Добавление проверки полей
..Шаг 6: Размещение кнопок на представлении
....Создание кнопки New Site
....Создание кнопки Launch Site
..Шаг 7: Организация навигации
....Создание схемы
....Создание страницы
....Создание набора фреймов
....Активизация набора фреймов
..Шаг 8: Создание экрана приветствия и справочных документов
..Шаг 9: Изменение пиктограммы
..Шаг 10: Настройка механизмов защиты
Ссылки на developerWorks

Глава 8. Приложения-календари
Обзор главы
Архитектура приложения
Координация повторяющихся событий при помощи одного документа
..Повторяющееся событие в единственном документе
Координация повторяющихся событий при помощи множества документов
Проект A: Создание календаря событий
..Создание базы данных
..Создание формы встречи
..Описание полей
..Определение объектов и свойств формы
..Событие QuerySave
..Свойства формы
..Создание календарного представления
..Описание столбцов
..Определение объектов и свойств представления
..Добавление кнопок действия в представление
Проект B: Построение системы бронирования конференц-зала
..Создание базы данных
..Создание формы встречи
..Заголовок окна
..Создание формы повторения элементов
..Создание библиотеки сценариев Repeat Calendar Event
..Объявления
..Подготовка к работе
..Повторение ежедневно
..Повторение еженедельно
..Повторение ежемесячно (по дням)
..Повторение ежемесячно (по числам)
..Повторение в определенные даты
..Обработка повторяющихся событий
..Отображение диалога параметров повторения
..Создание повторяющихся элементов календаря
..Проверка правильности полей
..Определение объектов и свойств формы встречи
..QuerySave
..QueryClose
..Добавление кнопок действия в форму встречи
....Кнопка Repeat
....Кнопка Submit
..Создание календарного представления
..Описание столбцов
..Определение объектов и свойств представления
..Событие RegionDoubleClick
..Событие QueryPaste
..Добавление кнопки действия в представление
..Обеспечение безопасности
Ссылки на developerWorks

Глава 9. Приложения для коллективной работы
Обзор главы
Приложения для коллективной работы
Проект A: Создание дискуссионного форума
..Архитектура приложения
..Создание базы данных
..Определение ролей
..Создание библиотеки сценариев дискуссионного форума
....Функция CheckFieldValues
....Подпрограмма SendNotice
....Подпрограмма SendNewPostings
....Функция FoundElement
....Функция SaveForm
....Подпрограмма CloseForm
..Создание разделяемых кнопок действия
....Кнопка New Topic
....Кнопка Reply
....Кнопка New Category
....Кнопка Subscribe
....Кнопка Submit
..Создание субформы с полями форума
..Создание формы новой темы дискуссии
....Определение объектов и свойств формы
....Событие QuerySave
....Событие QueryClose
..Создание формы отклика
..Создание формы отклика на отклик
..Создание формы категории форума
..Создание формы подписки форума
..Определение полномочий обновления подписки
..Создание представления By Topic
....Формула выборки представления
....Кнопки действия
..Создание представления By Category
..Создание представления By Author
....Кнопки действия
..Создание административного представления Subscriptions
....Кнопки действия
..Создание административного представления Categories
....Кнопки действия
..Создание административного представления Email Queue
..Создание почтового периодического агента
..LotusScript-процедура агента
..Обеспечение безопасности
Проект B: Создание журнала контроля проекта
..Архитектура приложения
..Создание базы данных
..Создание разделяемых кнопок действия
....Кнопка Edit
....Кнопка Save
....Кнопка Close
....Кнопка Attach File
....Кнопка Action Item
..Создание общих полей
..Создание формы собрания
..Создание формы проектного документа
..Создание формы единицы работы
..Создание формы члена команды
..Создание представления Meetings
....Формула выборки представления
..Создание представления Documents By Category
..Создание представления Documents By Date
..Создание представления Action Items By Date
..Создание представления Action Items By Person
..Создание представления Late Action Items
..Создание представления Team Member
....Кнопка действия
..Обеспечение безопасности
Ссылки на developerWorks

Глава 10. Библиотеки справочной информации
Обзор главы
Приложения-библиотеки
Проект: Построение базы данных с документами-подключениями
..Архитектура
..Создание базы данных
..Определение ролей
..Создание формы подключения к серверу
..Событие QuerySave
....Кнопка Edit
....Кнопка Save
....Кнопка Close
....Кнопка Query Server
..Создание формы памятки
..Создание кнопки Send
..Создание кнопки Cancel
..Создание кнопки Import Connection
..Обновление свойств формы
..Создание представления Servers
..Создание кнопки New Connection
..Создание кнопки Send Connection
..Создание кнопки Refresh Connections
..Обеспечение безопасности
Проект B: Построение генератора электронных таблиц
..Архитектура
..Создание базы данных
..Создание библиотеки сценариев Spreadsheet
..Объявления
..Подпрограмма Initialize
..Подпрограмма PromptUser
..Подпрограмма GenerateReport
..Подпрограмма CreateSpreadsheet
..Функция RemoveString
..Подпрограмма SendReport
..Создание общей кнопки Generate Report
..Создание формы контакта
..Создание представления Contacts

Глава 11. Приложения для управления потоком работ
Обзор главы
Что такое «приложение для управления потоком работ»?
Проект: Построение базы данных для управления потоком работ
Архитектура
..Формы
..Зоны ответственности и роли
..Почтовые уведомления
..Представления
..Настройка
..Создание базы данных
..Определение ролей
..Создание библиотеки сценариев Workflow
..Объявления
..Подпрограмма Initialize
..Подпрограмма ChangeStatus
..Функция CheckFieldValues
..Функция CheckMsgFieldValues
..Подпрограмма CheckEditMode
..Подпрограмма SendNotice
..Функция ReplaceElement
..Создание формы запроса
..Создание меток
..Создание полей
..Создание управляемого раздела
..Определение директив
..Заголовок окна
..Событие QuerySave
..Создание кнопки Close
..Создание кнопки Submit
..Создание кнопки Approved
..Создание кнопки Denied
..Создание кнопки In Process
..Создание кнопки Complete
..Создание кнопки Withdraw
..Создание формы сообщения
..Создание управляемого раздела
..Определение директив
..Событие QuerySave
..Создание формы системного профиля
..Создание управляемого раздела
..Создание представления By Number
..Критерий выборки представления
..Событие QueryPaste
..Создание представления By Status
..Создание представления By Author
..Создание представления Work Queues\Approvers
..Создание представления Work Queues\Procurement
..Создание представления Admin\Messages
..Событие QueryPaste
..Создание представления Admin\System Profile
..Событие QueryPaste
..Создание представления Request Number
..Обеспечение безопасности приложения
..Настройка конфигурации приложения
..Формирование почтовых сообщений
..Создание системного профиля
..Дополнительная настройка
..Ссылки на developerWorks

Глава 12. Web-приложения
Обзор главы
Что такое Web-приложения?
Проект: Создание Web-сайта для БД Domino
..Создание базы данных
..Создание библиотеки сценариев Website
..Объявления
..Подпрограмма Initialize
..Подпрограмма SaveWebOutput
..Подпрограмма AssignTrackingNumber
..Создание агента wSaveDocAgent
..Раздел (Options)
..Раздел Initialize
..Создание разделяемых полей данных
..Создание субформы wMenuTop
..Создание скрытых полей
..Создание Web-страницы
..Создание субформы wMenuBottom
..Создание субформы wNextPrevTop
..Создание активной области Previous
..Создание активной области Next
..Создание активной области Expand All
..Создание активной области Collapse All
..Создание активной области Help
..Создание субформы wNextPrevBottom
..Создание формы $$NavigatorTemplate for MainNav
..Добавление верхней субформы с HTML-кодом
..Добавление текста приветствия
..Добавление нижней субформы с HTML-кодом
..Определение атрибутов тела HTML-документа
..Определение свойств формы
..Создание формы $$ViewTemplateDefault
..Добавление верхней субформы с кнопками
..Создание поля $$ViewBody
..Добавление нижней субформы с кнопками
..Добавление нижней субформы меню
..Создание формы актива
..Создание кнопок на Web-странице
..Создание кнопки Edit
..Создание кнопки Save
..Создание кнопки Home
..Создание кнопки Help
..Установка параметров «Global (Options)»
..Обновление заголовочного HTML-объекта Content
..Обновление события WebQuerySave
..Обновление события QuerySave
..Создание представления By View1
..Критерий выборки представления
..Создание представления By View2
..Создание представления RecordNo
..Импорт графических иллюстраций
..Создание навигатора MainNav
..Организации навигации в клиенте для Lotus Notes
..Создание схемы
..Создание страницы
..Создание набора фреймов
..Определение свойств базы данных по умолчанию
..Обновление документа «Using This Database»
..Обеспечение безопасности
..Организация анонимного доступа
..Аутентификация Domino
..Аутентификация Windows NT
Устранение проблем
Ссылки на developerWorks

Глава 13. Расширения дизайна, использующие LotusScript
Обзор главы
Изготавливаемые на заказ функции и подпрограммы LotusScript
Сравнение двух дат
..Реализация – пример 1
..Реализация – пример 2
Проверка элемента массива
Замена элемента массива
Удаление символа из строки
Удаление элемента из массива
Сравнение двух массивов
Работа с динамическими массивами
Создание заказного всплывающего диалогового окна
Обновление документа из пользовательского интерфейса
Поиск документа
..Реализация – пример 1
..Реализация – пример 2
..Реализация – пример 3
..Реализация – пример 4
Работа с датами и временем
..Реализация – пример 1
..Реализация – пример 2
..Реализация – пример 3
..Реализация – пример 4
Вычисление дня недели
Ссылки на поля «$»
..Реализация – пример 1
..Реализация – пример 2
..Как установить «ReturnReceipt» для сгенерированной LotusScript электронной почты
Добавить к форме проверку правильности поля
Отображение сообщения «Are you sure?»
..Реализация – пример 1
..Реализация – пример 2
Форматирование имени пользователя
..Реализация – пример 1
..Реализация – пример 2
..Реализация – пример 3
Автоматическое обновление поля хронологии при изменении документа
Предложите пользователю описать изменения документа и обновить журнал «xронологии»
..Реализация
Создание уникального номера документа
..Опция A – только числовые
..Опция B – алфавитно-цифровые
Ограничение возможности создавать документы в локальной базе данных
Как дополнить нулями заданное в текстовом виде число
Добавление текстовой информации к объекту Rich Text
Прикрепление файла к объекту Rich Text
Форматирование текстов в объектах Rich Text
Перевод документа в режим редактирования
Получение ролей, назначенных в настоящее время пользователю
..Реализация – пример 1
..Реализация – пример 2
Генерация документа в другой базе данных
Генерация нового документа на основании существующего документа
Подсказка-приглашение в LotusScript
..Реализация – статический пример
..Реализация – динамический пример
Отправка электронной почты нескольким получателям с использованием LotusScript
..Реализация – пример статического массива
..Реализация – пример динамического массива
Добавление к электронной почте пиктограммы представления и графических пометок
Прочитать и обновить переменные NOTES.INI
Присвоение одного объекта Rich Text другому объекту Rich Text
Добавление к полю Rich Text ссылки на документ, представление или базу
данных
..Отыскание неисправностей
Создание кнопки для добавления календарных событий
..Как это работает
..Реализация
Ссылки на developerWorks

Глава 14. Расширение дизайна с использованием языка формул
Обзор главы
Расширения языка формул
Сравнение двух списков
..Реализация – пример 1
..Реализация – пример 2
Раскройте и сверните все разделы документа
Раскройте и сверните все категории представлений
Получение текущего дня недели
Получение текущего месяца года
Создание форматированной строки даты
Создание кнопки Attach File
Отображение диалога средства поиска файлов Windows
Создание нового документа
Создание поля «Last Updated By»
Создание отметки даты «Last modified On»
Форматирование имени пользователя
..Реализация – пример 1
..Реализация – пример 2
Сокрытие текста и элементов дизайна на основании роли пользователя
Работа с @DBColumn
Работа с @DBLookup
Разбор текстовой строки
..Реализация – пример 1
..Реализация – пример 2
..Реализация – пример 3
Форматирование значений полей с использованием «Input Translation»
..Пример 1
..Пример 2
..Пример 3
..Пример 4
Добавление проверки правильности поля
..Реализация – пример 1
..Реализация – пример 2
Вывод на экран предупреждающего сообщения «Are you sure?»
Генерирование сообщения электронной почты с использованием языка
формул
..Реализация – пример 1
..Реализация – пример 2
Сортировка списка значений

Глава 15. Расширение представлений
Обзор главы
Расширения представлений
Создание нового документа по двойному щелчку по дате в календаре
Показ документов в представлении по году и месяцу
Покажите в представлении пиктограмму
Поиск всех представлений в базе данных
Поиск всех столбцов в представлении
Поиск всех столбцов для каждого представления в базе данных
Разрешение конфликта документов
..Реализация – подход 1 – ведение мониторинга конфликтов
..Реализация – подход 2 – слияние конфликтов тиражирования
..Реализация – подход 3 – блокировка документов
Покажите все документы по именам форм
Отключите возможности вставлять документы в представление
Ссылки на developerWorks

Глава 16. Типовые агенты
Обзор главы
Расширения агента
Агент на языке Simple action для изменения всех документов
Агент LotusScript для изменения всех документов, содержащих в поле
определенное значение
Агент для ручной генерации отчета электронной почты
Запланируйте агент для ежедневной, еженедельной или ежемесячной
отправки отчета по электронной почте
Ссылки на developerWorks

Глава 17. Различные усовершенствования и советы для баз данных Domino
Обзор главы
Различные усовершенствования
Отключите возможность печатать, копировать, отсекать и переадресовывать
документы
..Пример реализации 1
..Пример реализации 2
Использование в форме полей подсказок
Использование статических всплывающих окон для вывода справочного
сообщения
Как наследовать поля между формами
Добавьте пиктограмму к кнопке действия
Создайте заказной интерфейс приложения
Как задать порядок полей при обходе формы с помощью клавиши табуляции
Клавиши быстрого выбора команд Domino

Глава 18. Управление данными
Обзор главы
Импортирование данных
Экспорт данных
Мигрирующие данные
Создание таблиц
Изменение данных с использованием агента LotusScript
Архивирование данных с использованием агента
Обновление всех документов

Глава 19. Безопасность
Обзор главы
Основные принципы Access Control List
..Человек, группа и сервер
..Тип пользователя
..Уровни доступа
..Роли доступа
Управление доступом к базе данных
..Установка используемого по умолчанию доступа
..Добавление пользователей в ACL
..Добавление групп в ACL
..Создание ролей доступа
Как принудительно ввести согласованные параметры настройки ACL
для разных реплик
Зашифруйте базу данных
Управление доступом к представлениям
Управление доступом к формам и документам
..Ограничьте видимость документа
..Ограничьте возможность редактировать документ
Управление доступом к полям
..Ограничение доступа к отдельному полю
..Ограничение доступа к группе полей
Управление доступом к исходному тексту
Сокрытие структуры базы данных
Сокрытие библиотеки LotusScript
Как «подписать» базу данных
Как перекрестно сертифицировать серверы Domino
Ссылки на developerWorks

Глава 20. Развертывание и обслуживание приложений
Обзор главы
Что такое шаблоны?
..Шаблоны базы данных
..Создание шаблона базы данных
..Создайте новый шаблон
..Создайте шаблон из существующей базы данных
..Главные шаблоны дизайна
..Первая часть: создание главного шаблона дизайна
..Вторая часть: использование главного шаблона дизайна
Создание среды разработки
..База данных разработки
..База данных проверки качества
..Промышленная база данных
..Создание многокаскадной среды разработки
Миграция проекта базы данных
..Обновление проекта базы данных
..Замена проекта базы данных
..Автоматически наследуйте проект базы данных
Сохраните копию проекта базы данных
Развертывание промышленной базы данных
..Создайте кнопку инсталляции базы данных
..Создайте кнопку документа-подключения к серверу
Важность резервного копирования базы данных
Синопсис процесса
Ссылки на developerWorks

Глава 21. Диагностика неисправностей
Обзор главы
Поиск неисправностей в LotusScript
..Управление ошибками этапа компиляции
..Управление ошибками времени выполнения программы
..Как справиться с логическими ошибками
Отыскание неисправностей в агентах
..Работа с журналом агента
..Работа с отладчиком
..Работа с сообщениями-подсказками
..Работа с журналом Domino Server
..Работа с консолью сервера Domino
Общие проблемы баз данных
..Вариант не содержит объекта (Variant Does Not Contain an Object)
..Недопустимое циклическое использование (Illegal Circular Use)
..Не в состоянии найти путь к серверу (Unable to Find Path to Server)
..Не работает ссылка на документ или базу данных
..Дизайн базы не обновляется
Где найти дополнительную помощь
..Использование синопсиса базы данных
..Дискуссионные форумы и Web-сайты
Ссылки на developerWorks

Приложение А. Файлы проекта и демонстрационные online-приложения
Об оперативных материалах
О сопроводительном Web-сайте
..Станьте зарегистрированным пользователем сопроводительного Web-сайта
..Зарегистрируйте книгу и загрузите комплект инструментов разработчика
О комплекте инструментов разработчика
О папке «Chapter 07 Fundamentals Project»
О папке «Chapter 08 Calendar Project»
О папке «Chapter 09 Collaboration Project»
О папке «Chapter 10 Reference Library Project»
О папке «Chapter 11 Workflow Project»
О папке «Chapter 12 Web Site Project»
О папке «Chapter 18 Data Management»
О папке «Development Tools and Files»
Инсталляция базы данных Notes

Приложение Б. IBM® Lotus® Notes® и Domino® – что дальше?
Связанные с разработчиком расширения
Что такое композитное приложение?
..Преимущества для заказчиков Lotus Notes и Domino
..Преимущества для программистов Lotus Notes и Domino
Инструментальные средства разработки композитных приложений
..IBM Lotus Domino Designer
..IBM Workplace Designer
..IBM Application Editor Tool
..Composite Application Editor
..Связывание компонентов
..Библиотека шаблонов
..Библиотека приложений
Повышение экономической эффективности работы на будущее
Предметный указатель