Получить страницы многостраничной рабочей области для собраний

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

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

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

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

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

Итак, как я могу получить все страницы рабочей области для нескольких страниц независимо от фактической даты???

2 ответа

Решение

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

Что касается Комментария Фло, я нашел источник для этого на Microsoft Sharepoint 2007 Development, выпущенной (sams, ISBN 0-672-32903-4). на стр. 101 говорится:

ВНИМАНИЕ

Получение данных от повторяющихся встреч может быть сложным. Вы можете столкнуться с ситуациями, когда ваш код пытается получить доступ к элементу списка для события собрания, которое еще не было предоставлено в списке Серии собраний. Чтобы убедиться, что отдельный экземпляр был создан, вы можете сделать фиктивный веб-запрос к домашней странице экземпляра, например: http://server/sites/mymeeting/default.aspx?InstanceID=20061012

Если вы найдете другой способ, пожалуйста, опубликуйте его. Это сэкономит нам много сил!!!

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

Те страницы, которые вы упомянули, представляют собой элементы, добавленные в список под названием "Серия собраний", http://img22.imageshack.us/img22/8963/ss20090528181724.png

Он содержит следующие поля:

http://img22.imageshack.us/img22/351/ss20090528181819.png http://img22.imageshack.us/img22/7857/ss20090528181852.png

Пример данных из 1 элемента (не в том порядке, в котором упоминаются столбцы):

3   0x001C4383A41E441842A2A27CA249FED28F    Meeting Series  Recurrence  2009-05-28 18:11:20 2009-05-28 18:11:12 1073741823;#Sistēmas konts  1073741823;#Sistēmas konts  1   1   512 1.0 0   0   Recurrence  Recurrence  3   100.000000000000    {A6E54DB5-3A60-464B-A9A0-D314B49C41E8}  3;#test2/Recurrence/Lists/Meeting Series/1_2.000    3;#test2/Recurrence/Lists/Meeting Series    3;#2009-05-28 18:11:20  3;#2009-05-28 18:11:20  3;#0    0x7fffffffffffffff  3;#1_2.000  3;#{6BE299E5-E81F-40A8-80B2-41494DF0353C}   3;# 3;#{965D0DB3-1AE0-4C23-B006-FB4FC1FE1AB7}   1_2.000 3   1_2.000 1_2.000 /test2/Recurrence/Lists/Meeting Series/1_2.000  http://test:10000/test2/Recurrence/Lists/Meeting%20Series/1_2.000   1_2 3;# 1   1   2   {D8839339-6DDA-48A6-B3B7-FBCA58C8B436}  2009-06-03 19:00:00 2009-06-03 19:00:00 (null)  (null)  (null)  0   1   (null)  0   0   0   2009-05-28 18:10:57 (null)  http://test:10000/test2/Lists/Calendar, Kalendārs   2009-06-03 19:00:00
Другие вопросы по тегам