wiki全体の目次



最近の更新 (Recent Changes)

2016-03-03
2016-01-05
2014-01-11
2012-11-28
2012-05-01
2011-12-24

最新リリース情報

charactorbot (v1.07.000)2014-01-11 18:05

Wikiガイド(Guide)

サイドバー (Side Bar)


FrontPage(wikiのトップページ)の表示

このwikiはSourceForge.JP、mixi、Yahoo!、Google、はてな等のアカウントでログインすれば自由に編集することができます。

はじめに


Google App Engineのアカウントを作成の後、SVNからソースをダウンロードし、自分のGoogle App Engineのアプリケーションのデプロイすることで新たに運用することができます。動かすと、http://charactorbot.appspot.com/?locale=ja と同様のサービスを提供することができます。

簡易デプロイ用パッケージの紹介


なおソースコードを編集したり、デバッグすることはないという方は、ダウンロードのサイトから簡易デプロイ用のパッケージをダウンロードすることができます。こちらを利用することで開発環境をインストールせずともすぐにキャラボットのサービスを立てることが可能です。

ソースを編集したり、デバッグをしたり、動きを少し変えたいなどある際には以下のインストール及びデプロイ手順の方を活用下さい。

charactorbotのインストール及びデプロイ手順


1. Google App Engine/JavaのEclipse開発環境の用意

http://code.google.com/intl/ja/appengine/docs/java/gettingstarted/installing.html

このサイトに書いてある手順でJDK、Eclipse, Google Plugin for Eclipse(GWTを含む), Google App Engine SDKをすべてインストールしてください。 Google App Engine SDKは、charactorbot_1_002_003では、Google App Engine SDK for Java 1.3.4を使っています。

http://code.google.com/p/googleappengine/downloads/list?can=1&q=%09+Google+App+Engine+SDK+for+Java+&colspec=Filename+Summary+Uploaded+Size+DownloadCount

から1.3.4をダウンロードして使ってください。

  • charactorbotとGoogle App Engine SDK for Java、JDK、GWT、のバージョンの対応
    charactorbotGoogle App Engine SDK for Java JDK GWT 備考
    1_07_000 1.8.8 1.7 2.5.1 twitter4j 3.0.5へのバージョンアップ。
    1_06_001 1.7.3 1.6 2.4.0 home_timelieの取得数を20→200に変更。
    1_06_000 1.7.3 1.6 2.4.0 TwittterAPI1.1対応。自分宛返信に失敗する不具合を修正。
    1_05_004u3 1.6.5 1.6 2.4.0 GAE1.6.5対応。改行置換タグ#br#を追加。ランダム投稿の仕様を変更。
    1_05_003 1.6.1 1.6 2.3.0 GAE1.6.1対応。不具合修正。保存数500→2000に変更。
    1_05_002 1.5.3 1.6 2.3.0 GAE1.5.3対応。不具合修正。
    1_05_001 1.5.2 1.6 2.3.0 GWT2.3.0対応。不具合修正。
    1_05_000 1.5.2 1.6 2.0.4 GAEのQuota削減に対応するための設定を追加。
    1_04_001u1 1.4.2 1.6 2.0.4 LogEntryのインデックス作り忘れ防止のためにインデックス不要に修正。
    1_04_001 1.4.2 1.6 2.0.4 GAEのDatastoreメンテナンス時に多重投稿するバグを修正等。
    1_04_000 1.4.0 1.6 2.0.4 GAE1.4.0対応。キーワードの移動機能、改行後のキーワード対応等。
    1_03_011u1 1.3.8 1.6 2.0.4 返信時の自身のID判定、無視IDの判定を大文字小文字無視に変更。
    1_03_011 1.3.8 1.6 2.0.4 ボット登録時の不具合を修正。memcacheによる多重投稿対策追加。
    1_03_010 1.3.8 1.6 2.0.4 返信内容の全表示機能を追加。
    1_03_009 1.3.8 1.6 2.0.4 v1.3.8のGAEの利用規約に反する部分を修正。
    1_03_008 1.3.8 1.6 2.0.4 GWT1.3.8、twitter4j2.1.7に対応。バグ修正。
    1_03_007 1.3.7 1.6 2.0.4 ボットごとにエラーログを表示する機能を追加。
    1_03_006u1 1.3.7 1.6 2.0.4 IEでログインできない問題を修正。
    1_03_006 1.3.7 1.6 2.0.4 GWT1.3.7に対応。英語文言の改善。
    1_03_005 1.3.6 1.6 2.0.4 GWT1.3.6に対応。remote_apiの設定を追加。
    1_03_004 1.3.5 1.6 2.0.4 #favorite#タグを実装の他、Twitter4Jに対応
    1_03_003 1.3.5 1.6 2.0.4 cronの短期間多重実行を未然防止
    1_03_002 1.3.5 1.6 2.0.4 GAE1.3.5とGWT2.0.4に対応
    1_03_001 1.3.4 1.6 2.0.3 私信とTLの返信間隔が違うと出るバグ修正
    1_03_000u1 1.3.4 1.6 2.0.3 Botのmemcacheが更新されない問題を修正
    1_03_000 1.3.4 1.6 2.0.3 キーワード全削除する機能を追加
    1_02_005 1.3.4 1.6 2.0.0 無視するIDを設定する機能を追加
    1_02_004 1.3.4 1.6 2.0.0 正規表現のグループの置換タグに対応
    1_02_003 1.3.4 1.6 2.0.0 全ての投稿で時間帯タグ対応
    1_02_002u1 1.3.3.1 1.6 2.0.0 タグ付け失敗で閲覧不能
    1_02_002 1.3.3.1 1.6 2.0.0 タグ付け失敗で閲覧不能
    1_02_001 1.3.3.1 1.6 2.0.0 タグ付け失敗で閲覧不能
    1_02_000 1.3.3.1 1.6 2.0.0 タグ付け失敗で閲覧不能
    1_01_002 1.3.3.1 1.6 2.0.0 タグ付け失敗で閲覧不能
    1_01_001 1.3.3.1 1.6 2.0.0 タグ付け失敗で閲覧不能
    1_01_000 1.3.3.1 1.6 2.0.0 タグ付け失敗で閲覧不能
    1_00_002 1.3.2 1.6 2.0.0
    1_00_001 1.3.2 1.6 2.0.0
    1_00_000 1.3.2 1.6 2.0.0

2. charactorbotのソースコードをダウンロード、解凍

http://sourceforge.jp/projects/charactorbot/svn/view/tags/?root=charactorbot

から最新のバージョンを選択してください。ここではcharactorbot_1_00_000を選択します。申し訳ないことに、1_01_00〜1_02_002まで正しくバージョンが作成できていませんでした。できるだけ最新のものを取得してもらうようお願いします。

01.png

charactorbot_1_00_000の階層以下をtarball形式でダウンロードします。

02.png

このように.tar.gz形式のファイルがダウンロードされます。

03.png

予め解凍しておきましょう。MacならばStuffit、WindowsならばWinRARなど適当な解凍ツールで解凍してください。このように解凍されます。

04.png

3. ソースコードのインポート

Eclipseを起動し、適当なワークスペースにダウンロードしたプロジェクトをインポートします。 まず、ワークスペースのパッケージエクスプローラーなどで、右クリックインポートを選択します。

05.png

インポートウィザードにて「既存プロジェクトをワークスペースへ」を選択して、次へボタンを押します。

06.png

ルートディレクトリの選択のラジオボタンが選ばれていることを確認し、参照ボタンを押します。

07.png

選択ダイアログで、先程ダウンロードして解凍したフォルダの中のcharactorbotフォルダを選択し、終了を押します。

08.png

プロジェクトをワークスペースにコピーのチェックボックスをオンにして、終了ボタンを押します。

09.png

以上でインポート作業は終了です。以下のような状態になると思います。

10.png

インポートしたプロジェクトのツリーの第一階層を開いてApp Engine SDKのバージョンが対応するcharactorbotのバージョンと合っているか確かめてみてください。(charactorbot_1_00_000はGoogle App Engine SDK for Java 1.3.2等)

4.開発環境で起動

まずコンパイルを開始します。先程インポートしたプロジェクトを選択して、GWT compile projectのアイコンを押します。

11.png

GWT Compileダイアログにて、Compleボタンを押します。

12.png

無事コンパイルが終わると、コンソールビューに以下のように表示されます。

13.png

次に開発環境で起動してみましょう。先程インポートしたプロジェクトを選択して、右クリック > デバッグ > WebApplicationを選択します。

14.png

HTMLページの選択が求められるので、Charactorbot.htmlを選択しましょう。

15.png

すると、起動が開始します。早速起動しているかサイトを確認していましょう。 MacだとGWTのデバッグができるプラグインが入れられるブラウザがFirefoxしかないため、Firefox。WindowsならばFirefoxかChromeかIEなどのブラウザを用意してください。

さてブラウザが用意できたら、Delopment Modeビューに表示されているURLをコピーしてブラウザにて表示させてみてください。

16.png

デバッグ用のプラグインのインストールが終わった後、以下のようなサイトが表示されるはずです。

17.png

ちゃんとサイトの右上にLoginの項目ができていれば成功です。ちなみに日本語で表示させたい場合には、先程URLの末尾に&locale=jaを足してあげることによって、日本語のサイトになります。

18.png

ログインはデバッグ用のログイン画面が出てくるはずですが、問題なくログインできるか確かめてみてください。一度twitterのアプリケーションを作成して、ボットを作成してみても良いと思います。なおこのcharactorbotでは、ボットの動きを、管理者ログインをした状態で、一分置きに/charactorbot/twitterbotにcronを使ってアクセスすることで実現しています。ボットを動かす際には、

http://localhost:8888/charactorbot/twitterbot

に管理者ログインした状態で随時アクセスして動かしてみてください。

なお初期起動で失敗などする場合は、デバッグビューで起動しているアプリケーションを、終了して再起動してみるほか、Eclipseのメニュー > プロジェクト > クリーンを実行し、GWTのコンパイルをもう一度実行したりして試してみてください。それでもダメなときはエラーログを見ながらデバッグしてみる必要があります。

以上で開発環境での起動は終了です。

5. プロジェクトへのデプロイ

http://code.google.com/intl/ja/appengine/docs/java/gettingstarted/uploading.html

を見ながらアプリケーションを作成するところまで実行してください。

アプリケーションを無事作成したら、作成したプロジェクト名に合わせて、Eclipseのcharactorbotのプロジェクト名を変更します。 Eclipseのパッケージエクスプローラーで、charactorbotを選択し、名称を変更します。ここでは、charactorbot2に変更します。

19.png

次に

/charactorbot2/war/WEB-INF/appengine-web.xml

の3行目

<application>charactorbot</application>

の値のcharactorbotを今後デプロイするアプリケーションの名称に変更してください。 <application>charactorbot2</application>

などとします。

20.png

さらに最後に、

/charactorbot2/WEB-INF/appengine-generated/datastore-indexes-auto.xml

のxmlのデータを

/charactorbot2/war/WEB-INF/appengine-generated/datastore-indexes-auto.xml

にコピーまたは上書きます。 これは、開発環境では必要なdatastoreのインデックスが自動的に作られてしまうため、適切なindexの設定にする処理になります。

21.png

そして最後に、以下のDeploy App Engineのアイコンをクリックして、先程名称を変更したプロジェクトを作成したアプリケーションへデプロイします。

22.png

なお、デプロイ直後はインデックス構築中のため、読み込みに失敗してしまいます。

http://appengine.google.com/

から作成したアプリケーションを見て、Datastore Indexの項目からすべてのインデックスがServingになるまで待ってください(長くても1時間ほど、5分程度で終わることもある)。無事インデックスが準備出来次第、アプリケーションのサイトへアクセスすることで問題なく動いていることを確かめることができます。

インデックスが作成されると、以下の画像のように、Servingになっていきます。

23.png

以上で、charactorbotのデプロイは終了です。お疲れ様でした。あとは自由にボットを作成したり、改造したりしてみてください。

パフォーマンスに関して


現在、無料のQuotaでは約23ボットを動かすことができることがわかっていますが、もっと多くのボットを動かしたい際には、有償版にしたり、タスクの分散のさせ方やTask Queueの実行のさせ方などをチューニングしてみてください。詳しい、チューニングの仕方については、割当リソース(Quota)の制御についてをご覧ください。

デプロイ後のデバッグの方法

デバッグ方法にデバッグのためのGQLやログのフィルターなどがまとめてあります。ご活用ください。