Новые функции и возможности Lotus Domino Designer 7 основаны на более тесной интеграции с развивающимися стандартами Web, увеличении функциональной совместимости с другими стандартами программного обеспечения IBM и упрощении использования приложений разработчиками и пользователями.
В этой лекции мы проиллюстрируем, как новые функции Lotus Domino 7 используются для улучшения приложения ITSO Electronics. Рассмотрим следующие функции:
У разработчиков приложений теперь появилась возможность добавлять действия в меню, выпадающее по нажатии правой кнопки мыши (иначе их называют контекстными) в представлениях и папках. По правому щелчку мыши открывается быстрый доступ к функциям, к которым пользователи обращаются регулярно. Такой способ воздействует на выбранные документы в представлении и технически ничем не отличается от щелчка по кнопке в панели Action. С точки зрения пользовательского интерфейса, эта функция полезна, когда пользователь предпочитает обрабатывать одиночный документ на основе информации, имеющейся в представлении, например при отправке файла в часто используемую папку, удалении или выделении фрагмента текста. Добавление действий в контекстное меню может быть использовано как в качестве альтернативы, так и вместе с действиями в панели Action и меню Action. В контекстное меню могут быть добавлены и новые, и уже существующие действия.
В приложении ITSO Electronics в представлении ).
(рис 4.1) Параметр Include in right mouse button menuПосле щелчка правой кнопкой мыши в представлении появится контекстное меню, в котором будет только что добавленное действие (рис 4.2). Мы также добавили в контекстное меню и другие действия.
(рис 4.2) Действие включено в контекстное менюПри установке Lotus Notes 7 функция не включена по умолчанию. Для ее включения необходимо выбрать соответствующий параметр в Lotus Notes Client User Preferences (Параметры пользователя клиента Lotus Notes).
File => Preference => User Preferences (Файл $$\Rightarrow$$ Параметры $$\Rightarrow$$ Параметры пользователя).AutoSave .ОК.AutoSave производится каждые 15 минут. Интервал выполнения этой операции находится в пределах от 1 до 999 минут.
(рис 4.3) Активация функции AutoSave в User PreferencesПараметры в окне User Preferences соответствуют трем переменным в файле NOTES.INI. Эти переменные приведены в табл. 4.1.
| Переменная | Параметр в User Preference |
|---|---|
AUTO_SAVE_ENABLE=n |
Функция отключена, когда n=0 |
AUTO_SAVE_INTERVAL=<mins> |
<mins> устанавливает временные интервалы между выполнением |
AUTO_SAVE_USER,<Abbreviated User Name>=<Database name relative to data directory> |
Устраняет конфликты имен в базах данных с функцией |
В Lotus Domino Designer использованы преимущества новой функции ). Если функция активирована в клиенте Lotus Notes, ее выполнение каждый раз будет отображаться в строке состояния.
(рис 4.4) Параметр Allow AutoSave в окне свойств FormРазработчикам приложений следует убедиться в том, что функция при активации в формах приложения корректно работает с их приложением. Во многих приложениях Lotus Notes и Domino присутствует код, создающий элементы по событиям Save (Сохранение) и Postsave (Постсохранение) или производящий проверку достоверности в момент загрузки. Из-за того что коды проверки достоверности и события формы не выполняются во время автоматического сохранения документа, автоматически сохраненный документ может не загрузиться после восстановления. Возможно, потребуется добавить код в событие Queryopen, чтобы установить значения по умолчанию для конкретных элементов, чтобы гарантировать правильную загрузку документов после восстановления.
Элемент $AutosaveRecovery можно использовать для работы с восстанавливаемыми документами. $AutosaveRecovery доступен для восстановленных документов до события PostOpen, а после этого события он удаляется. Например, форма может содержать код Queryopen, предотвращающий открытие документа в режиме редактирования, если поле Status не эквивалентно полю Draft. Если пользователь изменил статус на "Public" и произошло автоматическое сохранение, а после этого произошел сбой в работе компьютера, пользователю все еще необходимо открыть этот документ в режиме редактирования, несмотря на то, что значение поля Status кажется некорректным. Обратите внимание на следующий код:
Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant) Dim doc As NotesDocument If Mode And Not Isnewdoc Then Set doc = Source.Document If doc.Status(0) <> "Draft" Then Continue = False Messagebox "Only Draft documents may be edited.", _ MB_ICONSTOP, "Edit Error" End If End If End Sub
Вместо этого можно написать:
If doc.Status(0) <> "Draft" And Not doc.HasItem("$AutosaveRecovered ") Then
Элемент $DontAutosave можно использовать для отключения функции в данном конкретном документе. Функция может быть снова активирована путем удаления $DontAutosave.
Автоматически сохраненные документы могут быть восстановлены либо сразу после загрузки, либо в любое другое время после запуска. При выполнении запуска после сбоя системы или перебоя в питании, после аутентификации пользователю предлагается восстановить несохраненный документ (см. рис 4.5).
(рис 4.5) Предложение восстановить несохраненный документЕсли вы щелкнете по кнопке ).
(рис 4.6) Окно Recover Unsaved DocumentsВ таблица 4.2.
| Вариант | Описание |
|---|---|
Recover (Восстановить) |
Восстановление выбранных документов и удаление их из списка. |
Recover All (Восстановить все) |
Восстановление всех документов и удаление их из списка; в этом случае не нужно подтверждать выполнение операции для каждого элемента |
Remove (Удалить) |
Удаление выбранных документов из базы данных |
Remove All (Удалить Все) |
Удаление всех документов из базы данных |
Если пользователь щелкнул по кнопке No, то восстановление документов, сохраненных автоматически, можно осуществить позже, выбрав File => (Файл $$\Rightarrow$$ Автоматическое сохранение $$\Rightarrow$$ Восстановить документы, сохраненные автоматически). После этого появится окно Recover Unsaved Documents, и пользователь сможет восстановить или удалить документы описанным выше способом.
Документ не может быть восстановлен, если не найдена реплика базы данных документов. Он остается в базе данных "как есть", и позже можно снова его восстановить. Если документ был модифицирован с момента автоматического сохранения, появится соответствующее сообщение и пользователю будет предложено либо переписать документ, используя сохраненный вариант, либо сохранить внесенные изменения. Если пользователь решит восстановить документ, полученный в результате автоматического сохранения, документ будет открыт в Lotus Notes в режиме редактирования. не будет автоматически сохранять документ от лица пользователя после восстановления. Если документ восстановлен из базы данных , он также удаляется из базы данных, что позволяет поддерживать приемлемые размеры базы данных .
Иногда пользователю, редактирующему документ, требуется немедленно его сохранить. Текущий документ можно сохранить в базу данных , выбрав File => (Файл $$\Rightarrow$$ Автоматическое сохранение $$\Rightarrow$$ Выполнить автоматическое сохранение немедленно).
База данных находится в пользовательской директории Data. После создания база данных именует файлы так же, как файлы почты. К названию базы данных добавляется приставка as_. В нашем сценарии у пользователя Manny Santana база данных будет называться: as_msantana.nsf. Если база данных с таким именем уже существует, то к названию будет добавлена цифра 1 и далее, до тех пор, пока не будет создано уникальное имя.
Учитывая особенности присвоения имен в базе данных будут возникать конфликты с такими именами пользователей, как John Doe, Jane Doe, James Doe и т. д. Чтобы быть уверенными в том, что соответствует текущему пользователю, после создания базы данных необходимо проверить пользователя, указанного в файле NOTES.INI:
AUTO_SAVE_USER,<Abbreviated User Name>=<Database name relative to data directory>
В нашем приложении этот элемент будет добавлен к файлу NOTES.INI пользователя Manny Santana:
AUTO_SAVE_USER,Manny Santana/ITOSElectronics=as_msantana.nsf
Когда пользователь запускает Lotus, происходит проверка файла NOTES.INI на наличие элементов, относящихся к базе данных . Если такие элементы найдены, название базы, заданное в элементе, используется в качестве названия базы данных . Если пользователь не обладает доступом к заданной базе данных , он получит сообщение об ошибке и функция будет отключена. Если заданной базы данных не существует, будет создана новая база данных, при этом будет использовано имя, заданное в элементе. Если соответствующий элемент с именем пользователя отсутствует в файле NOTES.INI, то он в нем создается, соответственно создается база данных с учетом правил присвоения имен, описанных выше.
Программа Lotus Domino Designer 7 предоставляет возможность создания общих столбцов, используемых в представлениях и папках. Общий столбец – это отдельный элемент дизайна, однако, будучи вставленным в представление, он становится его частью. Разрабатываемый общий столбец обладает теми же свойствами и внешним видом, что и неотделяемый столбец в представлении и папке. Кроме того, общий столбец обладает специфичными свойствами. В окне свойств ), можно задать название столбца (обязательно), псевдоним (не обязательно) и комментарий (не обязательно).
(рис 4.7) Окно свойств Shared ColumnПредставление или папка, содержащие общий столбец, обратно совместимы для доступа из Всемирной сети и Lotus Notes. Общие столбцы могут быть использованы в DB2 Query View, о чем уже упоминалось в п. 2.3 "Query Views". Общие столбцы, подобно общим полям, не являются многоязычными элементами.
Использование общих столбцов позволяет разработчикам увеличить производительность, за счет создания общих столбцов, вставляемых во множество представлений и папок, находящихся в одной базе данных. То есть нет необходимости в создании одного и того же столбца несколько раз. Благодаря этой новой функции можно распространять изменения на все представления, используя один и тот же столбец.
Чтобы создать новый общий столбец, выберите Column в меню Shared Code. Щелкните по кнопке New Shared Column (Создать общий столбец) или выберите Create => Design => Shared Column (Создать $$\Rightarrow$$ Разработка $$\Rightarrow$$ общий столбец). Также можно копировать и вставлять существующий разрабатываемый общий столбец.
Чтобы создать новый общий столбец, основываясь на разработке существующего столбца в представлении, откройте представление, выделите столбец, затем выберите ).
(рис 4.8) Использование контекстного меню для создания нового общего столбцаПосле этого появится окно, в котором надо ввести название нового общего столбца (см. рис 4.9). В результате будет создан новый общий столбец, а текущий столбец останется без изменений. Существующий столбец полностью независим от только что созданного общего столбца, поэтому если пользователю захочется унаследовать изменения дизайна из нового общего столбца, ему необходимо удалить существующий столбец в представлении и вставить новый общий столбец, чтобы заменить тот неотделяемый столбец.
(рис 4.9) Присвоение имени новому общему столбцуВ приложении ITSO Electronics существует представление "Sales People By Name", в котором есть столбец Sales Person (Торговый агент). Нам необходимо отобразить такую же информацию в представлении "Sales People By Number". Следовательно, столбец Sales Person будет использован для создания нового общего столбца, который мы назовем Sales Person. Представления, в которых использованы общие столбцы, могут быть открыты в предыдущих версиях клиента Lotus Notes.
Для использования общего столбца в представлении откройте представление и выберите ). Отметьте галочкой опцию Use Formula Only (Использовать только язык формул), если хотите заменить свойства отображения колонки, такие как шрифт и расположение колонки в представлении.
Не выбирайте этот параметр, если хотите зафиксировать свойства отображения. (Программное имя) (в окне Properties => закладка Advanced ) вставленного/присоединенного столбца не наследуется из общего столбца, вне зависимости от параметра опции Use Formula Only ; следовательно, это значение всегда может быть изменено. Тем не менее, значение столбца (формула) не может быть изменено.
(рис 4.10) Окно Insert Shared ColumnЧтобы использовать общий столбец представлено обновленное представление со вставленным общим столбцом.
(рис 4.11) Обновленное представление Sales People By Number со вставленным общим столбцом Sales PersonДля изменения дизайна общего столбца откройте список общих столбцов, щелкнув . Обновленные представления повторно сохраняются, используя ID текущего пользователя, к тому же в представлениях, использующих опцию Use Formula Only (Использовать только формулу), обновляется только формула.
(рис 4.12) Сохранение общего столбцаЧтобы удалить общие столбцы, выделите нужный столбец в списке общих столбцов и выберите ). После того как будет удален общий столбец, он станет неотделяемым столбцом во всех представлениях, его содержащих.
(рис 4.13) Удаление общего столбцаЩелкнув по командной кнопке .
(рис 4.14) Информационное окно, отображающее все представления, использующие этот столбец
Свойство столбца, называемое ).
(рис 4.15) Свойство столбца "User-definable"Мы хотим улучшить приложение ITSO Electronics с помощью добавления столбца, показывающего регион, выбранный в этом месяце, а также указывающего на то, относится ли документ к текущему пользователю. Иконка в виде звезды отображается в том случае, если данный регион выбран в текущем месяце. Синяя стрелка указывает на то, что данный документ относится к текущему пользователю. В противном случае в этом столбце ничего не отображается. Перед добавлением столбца профиля пользователя мы предполагаем, что приложение содержит профильный документ, который называется SalesProfile. Для столбца профиля пользователя может быть использован только один "общий" профильный документ; следовательно, при создании профильного документа дополнительный параметр uniquekey не используется. За более подробной информацией о профильных документах обратитесь к статье IBM developerWorks $$\text{\textregistered}$$ "The hidden power of Profile documents"
по адресу: http://www.ibm.com/developerworks/lotus/library/ls-Profile_documents/
Для того чтобы добавить новый столбец профиля пользователя в представление "Sales Person By Name" приложения ITSO Electronics, сделайте следующее:
Create => Insert new column (Создать $$\Rightarrow$$ Вставить новый столбец).Display values as icon (Отображать значения в виде иконок), так как столбец профиля пользователя будет отображать иконку, которая соответствует региону, выбранному в текущем месяце, или индикатор, показывающий отношение к текущему пользователю.User definable (Определяемая пользователем).SalesProfile в поле Profile Document.@UserName в качестве формулы значения столбца ( Column Value ).@Username, @Created или @Random. В качестве формулы значения столбца можно использовать любую непостоянную формулу, так как ее значение не вычисляется. Если использована постоянная формула, такая как "", или специальная текстовая функция, такая как @DocNumber, профильный столбец пользователя не будет отображаться корректно, и для каждого документа в представлении появится сообщение Replication or Save Conflict (Конфликт репликации или конфликт сохранения).
(рис 4.16) Определение столбца профиля пользователяКонечный пользователь, редактирующий профильный документ, в большинстве случаев не сможет написать эту формулу. Вычисляемое поле, содержащее формулу, а в нашем случае это представлен дизайн формы SalesProfile и показано значение поля в поле $ToRegion, которое генерирует значение формулы.
(рис 4.18) Форма SalesProfile в Domino DesignerSalesProfile. Введите значения в поля RegionSelection и HighlightUser. Формула поля $ToRegion вычисляет новую формулу, которая будет использована для столбца, определяемого пользователем. Например, если выбран регион South East и отмечена галочкой опция Highlight User, значение формулы $ToRegion будет следующим:@If(SName = @Username; 111; SRegion = "South East"; 159; 0)
(рис 4.19) Профильный документ SalesProfileОпция, выбранная пользователем, будет доступна всегда, а не только когда выбрано ).
(рис 4.20) Сообщение об ошибке, касающееся столбца профиля пользователяПосле того как представление будет сохранено, столбец профиля пользователя появится в представлении Sales People By Name (рис 4.21).
(рис 4.21) Столбец профиля пользователя, отображающий иконки в представлении@ReplaceSubstring(название поля; "\\":"\"; "\\\\"; "\\\"") для преобразования этих символов в правильные строковые литералы.Язык формул Lotus Notes обновлен в Domino Designer 7. Новые @-функции внедрены как для поддержки интеграции IBM DB2 и IBM
К новым командам относятся следующие:
@AdminECLIsLocked: новая функция, которая проверяет текущий статус Administration @DB2Schema: функция, которая по заданному в виде текстовой строки названию базы данных возвращает текстовую строку, содержащую схему DB2 заданной базы данных, если это база данных db2nsf, или же пустую строку, если это база данных не db2nsf. Эта функция полезна в формуле @DB2Schema, а не название жестко закодированной схемы, чтобы дизайн можно было переносить на другие серверы и приложения.@IsDB2: новая функция, которая по заданному серверу и имени файла или серверу и @IsEmbeddedInsideWCT: новая функция, которая определяет, встроена ли какая-либо часть текущей сессии Notes в клиент @PolicyIsFieldLocked: новая функция, которая определяет, когда поле заблокировано административной политикой и не может быть изменено.@Command([DiscoverFolders]): команда, отображающая окно Folders containing current document (Папки содержащие текущий документ).@IfError вышла из употребления в Lotus Domino Designer 7.0, однако она полностью совместима с предыдущими версиями.Для получения дополнительной информации об этих новых функциях и командах см. Lotus Domino Designer 7 Help по адресу: http://www.lotus.com/ldd/doc/domino_notes/7.0/help7_designer.nsf.
К языку LotusScript были добавлены улучшенные возможности:
Для получения дополнительной информации об обновлениях в языке LotusScript в Lotus Domino Designer 7 перейдите к Lotus Domino Designer 7 Help по адресу: http://www.lotus.com/ldd/doc/domino_notes/7.0/help7_designer.nsf
Программное обеспечение Lotus Domino Designer 7 поддерживает новые версии Java,
К Lotus Domino Designer 7 добавлены следующие средства и функции:
Для получения дополнительной информации о поддержке Java и CORBA в Lotus Domino Designer 7 перейдите к Lotus Domino Designer 7 Help по адресу: http://www.lotus.com/ldd/doc/domino_notes/7.0/help7_designer.nsf
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.