Исходники.Ру - Программирование
Исходники
Статьи
Книги и учебники
Скрипты
Новости RSS
Магазин программиста

Главная » Статьи по программированию » .NET - Все статьи »

Обсудить на форуме Обсудить на форуме

Что нового в смарт-тэгах Office 2003
В этой статье рассказывается об усовершенствованиях смарт-тэгов в Microsoft Office 2003 Beta 1, призванных облегчить разработку смарт-тэгов и устранить некоторые ограничения, присущие смарт-тэгам Microsoft Office XP.

Аннотация

В этой статье рассказывается об усовершенствованиях смарт-тэгов в Microsoft Office 2003 Beta 1, призванных облегчить разработку смарт-тэгов и устранить некоторые ограничения, присущие смарт-тэгам Microsoft Office XP.

Примечание

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

Введение

Смарт-тэги впервые были введены в Microsoft® Office XP (с большой помпой), поскольку они представляли собой инновационную технологию, способную расширить информационное наполнение документов Microsoft Office и сделать их более интерактивными. Вспомните, как часто вам приходилось набивать коды покупателей и заказов, номера счетов и другие данные, используемые в вашей компании? Раньше без смарт-тэгов вся эта информация просто хранилась в документе в виде статического текста. А новая технология позволяет связывать релевантную информацию с другими ресурсами, откуда можно получить дополнительные данные, что удобно при создании документа. Или, что еще удобнее, полученные таким образом данные вставлять прямо в редактируемый документ.

За два прошедших с тех пор года мне довелось видеть массу реализаций смарт-тэгов. Среди них мне особенно запомнились два варианта.

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

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

Тем не менее редкая новая технология обходится без ограничений, и смарт-тэги здесь не исключение. Большинству инновационных технологий требуется время на "дозревание" и адаптацию под потребности клиентов, которые весьма разнообразны. Microsoft внесла в Office 2003 множество предложенных клиентами улучшений, чтобы увеличить потенциал технологии смарт-тэгов. В совокупности эти усовершенствования преследуют три цели:

  • облегчение разработки смарт-тэгов;
  • упрощение их развертывания;
  • устранение текущих ограничений инфраструктуры смарт-тэгов;

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

Если вы - новичок в смарт-тэгах или давно с ними не работали, рекомендую прочитать следующие статьи:

Важнейшие новинки

Для начала имейте в виду, что в Office 2003 произошло несколько интересных перемен. Во-первых, приложений, поддерживающих смарт-тэги, стало больше. В Office XP смарт-тэги работали в Word, Excel, Microsoft Outlook® (при условии, что редактором сообщений выбран Word) и Microsoft Internet Explorer (в нем поддерживались только действия, но не распознаватели). В Office 2003 поддержка смарт-тэгов добавлена в Microsoft PowerPoint® и Microsoft Access; дополнительные сведения о поддержке смарт-тэгов в Access 2003 см. в статье Microsoft Access 2003 Beta 1 Preview.

Особенно меня впечатлили смарт-тэги в PowerPoint. Это приложение - одно из тех, которыми пользуются повседневно, но которые редко попадают в поле зрения разработчиков. Автоматизация PowerPoint выгодна корпорациям, в деятельности которых презентации играют ключевую роль, особенно в демонстрации товара. Корпорации, верно оценившие значение технических средств для своего бизнеса, уже вложили средства в инструменты для подготовки презентаций с VBA Automation (Microsoft Visual Basic® for Application), позволяющей оперативно создавать презентации. Но смарт-тэгам предстоит еще долго совершенствоваться в предоставлении доступа к полезной информации из презентаций в процессе их создания.

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

В дополнение к поддержке новых приложений библиотека API-функций смарт-тэгов содержит новые интерфейсы с новыми возможностями. Называется эта библиотека Microsoft Smart Tags 2.0 Type Library и поддерживает обратную совместимость. Это означает, что для разработки смарт-тэгов для Office XP и Office 2003 можно пользоваться одной DLL. Естественно, в Office XP новые функции работать не будут, но так по крайней мере удастся охватить клиентов, использующих обе версии Office.

Как же достигается обратная совместимость? В Office XP для этого требуются следующие интерфейсы, определенные в Microsoft Smart Tag 1.0 Type Library:

Implements ISmartTagRecognizer
Implements ISmartTagAction

В новой библиотеке типов эти интерфейсы останутся без изменений. Чтобы задействовать новую функциональность Office 2003, добавьте к своей DLL следующие интерфейсы:

Implements ISmartTagRecognizer2
Implements ISmartTagAction2

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

  • SmartTagInitialize - новый инициализирующий метод, исполняется перед обработкой любых событий; позволяет перехватывать имя приложения, вызывающего смарт-тэг.
  • Recognize2 - новая версия метода recognize, упрощает идентификацию распознаваемого текста.
  • PropertyPage - позволяет отображать нестандартное диалоговое окно для настройки смарт-тэгов. Это свойство сообщает вызывающему приложению, что ваш смарт-тэг поддерживает настройку.
  • DisplayPropertyPage - этот метод вызывается, когда пользователь запрашивает настройку вашего смарт-тэга.
  • Ниже перечислены члены ISmartTagAction2.
  • SmartTagInitialize - аналогичен методу SmartTagInitialize для распознавателя, отличается тем, что обрабатывает класс действия (action class).
  • ShowSmartTagIndicator - значение типа Boolean, указывает, отображается ли индикатор смарт-тэга (подчеркиванием).
  • IsCaptionDynamic - значение типа Boolean, указывает, является ли заголовок элемента меню смарт-тэга динамическим. Если да, то при каждом отображении меню вызывается метод SmartTagInitialize.
  • VerbCaptionFromID2 - текст заголовка элемента меню действий.
  • InvokeVerb2 - аналогичен методу InvokeVerb предыдущего интерфейса, отличается тем, что передает идентификатор региональных настроек (locale ID, LCID).

Каскадные меню

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

Рис. 1. Каскадное меню смарт-тэга в Office 2003

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

ISmartTagAction2_VerbCaptionFromID2 = "Create an Order"

Если разделить несколько заголовков тройным слэшем (///), например так:

ISmartTagAction2_VerbCaptionFromID2 = "Orders///Create an Order"

в результате получится смарт-тэг с меню верхнего уровня "Orders" и вложенным меню "Create an Order". Вложенность элементов меню может достигать нескольких уровней (рис. 1).

Следующий код демонстрирует создание каскадного меню, показанного на рис. 1:

Private Property Get ISmartTagAction2_VerbCaptionFromID2(...)
    Dim sCaption as String
    Select Case VerbID
        Case 1
            sCaption = "Orders///Create an Order"
        Case 2
            sCaption = "Orders///View Open Orders"
        Case 3
            sCaption = "Orders///View Shipped Orders///Last 90 days"
        Case 4
            sCaption = "Orders///View Shipped Orders///Last 150 days"
        Case 5
            sCaption = "Orders///View Shipped Orders///Last 365 days"
    End Select
    ISmartTagAction2_VerbCaptionFromID2 = sCaption
End Property

Динамические заголовки

В Office 2003 меню смарт-тэгов могут быть не только каскадными, но и динамическими. В этом заключается важное отличие от Office XP, где однажды установленный заголовок уже нельзя изменить в период выполнения приложения-хоста. Если установить свойство IsCaptionDynamic в True, при каждом отображении меню смарт-тэга будет вызываться свойство IsCaptionDynamic, позволяя разработчику настраивать представление заголовка. Это удобно, когда распознаваемый текст может иметь больше одного значения.

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

Настройка смарт-тэгов

В Office 2003 пользователи могут воспользоваться унифицированными средствами настройки смарт-тэгов. На рис. 2 показано диалоговое окно настройки смарт-тэгов:

Рис. 2. Диалоговое окно настройки смарт-тэгов

Через свойство PropertyPage класса действия смарт-тэга можно указать, поддерживает ли ваш смарт-тэг настройку. Если да, кнопка Properties будет активна (рис. 2), в ином случае - неактивна. Если пользователь щелкнет кнопку Properties смарт-тэга, будет вызван метод DisplayPropertyPage. На этом этапе API не указывает способ настройки смарт-тэгов - это можно делать с помощью формы или как-то иначе.

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

Другие возможности

Выше я рассмотрел лишь некоторые из усовершенствований смарт-тэгов, в окончательной версии Office 2003 ожидаются и другие интересные новинки, например:
  • возможность включения и отключения списков смарт-тэгов Microsoft Office (Microsoft Office Smart Tag List, MOSTL), основанных на XML;
  • в MOSTL XML добавлена поддержка регулярных выражений и распознавание грамматических конструкций, независимое от контекста. Это облегчит распознавание как простых, так и сложных фраз;
  • технология Smart Documents, дополняющая смарт-тэги, упрощает безопасную установку DLL смарт-тэгов, COM-надстроек и других расширений Office. Это облегчит развертывание и обновление смарт-тэгов в пользовательской среде;
  • некоторые смарт-тэги должны быть действительными лишь в течение определенного времени. С этой целью в Office 2003 смарт-тэгам можно назначить срок действия;
  • теперь поддерживаются временные смарт-тэги. Такие смарт-тэги активизируются в момент открытия документа, но не сохраняются в нем. Это предотвращает передачу конфиденциальной информации через документ;
  • метод Recognize смарт-тэга теперь поддерживает новый параметр, передающий имя приложения. Иногда необходимо применять иной алгоритм распознавания в зависимости от используемого приложения; в этих случаях новый параметр повышает надежность распознавания;
  • большинство разработчиков, незнакомых со смарт-тэгами, затрудняются найти эффективный способ анализа текста документа для идентификации искомых ключевых слов (terms). Метод Recognize2 теперь поддерживает объект ISmartTagTokenList, который разбивает пересланный методу Recognize2 текст на отдельные слова. Этот объект существенно упрощает начинающим разработчикам написание кода для анализа текста, но и искушенным разработчикам смарт-тэгов он тоже должен понравиться;
  • объектная модель смарт-тэгов Word расширена и теперь совместима с аналогичной объектной моделью Excel. Расширения позволяют вызывать действия смарт-тэгов, а также включать и выключать распознаватели.

Все это открывает интересные возможности по работе со смарт-тэгами в Microsoft Word. Кроме того, новые XML-функции Word позволяют вставлять необходимый XML-код, превращающий текст в смарт-тэги. Это по-настоящему привлекательно для любых компаний, использующих отчеты и автоматически генерируемые документы. Поскольку эти документы генерируются, причем многократно, на основе известных данных с использованием структуры XML, простое и логичное решение задачи - предоставление для этой структуры соответствующих действий смарт-тэгов. Предполагается, что этими отчетами и документами будут пользоваться достаточно часто, поэтому в данной ситуации пользователям здорово пригодятся действия смарт-тэгов, автоматизирующие типичные операции с этими данными.

Рассмотрим для примера компанию, публикующую данные аналитических исследований. Информация публикуется в виде XML, поскольку в XML-код можно встраивать разметку смарт-тэгов, действия которых открывают пользователям доступ к следующему уровню данных. Необходимые данные могут также отображаться через секцию Research (подробнее о библиотеке Research см. по ссылке March 2003 Office Talk column). При вставке в документ фрагмент данных можно пометить XML-тэгами. Другой пользователь, открывший этот документ, получит доступ к этому смарт-тэгу даже без секции Research. Это даст возможность получить больше релевантных данных или вывести в секции задач исходную запись источника.

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

 


Крис Куницки (Chris Kunicki) в сотрудничестве с заказчиками, архитекторами и инженерами занимается разработкой замечательных приложений для рабочих станций, а также корпоративных и Web-приложений (см. сайт OfficeZealot.com). Крис - энтузиаст программирования для Office со стажем, устно и в прессе проповедующий пользователям и разработчикам применение Office как важной платформы для создания решений. С ним можно связаться по адресу chris@officezealot.com, а познакомиться с его взглядом на вещи - на сайте http://www.officezealot.com.

Примечание В этом месяце Пол Корнелл (Paul Cornell) займет в Microsoft новую должность, тесно связанную с разработкой решений для Office. Хотя в связи с этим Пол вынужден завершить карьеру колумниста, и, возможно, время от времени он будет нашим гостем.


Может пригодится:


Автор: Крис Куницки
Прочитано: 2593
Рейтинг:
Оценить: 1 2 3 4 5

Комментарии: (0)

Добавить комментарий
Ваше имя*:
Ваш email:
URL Вашего сайта:
Ваш комментарий*:
Код безопастности*:

Рассылка новостей
Рейтинги
© 2007, Программирование Исходники.Ру