CatWalk
CatWalkって何?
CatWalkはTurboGearsによって構築されたシングルページのAjaxアプリケーションです。これを使えばアプリケーションのモデルを操作したり、データを管理したりすることが簡単にできます。ORMレベルでのphpMyAdminやpgAdminだと思えばいいでしょう。これはデータベースを隠蔽して、すべての情報はデータベースからではなくSQLObjectを介してやりとりされます。
CatWalkを使う
CatWalkにアクセスするには主に2つの方法があります。好ましいのは ツールボックスから直接開くこと です。
そうではなく、もしかしたらCatWalkをコントローラとしてマウントしたいと思うかもしれませんが、これはデータのセキュリティを危険にさらすかもしれません。例えば以下のようにします:
from turbogears.toolbox.catwalk import CatWalk
import model
class Root(controllers.Root):
catwalk = CatWalk(model)
# Your controllers here
そして次のようにしてブラウザからCatWalkにアクセスします: http://example.org/catwalk.
identityでアクセスを制限する
アプリケーションがネットワーク上にあり、CatWalkをコントローラとしてマウントすると、そのネットワーク上にいるすべての人がCatWalkにアクセスできます。このアクセスを制限するためにTurboGearsの identity を利用することができます。
一度 identity をセットアップし設定すると、その設定のルールに従ってCatWalkへのアクセスを制限することができます。例えばこのアプリケーションにadminグループがあり、CatWalkへのアクセスはそのメンバーにのみ権限が与えられているとしたい場合は以下のようになります:
from turbogears.toolbox.catwalk import CatWalk
from turbogears import identity
import model
class Root(controllers.Root):
catwalk = CatWalk(model)
catwalk = identity.SecureObject(catwalk,identity.in_group('admin'))
ユーザインターフェイス

- 左側にはモデルに書かれたSQLObjectクラスがすべてリストアップされる
- グリッド部は選択したクラスの利用可能なレコードのリストで、これを削除・編集できる
- レコードの追加も可能
- (もしあれば)joinしたリレーションレコードの数

カラムの順番をドラッグドロップで変更することもできます。また表示のオンオフを切り替えることも可能です。

詳細ビューではレコードを編集したり、リレーションを管理したりすることが可能です。

