After some thinking, I realized that I can create the instances I want by using JSON strings and deserializing them into my desireable mock implementations.
So, in my class implementing the QuickAction.QuickActionDefaultsHandler, I did the following:
private QuickAction.SendEmailQuickActionDefaults GetSendEmailQuickActionFromDefaultSettings(List<...
Usually if a feature is not enabled in a sandbox, this means that the sandbox was refreshed before that feature was available in the corresponding production org. WRT case feed, that would imply your sandbox pre-dates winter 14 (as far as I recall).
You can try asking Salesforce support to activate the feature in your sandbox - I've had mixed success with ...
In Summer'16 release Salesforce added new method which helps with testing classes implementing QuickAction.QuickActionDefaultsHandler interface:
So you can create records without JSON. Example:
QuickAction.SendEmailQuickActionDefaults sendEmailDefaults =
As you already know, the PostCount is the number of FeedItems. I think your question is "what constitutes a FeedItem?"
From the Salesforce FeedItem Documentation:
FeedItem represents an entry in the feed, such as changes in a record
feed, including text posts, link posts, and content posts. This object
is available in API version 21.0 and later. This ...
In case if image has been added to Rich Text Area field, its body will be stored as ContentReference record.
If you look at rich field, format will be like:
<img alt="User-added image" src="https://......."></img>
Where src attribute contains link to image.
We can define PageReference and get its content by:
string richTxt = '<img alt="...
From Our support teams need to send from different email addresses: (my emphasis)
The case feed setting "Specify From Address(es)" allows a default address to be specified for the case feed. If the department Users are assigned Case records types and page layouts, then each department may
have a different From address.
The Users ...
That is Salesforce Out-of-box functionality where Email in Feed based layout will be displaying like that because in the Feed View settings of the Page Layout Allow Collapsible Email Header option in by default selected.
De-select this option.
Email section will display like this:
By the way, in the Console app it will always be non-collapsible, even ...
Caveat: I can't reproduce the exact behavior you're describing; I do get feed posts in most cases, pun intended. Here's what I found.
There's some specialized behavior around FeedItem posts linked to Case records (see under Type):
ActivityEvent—indirectly generated event when a user or the API adds a Task associated with a feed-enabled parent record (...
There doesn't seem to be a way to create a "Call logged" feed item on the Case, if you are not creating it from UI (or logged through CTI calls, details below).
Based on some quick tests below are my observations.
Whenever a call is logged from UI, a Task with SubType "Call" and Status "Completed" gets created. Additionally a FeedItem is created with Type ...
This is a expected behaviour from salesforce when feed tracking is enabled for cases or work orders, the page-level action menu on those records contains only custom buttons and supported standard buttons. Quick actions appear on the Chatter tab.
So in order to not see the action in feed, you need to disable the feed tracking for your case object.
This is not possible (for all objects) - these are the Activity buttons and they are more like tabs in LEX and will stay in the Activities standard component - you should see it in the app builder:
Again - this is the Activities standard component - you cannot change it so you cannot remove the create new textbox and the add button.
Case Comments is a ...
I believe this is controlled by Feed Tracking. Go into Setup:
Customise > Chatter > Feed Tracking
Select the "Case" Object, and you'll see a number of fields enabled for tracking. These are the fields that when updated will show the updates in the feed.
Unfortunately, if you stop the feed tracking it will not only hide the updates from the community feed ...
Create a new VF page that simply renders the standard layout using <apex:detail>, but has some additional logic that inspects the URL parameters to determine if the publisher should be expanded (and if so, runs the additional JS code you spotted)
Now from the original VF page you can redirect to the standard VIEW page reference, but adding a new param ...
If "Case Feed Enabled" is not available on support settings then can you try going to Customize==> Chatter ==> Feed Tracking and enable the feed tracking for Case (also select the fields you want to track).
Case emails don't use the Messaging Namespace and the Base Email Class methods like the the actions you're trying to use. is a different kind of email than regular email services. Case related emails use the ConnectApi and more specifically the ConnectApi Output Classes. Prior to API 32, cases used the ConnectApi.EmailMessage Class. In API 32 and later, ...
You could create VisualForce wizard to acomplish that extending Case standard controller only to perform the navigation between the 2 pages.
To assing the VForce page, you have to edit [New] Content Source in Action Buttons, Links, and Actions of Case Object. ...
I haven't found what the reason for the issue was, but I managed to work around it by adding the content of the attachment directly into the FeedItem using the FeedItem.ContentData and FeedItem.ContentFileName fields. It seems that this effectively does the same thing (at least for what I'm doing with the files), so for my use case it's a viable workaround.
According to the SF Help:
Case Feed is automatically enabled and assigned to all standard profiles in Salesforce organizations created after the Winter ’14 release. To disable Case Feed on a profile, deselect Use Case Feed.
Did you enable Case Feeds under Cases, support settings?
Enable Case Feed Actions and Feed Items
If you didn't do this - you have to go thru this process - and I would read up on it before you do.
If you have done this, and you are trying to use basic email in case feed(s) then I wish you luck.
Because so far the implementation of email based ...
Instead of closing the case from the Update Status Action, you could create a new Action on the Case object for "Close Case". On the Layout for that Action you can include any fields that you want to be completed while closing, and you can make them Required on that Action Layout.