2009年11月11日 (水)

リスト内のフォームをSharePoint Designer 2007でカスタマイズする際の不具合(更新情報)

かなり前に投稿した一連の SharePoint Designer 2007 を使ったビューフォームのリストフォームをXSLTビューに変換するカスタマイズでは、アイテムのドロップダウンメニューにバージョン管理やワークフロー起動などの一部のメニューが表示されなくなる不具合がありました。

今更感はありますが、念のため以下に最新情報をアップデートしておきます。

SharePoint Designer 2007 SP2 で修正されたのか

ドロップダウンメニューに対する不具合は一応修正されていることになっているようですが、手元の環境では、"アクセス権限の管理"メニューは表示されるようになったものの、その他は修正されていないようです。

たとえば、ドキュメント ライブラリ(メジャーバージョンおよびマイナーバージョンを有効にしている)の "すべてのアイテムの表示" アイテムでは、次のメニューが表示されます。
ListItem_ddmenu_1
 
しかし、XSLTビューに変換を加えたビュー(ファイル拡張子を表示するよう変更)では次のように表示されます。

ListItem_ddmenu_2 
  
カスタマイズ後は、バージョン管理に関するメニューが非表示となり、ワークフローメニューも非表示となります。また、個人用リンクに追加というメニューが新たに追加されています。

そもそもなぜこのような不具合が発生しているか

そもそもSP2を適用する以前から発生しているこの問題は、結局はXSLTビューに変換する際、内部で自動生成される XSLTコード にそのものに不具合があり、JavaScript内(core.js)の処理が 適切に呼ばれないことに原因があります。

修正ポイント

こうした問題を修正するには、XSLTビュー内のコードを以下の通り、いくつか修正する必要があります(それぞれ数か所ありますので、検索して念のためすべて編集しておくとよいです)。

バージョン管理関係のメニューの表示

修正前  <when test="ddwrt:ListProperty('EnabelMinorVersions')='1'">
修正後 <when test="boolean(ddwrt:ListProperty('EnabelMinorVersions'))=boolean(true) ">
修正前  <when test="ddwrt:ListProperty('VersioningEnabled')='1'">
修正後 <when test="boolean(ddwrt:ListProperty('VersioningEnabled'))=boolean(true) ">

ワークフローメニューの表示

修正前  <when test="ddwrt:ListProperty('WorkflowAssociated')='1'">
修正後 <when test="boolean(ddwrt:ListProperty('WorkflowAssociated'))=boolean(true) ">

個人用リンクに追加メニューの非表示

修正前  if (ctx.PortalUrl=="") ctx.PortalUrl=null;
修正後  ctx.PortalUrl=null;


~話変わって、、、 ~

そういえば、11/10に俳優の森繁久弥さんが亡くなりました。3年ほど前まで約10年ほど森繁さんの自宅の真向かいに住んでいたのですが、ときどき散歩されているところをすれ違うこともありました。それこそ初めにお見かけした時は、杖をつきながらでしたが、なんとかご自身の足でお散歩されていました。背が高く、かくしゃくとした印象でした。ただ、その後はずっと車椅子に乗ったままお散歩をされていたようでした。

もちろん、私が物心ついたころにはすでに60歳をこえられていたと思うので、あまり存じ上げているわけではありませんが、ときどきテレビで拝見するにつけ、私としては滑稽洒脱な印象の素敵なおじい様だなと、なんとなく身近な存在のように感じでおりましたので、老齢だとはいえ、亡くなったと聞くとさみしい感じがしています。

トラックバック

このページのトラックバックURL: http://bb.lekumo.jp/t/trackback/718613/34255689

リスト内のフォームをSharePoint Designer 2007でカスタマイズする際の不具合(更新情報)を参照しているブログ:

コメント