Вопрос

Я написал функцию, которая развертывает новые столбцы вместе с тип контента, содержащий столбцы.Эта функция ограничена областью сайта и написана в Visual Studio 2010 для развертывания в SharePoint 2010.

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

Обновить:

Я подписался на сообщение Коэна в блоге.Его подход заключается в добавлении полей в начало типа контента elements.xml.Шаги в его посте сработали идеально!Однако, когда я попытался применить тот же подход к типу контента, над которым я работаю, столбцы сайта были развернуты правильно, но по-прежнему не соответствовали типу контента!

Я провел много тестов и теперь, возможно, не понимаю, что происходит на самом деле.Вот полная elements.xml Я использую:

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <!-- High Importance -->
  <Field ID="{5FFCA09E-EF49-11DE-96C7-B58E56D89593}" Name="HighImportance"
         Group="AA Site Columns" DisplayName="High Importance" Type="Boolean">
    <Default>0</Default>
  </Field>
  <!-- Show On Home -->
  <Field ID="{A8A659D4-42DC-409f-817F-A97DFC5694E6}" Name="ShowOnHome"
         Group="AA Site Columns" DisplayName="Display on Home" Type="Boolean">
    <Default>1</Default>
  </Field>

  <!-- Parent ContentType: Announcement (0x0104) -->
  <ContentType ID="0x010400C01C3EAAEF4211DEA475A36356D89593"
               Name="Intranet Announcement"
               Group="AA Content Types"
               Description="Test content type deployment."
               Inherits="TRUE"
               Version="0">
    <FieldRefs>
      <!--  Start Date -->
      <FieldRef ID="{64cd368d-2f95-4bfc-a1f9-8d4324ecb007}" Required="TRUE" />
      <!--  Expires -->
      <FieldRef ID="{6a09e75b-8d17-4698-94a8-371eda1af1ac}" Required="TRUE" />
      <!--  High Importance -->
      <FieldRef ID="{5FFCA09E-EF49-11DE-96C7-B58E56D89593}" />
      <!--  Show on home -->
      <FieldRef ID="{A8A659D4-42DC-409f-817F-A97DFC5694E6}" />
    </FieldRefs>
  </ContentType>
</Elements>

Может ли кто-нибудь еще правильно развернуть это или увидеть проблему здесь?

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

Решение 2

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

  1. Создайте столбцы и тип контента в пользовательском интерфейсе.
  2. Сохраните сайт как шаблон сайта WSP (сначала выключите функцию сайта публикации, чтобы при необходимости увидеть эту опцию).
  3. Импортируйте WSP в Visual Studio и выберите только необходимые поля и типы контента.
  4. Скопируйте полученный XML в свой исходный проект и объедините определения типа поля и типа контента. Определения поля должны быть первыми в elements.xml.

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

Я создал сообщение в блоге о том, как развернуть тип контента и его поля на SharePoint 2010 с использованием Visual Studio 2010. Можете ли вы проверить, похож ли мой подход на ваш?

http://www.koenvosters.be/post/howto-build-a-deployable-content-type-for-sharepoint-2010.aspx

https://web.archive.org/web/20100824033620/http://www.koenvosters.be/post/howtobuild-a-deployable-type-for-sharepoint-2010.aspx

Проблема вызвана комментариями XML в «Fieldrefs» - т.е. «Дата начала». Удалите их, и все будет работать, как и ожидалось.

Только что потратил впустую 3 часа в моей жизни, задаваясь вопросом, что, черт возьми, происходит - спасибо, Шарпут!

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

Убедитесь, что в вашей функции столбец сайта является типом контента, так как вещи выполняются в том порядке, в котором они представлены SharePoint. В дизайнере функций есть стрелки «вверх» и «вниз» для этой цели справа от правой панели - их легко пропустить :)

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

Мне нравится отделять столбцы моего сайта от типа контента моего сайта. И, как сказал Крис, убедитесь, что поля предоставляются до типа контента. Просто создайте второй элемент Manifest и переместите тип контента в это.

Также убедитесь, что идентификаторы совпадают с FieldRefs и полями.

Я думаю, что здесь есть другое решение.Удалите все элементы списка из списка.также убедитесь, что элементы удалены из корзины.

В моем случае смысл был в корзине для мусора :)

Я думаю, что это была проблема активации функции. Если вы работаете над типами содержимого решений из песочницы, не изменяются, потому что он не может удалить. Вам нужно удалить сайт. Если вы работаете над решением на ферме, вам нужно сбросить сервер на пакете .. проверьте True "Сбросить веб -сервер" ..

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