Webパーツでビューを弄くると発生する不思議なバグ
今回は「普通にはまずおきないけど、ふとした間違いで発生する障害(仕様?バグ?)」のご報告です。
まず、コンテンツ タイプの管理を許可したリストを用意します。コンテンツ タイプの管理の許可は [設定]→[詳細設定]→[コンテンツ タイプの管理を許可する/はい] です。(※ここではお知らせ掲示板を用いていますが、他リストでも発生します)
このリストを、Webパーツとして、サイトに配置します。ここまでは何の問題もありません。
このWebパーツの [現在のビューを編集] します。
ビューの設定 [フォルダ] セクションで、[このビューの表示方法/次のコンテンツタイプのフォルダ内を表示する]にチェックを入れます。
そしてOKを押すと─
何故かリスト内に遷移してしまいます。あれ?サイトのWebパーツを編集していた筈なのですが…。という訳で、サイトに戻ろうと思いますが。戻れません。
サイト「練習用」 http://server/rensyu/ にアクセスしても、何故か強制的にリスト「xxxxxxxxxx」 http://server/rensyu/Lists/xxxxxxxxxxx/AllItems.aspx にリダイレクトされてしまいます。
丁度、 http://server/rensyu/Lists/xxxxxxxxxxx/AllItems.aspx をウェルカムページとして設定したような感じですが、発行機能はオフのままです。
この状態から復帰する方法は、リストの設定で、コンテンツ タイプの管理を「いいえ」にするです。そのあとで、該当するWebパーツを削除します。
AGENT: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.2; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
いつも勉強させてもらっています。
本現象ですが、つい先ほど当方環境で再現しました。
(こういうとき、先駆者がいると
「自分の設定のせいなのかMOSS/WSSのせいなのか」
悩まなくて済むので助かります。
安心して(笑)MSに問い合わせができます。
ちなみに、当方環境はWSS3.0 SP2(x64)です)
さて「このビューの表\示方法」の設定の意味について
この間ある程度試行錯誤したので、分かったことを書いておきます
(すでにご存じであればごめんなさい)。
ひとことでいえば
“どの種類フォルダにはいっているアイテムを表\示するか”
を選択します。
これを具体的に駆使しているのが「ディスカッション掲示板」リスト。
ディスカッション掲示版って、
まず“ディスカッションの一覧”が表\示されて
件名をクリックするとその中身のやり取り
(メッセージアイテム)が表\示されますよね?
実際には、各ディスカッションは“フォルダ”になっており
それに対する返信アイテムは各“ディスカッションフォルダ”内に
アイテムとして作成される仕掛けになっているようです。
このとき、もしディスカッションの一覧を出したいのであれば
ルート(最上位)の一覧のみを表\示すればよいので
フォルダ−このビューの表\示形式:最上位のフォルダ内を表\示
と設定してあります。
逆に、ディスカッション内のやり取り(スレッド)を
表\示するのであれば
フォルダ−このビューの表\示形式:
次のコンテンツタイプ内のフォルダを表\示:ディスカッション
と設定すればよいわけです。
さらに、このように
「最上位用のビュー」「特定フォルダ専用のビュー」を分けておくと
其々の階層に対して“既定のビュー”が設定できます。
つまり、
リスト/ライブラリのトップを表\示した場合はビュー01を
サブフォルダを表\示した場合はビュー02を
既定で表\示する、という使い分けが可能\になるわけです。
# 実際に「ディスカッション掲示板」の各ビュー
# “件名”“フラット形式”“スレッド形式”の
# 設定をご覧いただければわかると思います。
今回は
「ルートフォルダの1階層目に
作ったフォルダの中身を一覧でトップページに表\示したい」
という依頼をもらったので、こいつを使って..と思っていたのですが
見事にバグ(?)にぶち当たって行き詰ってしまいました。
いろいろ問合せ等かけてみようと思います。
進展があったら報告します。
AGENT: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.2; .NET CLR 3.0.04506.30; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
T.Notsuさま>
凄い!凄いです!
丁寧なご説明ありがとうございます!
成る程〜、ディスカッションがこの設定を使っているんですね。
>さらに、このように「最上位用のビュー」「特定フォルダ専用
>のビュー」を分けておくと其々の階層に対して“既定のビュー”
>が設定できます。
>つまり、
> リスト/ライブラリのトップを表\示した場合はビュー01を
> サブフォルダを表\示した場合はビュー02を
>既定で表\示する、という使い分けが可能\になるわけです。
ほほ〜、む〜、難しいです(笑)
でも出来たら面白い使い方が出来そうですね。
私もちょっと試行錯誤してみます!