Пользовательская функция SharePoint в нескольких областях в библиотеке документов - отображается как дубликаты - PullRequest
1 голос
/ 14 января 2009

У меня есть пользовательская функция, которая представляет собой действие «Изменить блок управления» (ECB) в библиотеке документов, которая развертывается как пакет решений (WSP). Когда вы опускаете раскрывающийся список рядом с файлом, вы видите функцию, а когда выбрано действие ECB, пользователь перенаправляется на страницу пользовательского приложения.

Я разрешаю установить эту функцию во всех 4 различных областях: Ферма, Веб-приложение, Сайт и Интернет. Каждый из них будет находиться в отдельном пакете решений, но иметь один и тот же FeatureId, SolutionId и т. Д. Предполагается, что функция устанавливается одновременно только в одну область. Если администратор развертывает его, активирует его, и если мы хотим изменить область действия, деактивировать его, все работает правильно. Если по какой-либо причине администратор не деактивирует его первым, действие ECB будет содержать повторяющиеся записи в библиотеке документов.

Например, скажем, мы устанавливаем его как область сайта (семейство сайтов), а затем решаем, что вместо этого мы хотим, чтобы она была в области фермы, и сначала не деактивируем ее, а вместо этого просто перейдите в «Управление решениями», а затем уберите и удалите его. Если мы посмотрим на семейство сайтов, где оно ранее было доступно, мы не увидим действия ЕЦБ.

Если мы затем добавим пакет решения области фермы и развернем его, мы теперь увидим действие ECB в семействе сайтов, даже если мы не развернули его, а для атрибута feature.xml ActivateOnDefault установлено значение false. Если мы затем активируем его, мы увидим два действия ЕЦБ.

У кого-нибудь есть идеи? Я добавил файл feature.xml и elements.xml ниже.

ТИА, Magnus

<?xml version="1.0" encoding="utf-8"?>

<?xml version="1.0" encoding="utf-8"?>

RegistrationType = "Список" RegistrationID = "101"
Местонахождение = "EditControlBlock" Последовательность = "300"
ImageUrl = "/ _ макеты / изображения / MyFeature / MyOtherPic.gif" Title = "My Feature"
Описание = "Моя функция ЕЦБ" >

Ответы [ 3 ]

0 голосов
/ 22 января 2009

На случай, если кто-то еще столкнется с этим и увидит этот пост.

Поведение при удалении объекта с помощью обратного решения зависит от типа элемента. Для элемента ECB, который я использовал в моем случае, он был удален, и дубликаты не отображаются, если я устанавливаю функцию в другой области возможностей, если у меня есть уникальный SolutionId и Feature Id (Id) в файле feature.xml для каждой области .

0 голосов
/ 29 сентября 2009
0 голосов
/ 14 января 2009

AFAIK, это поведение является намеренным. Вам нужно будет добавить или расширить FeatureReceiver и переопределить некоторые методы, особенно FeatureUninstall где вам нужно отключить свою функцию в любом месте где он все еще активирован.

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

Пошаговое руководство. Создание приемника компонентов SharePoint и настраиваемой ссылки с расширениями WSS

Удачи!

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