SharePoint BluePrint 動きました!

前々回記事の続きです。


SharePoint BluePrint ではまり中(x_x
http://d.hatena.ne.jp/takakuro/20080314/1205480536


やっと動きました。問題となっていたのは次のような症状です。

スクリーンショットだけではアレですが、BluePrint で追加されるWebパーツのコンテンツが全く表示されないという現象ではまっていました。Webパーツが表示されるであろう領域を右クリックすると「Silverlightの構成」というコンテキストメニューが表示されるので、Silverlightプラグインは起動しているようです。

これだけでは何ともなので何が原因なのか調べてみました。調査方法もメモっときます。


■■ Blueprint 検証 ■■
1. xap ファイルはダウンロードされているか?
FireBugという FireFoxプラグインを使って、xap ファイルが正しくダウンロードされているか確認しました。HTTPのステータスとコンテンツも確認できるのでかなり強力なプラグインですね、これ♪

FireBug
https://addons.mozilla.org/ja/firefox/addon/1843

このツールを使って、xap ファイルのダウンロード自体は出来ていることが確認できました。もちろん、xap ファイルのURLを直接叩いてもダウンロードできましたし、これは問題ないでしょう。


2. テスト用のHTMLで Silverlight を表示してみる
これはWebパーツから呼んでいる xapファイルをHTMLで読み込んでみる検証です。MOSSの環境が原因かどうか切り分けするためのテストですね。

<HTML>
	<HEAD>
		<TITLE>Silverlight BluePrint Test Page</TITLE>
	<SCRIPT type=text/javascript>
        function onSilverlightError(sender, args) {
            if (args.errorType == "InitializeError")  {
                var errorDiv = document.getElementById("errorLocation");
                if (errorDiv != null)
                    errorDiv.innerHTML = args.errorType + "- " + args.errorMessage;
            }
        }
	</SCRIPT>
	</HEAD>
	<BODY>
	<H3>Silverlight BluePrint Test Page</H3>
	<div id='errorLocation' style="font-size: small;color: Gray;"></div>
	<OBJECT width="100%" height="100%" type="application/x-silverlight-2-b1" data="data:application/x-silverlight,">
		<param value="ClientBin/SL.HelloSilverlight2/SL.XAML.HelloSilverlight2.xap" name="source" />
		<param value="onSilverlightError" name="onerror" />
		<param value="red" name="background" />
		
		<a href="http://go.microsoft.com/fwlink/?LinkID=108182" style="text-decoration: none;">
     		<img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none"/>
		</a>
	</OBJECT>
	</BODY>
</HTML>

VS2008のSilverlightプロジェクトを作成すると、テスト用のHTMLページが生成されるのでそれを流用しました。実行してみると下記エラーメッセージが表示されました。

「InitializeError- Failed to load pre-requisites for the application」

・・・どうやらXAPファイルを読み込んでいる最中のエラーのようです。


3.自作のSilverlightが動作するか?
次はxapファイルの検証ということで自作の Silverlightが動くかどうかです。VS2008 で軽くSilverlightのプログラム作って・・・と書くと大げさですがボタン配置して色変えたただけです(^^;;
すると自作のSilverlightは正しく表示することができました。ということは環境は問題ないということですね。

以上の検証結果から、どうもxapファイル自身に何らかの問題があって読み込めていないようだ、という仮説が立ちます。そこで、Blueprintはソースコードも公開されているので、それをビルドして試してみます。


・・・と前置きが長くなりましたが、xapファイルをビルドしなおしたもので置き換えたらサクっと動きました。


■■ 実行結果 ■■
動いた結果がこちら。


表示されるようになりましたね。クリックすると文字列の表示が切り替わります。

いやーここまでが長かった・・・(T_T

で、残念ながらこれだけでは全てのサンプルが動いたわけではありません。今のところサックリ動きが確認できたのは下記3つです。

  • Sample1: Hello Silverlight Web Parts
  • Sample5: Picture Viewer Web Parts
  • Sample6: Silverlight Custom Field Types

長文になったことですし、サンプルの動きを別の記事で1つづつ紹介していこうと思います。ではまた。