You need to sign in to do that
Don't have an account?

chatterの新規グループ作成を制御する方法
あたらしく社内SNSとしてchatterの導入を検討しております。
chatterは誰でもグループが作成できますが、できればこれを制御(作らせない)したいと考えております。
利用規定などを作成し、グループの新規作成は会社に申請し承認されたら
管理者が作成し所有者も管理者にすることでグループの統制を行おうと思っています。
できれば規定とは別に、物理的に作成できなくする方法を検討しておきたいと思います。
サポートや担当に聞いたところ、グループを作らせなくする機能は管理者のカスタマイズ項目にはないとのことでした。
そこで、ページに表示される「新規グループ」というボタンを非表示することができないかと考えております。
chatterの各ページで外部ジャバスクリプトを読み込ませることができれば
スクリプトでボタンを非表示にすることは可能かなと思いますが
具体的にどうすればいいのか見当がつきません。
管理者が作成する場合、
ボタンが非表示でも、URL直打ちで作成ページにいけるので
ボタンは非表示にしても運用上は問題ありません。
どなたか詳しい方がおられましたら
是非、アドバスを頂けたら幸いです。
よろしくお願いいたします。
現状ChatterのGroupの新規作成を完全に禁止する方法は無いと思います。
対策としては、こちらEnterpriseEdition以上限定になりますがBatchApexとスケジューラを使う方法があります。
1. 承認済みのChatterグループのリストを作る(カスタムオブジェクト等で)
2. 一定時間毎(例えば1時間毎)にApexスケジュールし、上記認証済みではないChatterグループは強制削除する。
3. 削除時に、グループオーナーに対して、「Chatterグループを作成するには、事前に承認を得て下さい」等のメッセージ(or メール)を送信しておく。
という感じでしょうか。そうすれば完璧では無いですが、勝手にChatterグループが出来上がることなく運用できる思います。
あとはChatterグループの作成は禁止できませんが、グループへのメッセージ投稿時の制御はできますので、未承認のプライベートグループなどで発言した場合にはApex Triggerでそれをブロックするというのも有効かと思います。
どちらもある程度Apexコードを記述する必要ありますね。
ご参考までに。
All Answers
標準ページにはJavaScrpitを組み込めないので
よくやるのがサイドバーに組み込むパターンですが、
Chatterの場合はサイドバーがでないんですよね。
標準のままではなかなかに難しいかもしれません。
バージョンアップを待つのが無難かもです。
eruさん、レスありがとう御座います。
chatterのページはサイドバーに見えますが、
フレームではないんですね。
ご指摘ではじめて気が付きました。
良く解ってないのですが、ApexとかAPIとか Visualforceとか
または静的リソースなんかでなんとかならないものでしょうか・・・
現状ChatterのGroupの新規作成を完全に禁止する方法は無いと思います。
対策としては、こちらEnterpriseEdition以上限定になりますがBatchApexとスケジューラを使う方法があります。
1. 承認済みのChatterグループのリストを作る(カスタムオブジェクト等で)
2. 一定時間毎(例えば1時間毎)にApexスケジュールし、上記認証済みではないChatterグループは強制削除する。
3. 削除時に、グループオーナーに対して、「Chatterグループを作成するには、事前に承認を得て下さい」等のメッセージ(or メール)を送信しておく。
という感じでしょうか。そうすれば完璧では無いですが、勝手にChatterグループが出来上がることなく運用できる思います。
あとはChatterグループの作成は禁止できませんが、グループへのメッセージ投稿時の制御はできますので、未承認のプライベートグループなどで発言した場合にはApex Triggerでそれをブロックするというのも有効かと思います。
どちらもある程度Apexコードを記述する必要ありますね。
ご参考までに。
mitsuhiro ありがとうございます。
今、DataLoaderの方でユーザーの作成をしていますが
chatterのグループのテーブル(オブジェクト)があるのは気づいてました。
このオブジェクトからグループを削除すると、chatter上から物理的に消えるんですね・・
ApexDataLoaderのほうでコマンドラインから操作できるところまではきましたので
ご提案の方法もApexDataLoaderでバッチ組めばできそうな気がします。
Apex Triggerというのもちょっと調べてみます。
ありがとうございました。
arenaniさん
データローダを起動するバッチ(*.cmdとか、*.sh)とかを作成でもいいんですが、Salesforceの中にスケジューラとバッチプログラム用機能があります。
そちらを利用すると、バッチを定期起動するためのサーバやマシンが必要ありませんので、運用しやすいかと思います。
もちろんどちらでも実現はできます。
もしご興味あれば、詳しくはApex開発者ガイドの
「Apex の一括処理」
「Apex スケジューラ 」
あたりをご覧下さい。
http://developerforcejp.s3.amazonaws.com/developer/docs/apexcode/salesforce_apex_language_reference.pdf
JavaScriptが使えたら一発なのに
ボタン一つ消すのも大変ですね。
各タブに隠しJavaScriptを埋め込めるようなバージョンアップを期待しています。
mitsuhiroさん コメントありがとうございます。
Salesforceの機能の中にタスクスケジューラーやバッチ実行機能があるとういうことですね。
それは便利そうなので、是非調べてみます。
ありがとうございます。
どうも「ボタンを消す」のは無理っぽいので
mitsuhiroさんの案を試してみたいと思います。
貴重なアドバイスありがとう御座います。
eruさん コメントありがとうございます。
javascriptが使えたら便利ですよね。
是非、バージョンアップで入れて欲しい機能です。
IdearExchangeに投稿してみます。
ありがとうございました。