チャットができるブログパーツ

チャットルームに自分のブログの訪問者に参加してもらえる、
dotwowブログパーツを公開しました。


ウェブページのサイドバーの「チャットルームを作る」から
ブログパーツ用のHTMLタグが取得できます。

ユーザープロフィールは、タブで開き、
ログは新しいウィンドウで表示します。


また、その他に、
チャット処理の変更や、表示に時間のかかる処理のページを読み込み処理の画像を表示するようにしました。

http://www.dotwow.net/

dotWowにTwitterクライアント機能を追加しました。

更新を自動で取得しにいき、リロードの必要なく発言が最新になるWEBベースのTwitterクライアントです。


[dotwow - Twitter]beta(日本語のみです)
http://www.dotwow.net/?mode=twitter


ConnectWithTwitterを設定すると、ホームでの発言が、
Twitterの更新になります。
また、コマンドの/homeもTwitterの更新になります。


また、それ以外にも様々な部分の変更しました。
・データベースのクエリーの高速化。
ローカライズのバグを修正。
・サイトタブの話題のページをはてなブックマークのホットエントリから取得。
・Viewにソーシャルブックマークのコメントを追加
・ServiceBusを修正。
FireFoxでのバグを修正。
・タグの実装。
・ページ、ダイアログの読み込みを表示時に変更。


一時停止
・ソフトウェア
ブログパーツ


http://www.dotwow.net/

new CloudApp() のInternational Community Winnerが発表されました

残念ながらdotwowは選ばれませんでした。
日本のawardはまだ発表されていないので、そちらに期待します。

さて、コンテストに参加中はプログラムのアップデートをしてはいけない、
みたいな規約があったので、まだアップデートはしてはいけないのでしょうか?


Windows Azure SDKのJuly CTPがリリースされたのでアップデートをしたいです。

■確認したバグ(いくつか見つかっているのでawardが発表され次第、修正するつもりです。
・一定時間でメッセージが送信できない
ServiceBusの設定の問題?ログ「サーバーによって開始されたシャットダウンが原因で出力セッションが自動的に閉じられたため、このチャネルを使用してメッセージを送信できません。DispatchRuntime.AutomaticInputSessionShutdown を False に設定して自動クローズを無効にするか、リモート サーバーでシャットダウン プロトコルを変更してください。」
・ログが正しく獲得できない。
・ホームにログが正しく反映されない。
・AzureでWebClient経由すると日本語が文字化けしている。

■次回実装する機能
タグ機能
IRCtwitterといった既存のコミュニケーションに参加できるようにします。

障害があった場合や機能の要望があればご一報ください。

.Net Service SDKがJulyCTPにアップデート

ServiceBusが動作しなくなったと思ったら、SDKが新しくなってました。
とりあえずコードの変更の必要はなさげ?


AzureBlogのほうしかRSS登録していなかったので
気が付きませんでした(汗

.NETServiceのほうのブログも登録ですね。


参考 July CTP
http://blogs.msdn.com/netservices/

dotWowサービス公開

「dotWow[ドットワウ] -Say Everywhere」
http://www.dotwow.net/



英語版も作りましたが、英語があやしいので、
誤訳などがありましたら教えて頂ければ幸いです。


ドメインとホストの関係で、サイトのみAzureを使用せず自サバのIISで公開しています。


ルームとは、チャットルームを作成するサービスです。
また、dotWowのサービスは、basicHttpBindingにして、
WindowsAzureProjectでホストするのは大変そうだったので、
ServiceBusを使用してサービスを公開しました。


ServiceBusはルーターやIPなどを気にせずにサービスを公開できるので、非常に便利です。


参考URL
http://msdn.microsoft.com/ja-jp/magazine/dd569756.aspx

Windows Azure Storage、Table編

さてさて、dotwowは現在cloudに移行中のため現在サイトが動きません。
今回は、AzureのStorageのTableを利用する際の覚え書きです。

まずはQue編の時と同じく、
XMLにコンフィグを記載して、StorageClientを使用すると便利です。

次にContextクラスのラッパーとEntityクラスを作りました。
Contextクラス

  public class SampleDataContext : TableStorageDataServiceContext
    {
        public SampleDataContext(StorageAccountInfo accountInfo) : base(accountInfo)
        {
            
        }

        public IQueryable<SampleEntity> SampleEntities
        {
            get
            {
                return this.CreateQuery<SampleEntity>("SampleEntity");
            }
        }

        public void AddSampleEntity(SampleEntity entity)
        {
            this.AddObject("SampleEntity", entity );
            this.SaveChanges();
        }
    }

Entityクラス

 public class SampleEntity : Microsoft.Samples.ServiceHosting.StorageClient.TableStorageEntity
    {
        public SampleEntity()
        { 
            
        }

        public string Name { get; set; }
       
    }

Entityに含まれるPartitionKeyとRowKeyはnullにすることができません。
PartitionKeyは一意である必要があります。
また、:/%あたりの記号が使えないようです?

後はLinqが使えるので非常に楽にクエリーが可能です。


・リレーショナルデータベースを使用できない。
1:多の関係を表すのが少々めんどくさいです。
どうやるのがスマートなんでしょう。


・で、コードを書いてみたのですが単品は取り出せるのですが、
まとめて取り出してforeachなどに使用しようとすると、
The requested operation is not implemented on the specified resource.

ってエラーがでました。
直接はさわれないようです。
もう少し調べます。


・new CloudApp()
いつの間にか国の制限がかかっていた。
いつの間にか締め切りが延びてた。
いつの間にか日本は日本で別のアワードを設けてた。
間に合えばいいなぁ・・・。
http://msdn.microsoft.com/ja-jp/azure/dd939048.aspx

あと、日本語インターフェースでいいんだろうか?

WindowsAzureとC#4.0

dotwowのサービスをcloudに移行としようとして、
データベースもWindowsAzureStorageを利用しようということで、
移行するためにinterfaceを実装していたら、
ジェネリックを含むキャストがしたくなったので、C#4.0を利用してみようとしました。


簡単に言うと、
IEnumerable strings= **;
IEnumerable objes = strings
ってやつです。


というわけでVisualstudio2010Beta1をインストールしてみたのですが、
Azureのプロジェクトが読み込めない・・・。


と、あきらめかけていたら、
ちょうどMay CTP of Windows Azure SDKでVisualstudio2010Beta1にも対応したようなので、インストール。
無事、Azureが読み込みめたのだけども、ジェネリックのキャストができない。


どうやら、.NetFramework4.0で追加されたライブラリを参照に追加してやらないとだめなようだ。
プロジェクトから.NetFramework4.0に変更して「Microsoft.CSharp」を参照追加してやっと
ジェネリックのキャストができました。


が、AzureProjectをビルドしようとすると次のエラーが。
Cloud Service projects currently support Roles that run on .Net Framework version 3.5. Please set the Target Framework property in the project settings for this Role to .Net Framework 3.5.



・・・わざわざ.netFramework3.5用に書き直すのもめんどくさいので、
Azureが4.0に対応するのをまちますかね・・・。