pgUserFolder

このページの内容は、今後更新の予定はありません。より新しい情報は dbUserFolderを参照してください。

 MySQL にデータを格納する UserFolder mysqlUserFolder というのがありますが、それの 0.9.0 というバージョンをベースに、PostgreSQL にデータを格納するようにしました。

履歴

バージョン 変更概要
0.2.0
  • SERIAL 型を使うのをやめて、SEQUENCE表から ID を取得するようにした。
  • データベースのパラメータを1つにまとめた
0.1
  • mysqlUserFolder をベースにPostgreSQLで動作するようにした
  • pgUserFolder で使うテーブルのテーブル名には先頭に 'Z' を付けるようにした

インストール

1.psycopg のインストール

 内部で psycopg を使うので、あらかじめ psycopg をインストールして下さい

2.pgUserFolderのインストール

 最新のアーカイブをダウンロードして、lib/python/Products に展開してください

3.テーブルの作成

 lib/python/Products/pgUserFolder/sql にある create_tables.sql を実行してください。pgUserFolder に必要なテーブルが作成されます。

 また、必要に応じて、setup_manager.sql を実行してください。こちらは、Manager role のユーザが作成されます。

4.オブジェクトの作成

 ZMI から、適当なフォルダーに 'PostgreSQL User Folder' を Add します。

このとき、Database Parameters の Connection String に、ZPsycopg で Connection String に指定する形式の文字列( psycopg で connect() に渡す dsn パラメータと同じ値)を指定します。

5.さらに詳しい使い方

 Basic 認証のほかに、クッキーベースの認証をしたり、セッションで認証したり、さらに、セッションを追ってログに出力したりすることができるようです(私もすべては理解していない)。

 ベースとなった mysqlUserFolder 0.9.0 から大きな変更はわりませんので、そちらのドキュメントやら Howto やらを参考にして下さい。

応用

 PostgreSQL にユーザーアカウントのテーブルが既に存在する場合は、そのテーブルから

というView を作れば、既存のデータを使って、Zopeにログインする環境ができると思います。

 


Zope メモ