The project used hundreds of dynamic actions, and often I would copy them between pages.
Something to watch out for, however, is the cleaning up APEX does with dynamic actions in it's own builder. I've notice in the past the meta-data I saw in dictionary views contained stale information, hidden after no longer being needed when adjusting some other attribute - like condition types.
By looking at the stock debug, I noticed that a good portion of my page render time was for dynamic action plug-ins. One of these was for the notification plug-in supplied by Oracle (gritter). Over time the number of notifications on the Global Page Zero had grown - but in my case could be consolidated using
&ITEM.
substitution syntax to define the title & message.But there were still more instance of the gritter notification in the rendered page sauce than was expected, so I looked a little harder...
In regard to dynamic actions, beware the non-condition - in past I must have copied this from another action; removed the event "when" condition; the false action region was hidden from the developer, but and a false action remained - causing unnecessary rendering of a plug-in, hence performance issue. What a paragraph, hope that made sense!
All I saw when editing the item were the True actions.
True actions for DA with no JavaScript "when" event condition |
screenshot actually from 4.2 |
A hidden False action, displayed when condition restored |
You can find such cases yourself with the following SQL - I used this query to check for other issues.
select * from apex_application_page_da d -- no when condition present where when_condition is null --and dynamic_action_name = '' and application_id = 104 and page_id = 0 and exists -- a false condition (select null from apex_application_page_da_acts a where a.dynamic_action_id = d.dynamic_action_id and dynamic_action_event_result = 'False') /
I saved about .05 seconds each plug-in render, so notifications in page zero added up over time. I saved about third of a second in my clean up of these alone. Plus I was finding other minor performance gains - they all add up!
Scott
Do validation, items and /or process that are set to condition "never" also slow down the render process?
ReplyDeleteRaoul
I haven't experienced an issue with anything set to "never" as the condition, and I don't think it would affect the render speed.
ReplyDelete