MySQL にデータを格納する mysqlUserFolder を元に、pgUserFolder というのを作ってみたのですが、その後、他の RDBからも使えるように改造してみたので、それにあわせて、名前も dbUserFolder としてみました。
| バージョン | 変更概要 |
|---|---|
| 0.4.0 |
|
| 0.3.0 |
|
最新のアーカイブをダウンロードして lib/python/Products に展開してください。
$(INSTANCE_HOME)/ib/python/Products/pgUserFolder/sql にある
create_tables_XXXX.sql を実行してください。(XXXXは RDBの種類による)
なお、改行は LFのみになっています。Windowsの人は、IEで開いて、表示されたものをコピー&ペーストしてください。
また、必要に応じて、setup_manager.sql を実行してください。こちらは、Manager role のユーザが作成されます。
ZMIから、適当なフォルダーに 'DbUserfolder'を Addします。
このとき、使用する RDBの種類により、Connection String と Database Type を以下のように設定します。
| RDBMS | Connection String(例) | Database Type |
|---|---|---|
| PostgreSQL | dbname=somewhatdbname user=username | psycopg |
| Oracle | user/password@TNS | DCOracle2 DCOracle2-MT cx_Oracle cx_Oracle-MT |
| Firebird | dsn=c:\foo\bar.gdb user=username password=secret | kinterbasdb kinterbasdb-MT |
| SQLite | /usr/local/zope/var/foo(←ファイル名を書きます) | sqlite sqlite-MT |
なお、XXXX-MT と末尾に -MT が付いているものは、スレッド毎にコネクションを張ります。-MT が付いているものと付いていないものの、どちらが速いか計ってません。
Basic 認証のほかに、クッキーベースの認証をしたり、セッションで認証したり、さらに、セッションを追ってログに出力したりすることができるようです(私もすべては理解していない)。
ベースとなった mysqlUserFolder 0.9.x から大きな変更はありませんので、そちらのドキュメントやら Howto やらを参考にして下さい。
岩田さんがmysqlUserFolderの README を和訳してくださいました。(2003/09/21)
RDB にユーザーアカウントのテーブルが既に存在する場合は、そのテーブルから
というView を作れば、既存のデータを使って、Zopeにログインする環境ができると思います。