Получить страницы многостраничной рабочей области для собраний - PullRequest
0 голосов
/ 20 марта 2009

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

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

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

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

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

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

Ответы [ 2 ]

1 голос
/ 28 мая 2009

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

Те страницы, которые вы упомянули, являются элементами, добавленными в список под названием "Серия собраний". альтернативный текст 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
0 голосов
/ 20 марта 2009

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

Относительно Комментария Фло, я нашел источник этого для развёрнутой разработки Microsoft Sharepoint 2007 (sams, ISBN 0-672-32903-4). на стр. 101 говорится:

ВНИМАНИЕ

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

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

...