0

現在、複数ページの会議ワークスペース テンプレートでいくつかのテストを行って、プロジェクトのベース テンプレートとしてのニーズに適合するかどうかを確認しています。

ご存知かもしれませんが、複数ページの会議ワークスペースは、1 つのワークスペース内で複数の日付を管理し、特定の日付のみに関連するページまたはすべての日付に表示されるページのいずれかを表示できるように設計されています。

複数ページの会議ワークスペースを SharePoint Designer で調べると、ワークスペースのすべてのページを含むライブラリがあることがわかります。すべての日付に表示されるページはルート フォルダーに保存され、特定の日付にのみ表示されるページは、日付に応じて名前が付けられたフォルダーに保存されます。

だから今、私たちは私の問題に来ます。各日付に表示される 1 つのページのアクセス許可を設定するために、ページ ライブラリを反復処理して、アクセス許可を変更するページを見つけます。不思議なことに、ライブラリの ListItemCollection は、私が期待していたページ数を含んでいるふりをしています。しかし、コレクションを繰り返し処理すると、実際の日付に関連付けられているページのみが返されます。すべての日付に表示する必要があるページも、他の日付のページも返しません。

SPSecruity.RunWithElevatedPrivilges() を使用し、システム アカウントとして偽装して、ページを取得しようとしました。また、コンテキスト情報を使用せずに、コマンド ライン アプリケーションから取得しようとしました。特定の日付に関連するアイテムのみを取得できるという動作は、オブジェクト モデルにも引き継がれているようです。

では、実際の日付に関係なく、複数ページの会議ワークスペースのすべてのページを取得するにはどうすればよいでしょうか?

4

2 に答える 2

1

ワークスペースの作成時にイベントをキャッチし、イベントでアクセス許可をプログラムで設定できます。イベント レシーバーまたはプログラムによるアクセス許可の設定について詳しく知りたい場合があります。

あなたが言及したこれらのページは、「会議シリーズ」という 代替テキスト 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
于 2009-05-28T15:24:40.420 に答える
0

この種のイベントのページは、ユーザーがアクセスしようとしたときにのみ作成されます。これは仕様によるものであり、私が見つけた唯一の解決策は、Web サイト (または何らかのエミュレーション) を介してページにアクセスしてから、コードでアクセスすることでした。

Flo のコメントについては、Microsoft Sharepoint 2007 Development unleashed (sams、ISBN 0-672-32903-4) でソースを見つけました。p 101 には次のように書かれています。

注意

定期的な会議からデータを取得するのは難しい場合があります。ミーティング シリーズ リストでまだ準備されていないミーティングの予定のリスト アイテムにコードがアクセスしようとする状況が発生する場合があります。個々のインスタンスが作成されたことを確認するには、インスタンスのホームページにダミーの Web 要求を作成できます。たとえば、 http://server/sites/mymeeting/default.aspx?InstanceID=20061012

別の方法を見つけたら、投稿してください。

于 2009-03-20T16:43:33.247 に答える