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

Profile confusion, Chatter

I'm fairly confused about all of the different Profile options and how it interacts with Chatter. It seems that it's possible to get Sites to work with Chatter based on this thread:


but it's entirely unclear to me what Profile should be selected in order to enable this. I setup my Site to use Customer Portal, and I have tried every combination of registering a new user with all of these "user licenses":


Authenticated Website

Customer Portal Manager

High Volume Customer Portal


In each case, when I try to access the "currenstatus" field on User, it throws an error.


Can someone please send me in the right direction?




Chatter is not enabled for portals at this point.




Thanks, I do know that. However, another developer got it working with "Sites", which is what I'm trying to do:


I just don't know what profiles to use for that.





that example is not completely correct. Site"enable feeds" is for rss feeds not for chatter feeds.


By design site user (guest user) and portal users's are not chatter enabled so they do not have profiles like chatter users where you can subscribe to groups, follow people and be followed.


Actions these users take can be post as a chatter feed via triggers/API but it's not the same use case as them being a chatter user.


I see, thank you. However, it seems that the developer got it to work somehow.


and from the example code:



	 User user = [SELECT id, CurrentStatus from USer where id = :UserInfo.getUserId()];
	 user.CurrentStatus = 'just completed task \'' + + '\' ';
	 update user;



It's just not clear to me how that code works where the "User" there would presumably have to be some sort of portal user. Do you have any further thoughts?


If necessary I can emulate chatter functionality on a Site using a custom object and do some integration through triggers as you suggest. Wouldn't it recognize that the profile that was initiating the request was a Portal user class and cause the trigger itself to fail?


Thank you again, I sincerely appreciate your help.


That was me. By default all APEX code operates with System access so all you need to do is call a function which inserts the FeedPost. The more obvious version of this is my Chatroom (Chat Nova) app which appends the name of the registered "user" to the Chatter post.The only reason I run isGuest is to prevent a guest from overloading the org with multiple posts.


Don't worry about all the different user licences. They are confusing but you don't need to think about them here. 


Happy to provide more info if necessary.