Record Action Dynamic Name Not Updating After Execution

Certified Associate Developer

Hi,

I have a record action that uses an expression rule for its name, and I would like for it to update after the action has been executed, however it seems the name for a record action gets cached upon its initial creation and doesn't update after that unless the page is refreshed?

Activity chaining has been set up for the process appropriately as far as I am able to tell, and any local variables that need to be refreshed are, including in any expression rules, as demonstrated by the button and link shown beneath the record action, which use the same expression rule to define their label.

For the sake of convenience I set the expression rule to also return the current time as I could then just open and close the record action for the result to update, and as you see the time refreshes for everything bar the two record actions at the top (the one on the right has a name defined just using the now() function to ensure updates weren't tied to expression rules).

a!localVariables(  
  local!number: a!refreshVariable(
    value: rule!_ER_DisplayNumberOfNotifications(applicationId: local!applicationId),
    refreshAfter: "RECORD_ACTION"
  ),
  local!notificationButton: a!refreshVariable(
    value: a!recordActionField(
      actions: a!recordActionItem(
        action: __ACTION__,
        identifier: __applicationId__
      ),
      style: "TOOLBAR_PRIMARY",
      align: "START",
      showWhen: not(
        rule!_ER_IsNullOrEmpty(__applicationId__)
      )
    ),
    refreshAlways: true
  ),
  {
    local!notificationButton,
    a!buttonArrayLayout(
      buttons: a!buttonWidget(label: local!number)
    ),
    a!linkField(
      links: a!startProcessLink(
        label: local!number,
        processModel: cons!_PM_VIEW_NOTIFICATIONS,
        processParameters: { applicationId: __applicationId__ }
      )
    )
  }
)

I have tried using a refresh variable for the action field, the action item, the identifier, and in defining the expression rule for the name in the actual record type, both refreshing on a record action (which is what I want) and refreshing always/on other variables updating (just in case). Is there something I'm missing for how record actions update in the interface? I'm aware of alternative options in terms of using start process links for functionality, but the generic nature of the use case means there is substantial benefit of having the resulting interface appear in a dialogue box as opposed to alternatives, which I believe is currently only possible with record actions (though if I'm wrong on that, that information would also be very much appreciated). 

Is there anything that can be done in terms of causing the name to update, or simply destroying the entire component and re-evaluating it upon an interaction? 

  Discussion posts and replies are publicly visible