Настройка действий Workplace XT

Для объектов, доступ к которым осуществляется при помощи всплывающих меню или при использовании режимов обзора и поиска в IBM® FileNet Workplace XT, приложение представляет набор операций или действий, которые конечный пользователь может выполнять с объектами данного типа. Например, в число доступных действий для объекта типа Документ входят резервирование, загрузка, преобразование в составной и перемещение; в случае объекта типа Папка в их число входят добавление объектов, перемещение и удаление.

Администратор может настроить действия, которые разрешается выполнять с объектами, появляющимися в пользовательском интерфейсе Workplace XT. Вы также можете вносить такие изменения, как полное удаление действия из пользовательского интерфейса. Вы также можете, используя критерии фильтров, задать условия, при которых действие будет видно на экране. Например, можно указать, чтобы действие загрузки появлялось, только если пользователь щелкнет по документу с определенным описанием класса, состоянием версии и типом содержимого.

В этом разделе указаны места в интерфейсе Workplace XT, где пользователи могут увидеть действия, и описан XML-файл дескриптора действий меню, который используется для конфигурирования этих действий.

Прим.: Если вы ранее настроили действия в приложении Workplace, внеся изменения в файл Actions.xml, и хотите использовать те же настроенные действия в Workplace XT, вам придется вручную добавить связанные с Workplace настройки в файл Actions.xml в Workplace XT.

Действия в пользовательском интерфейсе Workplace XT

Доступ к действиям пользователь может получить во всплывающих меню, меню Действия, меню Сервис и на информационных страницах Свойства. (Действия на информационных страницах Свойства и во всплывающих меню Мое Workplace заданы в файле Actions.xml; файл MenuActions.xml задает все остальные действия.) Всплывающее меню появляется, когда пользователь щелкает правой кнопкой мыши по объекту в представлении в виде списка или по элементу в представлении путей. Список доступных действий зависит от типа выбранного объекта. Те же действия появляются на информационной странице Свойства для объекта. Если пользователь выберет один или несколько элементов в представлении в виде списка, а затем нажмет на кнопку Действия, откроется меню Действие. Если выбрано несколько элементов, в меню будут показаны только действия, применимые ко всем выбранным элементам.

В Workplace XT также можно предоставить доступ к действию, используя контекстное меню. Чтобы включить действие в меню Действия, нужно добавить пользовательский сценарий JavaScript в файл ActionsMenu.js.

Добавьте в функцию showActionsMenu в файле ActionsMenu.js следующий код:
if ($("ACTIONS_MENU__actionid"))
validActions.push("actionid");

Здесь "actionid" - это ID действия, заданный в файле MenuActions.xml.

XML-файл дескрипторов действий меню

Файл MenuActions.xml содержит определения действий, появляющихся во всплывающих меню и меню с несколькими вариантами выбора для функций обзора и поиска. Этот файл находится в папке <путь_внедрения_XT>\FileNet\Config\WebClient, где <путь_внедрения_XT> - это путь папки, в которой внедрено приложение Workplace XT. Файл MenuActions.xml создан в соответствии со XML-схемой предпочтений Workplace, Preferences.xsd, которая находится в каталоге <путь_внедрения_XT>\FileNet\WebClient\WorkplaceXT\WEB-INF\xml.

Примечания:  
  • Создайте резервную копию файла MenuActions.xml, прежде чем его модифицировать.
  • Если вы модифицируете файл MenuActions.xml, включая в него расширенные символы, сохраните файл в формате UTF-8.
  • После модификации файла MenuActions.xml заново загрузите его из Workplace XT, чтобы не перезапускать веб-сервер, на котором внедрено приложение.
Структура файла
Как показано ниже, файл MenuActions.xml содержит пять разделов: multiSelectActions, toolbarActions, folderToobarActions, topLevelActions и actionDefinitions.
В разделах topLevelActions и multiSelectActions вы задаете действия в том порядке, к каком они будут располагаться в пользовательском интерфейсе. То есть, порядок элементов значений в разделе topLevelActions отражается во всплывающем меню и на информационных страницах. Порядок элементов значений в разделе multiSelectActions отражается в меню для выбора нескольких значений. Действия можно скрыть, закомментировав их.
В разделе multiSelectActions можно указать действия, доступные только при выборе нескольких элементов; то есть, действие при выборе нескольких элементов не обязательно должно быть указано в разделе topLevelActions.
В разделах toolbarActions и folderToolbarActions вы задаете кнопки панели инструментов, которые появятся рядом с кнопкой Действия на панели инструментов при обзоре или поиске документов и папок. Раздел toolbarActions управляет действиями, связанными с документами; раздел folderToolbarActions управляет действиями, связанными с папками.
Список actionDefinitions состоит из объектов action, каждый из которых содержит список условий, определяющих то, появится ли данное действие для того или иного объекта. Имейте в виду, что у действия высшего уровня может быть подменю, и в этом случае определение действия высшего уровня должно содержать параметр subActions. Также учтите, что определение действия в разделе multiSelectActions должно содержать параметр multiSelectURL. Описание всех параметров смотрите в разделе Параметры определений MenuAction.
Разделы в XML-файле дескрипторов действий меню
<object key="actionsConfiguration" version="1.0">
...

 <array key="multiSelectActions">
 <value>download</value>
 <value>checkout</value>
 <value>cancelCheckout</value>
 <value>file</value>
 <value>delete</value>
 <value>assignSecurityPolicy</value>
 <value>sendMail</value>
 </array>

 <array key="toolbarActions">
 <value>download</value>
 <value>checkout</value>
 <value>quickCheckin</value>
 <value>cancelCheckout</value>
 <value>addToFavorites</value>
 <value>infoProperties</value>
 <value>sendMail</value>
 </array>

 <array key="folderToolbarActions">
 <value>addDocument</value>
 <value>addFolder</value>
 </array>

 <array key="topLevelActions">
 <value>view</value> <!-- для документов, опубликованных шаблонов -->
 <value>open</value> <!-- для папок, поисков, хранилищ документов -->

 <value>download</value>
 <value>checkout</value>
 <value>quickCheckin</value>
 <value>cancelCheckout</value>
 <value>addToFavorites</value>
 <value>removeFavorite</value>
 <value>renameFavorite</value>
 <value>sendMail</value>
 <value>launch</value>
 <value>transfer</value>
 <value>addSubscription</value>
 <value>declareAsRecord</value>
 <value>declareVersionsAsRecord</value>

 <value>testFormTemplate</value>
 <value>modifyDocumentPolicy</value>
 <value>modifyWorkflowPolicy</value>
 <value>takeOffline</value>
 <value>modifyEntryTemplate</value>
 <value>modifyRecordEntryTemplate</value>

 <!-- Начало изменений RM-->
 <value>requestchargeout</value>
 <value>viewDocumentInfo</value>
 <!-- Конец изменений RM-->

 <value>infoProperties</value>
 <value>moreInformation</value>

 <value>documentActions</value>
 <value>folderActions</value>

 <!-- всегда в конце -->
 <value>addDocument</value>
 <value>addFolder</value>
 </array>

<list key="actionDefinitions">

...

 <object key="action">
 <setting key="id">download</setting>
 <setting key="title" localizationKey="server.MenuActions_xml.download">Download...</setting>
 <setting key="url">
 getContent?
 mode=download&amp;
 objectType={OBJECT_TYPE}&amp;
 id={OBJECT_ID}&amp;
 vsId={VERSION_SERIES_ID}&amp;
 objectStoreName={OBJECT_STORE_NAME}&amp;
 returnUrl={RETURN_URL}
 </setting>

 <setting key="multiSelectURL">
 operations/WcmMultiDownloadObject.jsp?
 returnUrl={RETURN_URL}
 </setting>
 <setting key="img">images/action/toolbar/Download23.gif</setting>
 <array key="objectTypes">
 <value>document</value>
 </array>
 <array key="excludedContentTypes">
 <!--Начало изменений RM -->
 <value>application/x-filenet-rm-physicalrecord</value>
 <value>application/x-filenet-rm-electronicrecord</value>
 <value>application/x-filenet-rm-emailrecord</value>
 <!-- Конец изменений RM -->

 <!-- типы mime шаблонов ввода -->
 <value>application/x-filenet-entrytemplate</value>
 <value>application/x-filenet-documententrytemplate</value>
 <value>application/x-filenet-folderentrytemplate</value>
 <value>application/x-filenet-customobjectentrytemplate</value>
 <value>application/x-filenet-formdataentrytemplate</value>
 <value>application/x-filenet-declarerecordentrytemplate</value>
 <value>application/x-filenet-pageentrytemplate</value>
 <value>application/x-filenet-sectionentrytemplate</value>
 <value>application/x-filenet-cfwpageentrytemplate</value>
 <value>application/x-filenet-cfwsectionentrytemplate</value>
 <value>application/x-filenet-cfwtextentrytemplate</value>
 <value>application/x-filenet-localsectionentrytemplate</value>

 <!-- типы mime wcm -->
 <value>application/x-filenet-sp-cr</value>
 <value>application/x-filenet-sp-target</value>
 <value>application/x-filenet-sp-page</value>
 <value>application/x-filenet-sp-section</value>
 <!-- Правила политики форм -->
 <value>application/x-filenet-documentpolicy</value>
 <value>application/x-filenet-workflowpolicy</value>

 <!-- внешние документы (указывающие на URL) -->
 <value>application/x-filenet-external</value>
 </array>
 <setting key="isPopup">false</setting>
 <setting key="popupHeight">600</setting>
 <setting key="popupWidth">750</setting>
</object>

Параметры определений действий меню

В приведенной ниже таблице описан каждый параметр определения действия в MenuActions.xml. Каждый параметр идентифицируется его атрибутом ключа. Если в тексте не указано иное, параметр является необязательным. Если необязательный параметр не задан, используется его значение по умолчанию.
Табл. 1. В этой таблице описан каждый параметр определения действия в MenuActions.xml.
Ключ Значение параметра Значение
baseURLKey
<setting key="baseURLKey">
 rm
</setting>
Если этот параметр присутствует, вместо базового URL Workplace XT (он используется по умолчанию) используется базовый URL приложения Records Manager. Единственное допустимое значение - "rm".
classes
<array key="classes">
 <value>{63F8AA94-E2B9-11D0
 -ADF6-00C04FB66DAD}</value>
 <value>{A73BEEB2-B0B7-11D2
 -8853-0000F80883E3}</value>
</array>
Задает список классов, к которым применимо данное действие. Значения должны быть представлены в формате GUID. Действие будет доступно только для указанных классов.
Прим.: Если задан этот параметр, не задавайте параметр excludedClasses.
.
contentTypes
<array key="contentTypes">
 <value>image/jpeg</value>
 <value>image/tiff</value>
 <value>text/*</value>
 <value>application/??-word</value>
</array>
Задает список типов mime и типов контейнеров, к которым применимо данное действие. Действие будет доступно только для объектов с указанными типами содержимого. Если этот параметр отсутствует, действие будет доступно для всех типов содержимого. Значения этого параметра поддерживают символы подстановки "*" и "?". "*" используется для обозначения любого числа символов, включа 0 символов. "?" используется для обозначения одного символа.
Прим.: Если задан этот параметр, не задавайте параметр excludedContentTypes.
excludedClasses
<array key="excludedClasses">
 <value>{d24d4450-1f01-11d1
 -8e63-006097d2df48}</value>
 <value>{f81e9010-6ea4-11ce
 -a7ff-00aa003ca9f6}</value>
</array>
Задает список классов, к которым данное действие неприменимо. Значения должны быть представлены в формате GUID. Действие будет недоступно для указанных классов.
Прим.: Если задан этот параметр, не задавайте параметр classes.
excludedContentTypes
<array key="excludedContentTypes">
 <value>text/xml</value>
 <value>text/plain</value>
</array>
Задает список типов mime и типов контейнеров, к которым данное действие неприменимо. Действие будет доступно для всех объектов, не относящихся ни к одному из перечисленных типов содержимого. Значения этого параметра также поддерживают символы подстановки "*" и "?".
Прим.: Если задан этот параметр, не задавайте параметр contentTypes.
excludedObjectTypes
<array key="excludedObjectTypes">
 <value>storedsearch</value>
 <value>publishtemplate</value>
 <value>securitytemplate</value>
</array>
Задает список объектов, к которым данное действие неприменимо.
Прим.: Если задан этот параметр, не задавайте параметр objectTypes.
favoritesOnly
<setting key="favoritesOnly">
 верно
</setting>
Если задано значение true, действие появится только на странице Избранное. Значение по умолчанию - false.
hideBasedOnVersionStatusConditions
<setting key="hideBasedOnVersionStatusConditions">
 верно
</setting>
Если задано значение true (это значение по умолчанию), то, появится ли действие на странице, будет определяться состоянием версии объекта. Этот ключ применим только к определениям действий promoteVersion и demoteVersion. Значение по умолчанию - false.
hideForFavorites
<setting key="hideForFavorites">
 верно
</setting>
Если задано значение true, действие не появится на странице Избранное. Этот ключ применим только к определению действия addToFavorites. Значение по умолчанию - false.
hideForVersions
<setting key="hideForVersions">
 верно
</setting>
Если задано значение true, действие не будет показано для версии объекта на информационной странице. То есть, если в перейдете с информационной страницы объекта на страницу свойств "Версии", а затем перейдете на информационную страницу для конкретного объекта, действие будет недоступно. Значение по умолчанию - true.
hideInSitePreferences
<setting key="hideInSitePreferences">
 верно
</setting>
Если задано значение true, действие не появится в окне пользовательского интерфейса Предпочтения сайта. Значение по умолчанию - false.
hideWhenCheckedOut
<setting key="hideWhenCheckedOut"> true </setting>
Если задано значение true, то при резервировании документа данное действие не появится. Значение по умолчанию - false.
id
<setting key="id"> download </setting>
Задает уникальный идентификатор действия. Значение является обязательным.
img
<setting key="img">
 images/action/TestAction16.gif
</setting>
Задает значок для действия. Этот параметр является необязательным. Значение должно представлять собой действительный путь изображения размером 16x16 пиксел.
Прим.: Как и в случае url, можно использовать относительный путь.
isPopup
<setting key="isPopup">
 верно
</setting>
Если задано значение true, то при выборе одного объекта данное действие откроется в новом окне. Значение по умолчанию - false.
multiSelectPopupHeight
<setting key="multiSelectPopupHeight">
 250
</setting>
Задает высоту нового окна в пикселах. Если для параметра isPopup задано значение false или если параметр multiSelectURL не используется, данный параметр игнорируется. Значение по умолчанию - 600.
multiSelectPopupWidth
<setting key="multiSelectPopupWidth">
 550
</setting>
Задает ширину нового окна в пикселах. Если для параметра isPopup задано значение false или если параметр multiSelectURL не используется, данный параметр игнорируется. Значение по умолчанию - 800.
multiSelectURL
<setting key="multiSelectURL">
 operations/WcmMultiDownloadObject.jsp?
 returnUrl={RETURN_URL}
</setting>
Задает URL страницы для выбора нескольких значений. Этот параметр задает URL страницы, которая реализует действие при выборе нескольких элементов. Этот параметр должен быть задан для каждого действия, которое поддерживает выбор нескольких значений. Это действие также должно быть включено в раздел multiSelectActions в файле MenuActions.xml.
objectTypes
<array key="objectTypes">
 <value>document</value>
 <value>folder</value>
</array>
Задает список допустимых объектов, к которым применимо данное действие. Если этот параметр отсутствует, допустимыми будут все типы объектов. Допустимые значения:
  • objectstore
  • папка
  • документ
  • storedsearch
  • searchtemplate
  • Ссылка
  • Событие
Прим.: Если задан этот параметр, не задавайте параметр excludedObjectTypes.
onclick
<setting key="onclick">
 return FNActions.open(event, this)
</setting>
Задает действие события, которое нужно вызвать, когда пользователь щелкнет по действию в пользовательском интерфейсе.
popupHeight
<setting key="popupHeight">
 250
</setting>
Задает высоту нового окна в пикселах. Если для параметра isPopup задано значение false, данный параметр игнорируется. Значение по умолчанию - 600.
popupWidth
<setting key="popupWidth">
 600
</setting>
Задает ширину нового окна в пикселах. Если для параметра isPopup задано значение false, данный параметр игнорируется. Значение по умолчанию - 800.
renderSeparatorAbove
<setting key="renderSeparatorAbove">
 верно
</setting>
Если задано значение true, то при выполнении данного действия над списком действий появится разделительная линия. Значение по умолчанию - false.
returnParameters
<setting key="returnParameters">
 eventName=StateChanged&op=checkin
</setting>
Задает параметры URL, которые нужно включить по завершении обработки действия. Используется в некоторых случаях, чтобы обеспечить механизм обновления главной страницы после выполнения действия.
rmHideIfAlreadyDeclared
<setting key="rmHideIfAlreadyDeclared">
 верно
</setting>
Если задано значение true, то данное действие появится, только если документ не объявлен как запись. Значение по умолчанию - false.
Прим.: Этот параметр является действительным, только если в предпочтениях сайта выбран компонент Records Manager.
rmOnly
<setting key="rmOnly">
 false
</setting>
Если задано значение true, это действие появится, только если в предпочтениях сайта выбран компонент Records Manager. Значение по умолчанию - false.
Роли
<array key="roles"> <value>PSDesigner</value> <value>PWAdministrator</value> </array>
Задает список ролей доступа, которым будет доступно данное действие. Действие увидят только пользователи, являющиеся членами одной или нескольких перечисленных здесь ролей. Роли доступа заданы в Content Engine. Значение по умолчанию - "Everyone".
Прим.: Роли также можно задать в предпочтениях сайта на странице Доступ ролей к действиям.
shortId
<array key="shortId">
 addDocument
</array>
Задает краткий идентификатор действия.
Прим.: Он доступен только для панели инструментов и для кнопке действий.
showInActionsMenuOnly
<setting key="showInActionsMenuOnly"> true </setting>
Если задано значение true, действия Добавить документ, Добавить документ - Дополнительно и Добавить папку появятся только в меню Действия, в не во всплывающих меню для выбранного элемента. Значение по умолчанию - false.
showOnlyWhenCheckedOut
<setting key="showOnlyWhenCheckedOut"> true </setting>
Если задано значение true, то действие появится только при резервировании документа. Значение по умолчанию - false.
subActions
<array key="subActions">
 <value>infoProperties</value>
 <value>infoSystemProperties</value>
 <value>infoSecurity</value>
 <value>infoFolders</value>
</array>
Задает список действия, появляющихся в подменю. Имейте в виду, что вы должны задать элемент actionDefinition для каждого значения в разделе subActions.
Прим.: Допускается только один уровень подменю; ни у одного из действий, перечисленных в разделе subActions, не может быть своего собственного подменю.
заголовок
<setting key="title">
 TEST ACTION
</setting>
Задает метку действия, которая появится в пользовательском интерфейсе. Это обязательный параметр.
titleForSitePreferences
<setting key="titleForSitePreferences">
 Download Documents
</setting>
Заголовок действия в том виде, в каком действие появится в предпочтениях сайта на странице Доступ ролей к действиям. Если этот параметр исключен, используется значение title.
url
<setting key="url">
 operations/MyOperation.jsp?
 id={OBJECT_ID}&amp;
 classId={CLASS_ID}&amp;
 label={OBJECT_LABEL}&amp;
 objectStoreName={OBJECT_STORE_NAME}&amp;
 minorVersion={MINOR_VERSION}&amp;
 objectType={OBJECT_TYPE}&amp;
 vsId={VERSION_SERIES_ID
</setting>
Задает URL страницы, которая реализует действие, и параметры, передаваемые этой странице в URL. Формат этой строки описан в разделе Макросы шаблонов URL.

Этот параметр обязателен.

Прим.: Пробелы и символы перевода строк допускаются для удобства. При чтении файла MenuActions.xml пробелы и символы перевода строки (которые не являются допустимыми символами для URL) автоматически удаляются из этой строки.
useToken
<setting key="useToken"> 
 true
</setting>
Если задано значение true, то перед перенаправлением к URL присоединяется маркер пользователя. Это происходит, только если в предпочтениях сайта выбрана поддержка маркеров. Значение по умолчанию - false.
versionStatusConditions
<array key="versionStatusConditions">
 <value>released</value>
 <value>superseded</value>
</array>
Задает допустимые значения состояния версии для действия. Если этот параметр отсутствует, допустимыми будут все состояния версии. Допустимые значения:
  • released
  • reserved
  • superseded
  • inprocess
  • inprocessNoMajor

Используйте значение inprocess для серии версий, у которой есть основная версия. Используйте значение inprocessNoMajor для серии версий, у которой нет основной версии. Информацию об этих значениях смотрите в разделе Свойства версий.

Макросы шаблонов URL

Макросы, приведенные в следующей таблице, используются в параметре url в определениях действий. Они задают URL страницы, которая реализует действие, и параметры, передаваемые этой странице в URL. В фактическом URL макросы заменяются соответствующим значением. Например, если задан шаблон operations/Test.jsp?id={OBJECT_ID}, а ID объекта, для которого вызвана операция - {A73BEEB2-B0B7-11D2-8853-0000F80883E3}, URL этой операции примет вид: operations/Test.jsp?id={A73BEEB2-B0B7-11D2-8853-0000F80883E3}.
Табл. 2. В этой таблице описаны макросы, используемые в параметре URL в определениях действий.
Макрос Значение
{OBJECT_STORE_NAME} Имя хранилища объектов; например, "TEST_OS".
{OBJECT_ID} ID объекта в формате GUID или пути.
{OBJECT_LABEL} Метка объекта в том виде, в каком она появляется в пользовательском интерфейсе.
{OBJECT_TYPE} Тип объекта в строчном виде; например, "document" или "folder".
{VERSION_SERIES_ID} ID серии версий в формате GUID.
{CLASS_ID} ID класса в формате GUID.
{CONTENT_TYPE} Тип содержимого в строчном виде, закодированный в URL
{MAJOR_VERSION} Основная версия; например, "1".
{MINOR_VERSION} Дополнительная версия; например, "2".
{VERSION_STATUS} Состояние версии в виде числа; например, "1".
{RETURN_URL} URL возвращаемого элемента, закодированный в URL, например, "http://<сервер>:<порт>/WorkplaceXT/Browse.jsf"
{TIME_ZONE} ID часового пояса.