Измените библиотеку документов "Тип" после того, как она была создана из определения списка

Когда я начинал разработку на базе SharePoint, я не до конца понимал все входы и выходы. Я создал определение списка (для библиотеки документов) и связал с ним различные пользовательские действия. К сожалению, я использовал следующее для определения самого списка:

<ListTemplate...
...
Type="101"
...

И зарегистрировать CustomActions для списка:

<CustomAction...
...
RegistrationType="List"
RegistrationId="101"
...

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

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

Примечание. Я вижу, что в таблице AllLists есть столбец tp_ServerTemplate. Правильно ли это изменить?

2 ответа

Решение

Из некоторого быстрого начального тестирования это похоже на то, что изменение таблицы AllLists делает свое дело.

Итак, шаги для решения:

1) Измените атрибут типа определения списка, чтобы он стал уникальным значением (например, 11000)

2) Измените атрибуты RegistrationAd CustomAction на одинаковые (11000)

3) Обновите столбец tp_servertemplate в таблице AllLists, чтобы он стал новым типом шаблона (11000) для всех соответствующих списков.

Изменение базы данных SharePoint полностью не поддерживается Microsoft. Пожалуйста , не делайте этого на производстве!

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

Другие вопросы по тегам