Tam Foundation ServiceはODataをサポートしています*1。Visual Studio 2012 Update2でLightswitch HTMLクライアントが正式に追加され、ODataもサポートされているので、ちょっとやってみましょう。
準備
MSアカウントでのアクセスができないので、ODataでアクセスする前にまずTF Service側のアカウントを設定する必要があります。account.visualstudio.com にアクセスして、自分のアカウントのMy Profileを表示します。
CREDENTIALSにあるEnable alternate credentialsをクリックして有効にします。
パスワード欄が表示されるので、ここで任意のパスワードを入力してください。個人的にはUser nameのsecondaryもクリックして、別アカウントを指定したほうがいいと思います。これでTF Service側のアカウント準備ができました。
LightSwitchでプロジェクトを作る
LightSwitch HTMLクライアント(C#)を選択してプロジェクトを作成します。初期画面に「外部データソースにアタッチ」という項目があるので、こちらを選びます。
ODataサービスがあるので、これを選びます。
ODataのエンティティは上記のURLでいいはずです。忘れずにhttpsにしてください。認証は「その他」を選んで、ユーザー名にはTF Serviceのサブドメイン(account.visualstudio.comのaccountの部分)と、Secondaryのユーザー名を指定します。
account\secondary username
パスワードには先ほど設定したパスワードを指定します。データソース名をTFSDataProjectにして、「次へ」を押すと、使用可能なデータが表示されます。
そうそう、念のため「このデータソースに読み取り専用としてアタッチする」のチェックを付けておくと読み込みしかできないので、不意に壊すこともありません。
ここでは簡単なProjectsテーブルを選びましょう。これで終了です。
画面を作る
次は画面を作ります。HTMLClientを選択して、右クリックから「画面を追加」します。画面名にTFSProjectと指定して「データの参照画面」を選びます。画面データには先ほどOData外部データソース「TFSDataProject」を選べば追加完了です。これでF5キーを押してみましょう。
現在自分のアカウントで作っているTF Serviceのプロジェクト一覧が表示されました!完全ノンコーディングでとりあえずここまで。
プロジェクトはこんな感じですね。もっとできると思います。ほんとはWorkitemでやりたかったんですが、パラメータ指定しないとInvalid Dateと表示されました…。
余談
HTMLクライアントが新しく追加されましたが、Silverlightもまだ残っています。同じプロジェクトにSilverlight版の画面を選ぶこともできます。標準画面テンプレートはSilverlightのほうが多いですね。これは拡張もできるので、興味のある人は作ってもいいのではないでしょうか。
また、Silverlightらしく画面遷移もサポートされています。HTML版ではこの設定がありません。そのうちサポートするのでしょうか?
注意点
ここまで書いて、勘のいい人は気づいていると思いますが、ODataのセキュリティ情報をサーバー側のweb.configにハードコーディングしています。自分一人のクライアントだったら別にこれでもいいのですが、実際は認証画面を用意してあげたほうがいいでしょう。サーバー側のソースを見ると、login/logout用のaspxファイルがプロジェクトに追加されているので、これをうまく使ってやるか、LightSwitch側がうまく面倒見る必要があるかな?HTMLクライアントのプロジェクトテンプレートはもうちょっと頑張れ。
*1:オンプレミス版TFSもサポートしていますが、追加ソフトが必要です