function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
arenaniarenani 

chatterの新規グループ作成を制御する方法

あたらしく社内SNSとしてchatterの導入を検討しております。

 

chatterは誰でもグループが作成できますが、できればこれを制御(作らせない)したいと考えております。

 

利用規定などを作成し、グループの新規作成は会社に申請し承認されたら

管理者が作成し所有者も管理者にすることでグループの統制を行おうと思っています。

 

できれば規定とは別に、物理的に作成できなくする方法を検討しておきたいと思います。

サポートや担当に聞いたところ、グループを作らせなくする機能は管理者のカスタマイズ項目にはないとのことでした。

 

そこで、ページに表示される「新規グループ」というボタンを非表示することができないかと考えております。

chatterの各ページで外部ジャバスクリプトを読み込ませることができれば

スクリプトでボタンを非表示にすることは可能かなと思いますが

具体的にどうすればいいのか見当がつきません。

 

管理者が作成する場合、

ボタンが非表示でも、URL直打ちで作成ページにいけるので

ボタンは非表示にしても運用上は問題ありません。

 

どなたか詳しい方がおられましたら

是非、アドバスを頂けたら幸いです。

よろしくお願いいたします。

 

 

 

 

 

 

 

Best Answer chosen by Admin (Salesforce Developers) 
Mitch OkamotoMitch Okamoto

現状ChatterのGroupの新規作成を完全に禁止する方法は無いと思います。

対策としては、こちらEnterpriseEdition以上限定になりますがBatchApexとスケジューラを使う方法があります。

 

1. 承認済みのChatterグループのリストを作る(カスタムオブジェクト等で)

2. 一定時間毎(例えば1時間毎)にApexスケジュールし、上記認証済みではないChatterグループは強制削除する。

3. 削除時に、グループオーナーに対して、「Chatterグループを作成するには、事前に承認を得て下さい」等のメッセージ(or メール)を送信しておく。

 

という感じでしょうか。そうすれば完璧では無いですが、勝手にChatterグループが出来上がることなく運用できる思います。

 

あとはChatterグループの作成は禁止できませんが、グループへのメッセージ投稿時の制御はできますので、未承認のプライベートグループなどで発言した場合にはApex Triggerでそれをブロックするというのも有効かと思います。

 

どちらもある程度Apexコードを記述する必要ありますね。

 

 

ご参考までに。

All Answers

erueru

標準ページにはJavaScrpitを組み込めないので

よくやるのがサイドバーに組み込むパターンですが、

Chatterの場合はサイドバーがでないんですよね。

標準のままではなかなかに難しいかもしれません。

バージョンアップを待つのが無難かもです。

arenaniarenani

eruさん、レスありがとう御座います。

 

chatterのページはサイドバーに見えますが、

フレームではないんですね。

ご指摘ではじめて気が付きました。

 

良く解ってないのですが、ApexとかAPIとか Visualforceとか

または静的リソースなんかでなんとかならないものでしょうか・・・

 

UraraUrara
ユーザーも有償版ならApexなどで制御する方法があるようです。担当の営業さんに確認されたらいいかもしれません。
Mitch OkamotoMitch Okamoto

現状ChatterのGroupの新規作成を完全に禁止する方法は無いと思います。

対策としては、こちらEnterpriseEdition以上限定になりますがBatchApexとスケジューラを使う方法があります。

 

1. 承認済みのChatterグループのリストを作る(カスタムオブジェクト等で)

2. 一定時間毎(例えば1時間毎)にApexスケジュールし、上記認証済みではないChatterグループは強制削除する。

3. 削除時に、グループオーナーに対して、「Chatterグループを作成するには、事前に承認を得て下さい」等のメッセージ(or メール)を送信しておく。

 

という感じでしょうか。そうすれば完璧では無いですが、勝手にChatterグループが出来上がることなく運用できる思います。

 

あとはChatterグループの作成は禁止できませんが、グループへのメッセージ投稿時の制御はできますので、未承認のプライベートグループなどで発言した場合にはApex Triggerでそれをブロックするというのも有効かと思います。

 

どちらもある程度Apexコードを記述する必要ありますね。

 

 

ご参考までに。

This was selected as the best answer
arenaniarenani
Uraraさん レスありがとう御座います。
 
今回は有料アカウント(エンタープライズ)を数個と残りのユーザーは 全てchatterのFreeユーザーになります。
 
やはり無償版では無理ですよね・・
 
ありがとうございました。
arenaniarenani

mitsuhiro ありがとうございます。

 

 今、DataLoaderの方でユーザーの作成をしていますが

chatterのグループのテーブル(オブジェクト)があるのは気づいてました。

 

このオブジェクトからグループを削除すると、chatter上から物理的に消えるんですね・・

ApexDataLoaderのほうでコマンドラインから操作できるところまではきましたので

ご提案の方法もApexDataLoaderでバッチ組めばできそうな気がします。

 

Apex Triggerというのもちょっと調べてみます。

 

ありがとうございました。

Mitch OkamotoMitch Okamoto

arenaniさん

データローダを起動するバッチ(*.cmdとか、*.sh)とかを作成でもいいんですが、Salesforceの中にスケジューラとバッチプログラム用機能があります。

そちらを利用すると、バッチを定期起動するためのサーバやマシンが必要ありませんので、運用しやすいかと思います。

もちろんどちらでも実現はできます。

 

もしご興味あれば、詳しくはApex開発者ガイドの

「Apex の一括処理」

「Apex スケジューラ 」

あたりをご覧下さい。

 

http://developerforcejp.s3.amazonaws.com/developer/docs/apexcode/salesforce_apex_language_reference.pdf

 

erueru

JavaScriptが使えたら一発なのに

ボタン一つ消すのも大変ですね。

 

各タブに隠しJavaScriptを埋め込めるようなバージョンアップを期待しています。

 

arenaniarenani

mitsuhiroさん コメントありがとうございます。

 

Salesfor​ceの機能の中にタスクスケジューラーやバッチ実行機能があるとういうことですね。

それは便利そうなので、是非調べてみます。

ありがとうございます。

 

どうも「ボタンを消す」のは無理っぽいので

mitsuhiroさんの案を試してみたいと思います。

貴重なアドバイスありがとう御座います。

arenaniarenani

eruさん コメントありがとうございます。

 

javascriptが使えたら便利ですよね。

是非、バージョンアップで入れて欲しい機能です。

 

IdearExchangeに投稿してみます。

 

ありがとうございました。