2009年11月30日月曜日

グルージェントWebページの裏側

弊社Webサイトは、Google App Engine(GAE)とGoogle Web Toolkit(GWT)を使って作成しています。
トップページや技術情報ページなどには、このブログの記事を一覧表示して、リンクを貼り付けています。この部分はブログが更新されるたびに変更されるべき動的なコンテンツですので、表示すべき内容を管理画面から変更できるようにしてあります。
ちなみにトップページを読み込んでみると分かると思いますが、ページ全体を先に表示させて、ブログ記事の一覧はAjaxでload後に取得して表示する仕組みになっており、この部分をGWTで作っています。
このブログ記事一覧は、それぞれ表示すべき位置のidに関連付けて、Datastoreで管理しています。それぞれのidに関連付けられるエンティティで、表示すべき記事のListを保持しているのですが、AppEngineの管理コンソールのDataViewerではListの編集を行うことはできないので、独自に管理画面を用意する必要があります。
今回、GWTの練習に、ということでこの管理画面をGWTで作成しました。

あまりきれいな見栄えではありませんが、ダイアログボックスの左側で実際にWebページで表示する記事のリストを表示、右側には候補となるBloggerの記事一覧を表示しています。
何か記事を追加したい場合は右側で該当する記事の「Add」ボタンを押すと、画面遷移なく左側のリストに記事が追加されます。左側のリストはドラッグ&ドロップで上下に並び替えが可能なようにしてあり、簡単にリストの順番を変更することができます。また、一番下の「削除」の部分にドロップすると表示するリストから削除することが出来ます。
また、そもそも手動で変更する必要がなく常に指定したタグに該当する記事を最新順に表示したい、という場合は設定をすることでcronで自動的に記事一覧が更新されるようになる仕組みも作りました。必ずしも最新順に並べたいとも限らない(最新情報ではなく、何らかの技術についての記事だけをまとめて表示したい、という場合もあるかも知れません)ので、自動で最新順に更新するか手動で並べ替えて更新するかは設定で切り替えられるようにしてあります。

0 件のコメント:

コメントを投稿