Расположение базы данных посеченного списка задач изменилось с 2007 по 2010 год
Вопрос
Что я был свидетелем
Я только что заметил что-то довольно раздражающее с SharePoint после модернизации с 2007 по 2010 годы.
Схема задач Schema в SharePoint 2007 имела первое место «назначенное для» поле. Это в основном означало, что «назначенное для» поля вошло в поле «Int1» на уровне базы данных.
В SharePoint 2010 Схема списка задач имеет предшественницу первым. Угадай, что это значит для новых списков? Колонны предшественников попадают в поле «INT1» на уровне базы данных и «присваиваются» в «Int2».
Изменение поля Заказ на поле на типе содержимого задач помогает только при использовании «пустого пользовательского списка» и добавление типа содержимого напрямую. Это заводит поля в списке Схема в режиме онлайн с тем, что 2007 было похоже на! Однако «определение списка задач» игнорирует это и использует свою собственную схему в качестве отправной точки. Чтобы получить список задач, используя одинаковые поля данных, так как SharePoint 2007, сделали, вы в основном нужно переделать (удалить и добавлять) типы / поля содержимого в списке, что приводит к сбросу схемы с помощью типа переупорядоченного типа.
Почему этот вопрос?
Многие из вас, возможно, удивляетесь, почему я даже забочусь о полях SQL, так как я не должен быть трогать их и т. Д. Ну, честно, мне не нужно заботиться, но Microsoft заставила меня !!!
Мы используем dataformwebpart, чтобы свернуть неполные задачи со всех сайтов. Создан с помощью SharePoint Designer. Различные варианты установлены для рекурсивных битов по пересечению сайта, но основной из него является запрос CAML, и эта часть вызывает головную боль.
.
<Eq>
<FieldRef Name="AssignedTo" />
<Value Type="Integer"><UserID Type="Integer"/></Value>
</Eq>
Вышесказанное, известно, что фильтрует на основе [ME], и он работает, то есть для всех сайтов, созданных в 2007 году! Задачи в любых новых списках нет! ... и я сейчас знаю, что это потому, что базовое сгенерированное SQL делает:
.
int1 = [id]
... а не:
.
int1 = [id] or int2 = [id]
Я не знаю В любом случае источник будет отличаться в зависимости от старых списков или новых списков. Оказывается на этот раз по любой причине он использует старый, но в любом случае, это означает, что задачи, назначенные для меня, теперь остаются. Можно увидеть только три варианта в настоящее время
- Создайте скрипт для обновления всех текущих списков задач, чтобы отразить новое определение списка задач. Не идеально, а не маленькая задача.
- Передование Убедитесь, что все списки, созданные с использованием шаблона списка задач, изменяются как обсуждаемые ранее (удаление / добавление CT и полей).
- Положите фильтр в XSLT и страдаете от производительности!
Я понимаю, что номер 2 может быть шаблон, но оригинальный шаблон все равно остается, и откинут от шаблона MS, вероятно, подвержен проблемам в будущем !!
Это было свидетелем кем-либо? Я публикую, зная, что там действительно не ответ на это. Просто предложения / мнения.
Решение
Хорошо после проведения много времени, свидетельствующих выше.Оказывается, просто вкладывая «назначенное для» в видоменном полям. Часть запроса исправлена проблема!
Даже если я не использую поле для отображения, проблема была установлена, добавив его.Базовые поля все еще разные, но SharePoint знает это в конце концов, и огромные произведенные запросы ссылаются на правильные поля на веб / список.
Sweeeeet.