Take the 2-minute tour ×
Salesforce Stack Exchange is a question and answer site for Salesforce administrators, implementation experts, developers and anybody in-between. It's 100% free, no registration required.

We want to bring additional users into our Chatter with Chatter Free licenses, but realized that some sensitive posts have been made outside of bespoke private groups. This is causing a problem since we don't want the new users to see those posts. I can't solve this with Visualforce and Chatter does not support blocking users.

Short of deleting dozens of posts, are there any ways around this? Can posts and their comments be moved into private groups after the fact?

Update

A quick test in the Developer Console shows that you cannot UPDATE FeedItem so these posts cannot be re-parented.

share|improve this question
1  
You can delete the obtrusive chatter posts and create new ones with the same body and set CreeatedById as the original author and ParentId as the GroupId, if you aren't fussed about the time of the post. –  techtrekker Dec 13 '12 at 18:36
add comment

3 Answers

You could perhaps implement a 'Chatter Censoring' orchestration, where you write a Trigger on FeedItem and scan the post for certain (configurable) sensitive keywords. You can then either prevent posting of this post all together or automatically post it to a relevant private group.(set ParentId on the FeedItem)

    trigger FeedItemCensor on FeedItem (before insert) {
    for (FeedItem fItem : trigger.new){
       //you could retrieve offensive keywords from a Custom Setting
       if(UserInfo.getProfileId()=='PROFILE_ID' && fItem.body.indexOf('Offensive') > 0) 
       fItem.addError('You cannot post');
       //fItem.ParentId = '0F9XXXXXXX';  //Alternatively set group Id as parent Id
      }

    }

Consider having a Custom Setting where the Name=> Value pair is potentially Keyword => GroupId, so that you can scan for keyword and then quickly understand which Group to attach the post to.

share|improve this answer
    
I could see using this to only allow people to post to certain groups. –  Mike Chale Dec 13 '12 at 14:44
add comment

You can use an appexchange tool "chatter Block" to block the users from being follow up you. Or you can create a private group and post over there. Using private group,it will be visible to the user who have permission to "view all data".It follows role hirarchy feature. I would like to suggest you to use tool "Chatter Block" for it. It is a free app.

share|improve this answer
add comment

There is no way to restrict visibility of individual posts bar putting them in private groups or a community.

You can "move" the posts to the new private group by recreating them and deleting the public messages. There is a profile permission that can be granted to users called "Insert System Field Values for Chatter Feeds". This will allow you to re-create the post, comments and likes and set the CreatedById and CreatedDate for those records, so they will appear as having been posted by the user at the original time. The objects you need are FeedItem, FeedComment and FeedLike

You could either do this by writing apex code, or via the api / dataloader.

You will not be able to migrate chatter polls until winter 14 goes live.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.