2013年9月19日木曜日

vTigerCRMにて プロファイルの権限設定が壊れる

vTigerCRM5.4にてシステム設定 > プロファイル権限 にて保存するとサポートより下の項目が強制的に×に設定されてしまう場合があります。



この件の問い合わせは本家のMLにも幾つか流れていますが、基本的にはvTigerCRMのバグではなく、サーバー側の設定ですとの回答です。

ただ、この現象は、日本のユーザー会のメンバーとやりとりしていてわかったのでですが、幾つか発生するパターンがあるようです。

一つが、ブラウザ側からサーバーに受信するときに、 あまりに長いデータを途中ではじいちゃうセキュリティー系の仕組みをいれてると発生するパターンです。
事例として多く上げらていたのがSuhosinとかを使用している場合です。
詳しくはこちらですかね。

もう一つが、PHP5.3.9以降から導入されたmax_input_varsによる制限です。
PHP5.3.9以降では max_input_vars という設定が設けられており、入力データ数が多すぎる場合は自動的にデータがカットされるようになっています。

初期値は 1000 なので、入力欄を2000個並べても、PHP側で受け取れるのは1000個までということです。
1000で足りないってどういうことよと何件送ってんだ?と思いましたが調べるのちょっと面倒だったのでやめました。

ただ、こちら個人の使用しているモジュール数にもよるはずですので2000としておけば良いんじゃないでしょうか。

詳しくはこちらで。

ちなみに私が確認したパターンはどちでもありません。

私は、全部のユーザーでなく、特定のプロファイルに紐づいたひとだけ上記の症状になってしまいました。
直接の原因は、自前で作ったモジュールをインポートを繰り返していたら、 /user_privileges/以下のファイルが壊れてしまったためのようでした。
そのため、問題が発生したユーザーのプロファイルを作りなおして再割り当てしたところ直ったと記憶しています。

ちゃんと記録しておけばよかったですが、/user_privilegesの権限やOwnerの設定を誤ると色々と不具合が生じます。

なんか挙動が怪しいと思ったらこちらを確認してみましょう。


CRM TOUCHのサイトはこちら
vTigerCRMの日本語の情報に関してはこちら