Invite

adminさんのユーザアバター

Invite 6.x-2.x-dev 2008-Nov-14
http://drupal.org/project/invite

前回の公開されていたバージョンで不具合があると感じていたところが、今回でも改善されていませんでした。

で、もともとの設計なのかもしれないと考え直して、色々と調べたり検証したりした結果、問題なく活用できる形が判明しました。

不具合?について

招待状をメール送信して追加されたユーザが、招待状メールを送信しようとしても、『申し訳ありませんが、招待状を送信可能な上限に達しています。』というメッセージが表示されて送信できない。

検証

管理画面からの新規ユーザ登録--NG

Inviteモジュールの初期ロールの追加が上手くいっていないのかもしれないと思い、管理画面から新規ユーザ登録を行いましたが、やはり同様のメッセージにより招待状メールを送信することができませんでした。

ロールを新設し、Inviteの初期設定ロールに--NG

管理画面でロールを新設して、それをInviteの管理画面で初期ロールとして設定
したのですが、新規登録されるユーザに新設したロールは割り当てられず、デフォルトで設定されている認証ユーザとして登録され、同様のメッセージにより招待状メールを送信することができませんでした。

新設ロールの、管理画面からのユーザへ割り当て--OK

次に、管理画面で、ユーザに新設したロールを割り当てると、招待状メールを送ることができるようになりました。

考察

ユーザに管理者が手動でロールを割り当てる運用をすれば、ユーザが招待状メールを送信することを実現していけるのですが、次の2つの問題が想定されます。

  • 招待状が送信できるようになるまで、タイムラグが発生する
  • ユーザが増えてきた場合は、運用継続が困難になる

このオペレーションを自動化できれば問題は解決します。

結論

次のモジュールがそれを実現してくれます。

Auto Assign Role 6.x-1.0-beta3 2008-Sep-03
http://drupal.org/project/autoassignrole

Drupalに初期設定されている『認証ユーザ』と同じ権限をもつロールを新設し、ユーザ登録時そのロールも自動的に設定されるようにすれば、解決します。

追記

英語のドキュメントをきちんと読んでいない(読めないと言う方が正しい(^_^;))ので、Inviteモジュールのこの状況は、不具合なのか、そのような設計思想か判定することができません。

ただ、Drupal5では、このような状況は発生しないので、不具合のような気もしますが・・・。

Drupalの本体自体のロールの思想が、私はイマイチ理解できていないところがあるような気がしているもので・・・。

その辺の私の混乱については、別途、記述したいと思います。

Trackback URL

http://homepage.ok-jp.com/trackback/156
No votes yet

コメント

adminさんのユーザアバター
Member since:
9 11月 2008
Last activity:
40分 49秒