Измените библиотеку документов "Тип" после того, как она была создана из определения списка
Когда я начинал разработку на базе 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. Пожалуйста , не делайте этого на производстве!
Другой вариант - создать тип контента и связать с ним настраиваемое действие. Возможно, вам придется написать простое консольное приложение для перебора существующих библиотек документов и добавления типа контента, чтобы он был доступен для использования. Существующие документы, к которым вы хотите применить настраиваемое действие, также нуждаются в изменении типов контента.