SharePoint:Что происходит со списками на основе типа контента при обновлении типа контента?

StackOverflow https://stackoverflow.com/questions/446451

Вопрос

У меня есть своего рода гипотетический вопрос (по крайней мере на данный момент :))

Допустим, я создаю список на основе некоторого пользовательского типа контента.Я добавляю в этот список около 1000 позиций (в производстве).Затем приходит клиент и говорит, что ему нужно изменить этот пользовательский тип контента.

Что произойдет со списком, если я изменю пользовательский тип контента?Будет ли он обновляться автоматически (сомневаюсь)?А как насчет уже созданных элементов списка?

Есть ли у кого-нибудь из вас опыт в этом?

Это было полезно?

Решение

Итак, пара вопросов, касающихся типов контента:

Прежде всего, типы контента бывают двух видов: типы контента сайта и типы контента списка. Типы контента сайта - это «шаблоны». которые проживают в галерее. Когда тип контента сайта используется в списке, тип контента создается как тип контента списка в данном списке.

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

Если вы создали тип контента с помощью графического интерфейса пользователя или с помощью пользовательского кода, использующего API, то и типы контента вашего сайта, и типы контента вашего списка находятся в разделе «только для базы данных». состояние в базе данных. Это означает, что он ищет в базе данных определения типа контента.

Если вы создали тип контента в качестве функции на CAML , ваш сайт тип содержимого в базе данных скрыт (или не настроен, как мы должны называть его в v3). В основном это означает, что база данных в функции XML в 12-улье ищет столбцы сайта, которые составляют тип контента. Так что это должно означать, что вы можете обновить функцию, и у вас будут новые столбцы сайта, доступные в типе содержимого обновления, верно?

К сожалению, нет: помните, что у нас также был список типов контента? Облом здесь заключается в том, что эти типы содержимого списка создаются с использованием кода, поэтому они находятся в «только для базы данных». государство. Это означает, что ваши изменения будут видны только в типах контента вашего сайта, но не в существующих списках, использующих этот тип контента!

Существует несколько подходов к решению этой проблемы, решение зависит от ваших потребностей и изменений, которые вы делаете (удаление полей, добавление полей, изменение полей).

Например, вы часто хотите сохранить существующие метаданные элемента, даже если тип содержимого меняется со временем. Если вы проталкиваете изменения в типе содержимого списка с помощью кода, вы потеряете данные, хранящиеся в измененных / удаленных полях. Решением этой проблемы является добавление совершенно нового типа контента на основе старого, но с измененными полями. Вы бы добавили новый тип контента (с помощью кода или с использованием XML-функции) и использовали приемник функций или аналогичный для распространения нового типа контента во всех списках, в которых использовался старый тип контента, и впоследствии помечали старый тип контента как скрытый. Это позволило бы сохранить старые метаданные, но не добавлять новые элементы, используя другие, чем новые метаданные.

Подход, упомянутый в другом ответе на этот вопрос, предпочтителен, если у вас есть прямой доступ к производственной среде и если ваш план управления клиентами позволяет это. Однако, как и в случае с другими артефактами в SharePoint, рекомендуется развертывать типы контента структурированным образом. Добавление новых типов контента неструктурированным образом может повлиять на релевантность поиска (управляемые свойства) и также может повлиять на общую таксономию сайта (повторное использование столбцов сайта и т. Д.), Поэтому даже если эти изменения можно добавить непосредственно в сайт производства, я бы не рекомендовал его!

Это подводит меня к последнему подходу, который я бы рекомендовал, по крайней мере для будущих типов контента: создавайте свои типы контента программно с самого начала, используя приемник функций! Таким образом, вы всегда будете знать истинное состояние ваших типов контента (только для базы данных), и у вас может быть структурированный подход для управления изменениями в будущем! Вы можете найти несколько способов сделать это, прибегая к помощи «создать " типы контента» quot; программно SharePoint "

Для полноты: я упомянул три режима. Последний режим, в котором может использоваться тип вашего контента, - «UnGhosted». Это означает, что ваш тип контента был создан с использованием функционального XML, но это было

Другие советы

При обновлении типа контента появляется флажок, который можно установить, чтобы обновить дочерние типы контента.Если установить этот флажок, типы контента списка будут обновлены.

Обратите внимание: если вы это сделаете нет установите флажок, чтобы обновить дочерние типы контента, тогда невозможно будет принудительно обновить позже.Таким образом, если вы не обновляете, а позже хотите, чтобы дочерние типы контента имели обновление, вам сначала нужно отменить обновление и повторно ответить на него.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top